1.9. Решить задачу графически. x1 2 x2 1, 3 x1 x2 1, x1 x2 2, x1 0, x2 0, f ( X ) x1 x2 min . Решение: Выберем на плоскости систему координат с центром в точке О(0;0) и осями координат х1 и х2. Неравенствам x1 0, x2 0 соответствует первая четверть координатной плоскости. Неравенству x1 x2 2 соответствует полуплоскость, ограниченная прямой x1 x2 2 . x1 x2 2 x1 0 x2 2 x2 0 x1 2 Подставим в неравенство координаты т. О(0;0): 0 0 2 (верно). Неравенству x1 x2 2 удовлетворяют точки, лежащие на прямой x1 x2 2 , а также точки лежащие в одной полуплоскости с т. О(0;0) относительно прямой. Неравенству 3x1 x2 1 соответствует полуплоскость, ограниченная прямой 3x1 x2 1. 3x1 x2 1 x1 0 x2 1 x2 2 x1 1 Подставим в неравенство координаты т. О(0;0): 0 0 1 (верно). Неравенству 3x1 x2 1 удовлетворяют точки, лежащие на прямой 3x1 x2 1, а также точки лежащие в одной полуплоскости с т. О(0;0) относительно прямой. Неравенству x1 2 x2 1 соответствует полуплоскость, ограниченная прямой x1 2 x2 1 . x1 2 x2 1 x1 1 x2 0 x2 1 x1 1 Подставим в неравенство координаты т. О(0;0): 0 0 1 (неверно). Неравенству x1 2 x2 1 удовлетворяют точки, лежащие на прямой x1 2 x2 1 , а также точки не лежащие в одной полуплоскости с т. О(0;0) относительно прямой. Полученную область выделим штриховкой (ABCD). Функция f ( X ) x1 x2 достигает своего минимума в вершинах найденной области. Найдем координаты вершин. Из чертежа видно, что А(1;0), В(0;1), D(2;0). Найдем координаты точки С. Точка С – точка пересечения прямых x1 x2 2 и x1 2 x2 1 . x1 x2 2 x 2 x2 x 3 1 1 x1 2 x2 1 2 x2 1 x2 1 Следовательно, С(3;-1). Найдем значения функции в вершинах области. f (0;1) 0 1 1 f (1;0) 1 0 1 f (2;0) 2 0 2 f (3;1) 3 1 4 Наименьшее значение функция принимает в точке В(0;1). Следовательно, В(0;1) – решение задачи. 2.9 Для задачи линейного программирования составьте двойственную, решите ее симплексным методом и укажите оптимальное решение исходной задачи. 3 x1 5 x2 7 x3 8 4 x 2 x 8 x 9 1 2 3 x1 0, x2 0, x3 0 x0 90 x1 100 x2 175 x3 min а) Составить к данной задаче двойственную x0 90 x1 100 x2 175 x3 min 3 x1 5 x2 7 x3 8 4 x 2 x 8 x 9 1 2 3 x1 0, x2 0, x3 0 б) Решить двойственную задачу симплексным методом. Решение: составим к исходной задаче двойственную задачу: 1. столбцы свободных членов в ограничениях прямой задачи являются коэффициентами перед переменными целевой функции в двойственной задаче; 2. коэффициенты целевой функции прямой задачи стали столбцом свободных членов в ограничениях двойственной задачи; 3. количество переменных в двойственной задаче равно количеству ограничений в прямой задаче; 4. количество ограничений в двойственной задаче равно количеству переменных в прямой задаче; 5. матрица коэффициентов перед переменными в двойственной задаче есть транспонированная матрица коэффициентов перед переменными в прямой задаче; 6. так как целевая функция в прямой задаче стремится к максимуму, то в двойственной задаче она стремится к минимуму. Таким образом, двойственную задачу линейного программирования для данной исходной задачи можно записать следующим образом: 8 y1 9 y2 max 3 y1 4 y 2 90 5 y 2 y 100 1 2 7 y1 8 y 2 175 y1 , y 2 0 б) Решим двойственную задачу симплексным методом. 3 y1 4 y 2 90 5 y 2 y 100 1 2 , 8 y1 9 y2 max 7 y 8 y 2 175 1 y1 , y 2 0 Приведем систему к каноническому виду: 3 y1 4 y 2 y 3 90 5 y 2 y y 100 1 2 4 , z 8 y1 9 y 2 0 y3 0 y 4 0 y5 max 7 y 8 y y 2 5 175 1 y1 , y 2 0 Составим симплексную таблицу. Ci Базисные переменные 0 y3 8 y1 3 -9 y2 4 0 y3 1 0 y4 0 0 y5 0 z bi 90 2 0 1 5 y4 7 8 0 0 y5 -8 9 0 0 есть <=0, поэтому опорный план не является оптимальным. 90 100 175 min , , 7 3 5 0 1 100 175 0 0 0 0 Базисные переменные 0 y3 8 y1 0 8 y1 1 0 y5 0 0 Ci -9 y2 14 5 2 5 26 5 61 5 0 y3 1 0 0 0 все >0, поэтому опорный план является оптимальным. 0 y4 3 5 1 5 7 5 8 5 0 y5 0 0 1 0 z bi 90 8 20 175 8 160 yопт ( y1 , y 2 ) 20,0 z ( y) max 160 оптимальное решение исходной задачи: z( x) min 160 . 3.9. Решить транспортную задачу. Заданы мощности поставщиков аj (j = 1, 2, 3), емкости потребителей bj (j = 1, 2, 3) и матрица стоимостей перевозок единицы продукции от каждого поставщика каждому потребителю. Требуется найти план перевозок, при котором суммарные транспортные затраты будут наименьшими. bj 25 19 21 аj 40 5 3 6 17 2 1 2 23 7 4 8 Решение: Перепишем матрицу в более удобном для расчетов виде. bj b3 b1 b2 ai 5 3 6 2 1 2 7 4 8 a1 a2 a3 25 a b 19 i 40 17 23 80 j 25 19 21 65 40 17 23 21 i j Так как a > b i j ( 80 65 ), то добавим фиктивного потребителя b'4 с потребностями, j i объем которых равен 15, и стоимостями равными 0. Методом наименьших стоимостей составим первоначальный опорный план. bj ai a1 (40) b1 (25) 25 5 b2 (19) b3 (21) b' 4 (15) 3 6 0 2 0 2 2 a 2 (17) a 3 (23) 13 1 17 7 4 8 8 15 0 m+n-1=4+3-1=6 План является невырожденным. Найдем оптимальный опорный план с помощью методов потенциалов: u i v j Cij (для занятых клеток) u i v j C ij 0 (для незанятых клеток) bj b1 ai 5 a1 b3 b2 25 2 a2 3 2 + 17 7 a3 1 - 13 4 b' 4 6 2 8 v1 5 v2 3 0 15 15 21 19 0 + 8 25 0 v3 6 40 u1 0 (начальное условие) 17 u2 2 23 u3 2 v4 2 Вычислим оценки свободных клеток: ij ui v j Cij 21 u2 v1 C21 2 5 2 1 0 23 u2 v3 C23 2 6 2 2 0 31 u3 v1 C31 2 5 7 0 32 u3 v2 C32 2 3 4 1 0 Так как 21 , 23 , 32 0 , то план не является оптимальным. Составим цикл из клетки (2;3), чтобы перераспределить перевозки. min{13;17}=13 Получим новый опорный план. bj b1 ai a1 25 5 + - 15 2 a2 b3 b2 4 6 0 2 0 8 0 + 1 7 a3 3 b' 4 4 25 19 v1 5 v2 3 13 8 21 v3 4 15 15 40 u1 0 (начальное условие) 17 u2 2 23 u3 4 v4 4 Вычислим оценки свободных клеток: 13 u1 v3 C13 0 4 6 2 21 u2 v1 C21 2 5 2 1 0 31 u3 v1 C31 4 5 7 2 0 32 u3 v2 C32 4 3 4 3 0 Так как 21 , 31 , 32 0 , то план не является оптимальным. Составим цикл из клетки (2;1), чтобы перераспределить перевозки. min{25;4}=4 Получим новый опорный план. bj b1 ai 5 a1 21 4 2 a2 + a3 b3 b2 19 3 1 7 4 13 8 b' 4 6 0 2 0 + 8 - 21 25 19 v1 5 v2 3 v3 5 0 15 15 40 u1 0 (начальное условие) 17 u2 3 23 u3 3 v4 3 Вычислим оценки свободных клеток: 13 u1 v3 C13 0 5 6 1 22 u2 v2 C22 3 3 1 1 31 u3 v1 C31 3 5 7 1 0 32 u3 v2 C32 3 3 4 2 0 Так как 31 , 32 0 , то план не является оптимальным. Составим цикл из клетки (3;1), чтобы перераспределить перевозки. min{8;4}=4 Получим новый опорный план. bj b3 b1 b' 4 b2 ai a1 21 5 + 19 2 3 7 1 4 25 v1 5 0 2 0 8 0 - a2 a3 6 4 + 19 v2 3 17 4 21 v3 6 15 15 40 u1 0 (начальное условие) 17 u2 4 23 u3 2 v4 2 Вычислим оценки свободных клеток: 13 u1 v3 C13 0 6 6 0 21 u2 v1 C21 4 5 2 1 22 u2 v2 C22 4 3 1 2 32 u3 v2 C32 2 3 4 1 0 Так как 32 0 , то план не является оптимальным. Составим цикл из клетки (3;2), чтобы перераспределить перевозки. min{19;4}=4 Получим новый опорный план. bj ai a1 b1 25 b3 b2 5 15 2 3 1 a2 7 a3 4 4 + 17 4 b' 4 6 + 2 0 8 0 - 21 25 19 v1 5 v2 3 0 v3 7 15 15 40 u1 0 (начальное условие) 17 u2 5 23 u3 1 v4 1 Вычислим оценки свободных клеток: 13 u1 v3 C13 0 7 6 1 0 21 u2 v1 C21 5 5 2 2 22 u2 v2 C22 5 3 1 3 31 u3 v1 C31 1 5 7 1 Так как 13 0 , то план не является оптимальным. Составим цикл из клетки (1;3), чтобы перераспределить перевозки. min{15;4}=4 Получим новый опорный план. bj ai a1 b1 25 b3 b2 5 11 2 3 7 1 8 6 0 2 0 8 0 4 a2 a3 b' 4 17 4 25 19 v1 5 v2 3 21 v3 6 15 15 40 u1 0 (начальное условие) 17 u2 4 23 u3 1 v4 1 Вычислим оценки свободных клеток: 21 u2 v1 C21 4 5 2 1 22 u2 v2 C22 4 3 1 2 31 u3 v1 C31 1 5 7 1 33 u3 v3 C33 1 6 8 1 Так как все оценки 0, то план является оптимальным. 25 11 4 X 0 0 17 0 8 0 f опт 25 5 11 3 4 6 17 2 8 4 125 33 24 34 32 248 5.9. Найти кратчайший путь от вершины х0 до всех остальных вершин графа. Граф описывается перечнем всех своих дуг хiхj и их длинами lij. Дуга хiхj кратко обозначается парой чисел i, j, длина lij задается одним числом. Так, например, дуга х3х5 обозначается парой чисел 3, 5 и т.п. 0,1 0,2 0,3 1,2 1,6 2,5 2,7 3,4 4,8 5,4 5,8 6,2 6,5 6,7 7,8 17 11 12 13 21 6 8 16 14 9 10 23 9 17 21 Решение: Путь от вершины х0 до вершин х1, х2, х3 задан в условии задачи (см. таблицу): 01 17 02 11 03 12 . Найдем путь от вершины х0 до всех оставшихся вершин графа - х4, х5, х6, х7, х8. Запишем наиболее кратчайшие пути до вершины х4: x04 x03 x34 , x04 x02 x25 x54 . Найдем длину каждого пути: 04 03 34 ( 04 12 16 28 ), 04 02 25 54 ( 04 11 6 9 26 ). min{ 28;26} 26 . Значит, кратчайшим путем является путь x04 x02 x25 x54 , длина которого равна 26. Кратчайший путь до вершины х5: x05 x02 x25 , его длина - 05 02 25 11 6 17 . Запишем наиболее кратчайшие пути до вершины х6: x06 x01 x16 , его длина 06 01 16 17 21 38 . Кратчайший путь до вершины х7: x07 x02 x27 , его длина - 07 02 27 11 8 19 . Запишем наиболее кратчайшие пути до вершины х8: x08 x02 x25 x58 , x08 x02 x27 x78 , x08 x03 x34 x48 . Найдем длину каждого пути: 08 02 25 58 ( 08 11 6 10 27 ), 08 02 27 78 ( 08 11 8 21 40 ), 08 03 34 48 ( 08 12 16 14 42 ). min{ 27; 40;42} 27 . Значит, кратчайшим путем является путь 08 02 25 58 , длина которого равна 27.