
- •Многоугольные области: а - ограниченное множество; б - пустое множество; в - неограниченное множество
- •1. Проводим редукцию матрицы по строкам. В связи с этим во вновь полученной матрице в каждой строке будет как минимум один ноль.
- •2. Методом проб и ошибок проводим поиск допустимого решения, для которого все назначения имеют нулевую стоимость.
- •3. Проводим модификацию матрицы. Вычеркиваем строки и столбцы с возможно большим количеством нулевых элементов:
- •1. Проводим редукцию матрицы по строкам. В связи с этим во вновь полученной матрице в каждой строке будет как минимум один ноль.
- •2. Методом проб и ошибок проводим поиск допустимого решения, для которого все назначения имеют нулевую стоимость.
- •4. Методом проб и ошибок определяем матрицу назначения х, которая позволяет по аналогично расположенным элементам исходной матрицы (в квадратах) вычислить минимальную стоимость назначения.
- •1. Проверяем, имеет ли платежная матрица седловую точку. Если да, то выписываем решение игры в чистых стратегиях.
- •2. Проверяем платежную матрицу на доминирующие строки и доминирующие столбцы.
Задание1.
Решение:
Необходимо найти минимальное значение целевой функции F = 4x1+2x2 → max(min), при системе ограничений:
x1+2x2≥7 |
(1) |
2x1+x2≥8 |
(2) |
-x1+2x2≤6 |
(3) |
-2x1+8x2≥4 |
(4) |
x1≥0 |
(5) |
x2≥0 |
(6) |
Построим область допустимых решений, т.е. решим графически систему неравенств. Для этого построим каждую прямую и определим полуплоскости, заданные неравенствами (полуплоскости обозначены штрихом). Построим уравнение x1+2x2 = 7 по двум точкам. Для нахождения первой точки приравниваем x1 = 0. Находим x2 = 3.5. Для нахождения второй точки приравниваем x2 = 0. Находим x1 = 7. Соединяем точку (0;3.5) с (7;0) прямой линией. Построим уравнение 2x1+x2 = 8 по двум точкам. Для нахождения первой точки приравниваем x1 = 0. Находим x2 = 8. Для нахождения второй точки приравниваем x2 = 0. Находим x1 = 4. Соединяем точку (0;8) с (4;0) прямой линией. Построим уравнение -x1+2x2 = 6 по двум точкам. Для нахождения первой точки приравниваем x1 = 0. Находим x2 = 3. Для нахождения второй точки приравниваем x2 = 0. Находим x1 = -6. Соединяем точку (0;3) с (-6;0) прямой линией. Построим уравнение -2x1+8x2 = 4 по двум точкам. Для нахождения первой точки приравниваем x1 = 0. Находим x2 = 0.5. Для нахождения второй точки приравниваем x2 = 0. Находим x1 = -2. Соединяем точку (0;0.5) с (-2;0) прямой линией.
Границы области допустимых решений
Пересечением полуплоскостей будет являться область, координаты точек которого удовлетворяют условию неравенствам системы ограничений задачи. Обозначим границы области многоугольника решений.
Рассмотрим целевую функцию задачи F = 4x1+2x2 → min. Построим прямую, отвечающую значению функции F = 0: F = 4x1+2x2 = 0. Вектор-градиент, составленный из коэффициентов целевой функции, указывает направление минимизации F(X). Начало вектора – точка (0; 0), конец – точка (4; 2). Будем двигать эту прямую параллельным образом. Поскольку нас интересует минимальное решение, поэтому двигаем прямую до первого касания обозначенной области. На графике эта прямая обозначена пунктирной линией.
Область допустимых решений представляет собой одну точку.
Прямая F(x) = const пересекает область в точке B. Так как точка B получена в результате пересечения прямых (1) и (2), то ее координаты удовлетворяют уравнениям этих прямых: x1+2x2=7 2x1+x2=8 Решив систему уравнений, получим: x1 = 3, x2 = 2 Откуда найдем минимальное значение целевой функции: F(X) = 4*3 + 2*2 = 16 Поскольку функция цели F(x) параллельна прямой (2), то на отрезке BA функция F(x) будет принимает одно и тоже минимальное значение. Для определения координат точки A решим систему двух линейных уравнений: 2x1+x2=8 -x1+2x2=6 Решив систему уравнений, получим: x1 = 2, x2 = 4 Откуда найдем минимальное значение целевой функции: F(X) = 4*2 + 2*4 = 16
Рассмотрим целевую функцию задачи F = 4x1+2x2 → max. Построим прямую, отвечающую значению функции F = 0: F = 4x1+2x2 = 0. Вектор-градиент, составленный из коэффициентов целевой функции, указывает направление максимизации F(X). Начало вектора – точка (0; 0), конец – точка (4; 2). Будем двигать эту прямую параллельным образом. Поскольку нас интересует максимальное решение, поэтому двигаем прямую до последнего касания обозначенной области. На графике эта прямая обозначена пунктирной линией.
Задача не имеет допустимых решений. ОДР представляет собой бесконечное множество (не ограничена) (рис. в).
Многоугольные области: а - ограниченное множество; б - пустое множество; в - неограниченное множество
Задание 2.
Решение:
Решая задачу графически, видим, что минимальные значения функции достигаются в точках (0,0) и (6,0)
L – линии уровня
Минимальные значения функции равны:
Fмин=9+2=11
Задание 3.
Решение:
Математическая модель транспортной задачи:
F = ∑∑cijxij, (1)
при условиях:
∑xij = ai, i = 1,2,…, m, (2)
∑xij = bj, j = 1,2,…, n, (3)
Стоимость доставки единицы груза из каждого пункта отправления в соответствующие пункты назначения задана матрицей тарифов
|
1 |
2 |
3 |
4 |
Запасы |
1 |
6 |
7 |
3 |
5 |
100 |
2 |
1 |
2 |
5 |
6 |
150 |
3 |
3 |
10 |
20 |
4 |
50 |
Потребности |
75 |
80 |
60 |
85 |
|
Проверим необходимое и достаточное условие разрешимости задачи.
∑a = 100 + 150 + 50 = 300
∑b = 75 + 80 + 60 + 85 = 300
Условие баланса соблюдается. Запасы равны потребностям. Следовательно, модель транспортной задачи является закрытой.
Занесем исходные данные в распределительную таблицу.
|
1 |
2 |
3 |
4 |
Запасы |
1 |
6 |
7 |
3 |
5 |
100 |
2 |
1 |
2 |
5 |
6 |
150 |
3 |
3 |
10 |
20 |
4 |
50 |
Потребности |
75 |
80 |
60 |
85 |
|
Этап I. Поиск первого опорного плана.
1. Используя метод северо-западного угла, построим первый опорный план транспортной задачи.
План начинается заполняться с верхнего левого угла.
Искомый элемент равен 6
Для этого элемента запасы равны 100, потребности 75. Поскольку минимальным является 75, то вычитаем его.
x11 = min(100,75) = 75.
6 |
7 |
3 |
5 |
100 - 75 = 25 |
x |
2 |
5 |
6 |
150 |
x |
10 |
20 |
4 |
50 |
75 - 75 = 0 |
80 |
60 |
85 |
0 |
Искомый элемент равен 7
Для этого элемента запасы равны 25, потребности 80. Поскольку минимальным является 25, то вычитаем его.
x12 = min(25,80) = 25.
6 |
7 |
x |
x |
25 - 25 = 0 |
x |
2 |
5 |
6 |
150 |
x |
10 |
20 |
4 |
50 |
0 |
80 - 25 = 55 |
60 |
85 |
0 |
Искомый элемент равен 2
Для этого элемента запасы равны 150, потребности 55. Поскольку минимальным является 55, то вычитаем его.
x22 = min(150,55) = 55.
6 |
7 |
x |
x |
0 |
x |
2 |
5 |
6 |
150 - 55 = 95 |
x |
x |
20 |
4 |
50 |
0 |
55 - 55 = 0 |
60 |
85 |
0 |
Искомый элемент равен 5
Для этого элемента запасы равны 95, потребности 60. Поскольку минимальным является 60, то вычитаем его.
x23 = min(95,60) = 60.
6 |
7 |
x |
x |
0 |
x |
2 |
5 |
6 |
95 - 60 = 35 |
x |
x |
x |
4 |
50 |
0 |
0 |
60 - 60 = 0 |
85 |
0 |
Искомый элемент равен 6
Для этого элемента запасы равны 35, потребности 85. Поскольку минимальным является 35, то вычитаем его.
x24 = min(35,85) = 35.
6 |
7 |
x |
x |
0 |
x |
2 |
5 |
6 |
35 - 35 = 0 |
x |
x |
x |
4 |
50 |
0 |
0 |
0 |
85 - 35 = 50 |
0 |
Искомый элемент равен 4
Для этого элемента запасы равны 50, потребности 50. Поскольку минимальным является 50, то вычитаем его.
x34 = min(50,50) = 50.
6 |
7 |
x |
x |
0 |
x |
2 |
5 |
6 |
0 |
x |
x |
x |
4 |
50 - 50 = 0 |
0 |
0 |
0 |
50 - 50 = 0 |
0 |
|
1 |
2 |
3 |
4 |
Запасы |
1 |
6[75] |
7[25] |
3 |
5 |
100 |
2 |
1 |
2[55] |
5[60] |
6[35] |
150 |
3 |
3 |
10 |
20 |
4[50] |
50 |
Потребности |
75 |
80 |
60 |
85 |
|
В результате получен первый опорный план, который является допустимым, так как все грузы из баз вывезены, потребность магазинов удовлетворена, а план соответствует системе ограничений транспортной задачи.
2. Подсчитаем число занятых клеток таблицы, их 6, а должно быть m + n - 1 = 6. Следовательно, опорный план является невырожденным.
Значение целевой функции для этого опорного плана равно:
F(x) = 6*75 + 7*25 + 2*55 + 5*60 + 6*35 + 4*50 = 1445
Этап II. Улучшение опорного плана.
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1 + v1 = 6; 0 + v1 = 6; v1 = 6
u1 + v2 = 7; 0 + v2 = 7; v2 = 7
u2 + v2 = 2; 7 + u2 = 2; u2 = -5
u2 + v3 = 5; -5 + v3 = 5; v3 = 10
u2 + v4 = 6; -5 + v4 = 6; v4 = 11
u3 + v4 = 4; 11 + u3 = 4; u3 = -7
|
v1=6 |
v2=7 |
v3=10 |
v4=11 |
u1=0 |
6[75] |
7[25] |
3 |
5 |
u2=-5 |
1 |
2[55] |
5[60] |
6[35] |
u3=-7 |
3 |
10 |
20 |
4[50] |
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vj > cij
(1;3): 0 + 10 > 3; ∆13 = 0 + 10 - 3 = 7
(1;4): 0 + 11 > 5; ∆14 = 0 + 11 - 5 = 6
max(7,6) = 7
Выбираем максимальную оценку свободной клетки (1;3): 3
Для этого в перспективную клетку (1;3) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».
|
1 |
2 |
3 |
4 |
Запасы |
1 |
6[75] |
7[25][-] |
3[+] |
5 |
100 |
2 |
1 |
2[55][+] |
5[60][-] |
6[35] |
150 |
3 |
3 |
10 |
20 |
4[50] |
50 |
Потребности |
75 |
80 |
60 |
85 |
|
Цикл приведен в таблице (1,3; 1,2; 2,2; 2,3; ).
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (1, 2) = 25. Прибавляем 25 к объемам грузов, стоящих в плюсовых клетках и вычитаем 25 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
|
1 |
2 |
3 |
4 |
Запасы |
1 |
6[75] |
7 |
3[25] |
5 |
100 |
2 |
1 |
2[80] |
5[35] |
6[35] |
150 |
3 |
3 |
10 |
20 |
4[50] |
50 |
Потребности |
75 |
80 |
60 |
85 |
|
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1 + v1 = 6; 0 + v1 = 6; v1 = 6
u1 + v3 = 3; 0 + v3 = 3; v3 = 3
u2 + v3 = 5; 3 + u2 = 5; u2 = 2
u2 + v2 = 2; 2 + v2 = 2; v2 = 0
u2 + v4 = 6; 2 + v4 = 6; v4 = 4
u3 + v4 = 4; 4 + u3 = 4; u3 = 0
|
v1=6 |
v2=0 |
v3=3 |
v4=4 |
u1=0 |
6[75] |
7 |
3[25] |
5 |
u2=2 |
1 |
2[80] |
5[35] |
6[35] |
u3=0 |
3 |
10 |
20 |
4[50] |
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vj > cij
(2;1): 2 + 6 > 1; ∆21 = 2 + 6 - 1 = 7
(3;1): 0 + 6 > 3; ∆31 = 0 + 6 - 3 = 3
max(7,3) = 7
Выбираем максимальную оценку свободной клетки (2;1): 1
Для этого в перспективную клетку (2;1) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».
|
1 |
2 |
3 |
4 |
Запасы |
1 |
6[75][-] |
7 |
3[25][+] |
5 |
100 |
2 |
1[+] |
2[80] |
5[35][-] |
6[35] |
150 |
3 |
3 |
10 |
20 |
4[50] |
50 |
Потребности |
75 |
80 |
60 |
85 |
|
Цикл приведен в таблице (2,1; 2,3; 1,3; 1,1; ).
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (2, 3) = 35. Прибавляем 35 к объемам грузов, стоящих в плюсовых клетках и вычитаем 35 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
|
1 |
2 |
3 |
4 |
Запасы |
1 |
6[40] |
7 |
3[60] |
5 |
100 |
2 |
1[35] |
2[80] |
5 |
6[35] |
150 |
3 |
3 |
10 |
20 |
4[50] |
50 |
Потребности |
75 |
80 |
60 |
85 |
|
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1 + v1 = 6; 0 + v1 = 6; v1 = 6
u2 + v1 = 1; 6 + u2 = 1; u2 = -5
u2 + v2 = 2; -5 + v2 = 2; v2 = 7
u2 + v4 = 6; -5 + v4 = 6; v4 = 11
u3 + v4 = 4; 11 + u3 = 4; u3 = -7
u1 + v3 = 3; 0 + v3 = 3; v3 = 3
|
v1=6 |
v2=7 |
v3=3 |
v4=11 |
u1=0 |
6[40] |
7 |
3[60] |
5 |
u2=-5 |
1[35] |
2[80] |
5 |
6[35] |
u3=-7 |
3 |
10 |
20 |
4[50] |
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vj > cij
(1;4): 0 + 11 > 5; ∆14 = 0 + 11 - 5 = 6
Выбираем максимальную оценку свободной клетки (1;4): 5
Для этого в перспективную клетку (1;4) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».
|
1 |
2 |
3 |
4 |
Запасы |
1 |
6[40][-] |
7 |
3[60] |
5[+] |
100 |
2 |
1[35][+] |
2[80] |
5 |
6[35][-] |
150 |
3 |
3 |
10 |
20 |
4[50] |
50 |
Потребности |
75 |
80 |
60 |
85 |
|
Цикл приведен в таблице (1,4; 1,1; 2,1; 2,4; ).
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (2, 4) = 35. Прибавляем 35 к объемам грузов, стоящих в плюсовых клетках и вычитаем 35 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
|
1 |
2 |
3 |
4 |
Запасы |
1 |
6[5] |
7 |
3[60] |
5[35] |
100 |
2 |
1[70] |
2[80] |
5 |
6 |
150 |
3 |
3 |
10 |
20 |
4[50] |
50 |
Потребности |
75 |
80 |
60 |
85 |
|
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1 + v1 = 6; 0 + v1 = 6; v1 = 6
u2 + v1 = 1; 6 + u2 = 1; u2 = -5
u2 + v2 = 2; -5 + v2 = 2; v2 = 7
u1 + v3 = 3; 0 + v3 = 3; v3 = 3
u1 + v4 = 5; 0 + v4 = 5; v4 = 5
u3 + v4 = 4; 5 + u3 = 4; u3 = -1
|
v1=6 |
v2=7 |
v3=3 |
v4=5 |
u1=0 |
6[5] |
7 |
3[60] |
5[35] |
u2=-5 |
1[70] |
2[80] |
5 |
6 |
u3=-1 |
3 |
10 |
20 |
4[50] |
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vj > cij
(3;1): -1 + 6 > 3; ∆31 = -1 + 6 - 3 = 2
Выбираем максимальную оценку свободной клетки (3;1): 3
Для этого в перспективную клетку (3;1) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».
|
1 |
2 |
3 |
4 |
Запасы |
1 |
6[5][-] |
7 |
3[60] |
5[35][+] |
100 |
2 |
1[70] |
2[80] |
5 |
6 |
150 |
3 |
3[+] |
10 |
20 |
4[50][-] |
50 |
Потребности |
75 |
80 |
60 |
85 |
|
Цикл приведен в таблице (3,1; 3,4; 1,4; 1,1; ).
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (1, 1) = 5. Прибавляем 5 к объемам грузов, стоящих в плюсовых клетках и вычитаем 5 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
|
1 |
2 |
3 |
4 |
Запасы |
1 |
6 |
7 |
3[60] |
5[40] |
100 |
2 |
1[70] |
2[80] |
5 |
6 |
150 |
3 |
3[5] |
10 |
20 |
4[45] |
50 |
Потребности |
75 |
80 |
60 |
85 |
|
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1 + v3 = 3; 0 + v3 = 3; v3 = 3
u1 + v4 = 5; 0 + v4 = 5; v4 = 5
u3 + v4 = 4; 5 + u3 = 4; u3 = -1
u3 + v1 = 3; -1 + v1 = 3; v1 = 4
u2 + v1 = 1; 4 + u2 = 1; u2 = -3
u2 + v2 = 2; -3 + v2 = 2; v2 = 5
|
v1=4 |
v2=5 |
v3=3 |
v4=5 |
u1=0 |
6 |
7 |
3[60] |
5[40] |
u2=-3 |
1[70] |
2[80] |
5 |
6 |
u3=-1 |
3[5] |
10 |
20 |
4[45] |
Опорный план является оптимальным, так все оценки свободных клеток удовлетворяют условию ui + vj ≤ cij.
Минимальные затраты составят:
F(x) = 3*60 + 5*40 + 1*70 + 2*80 + 3*5 + 4*45 = 805
Анализ оптимального плана.
Из 1-го склада необходимо груз направить в 3-й магазин (60), в 4-й магазин (40)
Из 2-го склада необходимо груз направить в 1-й магазин (70), в 2-й магазин (80)
Из 3-го склада необходимо груз направить в 1-й магазин (5), в 4-й магазин (45)
Задание 4.
Решение:
Исходная матрица имеет вид:
M |
4 |
4 |
5 |
6 |
2 |
4 |
M |
4 |
6 |
7 |
1 |
3 |
3 |
M |
5 |
6 |
1 |
4 |
3 |
6 |
M |
8 |
1 |
2 |
5 |
4 |
5 |
M |
1 |
2 |
5 |
5 |
6 |
6 |
M |
Шаг №1.