Задачи по дисциплине: Методы оптимальных решений скачать бесплатно
Решение:
Для построения первого опорного плана систему неравенств приведем к системе уравнений путем введения дополнительных переменных (переход к канонической форме).
В 1-м неравенстве смысла (≤) вводим базисную переменную x3. В 2-м неравенстве смысла (≤) вводим базисную переменную x4. В 3-м неравенстве смысла (≤) вводим базисную переменную x5.
3x1 + 2x2 + 1x3 + 0x4 + 0x5 = 18
2x1 + 3x2 + 0x3 + 1x4 + 0x5 = 18
1x1 + 1x2 + 0x3 + 0x4 + 1x5 = 7
Матрица коэффициентов A = a(ij) этой системы уравнений имеет вид:
A = |
|
Базисные переменные это переменные, которые входят только в одно уравнение системы ограничений и притом с единичным коэффициентом.
Экономический смысл дополнительных переменных: дополнительные переменные задачи ЛП обозначают излишки сырья, времени, других ресурсов, остающихся в производстве данного оптимального плана.
Решим систему уравнений относительно базисных переменных: x3, x4, x5
Полагая, что свободные переменные равны 0, получим первый опорный план:
X1 = (0,0,18,18,7)
Базисное решение называется допустимым, если оно неотрицательно.
Базис | B | x1 | x2 | x3 | x4 | x5 |
x3 | 18 | 3 | 2 | 1 | 0 | 0 |
x4 | 18 | 2 | 3 | 0 | 1 | 0 |
x5 | 7 | 1 | 1 | 0 | 0 | 1 |
F(X0) | 0 | -20 | -30 | 0 | 0 | 0 |
Переходим к основному алгоритму симплекс-метода.
Итерация №0.
1. Проверка критерия оптимальности.
Текущий опорный план неоптимален, так как в индексной строке находятся отрицательные коэффициенты.
2. Определение новой базисной переменной.
В качестве ведущего выберем столбец, соответствующий переменной x2, так как это наибольший коэффициент по модулю.
3. Определение новой свободной переменной.
Вычислим значения Di по строкам как частное от деления: bi / ai2
и из них выберем наименьшее:
min (18 : 2 , 18 : 3 , 7 : 1 ) = 6
Следовательно, 2-ая строка является ведущей.
Разрешающий элемент равен (3) и находится на пересечении ведущего столбца и ведущей строки.
Базис | B | x1 | x2 | x3 | x4 | x5 | min |
x3 | 18 | 3 | 2 | 1 | 0 | 0 | 9 |
x4 | 18 | 2 | 3 | 0 | 1 | 0 | 6 |
x5 | 7 | 1 | 1 | 0 | 0 | 1 | 7 |
F(X1) | 0 | -20 | -30 | 0 | 0 | 0 | 0 |
4. Пересчет симплекс-таблицы.
Формируем следующую часть симплексной таблицы.
Вместо переменной x4 в план 1 войдет переменная x2.
Строка, соответствующая переменной x2 в плане 1, получена в результате деления всех элементов строки x4плана 0 на разрешающий элемент РЭ=3
На месте разрешающего элемента в плане 1 получаем 1.
В остальных клетках столбца x2 плана 1 записываем нули.
Таким образом, в новом плане 1 заполнены строка x2 и столбец x2.
Все остальные элементы нового плана 1, включая элементы индексной строки, определяются по правилу прямоугольника.
Для этого выбираем из старого плана четыре числа, которые расположены в вершинах прямоугольника и всегда включают разрешающий элемент РЭ.
НЭ = СЭ - (А*В)/РЭ
СТЭ - элемент старого плана, РЭ - разрешающий элемент (3), А и В - элементы старого плана, образующие прямоугольник с элементами СТЭ и РЭ.
Представим расчет каждого элемента в виде таблицы:
B | x1 | x2 | x3 | x4 | x5 |
18-(18 • 2):3 | 3-(2 • 2):3 | 2-(3 • 2):3 | 1-(0 • 2):3 | 0-(1 • 2):3 | 0-(0 • 2):3 |
18 : 3 | 2 : 3 | 3 : 3 | 0 : 3 | 1 : 3 | 0 : 3 |
7-(18 • 1):3 | 1-(2 • 1):3 | 1-(3 • 1):3 | 0-(0 • 1):3 | 0-(1 • 1):3 | 1-(0 • 1):3 |
0-(18 • -30):3 | -20-(2 • -30):3 | -30-(3 • -30):3 | 0-(0 • -30):3 | 0-(1 • -30):3 | 0-(0 • -30):3 |
Получаем новую симплекс-таблицу:
Базис | B | x1 | x2 | x3 | x4 | x5 |
x3 | 6 | 12/3 | 0 | 1 | -2/3 | 0 |
x2 | 6 | 2/3 | 1 | 0 | 1/3 | 0 |
x5 | 1 | 1/3 | 0 | 0 | -1/3 | 1 |
F(X1) | 180 | 0 | 0 | 0 | 10 | 0 |
1. Проверка критерия оптимальности.
Среди значений индексной строки нет отрицательных. Поэтому эта таблица определяет оптимальный план задачи.
Окончательный вариант симплекс-таблицы:
Базис | B | x1 | x2 | x3 | x4 | x5 |
x3 | 6 | 12/3 | 0 | 1 | -2/3 | 0 |
x2 | 6 | 2/3 | 1 | 0 | 1/3 | 0 |
x5 | 1 | 1/3 | 0 | 0 | -1/3 | 1 |
F(X2) | 180 | 0 | 0 | 0 | 10 | 0 |
Оптимальный план можно записать так:
x2 = 6
F(X) = 30•6 = 180
3. Составить двойственную задачу и решить её графически.
Решение:
Построим двойственную задачу по следующим правилам.
1. Количество переменных в двойственной задаче равно количеству неравенств в исходной.
2. Матрица коэффициентов двойственной задачи является транспонированной к матрице коэффициентов исходной.
3. Система ограничений двойственной задачи записывается в виде неравенств противоположного смысла неравенствам системы ограничений прямой задачи.
Столбец свободных членов исходной задачи является строкой коэффициентов для целевой функции двойственной. Целевая функция в одной задаче максимизируется, в другой минимизируется.
Расширенная матрица A.
8 | 1 | -1 | 40 |
5 | 2 | 1 | 60 |
40 | 2 | 3 | 0 |
Транспонированная матрица AT.
8 | 5 | 40 |
1 | 2 | 2 |
-1 | 1 | 3 |
40 | 60 | 0 |
Условиям неотрицательности переменных исходной задачи соответствуют неравенства-ограничения двойственной, направленные в другую сторону. И наоборот, неравенствам-ограничениям в исходной соответствуют условия неотрицательности в двойственной.
Неравенства, соединенные стрелочками (↔), называются сопряженными.
8x1 + 5x2≤40
x1 + 2x2≤2
- x1 + x2≤3
40x1 + 60x2 → max
x1 ≥ 0
x2 ≥ 0
Исходная задача I | Двойственная задача II | |
y1 ≥ 0 | ↔ | 8x1 + 5x2≤40 |
y2 ≥ 0 | ↔ | x1 + 2x2≤2 |
y3 ≥ 0 | ↔ | - x1 + x2≤3 |
40y1 + 2y2 + 3y3 → min | ↔ | 40x1 + 60x2 → max |
8y1 + y2 - y3≥40 | ↔ | x1 ≥ 0 |
5y1 + 2y2 + y3≥60 | ↔ | x2 ≥ 0 |
Необходимо найти максимальное значение целевой функции F = 40x1+60x2 → max, при системе ограничений:
8x1+5x2≤40, (1)
x1+2x2≤2, (2)
-x1+x2≤3, (3)
x1 ≥ 0, (4)
x2 ≥ 0, (5)
Шаг №1. Построим область допустимых решений, т.е. решим графически систему неравенств. Для этого построим каждую прямую и определим полуплоскости, заданные неравенствами (полуплоскости обозначены штрихом).
Шаг №2. Границы области допустимых решений.
Пересечением полуплоскостей будет являться область, координаты точек которого удовлетворяют условию неравенствам системы ограничений задачи.
Обозначим границы области многоугольника решений.
Шаг №3. Рассмотрим целевую функцию задачи F = 40x1+60x2 → max.
Построим прямую, отвечающую значению функции F = 0: F = 40x1+60x2 = 0. Вектор-градиент, составленный из коэффициентов целевой функции, указывает направление максимизации F(X). Начало вектора – точка (0; 0), конец – точка (40; 60). Будем двигать эту прямую параллельным образом. Поскольку нас интересует максимальное решение, поэтому двигаем прямую до последнего касания обозначенной области. На графике эта прямая обозначена пунктирной линией.
Прямая F(x) = const пересекает область в точке C. Так как точка C получена в результате пересечения прямых(4) и (2), то ее координаты удовлетворяют уравнениям этих прямых:
x2=0
x1+2x2=2
Решив систему уравнений, получим: x1 = 2, x2 = 0
Откуда найдем максимальное значение целевой функции:
F(X) = 40*2 + 60*0 = 80
4. Решить транспортную задачу.
B1 | B2 | B3 | ai | |
A1 | 2 | 5 | 4 | 20 |
A2 | 1 | 2 | 6 | 30 |
A3 | 4 | 6 | 3 | 40 |
bj | 30 | 25 | 35 |
Проверим необходимое и достаточное условие разрешимости задачи.
∑a = 20 + 30 + 40 = 90
∑b = 30 + 25 + 35 = 90
Условие баланса соблюдается. Запасы равны потребностям. Следовательно, модель транспортной задачи является закрытой.
Занесем исходные данные в распределительную таблицу.
1 | 2 | 3 | Запасы | |
1 | 2 | 5 | 4 | 20 |
2 | 1 | 2 | 6 | 30 |
3 | 4 | 6 | 3 | 40 |
Потребности | 30 | 25 | 35 |
Этап I. Поиск первого опорного плана.
1. Используя метод наименьшей стоимости, построим первый опорный план транспортной задачи.
Суть метода заключается в том, что из всей таблицы стоимостей выбирают наименьшую, и в клетку, которая ей соответствует, помещают меньшее из чисел ai, или bj.
Затем, из рассмотрения исключают либо строку, соответствующую поставщику, запасы которого полностью израсходованы, либо столбец, соответствующий потребителю, потребности которого полностью удовлетворены, либо и строку и столбец, если израсходованы запасы поставщика и удовлетворены потребности потребителя.
Из оставшейся части таблицы стоимостей снова выбирают наименьшую стоимость, и процесс распределения запасов продолжают, пока все запасы не будут распределены, а потребности удовлетворены.
Искомый элемент равен 1
Для этого элемента запасы равны 30, потребности 30. Поскольку минимальным является 30, то вычитаем его.
x21 = min(30,30) = 30.
x | 5 | 4 | 20 |
1 | x | x | 30 - 30 = 0 |
x | 6 | 3 | 40 |
30 - 30 = 0 | 25 | 35 |
Искомый элемент равен 3
Для этого элемента запасы равны 40, потребности 35. Поскольку минимальным является 35, то вычитаем его.
x33 = min(40,35) = 35.
x | 5 | x | 20 |
1 | x | x | 0 |
x | 6 | 3 | 40 - 35 = 5 |
0 | 25 | 35 - 35 = 0 |
Искомый элемент равен 5
Для этого элемента запасы равны 20, потребности 25. Поскольку минимальным является 20, то вычитаем его.
x12 = min(20,25) = 20.
x | 5 | x | 20 - 20 = 0 |
1 | x | x | 0 |
x | 6 | 3 | 5 |
0 | 25 - 20 = 5 | 0 |
Искомый элемент равен 6
Для этого элемента запасы равны 5, потребности 5. Поскольку минимальным является 5, то вычитаем его.
x32 = min(5,5) = 5.
x | 5 | x | 0 |
1 | x | x | 0 |
x | 6 | 3 | 5 - 5 = 0 |
0 | 5 - 5 = 0 | 0 |
1 | 2 | 3 | Запасы | |
1 | 2 | 5[20] | 4 | 20 |
2 | 1[30] | 2 | 6 | 30 |
3 | 4 | 6[5] | 3[35] | 40 |
Потребности | 30 | 25 | 35 |
2. Подсчитаем число занятых клеток таблицы, их 4, а должно быть m + n - 1 = 5. Следовательно, опорный план является вырожденным.
Строим новый план.
Значение целевой функции для этого опорного плана равно:
F(x) = 5*20 + 1*30 + 6*5 + 3*35 = 265
Искомый элемент равен 2
Для этого элемента запасы равны 20, потребности 30. Поскольку минимальным является 20, то вычитаем его.
x11 = min(20,30) = 20.
2 | x | x | 20 - 20 = 0 |
1 | 2 | 6 | 30 |
4 | 6 | 3 | 40 |
30 - 20 = 10 | 25 | 35 |
Искомый элемент равен 1
Для этого элемента запасы равны 30, потребности 10. Поскольку минимальным является 10, то вычитаем его.
x21 = min(30,10) = 10.
2 | x | x | 0 |
1 | 2 | 6 | 30 - 10 = 20 |
x | 6 | 3 | 40 |
10 - 10 = 0 | 25 | 35 |
Искомый элемент равен 2
Для этого элемента запасы равны 20, потребности 25. Поскольку минимальным является 20, то вычитаем его.
x22 = min(20,25) = 20.
2 | x | x | 0 |
1 | 2 | x | 20 - 20 = 0 |
x | 6 | 3 | 40 |
0 | 25 - 20 = 5 | 35 |
Искомый элемент равен 3
Для этого элемента запасы равны 40, потребности 35. Поскольку минимальным является 35, то вычитаем его.
x33 = min(40,35) = 35.
2 | x | x | 0 |
1 | 2 | x | 0 |
x | 6 | 3 | 40 - 35 = 5 |
0 | 5 | 35 - 35 = 0 |
Искомый элемент равен 6
Для этого элемента запасы равны 5, потребности 5. Поскольку минимальным является 5, то вычитаем его.
x32 = min(5,5) = 5.
2 | x | x | 0 |
1 | 2 | x | 0 |
x | 6 | 3 | 5 - 5 = 0 |
0 | 5 - 5 = 0 | 0 |
1 | 2 | 3 | Запасы | |
1 | 2[20] | 5 | 4 | 20 |
2 | 1[10] | 2[20] | 6 | 30 |
3 | 4 | 6[5] | 3[35] | 40 |
Потребности | 30 | 25 | 35 |
В результате получен первый опорный план, который является допустимым, так как все грузы из баз вывезены, потребность магазинов удовлетворена, а план соответствует системе ограничений транспортной задачи.
2. Подсчитаем число занятых клеток таблицы, их 5, а должно быть m + n - 1 = 5. Следовательно, опорный план является невырожденным.
Значение целевой функции для этого опорного плана равно:
F(x) = 2*20 + 1*10 + 2*20 + 6*5 + 3*35 = 225
Этап II. Улучшение опорного плана.
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1 + v1 = 2; 0 + v1 = 2; v1 = 2
u2 + v1 = 1; 2 + u2 = 1; u2 = -1
u2 + v2 = 2; -1 + v2 = 2; v2 = 3
u3 + v2 = 6; 3 + u3 = 6; u3 = 3
u3 + v3 = 3; 3 + v3 = 3; v3 = 0
v1=2 | v2=3 | v3=0 | |
u1=0 | 2[20] | 5 | 4 |
u2=-1 | 1[10] | 2[20] | 6 |
u3=3 | 4 | 6[5] | 3[35] |
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vj > cij
(3;1): 3 + 2 > 4; ∆31 = 3 + 2 - 4 = 1
Выбираем максимальную оценку свободной клетки (3;1): 4
Для этого в перспективную клетку (3;1) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».
1 | 2 | 3 | Запасы | |
1 | 2[20] | 5 | 4 | 20 |
2 | 1[10][-] | 2[20][+] | 6 | 30 |
3 | 4[+] | 6[5][-] | 3[35] | 40 |
Потребности | 30 | 25 | 35 |
Цикл приведен в таблице (3,1 → 3,2 → 2,2 → 2,1).
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (3, 2) = 5. Прибавляем 5 к объемам грузов, стоящих в плюсовых клетках и вычитаем 5 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
1 | 2 | 3 | Запасы | |
1 | 2[20] | 5 | 4 | 20 |
2 | 1[5] | 2[25] | 6 | 30 |
3 | 4[5] | 6 | 3[35] | 40 |
Потребности | 30 | 25 | 35 |
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1 + v1 = 2; 0 + v1 = 2; v1 = 2
u2 + v1 = 1; 2 + u2 = 1; u2 = -1
u2 + v2 = 2; -1 + v2 = 2; v2 = 3
u3 + v1 = 4; 2 + u3 = 4; u3 = 2
u3 + v3 = 3; 2 + v3 = 3; v3 = 1
v1=2 | v2=3 | v3=1 | |
u1=0 | 2[20] | 5 | 4 |
u2=-1 | 1[5] | 2[25] | 6 |
u3=2 | 4[5] | 6 | 3[35] |
Опорный план является оптимальным, так все оценки свободных клеток удовлетворяют условию ui + vj ≤ cij.
Минимальные затраты составят: F(x) = 2*20 + 1*5 + 2*25 + 4*5 + 3*35 = 220