Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы компьютерной математики. Задачи системного анализа и управления. Учебное пособие
.pdf
3. Решение задач оптимизации
71
Из рисунка видно, что опорная прямая пересекается с областью допу-
стимых значений не в одной точке, а по стороне полученного треугольника D. Таким образом, оптимальное решение не единственно. Найдем
остальные.
Значения целевой функции в точках пересечения a и b соответственно
прямых (I) и (II), (II) и (III) совпадает с ее значением в оптимальном плане,
т. е.
. Это означает, что a и b также являются опти-
мальными решениями.
Поскольку функция f(x) достигает максимума на отрезке [a; b], то мно-
жество всех оптимальных планов имеет вид
При этом
Пример 3.8. Решить задачу линейного программирования:
Решение представлено на рисунке 3.10.
Рис. 3.10. Решение задачи линейного программирования
ORIGIN 1=
f x( ) x1x2+ 3x3+=
x11=
x21=
x31=
Given
2x1x2+ 3x3+ 3
x12x2− x3− 1
x1x2− 2x3− 2−
x 0
x
opt
Maximize f x ( )00
1
==
f x
opt
( )
3=

72
3. Решение задач оптимизации
Пример 3.9. Решить транспортные задачи, исходные данные которых за-
даны таблицами 2 и 3.
Таблица 2
Классическая (закрытая) модель транспортной задачи
a b
140
160
100
120
180
250
11 7 20 9 15
300
12 3 14
12
20
150
18
15
25
16
19
Таблица 3
Открытая модель транспортной задачи
a b
16
18
12
15
20 2 3 9 7
16 3 4 6 1
14 5 1 2 2
22 4 5 8 1
Решение задачи с правильным балансом: запишем математическую модель транспортной задачи:
где и
– соответственно стоимость перевозки единицы груза и объем
перевозок от i-го поставщика j-му потребителю,
– запас груза у i-го по-
ставщика,
– потребность j-го потребителя. Данная задача с правильным
балансом, т. к.

3. Решение задач оптимизации
73
Построим двойственную задачу:
В системе Mathcad задаем r – число поставщиков, c – число потребите-
лей, матрицы C, a и bв табличной виде, целевую функцию F(x) (рис. 3.11).
Функция
возвращает вектор значений
функция – матрицу-строку значений
Далее задаем начальное приближение переменной x и в блоке Given –
Minimize задаем систему ограничений. Результатом действия функции
Minimize будет оптимальный план
. Находим
.
Проверим, что найденное решение
является оптимальным
(рис. 3.12). Зададим целевую функцию двойственной задачи g(u, v). Функ-
ция M(u, v) возвращает матрицу с элементами , ,
; функ-
ция Pot(u, v, x) возвращает матрицу двойственных оценок ненулевых эле-
ментов решения x. Находим значения потенциалов
и
решения
.
Проверяем, что найденные значения потенциалов удовлетворяют системе
ограничений двойственной задачи:
, и находим в них зна-
чение целевой функции g(u, v). В связи с этим можем сделать вывод, что по-
лученное решение
является оптимальным.

74
3. Решение задач оптимизации
Рис. 3.11. Решение транспортной задачи с правильным балансом
ORIGIN 1=
r 3=
c 5=
C
117209151231412
20
1815251619
=
a
250
300
150
=
b
140
160
100
120
180
=
i 1 r=
j 1 c=
F x( )
i j
C
i j xi j
( )
=
Sumrx( )
y
i
x
T
( )
i
i 1 rfor
y
=
Sumcx( )
y
j
x
j
j 1 cfor
y
T
=
x
i j
1=
Given
x 0
x
opt
Minimize F x ( )=
x
opt
100
40
0
0
160
0
0
100
0
120
0
0
30
0
150
=
F x
opt
( )
7840=

3. Решение задач оптимизации
75
Рис. 3.12. Проверка правильности решения транспортной задачи
Решение открытой модели транспортной задачи: в данной задаче
нарушено условие баланса, т. к.
Поэтому вводим фиктивного потребителя с потребностью
g u v ( ) a u bTv+=
M u v ( )
y
i j
uivj+
j 1 cfor
i 1 rfor
y
=
Pot u v x ( )
y
i j
M u v ( )
i j
C
i j
−
( )
x
i j
0if
y
i j
0 otherwise
j 1 cfor
i 1 rfor
y
=
ur1=
vc1=
Given
u
opt
v
opt
Find u v ( )=
u
opt
0
1
4
=
v
opt
11
2
13
9
15
=
M u
optvopt
( )
C
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
=
g u
optvopt
( )
7840=

