
Математика Сизов 2011
.pdf(минус).Произведен сдвиг по циклу. В результате сдвига по циклу приходим к новому опорному плану.
Полученный опорный план проверяем на оптимальность ( при помощи равенств (20.2) и (20.3)). Улучшение новых планов проводим до тех пор, пока очередной план не станет оптимальным. Для него все оценки свободных клеток должны быть неотрицательными, то есть
ij 0 .
Из изложенного выше следует, что процесс нахождения решения транспортной задачи методом потенциалов включает следующие этапы:
1. |
Находим первоначальный опорный план. При этом |
число |
n 1. |
Определяем стоимость перевозок для данного плана.
2. |
Находим потенциалы i |
и j |
соответственно |
поставщиков и потребителей из условия (20.2). |
|
||
3. |
Поверяем план на оптимальность. |
Для каждой |
|
свободной клетки находим ее оценку ij |
из условия (20.3). Если нет |
отрицательных оценок, то получен оптимальный план транспортной задачи; если же такие оценки имеются, то переходим к новому опорному плану.
4. Для свободной клетки с наибольшей по модулю отрицательной оценкой( ij 0 ) строим цикл (вариант цикла
единственный) и проводим сдвиг по этому циклу.
5. Полученный опорный план проверяем на оптимальность, т.е. повторяем все действия, начиная с этапа 2.
Замечание. Количество таблиц при решении транспортной задачи может оказаться любым. Это зависит от того, на сколько первый опорный план окажется близким к оптимальному. Может случится, что первая же таблица будет соответствовать оптимальному плану. Это устанавливается методом потенциалов.
Транспортная задача всегда имеет оптимальное решение (один или несколько опорных оптимальных планов).
20.2. Решение типовой задачи
Задача. Имеется три пункта поставки однородного груза А1, А2, А3 и пять пунктов потребления груза В1, В2, В3, В4, В5. На пунктах А1, А2, А3 находится груз соответственно в количестве 280, 220 и 300 тонн. В пункты В1, В2, В3, В4, В5 требуется доставить соответственно 190, 140, 180, 120, 170 тонн груза. Затраты на перевозку 1т. груза между пунктами поставки и пунктами потребления приведены в матрице С (в тыс.руб.) Найти такой план закрепления потребителей за поставщиками, чтобы общие затраты по перевозкам груза были минимальными.
341

