Для этого: 1) Третью строку разделим на
и запишем получившееся в эту же строку.
2) Из первой строки вычтем вторую, умноженную на
и записываем в первую строку.
3) Из третьей строки вычтем вторую умноженную на
, результат запишем в третью строку.
4) К строке F прибавим вторую строку умноженную на 23 и запишем в строку F.
Таблица (2.3)
Ответ: из изложенного выше экономического содержания данных таблицы (2.3) следует, что на втором шаге план задачи является оптимальным. Х1* = 63; Х2* = 111. Fmаx= 7329, это значит, что общая стоимость всей произведенной продукции, а она равна 7329 рублей, является максимальной
Решение задачи двойственным методом
Под двойственной задачей понимается вспомогательная задача линейного программирования, формулируемая с помощью определённых правил непосредственно из условий прямой задачи. Заинтересованность в определении оптимального решения прямой задачи путём решения двойственной к ней задачи обусловлена тем, что вычисления при решении ДЗ могут оказаться менее сложными. Трудоёмкость вычислений при решении ЗЛП в большей степени зависит от числа ограничений, а не от количества переменных.
Каждой задаче линейного программирования можно определенным образом сопоставить некоторую другую задачу линейного программирования, называемую двойственной или сопряженной по отношению к исходной или прямой.
5Х1+2Х2 ≤ 750 Y1
4Х1+5 Х2 ≤ 807 Y2 Х1+7Х2 ≤ 840 Y3
F = 30Х₁ +49Х₂ => max
Целевая функция исходной задачи задаётся на максимум, а целевая функция двойственной – на минимум.
Составим матрицу для исходной задачи:А =
Чтобы составить матрицу для двойственной задачи нужно применить транспонирование (т.е. замена строк – столбцами, а столбцов – стоками)
АТ = Число переменных в двойственной задаче равно числу соотношений в системе (1.1) исходной задачи, т.е. равно трем.
Коэффициентами в целевой функции двойственной задачи являются свободные члены системы уравнений, т .е 750,807,840.
Целевая функция исходной задачи исследуется на максимум, а система условий содержит только уравнения. Поэтому в двойственной задаче целевая функция исследуется на минимум, а её переменные могут принимать любые значения (в том числе и отрицательные). Следовательно, для исходной задачи двойственная задача такова: умножим правые части ограничений на соответствующие переменные двойственной задачи и сложим их, получим целевую функции
Z(Y) = 750Y1 + 807Y2 + 840Y3 => min.
5Y1 + 4Y2 + Y3 ≥ 302Y1 + 5Y2 + 7Y3 ≥ 49
Y1 = 0
Y2 = 7
Y3 = 2
Z(Y) = 750·0 + 807·7+ 840·2 = 7329
Ответ: Z(Y) = F(Х) = 7329, Y1* = 0, Y2* = 7, Y3* = 2.
Транспортная задача линейного программирования
Под названием «транспортная задача» объединяется широкий круг задач с единой математической моделью. Данные задачи относятся к задачам линейного программирования и могут быть решены симплексным методом. Однако матрица системы ограничений транспортной задачи настолько своеобразна, что для ее решения разработаны специальные методы. Эти методы, как и симплексный метод, позволяют найти начальное опорное решение, а затем, улучшая его, получить оптимальное решение.
Задача №2
Формулировка транспортной задачи
На три базы: А₁, А₂, А₃ поступил однородный груз в количествах: а₁, а₂, а₃, соответственно. Груз требуется перевезти в пять пунктов: b₁ в пункт В₁, b₂ в пункт В₂, b₃ в пункт В₃, b₄ в пункт В₄, b₅ в пункт В₅.
Спланировать перевозки так, чтобы общая их стоимость была минимальной. Матрица тарифов сij перевозок между пунктами отправления и пунктами назначения, а также запасы и потребности представлены ниже:
Исходные данные транспортной задачи обычно записываются в таблице:
Для разрешимости транспортной задачи необходимо и достаточно, чтобы запасы груза в пунктах отправления были равны потребностям в грузе в пунктах назначения. Проверяем выполнение необходимого и достаточного условия разрешимости задачи. Находим суммарные запасы поставщиков и запросы потребителей:
400 + 370 + 380 = 1150, 250 + 200 + 290 + 260 + 150 = 1150. => задача с правильным балансом. Составляем начальное опорное решение:Таблица (1;1)
808 | 2906 14 | 11 | 380 | U3 | 10 | |
120 15 | *7 2609 | 18 | Т.к. n + m – 1 = 3 + 5 – 1 = 7, а в нашей задаче заполненных клеток всего 6, введём дополнительное число - нуль, на пересечении U1 и V2.
Получаем решение: X1 = - опорное решение №1.Вычисляем значение целевой функции на этом опорном решении F = 250·2+ 150·3 + 80·8 + 290·6 + 120·15 + 260·9 = 500 + 450 + 640 + 1740 + 1800 + 2340 = 7470.
Для проверки оптимальности опорного решения необходимо найти потенциалы и оценки. По признаку оптимальности в каждой занятой опорным решением клетке таблицы транспортной задачи сумма потенциалов равна стоимости
Ui + Vj = Сij
Записываем систему уравнений для нахождения потенциалов:
U1 + V1 = 2,U1 + V2 = 4,
U1 + V5 = 3,
U2 + V2 = 8,
U2 + V3 = 6,
U3 + V2 = 15,
U3 + V4 = 9
Далее одному из потенциалов задаем значение произвольно: пусть U1 = 0. Остальные потенциалы находятся однозначно:
U1 = 0,V1 = 2, V2 = 4, V5 = 3
U2 = 8 - V2 = 4
U3 = 15 - V2 = 11
V4 = 9 - U3 = -2
V3 = 6 - U2 = 2
Проверяем опорное решение Х1 на оптимальность. С этой целью вычисляем оценки
для всех незаполненных клеток таблицы.∆13 = U1 + V3 - С13 = 0 + 2 – 5 = - 3,
∆14 = U1 + V4 - С14 = 0 - 2 –11 = - 13,
∆21 = U2 + V1 – С21 = 4 + 2 – 12 = - 6,
∆24 = U2 + V4 – С24 = 4 - 2 – 14 = - 12,
∆25 = U2 + V5 – С25 = 4 + 3 – 11 = - 4,
∆31 = U3 + V1 – С31 = 11 + 2 – 10 = 3,
∆33 = U3 + V3 – С33 = 11 + 2 – 7 = 6,
∆35 = U3 + V5 – С35 = 11 + 3 – 18 = - 4.
Начальное опорное решение не является оптимальным, так как имеются положительные оценки.
Переходим к новому опорному решению. Находим клетку таблицы, которой соответствует наибольшая положительная оценка:
max{3, 6}=6 - для клетки (U3; V3).Для этой клетки строим цикл.
Циклом в таблице условий транспортной задачи называется ломаная линия, вершины которой расположены в занятых клетках таблицы, а звенья – вдоль строк и столбцов, причём в каждой вершине цикла встречается ровно два звена, одно из которых находится в строке, а другое – в столбце.