
Chernov_-_Vvedenie_v_LP
.pdfМы собрали необходимые данные для определения величины двойственной оценки yl. Она определяется по формуле
yk r cr .
В рассмотренном нами примере о производстве коктейлей исходные базисные переменные не входили в целевую функцию. В этом случае cr = 0, а для yk получается простая формула:
yk r .
Двойственная оценка ресурса содержится в этом случае в критериальной строке оптимальной симплексной таблицы на пересечении с тем столбцом, который в исходной таблице является базисным и соответствует дополнительной переменной для данного ресурса.
Такой случай, когда cr = 0, является широко распространенным
4.3.4.Метод искусственного базиса
Симплекс-метод можно непосредственно применять в тех ситуациях, когда исходная модель после приведения к канонической форме и установления неотрицательных значений правых частей ограничений обладает базисным набором переменных. Если такой набор отсутствует, то в модель вводят так называемые искусственные базисные переменные и используют один из методов искусственного базиса. Наиболее распространенным среди них является М-метод.
Пусть дана задача линейного программирования в канонической форме:
131
max(c1 x1 c2 x 2 cn x n )
a |
11x1 |
a12 x 2 |
... a1n x n |
b1 , |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
a 22 x 2 |
... a 2n x n |
b2 , |
||||
a 21x1 |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
a m 2 x 2 ... a mn x n bm , |
||||||
a m1 x1 |
|||||||||
|
|
|
|
|
|
|
|
|
|
x |
0,x |
2 |
0, x |
n |
0. |
|
|||
|
1 |
|
|
|
|
|
|
Предположим, что все правые части ограничений неотрицательны, bi 0. Пусть в записи модели отсутствует базисный набор переменных.
Наряду с данной задачей рассмотрим новую задачу.
max(c1 x1 c2 x 2 cn x n |
Mu1 Mum ) |
|||||||||||||
a11x1 |
a12 x 2 |
... a1n x n |
u1 |
b1 , |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a 22 x 2 |
... a 2n x n u 2 |
b2 , |
|
|
|||||||
a 21x1 |
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a m 2 x 2 ... a mn x n u m bm , |
|
||||||||||
a m1 x1 |
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
1 |
0, x |
2 |
0, x |
n |
0, u |
1 |
0, ... u |
m |
0. |
||||
|
|
|
|
|
|
|
|
|
|
Новая задача носит название вспомогательной, или М-задачи. В ней под буквой М подразумевается некоторая очень большая величина (строго говоря, M ).
Вспомогательная задача обладает базисным набором переменных. Такой набор образуют новые переменные
u1 , u 2 , u m ,
отсутствовавшие в исходной задаче. Они называются искусственными переменными.
132
Эту задачу можно решать симплекс-методом. Как мы знаем, процесс решения заканчивается одной из двух ситуаций: или целевая функция задачи неограничена, или в результате решения возникает оптимальный план.
Если целевая функция вспомогательной задачи оказывается неограниченной, то она не имеет решения. В этом случае не имеет решения и исходная задача.
Рассмотрим другую ситуацию. Пусть вспомогательная задача имеет оптимальный план. В него входят значения всех переменных
(x1 , x2 , xn ,u1 , u 2 , u m ).
Если среди искусственных переменных имеется хотя бы одна не равная 0, то исходная задача не имеет решения. Если же значения всех искусственных переменных равны 0, то их следует устранить из оптимального плана вспомогательной задачи. Оставшаяся часть плана, содержащая только значения исходных переменных, образует в этом случае оптимальный план исходной задачи.
4.3.5.Универсальность симплекса-метода
Симплекс-метод позволяет решить любую задачу линейного программирования (если она имеет решение) или определить ее неразрешимость (если она не имеет решения).
Действительно, любую задачу линейного программирования можно привести к канонической форме. Свободные члены ограничений задачи всегда можно сделать неотрицательными (путем умножения обеих частей ограничения на - 1).
Если запись задачи обладает базисным набором, то к ней непосредственно можно применять симплекс-метод, который через конечное число шагов позволяет решить задачу или установить ее неразрешимость.
Если запись задачи не обладает базисным набором, то следует построить вспомогательную задачу с искусственным базисным набором.
133