|
7 |
3 |
9 |
15 |
35 |
|
Ñ |
3 |
10 |
12 |
20 |
46 |
. |
15 |
11 |
16 |
19 |
48 |
|
Решение. Данные задачи запишем в виде таблицы 20.5.
|
|
|
|
|
|
Таблица 20.5 |
|
|
|
|
|
|
|
|
|
Поставщики |
|
Потребители |
|
|
Запасы |
||
|
|
|
|
|
|
||
B1 |
B2 |
B3 |
|
B4 |
В5 |
||
|
|
|
|||||
A1 |
7 |
3 |
9 |
|
15 |
35 |
280 |
|
|
|
|
|
|
||
A2 |
3 |
10 |
12 |
|
20 |
46 |
220 |
|
|
|
|
|
|
|
|
A3 |
15 |
11 |
16 |
|
19 |
48 |
300 |
|
|
|
|
|
|
|
|
Потребности |
190 |
140 |
180 |
|
120 |
170 |
|
|
|
|
|
|
|
|
|
Проверяем задача закрытая или открытая. Для этого найдем
сумму запасов – 280 220 300 800 и сумму потребностей 190 140 180 120 170 800. Так как эти значения равны, то мы
имеем задачу закрытого типа. Теперь начнем ее решать согласно описанному ранее алгоритму.
1. Составим первоначальный опорный план методом наименьшей стоимости перевозок и результат запишем в таблице 20.6
|
|
|
|
|
|
|
|
Таблица 20.6 |
||
|
|
|
|
|
|
|
|
|
|
|
Поставщики |
|
|
Потребители |
|
|
Запасы |
||||
|
|
|
|
|
|
|
|
|||
|
B1 |
B2 |
|
B3 |
|
B4 |
В5 |
|||
|
|
|
|
|
|
|||||
|
|
7 |
3 |
– |
9 |
|
15 |
35 |
|
|
A1 |
|
|
|
|
|
|
+ |
|
|
|
|
|
140 |
140 |
|
|
|
|
280 |
||
A2 |
|
3 |
10 |
|
12 |
|
20 |
46 |
|
220 |
|
190 |
|
|
30 |
|
|
|
|
|
|
A3 |
|
15 |
11 |
|
16 |
|
19 |
48 |
|
300 |
|
|
|
+ |
10 |
|
120 |
170 |
– |
|
|
Потребности |
|
190 |
140 |
180 |
|
120 |
170 |
|
|
|
|
|
|
|
|
|
|
|
|
||
Проверим, |
число |
заполненных клеток должно быть |
равно |
m n 1 3 5 1 7 . Это условие выполняется.
Найдем стоимость перевозок доля данного опорного плана.
342
F 140 3 140 9 190 3 30 12 10 16 120 19 170 48 13210.
2. |
Находим потенциалы i , |
i 1,2,...,m |
и j , j 1,2,..,n |
|||
соответственно поставщиков и потребителей из условий (20.2). |
||||||
Составляем для заполненных клеток. |
|
|||||
|
1 2 |
3, |
|
|
||
|
|
|
|
9, |
|
|
|
1 |
3 |
|
|
||
|
|
|
|
|
||
|
|
|
3, |
|
|
|
|
|
|
|
|||
|
2 |
|
1 |
12, |
|
|
|
2 |
3 |
|
|
||
|
|
|
|
16, |
|
|
|
3 |
3 |
|
|
||
|
|
|
|
|
||
|
3 |
4 |
19, |
|
|
|
|
|
|
|
48. |
|
|
|
3 |
5 |
|
|
||
|
|
|
|
|
Значение одного из потенциалов выбираем произвольно. Например, α1 0 . Тогда значения остальных потенциалов легко
найдутся из указанной системы:
1 0, 2 3, 3 7 , |
|
|
1 0, 2 3, 3 9, |
4 12, |
5 41. |
3. Проверим план на оптимальность. Оптимальный план должен удовлетворять условию (20.3).
Проверяем все оценки стоимости для пустых клеток :
ij cij i j 0 .
клетка (1;1) |
11 |
c11 |
1 1 7 0 0 7 0 , |
клетка (1;4) |
14 |
15 0 0 15 0 , |
|
клетка (1;5) |
15 |
35 |
0 41 6 0 , |
клетка (2;2) |
22 |
10 |
3 3 4 0 , |
клетка (2;4) |
24 |
20 3 12 5 0 , |
|
клетка (2;5) |
25 |
46 3 41 2 0 , |
|
клетка (3;1) |
31 |
15 7 0 8 0, |
|
клетка (3;2) |
32 |
11 7 3 1 0 . |
Как показывают вычисления, для клетки (1;5) условие оптимальности не выполняется, следовательно, план не оптимален и его нужно улучшать.
4.Строим цикл для клетки (1;5).
В нашей задаче цикл, составленный в клетке (1;5), отмечен пунктиром в таблице 20.6. В него входят клетки (1;5), (1;3), (3;3), (3;5).
Наименьшая из поставок, отмеченных знаком «–», равна 140: min 140;170 140 . Перемещаем ее по циклу. При этом прибавляем
по 140 единиц к поставкам, находящимся в вершинах со знаком «+»,
343

