Автор работы: Пользователь скрыл имя, 01 Мая 2013 в 14:15, доклад
Симплекс –метод основан на переходе от одного опорного плана к другому, при котором значение целевой функции возрастает при условии, что задача имеет оптимальный план и каждый опорный план является невырожденным.
Этот переход возможен, если известен какой-либо опорный план.
Симплекс-метод
Лекции 6, 7
Симплекс-метод с естественным базисом
Симплекс –метод основан на переходе от одного опорного плана к другому, при котором значение целевой функции возрастает при условии, что задача имеет оптимальный план и каждый опорный план является невырожденным.
Этот переход возможен, если известен какой-либо опорный план.
В этом случае каноническая задача линейного программирования должна содержать единичную подматрицу порядка m
Тогда очевиден первоначальный опорный план( неотрицательное базисное решение системы ограничений КЗЛП).
Рассмотрим задачу, для которой это возможно.
Пусть требуется найти максимальное значение функции
при условиях
Здесь
Перепишем ЗЛП в векторной
форме: найти максимум функции
при условиях
Здесь
Так как
то по определению опорного плана
где последние компоненты вектора равны нулю, является опорным планом
Опорный план называется невырожденным, если он содержит m положительных компонент. В противном случае он называется вырожденным.
План, при котором целевая функция ЗЛП принимает свое максимальное
(минимальное ) значение , называется оптимальным
Этот план определяется системой единичных векторов , которые образуют базис m-векторного пространства.
Проверка на оптимальность опорного плана происходит с помощью критерия оптимальности.
Признак оптимальности.
1)Опорный план ЗЛП является оптимальным, если
для любого .
2)Если для некоторого j=k
и среди чисел
нет положительных, т.е. , то целевая функция ЗЛП не ограничена на множестве ее планов, т.е. ЗЛП не имеет решения, так как нет конечного оптимума.
3)Если же для некоторого k выполняется условие , но среди чисел есть положительные, т.е. не все , то можно получить новый опорный план, для которого значения целевой функции
На основании признака оптимальности делаем вывод о целесообразности перехода к новому опорному плану.
Симплекс-таблица
Симплекс-таблица
В столбце Сб записывают коэффициенты при неизвестных целевой функции, имеющие те же индексы, что и векторы данного базиса.
В столбце -положительные компоненты исходного опорного плана, в нем же в результате вычислений получают положительные компоненты оптимального плана.
Первые m строк заполняют по исходным данным задачи, а показатели (m+1)-й строки вычисляют. В этой строке в столбце вектора записывают значение целевой функции, которое она принимает при данном опорном плане, а в столбце вектора - значение
Здесь
Значение
После заполнения таблицы исходный опорный план проверяют на оптимальность. Для этого просматривают элементы (m+1)-й строки. Может иметь место один из 3-х случаев.
1) Все Тогда составленный план оптимален.
2) для некоторого j и все соответствующие этому j . Тогда целевая функция неограничена.
3) для некоторых индексов j и для каждого такого j по крайней мере одно из чисел положительно. Здесь можно перейти к новому опорному плану.
Этот переход осуществляется исключением из базиса какого-нибудь из векторов и включением в него другого.
В базис вводим вектор , давший минимальную отрицательную величину симплекс-разности
Из базиса выводится вектор , который дает наименьшее положительное оценочное отношение
для всех , т.е. минимум достигается при i=r.
Число называется разрешающим элементом.
Строка называется разрешающей строкой, элементы этой строки в новой симплекс-таблице вычисляются по методу Жордана-Гаусса, т.е. по формулам:
Элементы i-й строки –по формулам
Значение нового опорного плана считают по формулам
Значение целевой функции при переходе от одного опорного плана к другому , улучшенному, изменяется по формуле
Процесс решения продолжаем до получения оптимального плана либо до установления неограниченности ЦФ.
Если среди оценок оптимального плана нулевые только оценки , соответствующие базисным векторам, то оптимальный план единствен.
Если же нулевая оценка соответствует вектору, не входящему в базис, то в общем случае это означает, что опорный план не единствен.
Алгоритм применения симплекс-
1)Находят опорный план.
2)Составляют симплекс-таблицу.
3)Выясняют, имеется ли хотя бы одна отрицательная оценка. Если нет, то найденный опорный план оптимален. Если же есть отрицательные оценки, то либо устанавливают неразрешимость задачи, либо переходят к новому опорному плану.
4)Находят направляющие столбец и строку. Направляющий столбец определяется наибольшим по абсолютной величине отрицательным числом , а направляющая строка—минимальным числом Q.
5)Определяют положительные компоненты нового опорного плана. Составляется новая таблица.
6)Проверяют найденный опорный план на оптимальность.
Пример.
Решить симплекс-методом ЗЛП
Решение.
Приведем задачу к каноническому виду, введя новые переменные
В целевую функцию эти переменные войдут с нулевыми коэффициентами:
Из коэффициентов при неизвестных и свободных членов составим векторы
Единичные векторы образуют единичную подматрицу и составляют базис первоначального плана. Свободные неизвестные приравниваются к нулю.
Получаем первоначальный опорный план:
Х= (0;0;350;240;150).
Составим симплекс-таблицу и проверим план на оптимальность. В нашем примере
Для заполнения последней строки таблицы сразу вычислим симплекс-разности
Для этого поочередно умножаем столбец Сб на соответствующие элементы каждого столбца
Составим теперь нулевую
Таблица 0.
Определяем разрешающий элемент симплексной таблицы. Т.к. имеется 2 отрицательные оценки, то выбираем ту, что дает максимальную по абсолютной величине отрицательную оценку, т. е. -20.
Это означает, что в базис включается
вектор , а исключается из базиса тот вектор, которому соответствует
Разрешающим элементом
является .
Значение целевой функции в следующей симплекс-таблице будет равно:
Элементы направляющей строки в новой таблице вычисляем, деля эту строку на ведущий элемент(в том числе и клетку в столбце план):
Можно рассчитывать элементы строк методом Жордана-Гаусса, домножая 1-ю строку на (-0,5) и прибавляя ее ко 2-й, а затем на(-1) и прибавляя к 3-й, обнулив таким образом элементы 2-го выделенного (разрешающего) столбца, или по формулам треугольника
Элементы 2-ой строки получаем по методу Жордана-Гаусса (или по формулам треугольника)
Аналогично рассчитываем элементы 3-й строки.
Значения нового опорного плана рассчитываем по формулам:
После чего заполняем таблицу 1.
Таблица 1.
Проверим план на
Вычислим симплекс-разности.
В первом столбце матрицы имеется отрицательная оценка. План не оптимален, но его можно улучшить , включив в базис вектор . Найдем минимальное оценочное отношение:
Выводится из базиса вектор
, которому соответствует минимальное
оценочное отношение 70. Переходим к следующему
опорному плану. Вводим в базис вектор
, делим разрешающую строку на разрешающий
элемент
Таблица 2
Вычисляем симплекс-разности.
План оптимален. Значение целевой функции