Для решения вспомогательной задачи можно непосредственно применить симплекс-метод. Анализируя результаты решения вспомогательной задачи, получают решение исходной или устанавливают ее неразрешимость.
Мы подробно анализировали применение симплекс-метода к решению задачи линейного программирования на максимум целевой функции. Задача на минимум может быть сведена к задаче на максимум. Однако возможно и непосредственное применение симплекс-метода к таким задачам.
Заполнение симплексной таблицы, ее преобразование, построение текущего опорного плана и значения целевой функции осуществляются одинаково для задач на максимум и на минимум. Различия проявляются лишь в следующих пунктах.
1.Критерием оптимальности для задачи на минимум является неположительность элементов критериальной строки,
j 0, j (1, n) .
2.Соответственно, выбор разрешающего столбца для задачи на минимум осуществляется по принципу q > 0 (и в том, и в другом случае по принципу нарушения критерия оптимальности).
3.Критерием неограниченности целевой функции для задач обоих типов является отсутствие положительных элементов в разрешающем столбце. Для задачи на минимум это соответствует одновременному выполнению неравенств
q 0; aiq 0; (i 1, m) .
4.Текущее значение целевой функции при решении задачи на минимум убывает (точнее, не возрастает).
5.Из оптимальной симплексной таблицы можно извлечь двойственные оценки ресурсов. Действовать для обоих типов задач следует одинаково, но для задач на минимум оценка получится с
134
обратным знаком. Знак полученной оценки в этом случае следует изменить на противоположный.
6. Система ограничений для вспомогательной задачи с искусственными базисными переменными для задач обоих типов записываются одинаково. Целевая функция вспомогательной M - задачи для задачи на минимум записывается по-другому.
Если целевая функция исходной задачи имела вид:
min(c1 x1 cn x n ),
то для М-задачи она будет иметь следующий вид
min(c1 x1 cn x n Mu1 Mum ).
В остальном решение задачи на максимум и на минимум с помощью симплекс-метода полностью одинаково.
ВОПРОСЫ И УПРАЖНЕНИЯ
1.Укажите основные пункты подготовки модели к решению задачи симплекс-методом. Можно ли изменить порядок этих пунктов?
2.Какие переменные называются базисными, как формируется текущий опорный план, как пункты подготовки модели связаны с формированием такого плана?
3.Как проводится анализ оптимального текущего опорного плана? Сформулируйте критерий оптимальности такого плана в общем случае. Участвует ли в этом критерии элемент, находящийся на пересечении критериальной строки и столбца свободных членов?
4.Как определяется разрешающий столбец симплексной таблицы, разрешающий элемент, разрешающая строка? Может ли разрешающий элемент оказаться в критериальной строке? Как правило выбора разрешающего элемента обеспечивает допустимость текущего опорного плана?
5.Опишите правило изменения базисного набора переменных при преобразовании симплексной таблицы.
135
6.Сформулируйте цель преобразования и опишите правило преобразования правой части симплексной таблицы. Дайте вывод формул преобразования.
7.Каков геометрический смысл перехода от одного текущего опорного плана к другому? На какую величину изменяется при этом текущее значение целевой функции?
8.Сформулируйте критерий неограниченности целевой функции. Почему он верен?
9.Сформулируйте правила контроля правильности преобразования симплексной таблицы. Как обеспечивается сохранение допустимости симплексной таблицы при ее преобразовании?
10.Дайте блок-схему алгоритма симплекс-метода.
11.Как обосновывается сходимость алгоритма симплекс-метода?
12.Как по оптимальной симплексной таблице определить двойственные оценки свободных членов ограничений?
13.В какой ситуации используется искусственный базисный набор переменных? Как строится вспомогательная задача? Как ее решение связано с решением исходной задачи?
14.Дайте обоснование универсальности симплекс-метода.
15.Что общего и в чем различаются алгоритмы симплекс-метода при решении задач на максимум и минимум целевой функции?
136
СОДЕРЖАНИЕ
0. |
ВВЕДЕНИЕ |
3 |
1. |
ЗАДАЧА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ |
4 |
|
1.1. Задача производственного планирования |
4 |
|
1.1.1. Пример задачи производственного планирования |
4 |
|
1.1.2. Общий вид задачи производственного планирования |
11 |
|
1.1.3. Варианты задачи производственного планирования |
15 |
|
1.2. Общая задача линейного программирования |
19 |
|
1.2.1. Основные понятия |
19 |
|
1.2.2. Формы задачи линейного программирования. |
21 |
|
1.3. Транспортная задача |
27 |
|
1.3.1. Пример транспортной задачи |
27 |
|
1.3.2. Общий вид транспортной задачи |
31 |
|
1.4. Задача о диете |
34 |
|
1.4.1. Общий вид задачи о диете |
34 |
|
1.4.2. Варианты задачи о диете |
37 |
|
ВОПРОСЫ И УПРАЖНЕНИЯ |
38 |
2.ГЕОМЕТРИЧЕСКИЙ СМЫСЛ ЗАДАЧИ ЛИНЕЙНОГО
ПРОГРАММИРОВАНИЯ И ГРАФИЧЕСКИЙ СПОСОБ ЕЕ РЕШЕНИЯ |
42 |
2.1. Задачи линейного программирования с двумя переменными |
42 |
2.2. Допустимые планы задачи |
43 |
2.2.1. Геометрический смысл ограничений - неравенств |
43 |
2.2.2. Область допустимых планов задачи |
45 |
2.2.3. Свойства области допустимых планов |
46 |
2.3. Оптимальный план и оптимум |
51 |
|
2.3.1. |
Линия уровня целевой функции и градиент |
51 |
2.3.2. |
Определение оптимального плана и оптимума |
52 |
137
2.3.3. |
Условия разрешимости задачи и единственности решения |
53 |
2.3.4. |
Свойства множества оптимальных планов. |
56 |
2.4. Пример графического решения задачи |
58 |
ВОПРОСЫ И УПРАЖНЕНИЯ |
63 |
3.АНАЛИЗ ОПТИМАЛЬНОГО ПЛАНА ЗАДАЧИ ЛИНЕЙНОГО
ПРОГРАММИРОВАНИЯ |
66 |
3.1. Задачи постоптимизационного анализа |
66 |
3.2. Ресурсное обеспечение оптимального плана |
68 |
3.3. Альтернативные варианты плана |
69 |
3.4. Ценовой постоптимизационный анализ |
72 |
3.5. Ресурсный постоптимизационный анализ |
82 |
3.6. Представление результатов решения и анализа задачи |
98 |
ВОПРОСЫ И УПРАЖНЕНИЯ |
101 |
4.СИМПЛЕКС-МЕТОД РЕШЕНИЯ ЗАДАЧ ЛИНЕЙНОГО
ПРОГРАММИРОВАНИЯ |
102 |
|
4.1. Общая характеристика симплекс-метода |
102 |
|
4.2. Пример решения задачи линейного программирования симплекс- |
|
|
методом |
|
103 |
4.3. Симплекс-метод для общего случая |
116 |
|
4.3.1. |
Строение симплексной таблицы |
117 |
4.3.2. |
Формулы преобразования |
123 |
4.3.3. |
Алгоритм симплекс-метода |
126 |
4.3.4. |
Метод искусственного базиса |
131 |
4.3.5. |
Универсальность симплекса-метода |
133 |
|
ВОПРОСЫ И УПРАЖНЕНИЯ |
135 |
138