вычитаем по 140 единиц из поставок, находящихся в вершинах со знаком «–». В результате всех этих перемещений приходим к новому плану, указанному в таблице 20.7.
Таблица 20.7
Поставщики |
|
|
|
Потребители |
|
|
Запасы |
|||
|
|
|
|
|
|
|
|
|||
B1 |
|
|
B2 |
B3 |
|
B4 |
В5 |
|||
|
|
|
|
|
|
|||||
|
7 |
|
|
3 |
9 |
|
15 |
35 |
|
|
A1 |
|
– |
140 |
|
|
|
140 + |
|
280 |
|
A2 |
3 |
|
|
10 |
12 |
|
20 |
46 |
|
220 |
190 |
|
|
|
30 |
|
|
|
|
|
|
A3 |
15 |
+ |
11 |
16 |
|
19 |
48 |
– |
300 |
|
|
|
150 |
|
120 |
30 |
|
||||
Потребности |
190 |
|
140 |
180 |
|
120 |
170 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Этот план является опорным, т.к. удовлетворяет всем признакам опорного плана:
1)соблюдены балансы по всем строкам и
столбца;
2)число заполненных клеток равно 7; Стоимость перевозок, соответствующая полученному опорному
плану, уменьшается:
F 140 3 140 35 190 3 30 12 150 16 120 19 30 48 12370 .
т.е. новый опорный план лучше (дешевле) предыдущего.
5. Выясним, оптимален ли полученный план, с помощью метода потенциалов, повторяя весь ход рассуждений, начиная с пункта 3.
Вычисляем новые потенциалы поставщиков и потребителей с помощью системы уравнений, составленной для заполненных клеток таблицы 20.7:
Составляем для заполненных клеток.
|
1 2 |
3, |
||
|
|
|
|
35, |
|
5 |
|||
|
1 |
|
|
|
|
|
3, |
||
|
|
|||
|
2 |
|
1 |
|
|
2 |
3 12, |
||
|
|
|
|
16, |
|
3 |
3 |
||
|
|
|
||
|
3 |
4 19, |
||
|
|
|
|
48. |
|
3 |
5 |
||
|
|
|
344
Полагая 1 0 |
, поучим: |
|
||
2 9, |
3 13 , |
|
|
|
1 6, |
2 3, |
3 3, |
4 6, 5 35. |
|
Проверяем на оптимальность пустые клетки: |
||||
клетка (1;1) |
|
11 |
7 0 6 13 0 , |
|
клетка (1;3) |
|
13 |
9 0 3 6 0 , |
|
клетка (1;4) |
|
14 |
15 0 6 9 0 , |
|
клетка (2;2) |
|
22 |
10 9 3 2 0 , |
|
клетка (2;4) |
|
24 |
20 9 6 5 0 , |
|
клетка (2;5) |
|
25 |
46 9 35 2 0 , |
|
клетка (3;1) |
|
31 |
15 13 6 8 0 , |
|
клетка (3;2) |
|
32 |
11 13 3 5 0 . |
Как показывают вычисления, для клеток (2;2) и (3;2) условие оптимальности не выполняется, следовательно, план не оптимален и его нужно улучшать. Повторяем все действия, начиная с этапа 3.
6.Так как условие оптимальности не выполняется для двух
клеток, |
то выбираем наименьшую отрицательную оценку |
min 22; |
32 min 2; 5 5 . Строим цикл для клетки (3;2). |
В нашей задаче цикл, составленный в клетке (3;2), отмечен пунктиром в таблице 20.7. В него входят клетки (1;2), (1;5), (3;2), (3;5).
Наименьшая из поставок, отмеченных знаком «–», равна 30: min 140;30 30. Перемещаем ее по циклу. При этом прибавляем по
30 единиц к поставкам, находящимся в вершинах со знаком «+», вычитаем по 30 единиц из поставок, находящихся в вершинах со знаком «–». В результате всех этих перемещений приходим к новому плану, указанному в таблице 20.8.
Таблица 20.8
Поставщики |
|
Потребители |
|
|
Запасы |
||
|
|
|
|
|
|
||
B1 |
B2 |
B3 |
|
B4 |
В5 |
||
|
|
|
|||||
A1 |
7 |
3 |
9 |
|
15 |
35 |
|
|
110 |
|
|
|
170 |
280 |
|
A2 |
3 |
10 |
12 |
|
20 |
46 |
220 |
190 |
|
30 |
|
|
|
|
|
A3 |
15 |
11 |
16 |
|
19 |
48 |
300 |
|
30 |
150 |
|
120 |
|
|
|
Потребности |
190 |
140 |
180 |
|
120 |
170 |
|
|
|
|
|
|
|
|
|
345
Этот план является опорным, т.к. удовлетворяет всем признакам оптимальности.
Стоимость перевозок, соответствующая полученному опорному
плану, уменьшается:
F 110 3 170 35 190 3 30 12 30 11 150 16 120 19 12220
т.е. новый опорный план лучше (дешевле) предыдущего.
7. Выясним, оптимален ли полученный план, с помощью метода потенциалов, повторяя весь ход рассуждений, начиная с пункта 3.
Вычисляем новые потенциалы поставщиков и потребителей с помощью системы уравнений, составленной для заполненных клеток таблицы 20.8
Составляем для заполненных клеток.
|
1 2 |
3, |
|
|
||
|
|
|
|
35, |
|
|
|
5 |
|
|
|||
|
1 |
|
|
|
|
|
|
|
3, |
|
|
||
|
|
|
|
|||
|
2 |
|
1 |
12, |
|
|
|
2 |
3 |
|
|
||
|
|
|
|
11, |
|
|
|
3 |
2 |
|
|
||
|
|
|
|
|
||
|
3 |
3 |
16, |
|
|
|
|
|
|
|
19. |
|
|
|
3 |
4 |
|
|
||
|
|
|
|
|
||
Полагая 1 0 |
, поучим: 2 4, |
3 8, |
||||
1 |
1, |
2 3, |
3 8, 4 11, |
5 35 . |
Проверяем на оптимальность пустые клетки:
клетка (1;1) |
11 |
7 0 1 8 0 , |
клетка (1;3) |
13 |
9 0 8 1 0 , |
клетка (1;4) |
14 |
15 0 11 4 0 , |
клетка (2;2) |
22 |
10 4 3 3 0 , |
клетка (2;4) |
24 |
20 4 11 5 0 , |
клетка (2;5) |
25 |
46 4 35 7 0, |
клетка (3;1) |
31 |
15 8 1 8 0 , |
клетка (3;5) |
32 |
48 8 35 5 0 . |
Все клетки оптимальны, значит, полученный в таблице 20.8, план оптимален.
Ответ. Оптимальный план перевозок:
|
0 |
110 |
0 |
0 |
170 |
|
|
|
0 |
30 |
0 |
0 |
|
X 190 |
. |
|||||
|
0 |
30 |
150 |
120 |
0 |
|
|
|
346
Расходы по его осуществлению минимальны и составляют
F 12220 .
20.3. Задание на контрольную работу
Задание. Имеется три пункта поставки однородного груза А1, А2, А3 и пять пунктов потребления груза В1, В2, В3, В4, В5. На пунктах А1, А2, А3 находится груз соответственно в количестве a1, a2, a3 тонн. В пункты В1, В2, В3, В4 требуется доставить соответственно b1, b2, b3, b4, b5 тонн груза. Затраты на перевозку 1т. груза между пунктами поставки и пунктами потребления приведены в матрице С (в тыс.руб.) Найти такой план закрепления потребителей за поставщиками, чтобы общие затраты по перевозкам груза были минимальными.
|
с |
с |
с |
с |
с |
|
|
11 |
12 |
13 |
14 |
15 |
|
С |
с21 |
с22 |
с23 |
с24 |
с25 |
. |
|
с31 |
с32 |
с33 |
с34 |
с35 |
|
|
|
|
a1 300, |
|
12 |
21 |
9 |
|
10 |
16 |
|
|
|
|
|
||||
1. |
a |
280, |
|
C 13 |
15 |
11 |
|
13 |
21 |
|
, |
|
|||||
|
a |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
220, |
|
19 |
26 |
12 |
|
17 |
20 |
|
|
|
|
|||||
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
b1 180, |
b2 |
140, b3 |
190, b4 120, |
|
|
|
|
b5 |
170 . |
|||||||
|
a1 150, |
|
14 |
6 |
4 |
|
9 |
4 |
|
|
|
|
|
|
|
||
2. |
a2 250, |
|
|
|
10 |
9 |
|
11 |
5 |
|
|
|
|
|
|
|
|
|
С 17 |
|
, |
|
|
|
|
|
|
||||||||
|
a |
200, |
|
15 |
11 |
6 |
|
13 |
8 |
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b1 180, |
b2 |
120, b3 |
90, |
b4 |
105, |
|
|
|
b5 105 . |
|||||||
|
a1 300, |
|
|
21 |
24 |
21 |
16 |
|
25 |
|
|
|
|||||
3. |
a2 300, |
|
|
30 |
16 |
17 |
20 |
30 |
|
, |
|
||||||
|
С |
|
|
||||||||||||||
|
a |
250, |
|
|
7 |
12 |
11 |
10 |
|
9 |
|
|
|
|
|
||
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
b1 150, |
b2 |
140, b3 |
115, b4 225, |
|
|
|
|
b5 |
220 . |
|||||||
|
a1 250, |
|
|
8 |
20 |
7 |
|
11 |
16 |
|
|
|
|
||||
4. |
a2 300, |
|
|
4 |
14 |
12 |
15 17 |
|
, |
|
|
||||||
|
С |
|
|
|
|||||||||||||
|
a |
250, |
|
15 |
22 |
11 |
|
12 |
19 |
|
|
|
|
||||
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
b1 220, |
b2 |
130, b3 |
150, |
b4 140, |
|
|
|
b5 |
160 . |
347
|
a1 250, |
12 |
8 |
21 |
|
10 |
15 |
|
|
|
|
|||
5. |
a2 200, |
|
|
4 |
15 |
|
13 |
|
|
, |
|
|
||
С 13 |
|
21 |
|
|
||||||||||
|
a 150, |
19 |
16 |
26 |
|
17 |
20 |
|
|
|
|
|||
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b1 180, b2 |
120, b3 |
90, |
b4 |
105, |
|
|
b5 105 . |
||||||
|
a1 350, |
12 |
8 |
21 |
|
10 |
15 |
|
|
|
|
|||
6. |
a2 300, |
|
|
4 |
15 |
|
13 |
|
|
, |
|
|
||
С 13 |
|
21 |
|
|
||||||||||
|
a 250, |
19 |
16 |
26 |
|
16 |
20 |
|
|
|
|
|||
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b1 300, b2 |
220, b3 |
115, |
b4 |
132, |
|
|
|
b5 |
133. |
||||
|
a1 150, |
15 |
23 |
28 |
|
19 |
17 |
|
|
|
|
|||
7. |
a2 200, |
|
|
13 |
14 |
|
12 |
|
|
, |
|
|
||
С 17 |
|
20 |
|
|
||||||||||
|
a 100, |
13 |
21 |
24 |
|
16 |
12 |
|
|
|
|
|||
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b1 90, b2 150, b3 75, |
b4 |
60, |
b5 75 . |
||||||||||
|
a1 230, |
|
19 |
27 |
32 |
|
10 |
11 |
|
|
|
|||
8. |
a2 450, |
|
39 |
21 |
12 |
|
|
21 |
|
|
|
, |
|
|
С |
|
|
41 |
|
||||||||||
|
a 320, |
|
15 |
14 |
25 |
|
27 |
20 |
|
|
|
|||
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b1 225, b2 |
220, b3 |
170, |
b4 |
210, |
|
|
b5 |
175 . |
|||||
|
a1 270, |
|
37 |
30 |
15 |
|
|
19 |
37 |
|
|
|||
9. |
a2 450, |
|
16 |
19 |
13 |
|
|
19 |
|
|
|
|
||
С |
|
|
21 , |
|
||||||||||
|
a 330, |
|
10 |
20 |
19 |
|
|
29 |
26 |
|
|
|||
|
3 |
|
|
|
|
|
|
|
|
|
|
|
||
|
b1 190, b2 |
210, b3 |
200, |
b4 |
230, |
|
|
b5 220 . |
||||||
|
a1 330, |
|
10 |
12 |
24 |
|
50 |
42 |
|
|
|
|||
10. a2 270, |
|
13 |
22 |
49 |
|
66 |
32 |
|
, |
|
||||
С |
|
|
|
|||||||||||
|
a 350, |
|
26 |
27 |
35 |
|
67 |
63 |
|
|
|
|||
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b1 220, b2 |
170, b3 |
210, |
b4 |
150, |
|
|
b5 200 . |
||||||
20. Транспортная задача........................................................................... |
|
|
|
|
|
|
|
|
|
|
332 |
|||
20.1. Краткие сведения из теории |
........................................................ |
|
|
|
|
|
|
|
332 |
|||||
20.1.1. Математическая постановка задачи .................................... |
332 |
|||||||||||||
20.1.2. Построение первоначального плана................................... |
334 |
|||||||||||||
20.1.3.Определение оптимального плана транспортной задачи 339 |
||||||||||||||
20.2. Решение типовой задачи............................................................ |
|
|
|
|
|
|
|
|
341 |
|||||
20.3. Задание на контрольную работу................................................. |
|
|
|
|
|
347 |
348
21. Нелинейное программирование
21.1. Краткие сведения из теории
Нелинейное программирование является одним из видов математического программирования, рассмотренного во введении. Сформулированная задача математического программирования целиком и полностью относится к нелинейному программированию с учетом того, что в математической модели хотя бы одна из функций f или gi (19.1;19.2) должны быть нелинейными.
Для задач нелинейного программирования нет единого метода их решения. Существуют специальные, конкретные методы решения в зависимости от конкретных видов целевой функции и функций системы ограничений.
Некоторые уже известные методы представлены ниже.
21.1.1. Геометрический метод решения задачи нелинейного программирования
Геометрический метод применяется при условии, когда количество неизвестных величин в математической модели (19.1; 19.2) равно двум.
Рассмотрим группу задач, в которых система ограничений есть система линейных неравенств, геометрическая модель которых представляет собой объемное тело, ограниченное боковой поверхностью прямой призмы, в сечении которой плоскостью F 0 находится треугольник, четырехугольник или вообще многоугольник
(см. 19.2).
Целевая функция представляет собой различные квадратичные функции (тогда программирование называется квадратичным), геометрическая модель которых представляет собой поверхности второго порядка.
Пример 1. Найти такие значения переменных x1, x2 , которые доставляют максимум (минимум) целевой функции
F x |
2 |
x2 |
6x |
, |
(21.1) |
||
при условиях |
|
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
x |
2x |
15, |
|
|
|||
1 |
|
|
2 |
|
|
|
|
3x1 2x2 24, |
|
(21.2) |
|||||
x |
0, |
x |
0. |
|
|
||
1 |
|
|
|
2 |
|
|
|
Геометрическая модель системы ограничений в данном случае есть тело, ограниченное боковой поверхностью прямой призмы, в
349

сечении которой плоскостью F 0 находится четырехугольник
OABC (рисунок 21.1).
Рисунок 21.1
Геометрическая модель целевой функции F x2 x12 6x1 , есть
наклонный параболический цилиндр. Чтобы построить этот цилиндр надо проанализировать его сечения координатными плоскостями.
F x2 x12 6x1 x2 x1 3 2 9 .
350