Автор работы: Пользователь скрыл имя, 23 Октября 2013 в 19:17, контрольная работа
Построим область допустимых решений, т.е. решим графически систему неравенств. Для этого построим каждую прямую и определим полуплоскости, заданные неравенствами (полуплоскости обозначены штрихом).
Построим уравнение 2x1+7x2 = 21 по двум точкам. Для нахождения первой точки приравниваем x1 = 0. Находим x2 = 3. Для нахождения второй точки приравниваем x2 = 0. Находим x1 = 10.5. Соединяем точку (0;3) с (10.5;0) прямой линией.
1 |
2 |
3 |
4 |
5 |
Запасы | |
1 |
7 |
12 |
4[70] |
6 |
0[80] |
150 |
2 |
5[120] |
6 |
3[Ю] |
4 |
0 |
130 |
3 |
13 |
8[80] |
7 |
3[70] |
0[10] |
160 |
Потребности |
120 |
80 |
80 |
70 |
90 |
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.
u1 + v3 = 4; 0 + v3 = 4; v3 = 4
u2 + v3 = 3; 4 + u2 = 3; u2 = -1
u2 + v1 = 5; -1 + v1 = 5; v1 = 6
u1 + v5 = 0; 0 + v5 = 0; v5 = 0
u3 + v5 = 0; 0 + u3 = 0; u3 = 0
u3 + v2 = 8; 0 + v2 = 8; v2 = 8
u3 + v4 = 3; 0 + v4 = 3; v4 = 3
v=6 |
v2=8 |
v3=4 |
v4=3 |
v5=0 | |
и=0 |
7 |
12 |
4[70] |
6 |
0[80] |
u2=-1 |
5[120] |
6 |
3[10] |
4 |
0 |
u3=0 |
13 |
8[80] |
7 |
3[70] |
0[10] |
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vi > cij
(2;2): -1 + 8 > 6; ∆22 = -1 + 8 - 6 = 1
Выбираем максимальную оценку свободной клетки (2;2): 6
Для этого в перспективную клетку (2;2) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».
1 |
2 |
3 |
4 |
5 |
Запасы | |
1 |
7 |
12 |
4[70][+] |
6 |
0[80][-] |
150 |
2 |
5[120] |
6[+] |
3[10][-] |
4 |
0 |
130 |
3 |
13 |
8[80][-] |
7 |
3[70] |
0[10][+] |
160 |
Потребности |
120 |
80 |
80 |
70 |
90 |
Цикл приведен в таблице (2,2; 2,3; 1,3; 1,5; 3,5; 3,2; ).
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (2, 3) = 10. Прибавляем 10 к объемам грузов, стоящих в плюсовых клетках и вычитаем 10 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
1 |
2 |
3 |
4 |
5 |
Запасы | |
1 |
7 |
12 |
4[80] |
6 |
0[70] |
150 |
2 |
5[120] |
6[10] |
3 |
4 |
0 |
130 |
3 |
13 |
8[70] |
7 |
3[70] |
0[20] |
160 |
Потребности |
120 |
80 |
80 |
70 |
90 |
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.
u1 + v3 = 4; 0 + v3 = 4; v3 = 4
u1 + v5 = 0; 0 + v5 = 0; v5 = 0
u3 + v5 = 0; 0 + u3 = 0; u3 = 0
u3 + v2 = 8; 0 + v2 = 8; v2 = 8
u2 + v2 = 6; 8 + u2 = 6; u2 = -2
u2 + v1 = 5; -2 + v1 = 5; v1 = 7
u3 + v4 = 3; 0 + v4 = 3; v4 = 3
v=7 |
v2=8 |
v3=4 |
v4=3 |
v5=0 | |
и=0 |
7 |
12 |
4[80] |
6 |
0[70] |
u2=-2 |
5[120] |
6[10] |
3 |
4 |
0 |
u3=0 |
13 |
8[70] |
7 |
3[70] |
0[20] |
Опорный план является оптимальным, так все оценки свободных клеток удовлетворяют условию ui + vi <= cij.
Минимальные затраты составят:
F(x) = 4*80 + 0*70 + 5*120 + 6*10 + 8*70 + 3*70 + 0*20 = 1750
Анализ оптимального плана.
Из 1-го склада необходимо весь груз направить в 3-й магазин
Из 2-го склада необходимо груз направить в 1-й магазин (120), в 2-й магазин (10)
Из 3-го склада необходимо груз направить в 2-й магазин (70), в 4-й магазин (70)
На 1-ом складе остался невостребованным груз в количестве 70 ед.
Оптимальный план является вырожденным, так как базисная переменная x15=0.
На 3-ом складе остался невостребованным груз в количестве 20 ед.
Оптимальный план является вырожденным, так как базисная переменная x35=0.
Задача имеет множество оптимальных планов, поскольку оценка для (1;1) равна 0.
Минимальные затраты составят: F(x) = 4*80 + 0*70 + 5*120 + 6*10 + 8*70 + 3*70 + 0*20 = 1750
Решить задачи целочисленного программирования геометрическим методом.
Решение:
Построим область допустимых решений, т.е. решим графически систему неравенств. Для этого построим каждую прямую и определим полуплоскости, заданные неравенствами (полуплоскости обозначены штрихом).
Построим уравнение x1+6x2 = 11 по двум точкам. Для нахождения первой точки приравниваем x1 = 0. Находим x2 = 1.83. Для нахождения второй точки приравниваем x2 = 0. Находим x1 = 11. Соединяем точку (0;1.83) с (11;0) прямой линией.
Построим уравнение 5x1+3x2 = 17 по двум точкам. Для нахождения первой точки приравниваем x1 = 0. Находим x2 = 5.67. Для нахождения второй точки приравниваем x2 = 0. Находим x1 = 3.4. Соединяем точку (0;5.67) с (3.4;0) прямой линией.
Или
Границы области допустимых решений
Пересечением полуплоскостей будет являться область, координаты точек которого удовлетворяют условию неравенствам системы ограничений задачи.
Обозначим границы области многоугольника решений.
Рассмотрим целевую функцию задачи F = 3x1+2x2 → max.
Построим прямую, отвечающую значению функции F = 0: F = 3x1+2x2 = 0. Вектор-градиент, составленный из коэффициентов целевой функции, указывает направление максимизации F(X). Начало вектора – точка (0; 0), конец – точка (3; 2). Будем двигать эту прямую параллельным образом. Поскольку нас интересует максимальное решение, поэтому двигаем прямую до последнего касания обозначенной области. На графике эта прямая обозначена пунктирной линией.
Равный масштаб
Область допустимых решений представляет собой многоугольник
Прямая F(x) = const пересекает область в точке C. Так как точка C получена в результате пересечения прямых (1) и (2), то ее координаты удовлетворяют уравнениям этих прямых:
x1+6x2≤11
5x1+3x2≤17
Решив систему уравнений, получим: x1 = 2.5556, x2 = 1.4074
Откуда найдем максимальное значение целевой функции:
F(X) = 3*2.5556 + 2*1.4074 = 10.4815
Решение получилось не целочисленным.
Нормы расхода ресурсов на единичное изделие |
Запас ресурсов | ||||
изделие 1 |
изделие 2 |
изделие 3 |
изделие 4 | ||
Ресурс 1 |
5 |
10 |
15 |
20 |
150 |
Ресурс 2 |
20 |
15 |
10 |
5 |
170 |
Ресурс 3 |
15 |
9 |
4 |
17 |
190 |
Ценность |
6,5 |
8 |
14 |
10 |
Решение:
Решим прямую задачу линейного программирования симплексным методом, с использованием симплексной таблицы
Определим максимальное значение целевой функции F(X) = 6.5x1+8x2+14x3+10x4 при следующих условиях-ограничений.
5x1+10x2+15x3+20x4≤150
20x1+15x2+10x3+5x4≤170
15x1+9x2+4x3+17x4≤190
Для построения первого опорного плана систему неравенств приведем к системе уравнений путем введения дополнительных переменных (переход к канонической форме).
В 1-м неравенстве смысла (≤) вводим базисную переменную x5. В 2-м неравенстве смысла (≤) вводим базисную переменную x6. В 3-м неравенстве смысла (≤) вводим базисную переменную x7.
5x1 + 10x2 + 15x3 + 20x4 + 1x5 + 0x6 + 0x7 = 150
20x1 + 15x2 + 10x3 + 5x4 + 0x5 + 1x6 + 0x7 = 170
15x1 + 9x2 + 4x3 + 17x4 + 0x5 + 0x6 + 1x7 = 190
Матрица коэффициентов A = a(ij) этой системы уравнений имеет вид:
5 |
10 |
15 |
20 |
1 |
0 |
0 |
20 |
15 |
10 |
5 |
0 |
1 |
0 |
15 |
9 |
4 |
17 |
0 |
0 |
1 |
Базисные переменные это переменные, которые входят только в одно уравнение системы ограничений и притом с единичным коэффициентом.
Экономический смысл дополнительных переменных: дополнительные перемены задачи ЛП обозначают излишки сырья, времени, других ресурсов, остающихся в производстве данного оптимального плана.
Решим систему уравнений относительно базисных переменных:
x5, x6, x7,
Полагая, что свободные переменные равны 0, получим первый опорный план:
X1 = (0,0,0,0,150,170,190)
Базисное решение называется допустимым, если оно неотрицательно.
Базис |
В |
Х1 |
Х2 |
хз |
х4 |
Х5 |
х6 |
Х7 |
х5 |
150 |
5 |
10 |
15 |
20 |
1 |
0 |
0 |
х6 |
170 |
20 |
15 |
10 |
5 |
0 |
1 |
0 |
Х7 |
190 |
15 |
9 |
4 |
17 |
0 |
0 |
1 |
F(XO) |
0 |
-6,5 |
-8 |
-14 |
-10 |
0 |
0 |
0 |
Переходим к основному алгоритму симплекс-метода.
Итерация №0.
1. Проверка критерия
Текущий опорный план неоптимален, так как в индексной строке находятся отрицательные коэффициенты.
2. Определение новой базисной переменной.
В индексной строке F(x) выбираем максимальный по модулю элемент. В качестве ведущего выберем столбец, соответствующий переменной x3, так как это наибольший коэффициент по модулю.
3. Определение новой свободной переменной.
Вычислим значения Di по строкам как частное от деления: bi / ai3
и из них выберем наименьшее:
Следовательно, 1-ая строка является ведущей.
Разрешающий элемент равен (15) и находится на пересечении ведущего столбца и ведущей строки.
Базис |
В |
Х1 |
Х2 |
хз |
Х4 |
Х5 |
х6 |
Х7 |
min |
х5 |
150 |
5 |
10 |
15 |
20 |
1 |
0 |
0 |
10 |
х6 |
170 |
20 |
15 |
10 |
5 |
0 |
1 |
0 |
17 |
Х7 |
190 |
15 |
9 |
4 |
17 |
0 |
0 |
1 |
47,5 |
F(X1) |
0 |
-6,5 |
-8 |
-14 |
-10 |
0 |
0 |
0 |
0 |
4. Пересчет симплекс-таблицы.
Формируем следующую часть симплексной таблицы.
Вместо переменной x5 в план 1 войдет переменная x3
Строка, соответствующая переменной x3 в плане 1, получена в результате деления всех элементов строки x5 плана 0 на разрешающий элемент РЭ=15
На месте разрешающего элемента в плане 1 получаем 1.
В остальных клетках столбца x3 плана 1 записываем нули.
Таким образом, в новом плане 1 заполнены строка x3 и столбец x3 .
Все остальные элементы нового плана 1, включая элементы индексной строки, определяются по правилу прямоугольника.
Для этого выбираем из старого плана четыре числа, которые расположены в вершинах прямоугольника и всегда включают разрешающий элемент РЭ.
НЭ = СЭ - (А*В)/РЭ
СТЭ - элемент старого плана, РЭ - разрешающий элемент (15), А и В - элементы старого плана, образующие прямоугольник с элементами СТЭ и РЭ.
Представим расчет каждого элемента в виде таблицы:
Базис |
В |
Х1 |
Х2 |
Х3 |
Х4 |
Х5 |
Х6 |
Х7 |
Х3 |
10 |
0,33 |
0,67 |
1 |
1,33 |
0,0667 |
0 |
0 |
Х6 |
70 |
16,67 |
8,33 |
0 |
-8,33 |
-0,67 |
1 |
0 |
Х7 |
150 |
13,67 |
6,33 |
0 |
11,67 |
-0,27 |
0 |
1 |
F(X1) |
140 |
-1,83 |
1,33 |
0 |
8,67 |
0,93 |
0 |
0 |