практикум по математике часть 3
.pdfПроверим, число заполненных клеток должно быть равно m + n −1 = 3 +5 −1 = 7. Это условие выполняется.
Найдем стоимость перевозок доля данного опорного плана.
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)
соответственно поставщиков и потребителей из условий (2.6). Составляем для заполненных клеток.
α1+β2 = 3α1+β3 = 9
α2+β1 = 3α2+β3 =12α3+β3 =16α3+β4 =19α3+β5 = 48
Значение одного из потенциалов выбираем произвольно. Например, α1 = 0 . Тогда значения остальных потенциалов легко найдутся из
указанной системы:
α1= 0, α 2= 3, α3= 7 β1 = 0, β2 = 3, β3 = 9, β4 =12, β5 = 41
3. Проверим план на оптимальность. Оптимальный план должен удовлетворять условию (2.7).
Проверяем все оценки стоимости для пустых клеток :
|
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 |
40
клетка (3;1) клетка (3;2)
31
32
=15 −7 −0 = 8 > 0
=11−7 −3 =1 > 0
Как показывают вычисления, для клетки (1;5) условие оптимальности не выполняется, следовательно, план не оптимален и его нужно улучшать.
4. Строим цикл для клетки (1;5).
В нашей задаче цикл, составленный в клетке (1;5), отмечен пунктиром в таблице 2.6. В него входят клетки (1;5), (1;3), (3;3), (3;5).
Наименьшая из поставок, отмеченных знаком «–», равна 140: min(140;170)=140 . Перемещаем ее по циклу. При этом прибавляем по 140
единиц к поставкам, находящимся в вершинах со знаком «+», вычитаем по 140 единиц из поставок, находящихся в вершинах со знаком «–». В результате всех этих перемещений приходим к новому плану, указанному в таблице 2.7.
|
|
|
|
|
|
|
|
Таблица2.7 |
|
Поставщики |
|
|
Потребители |
|
|
|
Запасы |
||
|
|
|
|
|
|
|
|
||
B1 |
B2 |
|
B3 |
|
B4 |
В5 |
|
||
|
|
|
|
|
|||||
A1 |
7 |
– |
3 |
9 |
|
15 |
+ |
35 |
280 |
|
140 |
|
|
|
|
140 |
|||
A2 |
3 |
|
10 |
12 |
|
20 |
|
46 |
220 |
190 |
|
|
30 |
|
|
|
|
|
|
|
15 |
|
11 |
16 |
|
19 |
|
48 |
300 |
A3 |
|
+ |
|
150 |
|
120 |
30 |
– |
|
Потребности |
190 |
140 |
|
180 |
|
120 |
170 |
|
|
|
|
|
|
|
|
|
|
|
|
Этот план является опорным, т.к. удовлетворяет всем признакам опорного плана:
1)соблюдены балансы по всем строкам и столбца;
2)число заполненных клеток равно: 6;
Стоимость перевозок, соответствующая полученному опорному
плану, уменьшается:
F =140 3 +140 35 +190 3 +30 12 +150 16 +120 19 +30 48 =12370
т.е. новый опорный план лучше (дешевле) предыдущего.
5. Выясним, оптимален ли полученный план, с помощью метода потенциалов, повторяя весь ход рассуждений, начиная с пункта 3.
Вычисляем новые потенциалы поставщиков и потребителей с помощью системы уравнений, составленной для заполненных клеток таблицы 2.7:
Составляем для заполненных клеток.
41
α1+β2 = 3
α1+β5 = 35
α2+β1 = 3
α2+β3 =12α3+β3 =16
α3+β4 =19
α3+β5 = 48
Полагая α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), отмечен |
|||
пунктиром в таблице 2.7. В него входят клетки (1;2), (1;5), (3;2), (3;5). |
|
|||
|
Наименьшая |
из поставок, отмеченных знаком «–», равна 30: |
||
min(140;30)= 30. |
Перемещаем ее по циклу. При этом прибавляем по 30 |
единиц к поставкам, находящимся в вершинах со знаком «+», вычитаем по 30 единиц из поставок, находящихся в вершинах со знаком «–». В результате всех этих перемещений приходим к новому плану, указанному в таблице 2.8.
42
|
|
|
|
|
|
Таблица2.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 |
|
|
|
|
|
|
|
|
|
Этот план является опорным, т.к. удовлетворяет всем признакам оптимальности.
Стоимость перевозок, соответствующая полученному опорному
плану, уменьшается:
F =110 3 +170 35 +190 3 +30 12 +30 11+150 16 +120 19 =12220
т.е. новый опорный план лучше (дешевле) предыдущего.
7. Выясним, оптимален ли полученный план, с помощью метода потенциалов, повторяя весь ход рассуждений, начиная с пункта 3.
Вычисляем новые потенциалы поставщиков и потребителей с помощью системы уравнений, составленной для заполненных клеток таблицы 2.8
Составляем для заполненных клеток.
α1+β2 = 3α1+β5 = 35
α2+β1 = 3α2+β3 =12α3+β2 =11α3+β3 =16α3+β4 =19
Полагая α1 = 0 , поучим: |
α 2= 4, α3= 8 |
β1 = −1, β2 = 3, β3 = 8, |
β4 =11, β5 = 35 |
Проверяем на оптимальность пустые клетки:
43
клетка (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 |
Все клетки оптимальны, значит полученный в таблице 2.8 план оптимален.
Ответ. Оптимальный план перевозок:
|
0 |
110 |
0 |
0 |
170 |
|
|
|
0 |
30 |
0 |
0 |
|
X = 190 |
. |
|||||
|
0 |
30 |
150 |
120 |
0 |
|
|
|
|||||
Расходы по его |
осуществлению |
минимальны и составляют |
F =12220
2.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 |
|
|
|
44
|
a1 = 300 |
12 |
21 |
9 |
|
10 |
16 |
|
|
|
|
|||
1. |
a2 = 280 |
|
|
15 |
11 |
|
13 |
|
|
|
|
|
|
|
С = 13 |
|
|
21 |
|
|
|||||||||
|
a3 = 220 |
|
|
26 |
12 |
|
17 |
|
20 |
|
|
|
||
|
19 |
|
|
|
|
|
||||||||
|
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 |
|
|
|
|
|
|
||||||||
|
a3 = 200 |
|
|
11 |
6 |
13 |
8 |
|
|
|
|
|
|
|
|
15 |
|
|
|
|
|
|
|||||||
|
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 |
|
|
|
||
С = |
|
|
|
|
|
|||||||||
|
a3 = 250 |
|
7 |
12 |
11 |
|
10 |
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
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 |
|
|
|
|||
С = |
|
|
|
|
||||||||||
|
a3 = 250 |
|
|
22 |
11 |
|
12 |
19 |
|
|
|
|||
|
15 |
|
|
|
|
|||||||||
|
b1 = 220, b2 |
=130, b3 |
=150, |
b4 =140, |
|
b5 |
=160 |
|||||||
|
a1 = 250 |
12 |
8 |
21 |
|
10 |
15 |
|
|
|
|
|||
5. |
a2 = 200 |
|
|
4 15 |
|
13 |
|
|
|
|
|
|
||
С = 13 |
|
|
21 |
|
|
|||||||||
|
a3 =150 |
|
|
16 |
26 |
|
17 |
|
20 |
|
|
|
||
|
19 |
|
|
|
|
|
||||||||
|
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 |
|
|
|||||||||
|
a3 = 250 |
|
|
16 |
26 |
|
16 |
|
20 |
|
|
|
||
|
19 |
|
|
|
|
|
||||||||
|
b1 = 300, b2 = 220, b3 |
=115, |
b4 =132, |
|
b5 |
=133 |
||||||||
|
a1 =150 |
15 |
23 |
28 |
|
19 |
|
17 |
|
|
|
|
||
7. |
a2 = 200 |
|
|
13 |
14 |
|
12 |
|
20 |
|
|
|
||
С = 17 |
|
|
|
|
|
|||||||||
|
a3 =100 |
|
|
21 |
24 |
|
16 |
|
12 |
|
|
|
|
|
|
13 |
|
|
|
|
|
|
|||||||
|
b1 = 90, b2 =150, b3 = 75, |
b4 |
= 60, |
b5 = 75 |
45
|
a1 = 230 |
|
19 |
27 |
32 |
|
10 |
11 |
|
|
|
8. |
a2 = 450 |
|
39 |
21 |
12 |
|
21 |
|
|
|
|
С = |
|
41 |
|
||||||||
|
a3 = 320 |
|
15 |
14 |
25 |
|
27 |
20 |
|
|
|
|
|
|
|
|
|
||||||
|
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 |
|
|||||||||
|
a3 = 330 |
|
10 |
20 |
19 |
29 |
26 |
|
|
||
|
|
|
|
||||||||
|
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 |
|
|
||
С = |
|
|
|
||||||||
|
a3 = 350 |
|
26 |
27 |
35 |
|
67 |
63 |
|
|
|
|
|
|
|
|
|||||||
|
b1 = 220, b2 |
=170, b3 |
= 210, |
b4 |
=150, |
|
b5 |
= 200 |
46
3. НЕЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ
3.1.Краткие сведения из теории
Нелинейное программирование является одним из видов математического программирования, рассмотренного во введении. Сформулированная задача математического программирования целиком и полностью относится к нелинейному программированию с учетом того, что в математической модели хотя бы одна из функций f или gi (1;2) должны
быть нелинейными.
Для задач нелинейного программирования нет единого метода их решения. Существуют специальные, конкретные методы решения в зависимости от конкретных видов целевой функции и функций системы ограничений.
Некоторые уже известные методы представлены ниже.
3.1.1. Геометрический метод решения задачи нелинейного программирования
Рассмотрим группу задач, в которых система ограничений есть система линейных неравенств, геометрическая модель которых представляет собой объемное тело, ограниченное боковой поверхностью прямой призмы, в сечении которой плоскостью F = 0 находится треугольник, четырехугольник или вообще многоугольник (см. 1.1).
Целевая функция представляет собой различные квадратичные функции (тогда программирование называется квадратичным), геометрическая модель которых представляет собой поверхности второго порядка.
Пример 1. Найти такие значения переменных x1, x2 , которые доставляют максимум (минимум) целевой функции
F = x |
2 |
− x2 |
+6x |
(3.1) |
|||||
при условиях |
|
|
|
|
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
x |
+ 2x |
|
≤ |
15 |
|
||||
1 |
|
|
|
2 |
|
|
|
|
(3.2) |
3x1 + 2x2 ≤ 24 |
|||||||||
x |
≥ 0, |
|
|
x |
2 |
≥ 0 |
|
||
1 |
|
|
|
|
|
|
|
|
Геометрическая модель системы ограничений в данном случае есть тело, ограниченное боковой поверхностью прямой призмы, в сечении которой плоскостью F = 0 находится четырехугольник OABC (рис.3.1).
47
Рис.3.1. |
|
|
|
Геометрическая модель целевой функции F = x |
2 |
− x2 |
+ 6x , есть |
|
1 |
1 |
наклонный параболический цилиндр. Чтобы построить этот цилиндр надо проанализировать его сечения координатными плоскостями.
48
F = x2 − x12 + 6x1 = x2 − (x1 − 3)2 + 9 .
При сечении плоскостью x2 = 0 имеем параболу F = −(x1 −3)2 + 9 . При сечении плоскостью F = 0 имеем параболу x2 = (x1 −3)2 −9. При сечении плоскостью x1 =3 имеем прямую F = x2 + 9 .
На рис. 3.1 достаточно хорошо видно, что при пересечении наклонного параболического цилиндра ( целевой функции F ) с «призматическим» телом (системой ограничений) можно выделить две точки M и P. Они характерны тем, что MN = min F и PD = max F .
Такое качественное решение задачи можно подтвердить следующими доказательствами.
Если параболический цилиндр рассекать координатными плоскостями параллельными плоскости F = 0 , то в сечении имеем линии уровня– параболы, параллельные друг другу. Они отличаются только тем, что находятся на разных уровнях F , которые в свою очередь указывают на значение целевой функции F . Сравнивая уровни F для точек M и P, принадлежащих соответствующим параболам, можно сделать указанный выше вывод.
Напомним, градиент функции нескольких переменных в какой-либо точке указывает направление наинтенсивнейшего изменения (наибольшего
возрастания) функции в этой точке. |
|
|
|
|
|
|
|
|
||||||||||||||
|
В нашем случае: |
|
(x2 − (x1 −3)2 + 9)i |
|
|
|
(x2 − (x1 −3)2 + 9)j |
|
||||||||||||||
|
|
F = ∂F |
|
+ |
∂F |
|
|
= |
∂ |
+ |
∂ |
|
= |
|||||||||
|
grad |
i |
j |
|
||||||||||||||||||
|
|
∂x |
∂x |
|
||||||||||||||||||
|
|
∂x |
|
|
∂x |
2 |
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
||
1 |
|
|
|
|
|
|
1 |
|
|
|
|
|
= −2(x1 −3) |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i |
j |
||||
|
Видно, |
что |
|
вектор |
|
|
F находится |
в плоскости x1Ox2 |
||||||||||||||
|
|
|
grad |
(параллельных плоскостях) и нестационарный. Он меняется и по величине и по направлению в зависимости от изменения x1 . Но есть значение x1, в
котором вектор grad F становится стационарным, т.е. указывает одно и то же направление.
При x1 =3, grad F = j .
Орт j направлен по оси Ox2 , т.е. в направлении оси Ox2 функция F
возрастает наиэффективнейшим образом.
Воспользуемся этим обстоятельством для нашей целевой функции F (наклонного параболического цилиндра) и ее линий уровня.
При F = С = const –общее уравнение линий уровня.
x2 − (x1 −3)2 + 9 =C – общее уравнение парабол-линий уровня нашей
функции.
Видно, что все линии уровняпараболы имеют общее свойство: вершины парабол лежат в плоскости x1 = 3.
49