|
|
|||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||
| Вход | |||||||||||||||||||||||||||||||||
|
Раздел "Optimization Toolbox 2.2 Руководство пользователя"
А.Г.Трифонов. Основной алгоритм. Алгоритм симплексного метода включает в себя две фазы: Фаза 1. - Расчет начальной основной допустимой точки. Фаза 2. - Расчет оптимального решения согласно поставленной задаче. Примечание. Применительно к программе linprog нельзя принимать исходную точку х0 для расчета по алгоритму симплексного метода. Если все же х0 будет передано в качестве входного аргумента, то программа linprog игнорирует эту точку х0 и расчитывает свою собственную начальную точку. Фаза 1. При выполнении фазы 1 в данном алгоритме определяется начальное основное допустимое решение (см. определения из раздела Основные и неосновные переменные) посредством решения кусочно-правильной вспомогательной задачи линейного программирования. Целевая функция этой вспомогательной задачи является линейной штрафной функцией
где члены Pj(xj) определены как
P(x) служит мерой того, как много точка х переступает нижний и верхний граничные условия. А вспомогательная задача будет
Исходная задача имеет допустимую базисную точку тогда и только тогда, когда вспмогательная задача имеет равное нулю минимальное значение. В данном алгоритме ничальная точка для вспомогательной задачи определяется с помощью эвристического метода, который по мере необходимости добавляет неактивные и искусственные переменные. Далее согласно выбранному алгоритму эта начальная точка используется совместно с симплексным алгоритмом для решения вспомогательной задачи. Такое оптимальное решение, в свою очередь, является начальной точкой для фазы 2 основного алгоритма. Фаза 2. Согласно фазе 2, для решения исходной поставленной задачи в данном алгоритме используется симплексный алгоритм, начиная уже с начальной стартовой точки фазы 1. На каждой итерации в данном алгоритме проводится проверка условии оптимальности и задача останавливается в случае, если текущие решения оказывается оптимальным. Если текущее решение не оптимально, то согласно данному алгоритму проводятся следующие действия:
Выбор вводимых и исключаемых переменных производится путем решения двух систем линейных уравнений, при сохранении свойства допустимости решения. Предварительная подготовка. В алгоритме симплексного метода используются те же самые подготовительные операции, что и в решателе задачи линейного программирования для алгоритмов большой размерности, как это отмечено в одноименном разделе. Дополнительно, в данном алгоритме используются еще две операции: Исключаются колонки, которые имеют только один ненулевой элемент, а так же исключаются их соответствующие строчки. Для каждого уравнения из числа ограничений Использование симлексного алгоритма. Для того, что бы установить использование алгоритма симплексного метода, следует установить опционные параметры следующего типа 'LargeScale' в 'off' и 'Simplex' в 'on'. options = optimset('LargeScale', 'off', 'Simplex', 'on') Далее вызывается функция linprog с соответствующими входными опциями и аргументами. Детали использования функции linprog приведены соответсвующем разделе. В ситуации если программа определит недопустимость или наличие неограниченнности при выполнении процедуры предварительной подготовки данных, то Linprog возвращает пустые выходные аргументы на месте x и fval. Linprog возвращает значение текущей точки в ситациях, когда
Основные и неосновные переменные. В данном разделе дается определение таких терминов, как базис, небазис и базисное допустимое решение для задачи линейного программирования. Для данных определений примем, что поставленная задача имеет следующий стандартный вид:
(Отметим, что A и b не являются некими матрицей или вектором, определяющими неравенства в исходной задаче). Предположим, что A есть матрица размерностью m-х-n с рангом m < n и соотвествующими колонками {a1, a2, ..., an}. Примем, что Если х есть решение системы Литература [1] Chvatal, Vasek, Linear Programming, W. H. Freeman and Company, 1983. [2] Bixby, Robert E., "Implementing the Simplex Method: The Initial Basis," ORSA Journal on Computing, Vol. 4, No. 3, 1992. [3] Andersen, Erling D. and Knud D. Andersen, "Presolving in Linear Programming," Mathematical Programming, Vol. 71, pp. 221-245, 1995. Многокритериальная оптимизация Достаточно часто в реальных ситуациях качество эксплуатации исследуемого объекта или системы оценивается не единственным критерием или показателем качества (см. параметрическую оптимизацию уравнение 3-1), а совокупностью таких критериев, причем представляющих одинаково значимыми. Такая постановка задачи приводит к задаче оптимизации с векторной целевой функцией Далее приводятся следующие тематические разделы:
Введение в многокритериальную оптимизацию Многокритериальная оптимизация представляет собой минимизацию некого вектора целей F(x), на которой могут быть наложены дополнительныеограничения или предельные значения:
Отметим, что поскольку F(x) является неким вектором, то любые компоненты F(x) являюся конкурирующими и отсутсвует некое единое решение поставленной задачи. Взамен этого, для описания характеристик целей вводится концепция множества точек неулучшаемых решений [41] (так называемая оптимальность по Паретто [4],[6]). Неухудшаемое решение есть такое решение, в котором улучшение в одной из целей приводит к некому ослаблению другой. Для более точной формулировки данной концепции рассмотрим некую область допустимых решений
при ограничениях
Отсюда возможно опредлить соответствующую область допустисых решений для пространства целевых функций
В двумерном случае, как это представлено на Рисунке 3-7, вектор характеристик F(x) отображает параметрическое пространство в пространство целевых функций
Рисунок 3-7. Отображение параметрического пространства а пространство целевых функций Точка неулучшаемого решения может быть определена как: Определение. Точка
Для двухмерной интерпретации Рисугка 3-8. Множество неулучшаемых решений, Множество точек неулучшаемых решений лежит на кривой между точками С и D. Точки А и В представляют специфичические неулучшаемые точки.
Рисунок 3-8. Множество неулучшаемых решений Точки А и В являются безусловными точками неулучшаемых решений, поскольку любое улучшение для одной цели
Поскольку любая точка пространства |
|
Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
|
||
| На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro | ||
| E-mail: | ||
| Информация на сайте была обновлена 11.05.2004 |
Copyright 2001-2004 SoftLine Co Наши баннеры |
|