76
3. Решение задач оптимизации
Стоимости перевозок в фиктивный пункт полагаем равными 0.
Решение задачи в системе Mathcad представлено на рисунке 3.13. За-
даем r – число поставщиков; c – число потребителей; матрицы C, a и в
табличном виде, добавляя дополнительного фиктивного потребителя и
нулевой c + 1 столбец у матрицы C; целевую функцию F(x). Функции
и возвращают соответственно матрицы-строки значе-
ний
Так же, как и в случае решения транспортной задачи с правильным балансом, задаем начальное приближение переменной x и систему ограничений и в результате действия блока Given – Minimize получаем оптимальное
решение . Вычислим затраты на перевозку грузов . Исключая фик-
тивные перевозки, получаем оптимальный план
Пример 3.10. Решить транспортную задачу, исходные данные которой
заданы таблицей 4.
Таблица 4
Транспортная задача с вырожденным опорным планом
a b
4 5 4
7
5 3 4 5 5 8 1 3 2
3
7 2 2 5 1

3. Решение задач оптимизации
77
Рис. 3.13. Решение транспортной задачи с неправильным балансом
ORIGIN 1=
c 4=
r 4=
C
239703461051220
45810
=
a
201614
22
=
b
1618121511
=
i 1 r=
j 1 c 1+=
F x( )
i j
C
i j xi j
( )
=
Sumrx( )
y
i
x
T
( )
i
i 1 rfor
y
T
=
Sumcx( )
y
j
x
j
j 1 c 1+for
y
T
=
x
i j
1=
Given
x 0
xoMinimize F x ( )=
F x
o
( )
133=
x
o
16
0
0
0
4
12
2
0
0
0
12
0
0
4
0
11
0
0
0
11
=
x
opt
submatrix xo1 r 1 c
( )
16
0
0
0
4
12
2
0
0
0
12
0
0
4
0
11
==

78
3. Решение задач оптимизации
Решение: находим начальный опорный план методом северо-запад-
ного угла, тогда
который является вырожденным, поскольку базисная переменная
.
Поскольку для данной задачи выполняется условие баланса, задача разрешима.
Решение задачи в системе Mathcad представлено на рисунке 3.14.
Рис. 3.14. Решение транспортной задачи с вырожденным опорным планом
ORIGIN 1=
r 3=
c 4=
b
454
7
=
a
5
8
7
=
C
3455132
3
225
1
=
i 1 r=
j 1 c=
F x( )
i j
C
i j xi j
( )
=
Sumrx( )
y
i
x
T
( )
i
i 1 rfor
y
=
Sumcx( )
y
j
x
j
j 1 cfor
y
T
=
x
i j
1=
Given
x 0
x
opt
Minimize F x ( )=
x
opt
0
4
0
5
0
0
0
4
0
0
0
7
=
F x
opt
( )
39=

3. Решение задач оптимизации
79
Пример 3.11. Решить транспортную задачу, исходные данные которой
заданы таблицей 5, при этом объем перевозки груза от 1-го поставщика
5-му потребителю должен быть не более 90 единиц, а от 3-го поставщика
2-му потребителю должен быть не менее 50 единиц.
Таблица 5
Транспортная задача с ограничениями на пропускную способность
a b
140
160
100
120
180
250
11 7 20 9 15
300
12 3 14
12
20
150
18
15
25
16
19
Решение: данная задача является задачей с правильным балансом, реше-
ние которой описано в примере 3.9, и с ограничениями на пропускную спо-
собность и , которые помимо системы ограничений вклю-
чаются в блок Given – Minimize. Решение приведено на рисунке 3.15.

80
3. Решение задач оптимизации
Рис. 3.15. Решение транспортной задачи с ограничениями на пропускную способность
ORIGIN 1=
r 3=
c 5=
C
117209151231412
20
1815251619
=
a
250
300
150
=
b
140
160
100
120
180
=
i 1 r=
j 1 c=
F x( )
i j
C
i j xi j
( )
=
Sumrx( )
y
i
x
T
( )
i
i 1 rfor
y
=
Sumcx( )
y
j
x
j
j 1 cfor
y
T
=
x
i j
1=
Given
x 0
x
3 2
50
x
1 5
90
x
opt
Minimize F x ( )=
x
opt
50
90
0
0
110
50
0
100
0
120
0
0
80
0
100
=
F x
opt
( )
8290=
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
