Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Исследование операций. Сборник заданий.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
51
В задачах НП множество точек, в которых целевая функция принимает постоянное значение, есть гиперповерхность f(x1,…, xn) = const. При различных значениях const мы получаем гиперповерхности, которые могут пересекаться.
В зависимости от вида целевой функции и ограничений существуют раз­личные методы решения задач НП.
Аналитические методы
Они основаны на использовании необходимых и достаточных условий экстремумов функций.
Для их использования необходимо, чтобы целевая функция и функции ограничений были непрерывными вместе с их частными производными первого порядка.
Графический метод решения задач НП
Если определена область допустимых решений, то нахождение решения задачи НП (при n = 2) сводится к определению такой точки этой области, через которую проходит гиперповерхность наивысшего уровня (в случае максимиза­ции) или наинизшего уровня (в случае минимизации).
Градиентные методы
Эти методы основаны на использовании градиента целевой функции (градиент в точке указывает направление скорейшего возрастания функции).
Начиная с некоторой точки X
(k)
из области допустимых решений, осу-
ществляется последовательный переход к другим точкам до тех пор, пока гра­диент целевой функции F(x
1,, xn
) в очередной точке X
(k+1)
не станет равным ну-
лю или же пока не выполнится соотношение |F(X
(k)
) – F(X
(k+1)
)| ε.
В итоге получаем приближенное решение с заданной точностью ε.
Использование градиентных методов позволяет найти точку локального экстремума. Глобальный экстремум можно найти только в задачах максимиза­ции (минимизации), целевая функция которых является вогнутой (выпуклой), а область допустимых решений выпукла.
Градиентные методы могут быть подразделены на две группы.
К первой группе относятся методы, при использовании которых исследу­емые точки не выходят за пределы области допустимых решений задачи. В данном случае наиболее распространенным является метод Франка – Вульфа. Ко второй – методы, при использовании которых исследуемые точки могут, как принадлежать, так и не принадлежать области допустимых решений. Однако в результате реализации итерационного процесса находится точка области до­пустимых решений, определяющая приемлемое решение. Наиболее часто ис­пользуются метод штрафных функций и метод Эрроу – Гурвица.
Непрямые методы
В этих методах задачу нелинейного программирования тем или иным об­разом сводят к решению задачи линейного программирования. Одним из методов является метод квадратичного программирования.
Метод квадратичного программирования применяется, если целевая функция представляет собой сумму линейной функции и квадратичной формы
F = ∑cjxj + ∑∑aikxjxk (j=1,n; k=1,n), а функции ограничений являются ли- нейными функциями.
52
2.2. Лабораторная работа № 5.
Графический метод решения задач
Если число переменных n = 2, нелинейные задачи можно решать геомет­рически. Ограничения должны быть записаны в виде неравенств gi(x1,x2) ≤ bi, i = 1,2,…m, а целевая функция иметь вид F = f(x1,x2).
Как и в случае геометрического решения задач линейного программиро­вания, сначала необходимо построить область допустимых решений (ОДР) — множество точек плоскости, удовлетворяющих неравенствам. Но, в отличие от задач линейного программирования, здесь ОДР не обязательно будет выпук­лой и может быть даже разрывной. Экстремум функции может достигаться и внутри области, и на границе. После построения ОДР следует записать урав­нения линий уровня целевой функции — множество точек плоскости, в которых целевая функция постоянна: f(x1, x2) = C, и определить направление возрастания (убывания) целевой функции, построив, например, линии уровня для разных значений С. Затем, перемещая линию уровня в нужном направлении в ОДР, найти точки области, в которых целевая функция принимает оптималь­ное значение.
Пример. Найдите максимальное значение функции
21
xxf
при условиях
(1) (2)
(3)
Решение:
1. Построим область допустимых решений (рис. 7). Построение области допустимых решений и графика целевой функции проводим в MS Excel. ОДР заключена между линиями 1, 2, 3 и осью x.
Рис. 7. Область допустимых решений задачи
.0,
1243
2432
1246
2
1
21
21
21
x
x
xx
xx
xx
53
2. Строим линию уровня f. Полагая значение целевой функции равным некоторому числу h, получаем линии уровня
hxxf
21
(см. рис. 7).
С увеличением (уменьшением) h значения функции f соответственно увеличи­ваются (уменьшаются), а кривая перемещается параллельно самой себе. В итоге получим, что максимальное значение функция f принимает в точке D, в которой кривая f касается области решений (далее, при перемещении к верху, покидает
ОДР задачи). Координаты точки D определяются из равенства угловых коэф­фициентов прямой (2) и касательной к функции
21
xxf
:
x1x2' + x1'x2 = 0 → x
2
'
= – x2/x1,
2x1 + 3x2 =24 x
2
'
= –2/3, т.е. x2/x1 = 2/3. Подставляем полученное соот-
ношение в уравнение прямой (2), получим, что x1 = 6, x2 = 4, а следовательно, значение целевой функции f = 24.
Задание: найдите максимум (минимум) функций при заданных ограниче-
ниях.
Задача
Задача
1
min
4
2
2
2
y
x
F
 
 
 
 
 
 
0,0
1612yxyx
2
min
6
4
59
2
2
1
2
xx
F
 
 
4
6
1223
2
2
1
21
x
xx
xx
3
21
34 xxF
 
 
2,1
6
01422
21
2
2
21
2
1
2
1
xx
xx
xxxx
4
2
2
1
2 xxF
0,
0
4
2
2
1
2121
2
21
x
x
xxxx
x
xx
5
min43
21
xx
F
 
1
25
2
,
1
2
2
2
1
xx
xx
6
21
*2 xxF
001243
2
,
1
21
xx
xx
7
xx
F
2 2
2
1
 
0,0
02443
21
21
xx
xx
8
yxF 2
 
 
0,0
36
2
2
yx
y
x
54
Задача
Задача
9
5 yxF
50
50
11
2
y
x
y
x
10
8
4
2
2
y
x
F
 
 
0,0
142
3052
yx
yx
yx
11
3
4
4
2
2
1
2
xx
F
0
82
1823
63
2
2
,
1
21
21
2
1
xx
xx
xx
x
x
12
yxF
0,0
8
36
3
5
4
3
5
2
2
2
2
yx
yx
y
x
y
x
13
yxF
 
 
 
 
 
 
0,0
1612yxyx
14
2
3
2
2
y
x
F
 
 
0,0
36
2
2
yx
y
x
15
y
x
F
2
2
0,0
8
36
3
5
9
3
5
2
2
2
2
yx
yx
y
x
y
x
16
2
2
11
2 xxxF
 
 
0,0
823
3
21
21
2
xx
xx
x
17
7
7
2
2
y
x
F
 
 
0,0
142
3052
yx
yx
yx
18
1
1
2
2
y
x
F
 
 
 
 
 
 
0,0
1612yxyx
19
2
2
2
1
xxF
60
70
5
4
2
1
21
21
x
x
xx
xx
20
2
4
6
2
2
1
2
xx
F
00
1
15
3
82
2
,
1
1
2
21
2
1
xx
x
x
xx
xx
55
Задача
Задача
21
3
4
7
2
2
2
1
2
xx
F
00
11
2
6
22
2
,
1
1
2
11
21
xx
x
x
xx
xx
22
21
xxF
00
10
2
6
2
2
2
,
1
1
2
21
21
xx
x
x
xx
xx
23
2
2
2
4
2
2
1
2
xx
F
 
 
00
8
2
7
2
,
1
1
2
21
xx
x
x
xx
24
21
3 xxF
 
 
00
16
2
2
,
1
2
2
2
1
21
xx
xx
xx
25
14
2
2
1
2
xx
F
 
 
00
12
3
2
1
2
,
1
1
2
21
xx
x
x
xx
26
 
 
 
 
17 yxF
 
 
0,0
9
122
yx
yx
yx
56

2.3. Лабораторная работа № 6. Метод множителей Лагранжа

Рассмотрим частный случай общей задачи нелинейного программирова-
ния, когда система ограничений содержит только уравнения-равенства:
),(,...,
max(min)),...,(
1
1
miibxxg
xxfF
i
n
i
n
Полагаем, что все функции непрерывны вместе со своими первыми част-
ными производными. Для решения задачи построим функцию Лагранжа:
,),...,((),...,(),...,,,...,(
1
1
111
m
i
niii
nmn
xxgbxxFxxL
где λi(i =1,…, m) – называются множителями Лагранжа.
Определим частные производные и приравняем их к нулю. В результате
получим систему уравнений относительно n+m переменных.
Всякое решение системы уравнений определяет точку, в которой может
иметь место экстремум функции F.
Алгоритм решения задачи методом Лагранжа:
составляют функцию Лагранжа, находят частные производные от функции Лагранжа по переменным
и приравнивают их нулю,
решают систему уравнений и находят все точки, в которых целевая
функция F может иметь экстремум.
Среди найденных точек находят такие точки, в которых целевая функция
F достигает максимального (минимального) значения.
Метод множителей Лагранжа может быть применен и для случая, когда
система ограничений задачи нелинейного программирования содержит только неравенства:
Решение такой задачи осуществляется в два этапа.
1. Находят стационарные точки безусловного экстремума целевой функ­ции F. Для этого определяют частные производные функции F и приравнивают их к нулю. В результате получают систему n уравнений относительно n переменных. Из всех решений системы выбираем только те точки, которые удовлетворяют системе строгих неравенств gi(x1,…, xn) < bi (i=1,…m).
2. Находят точки условного экстремума целевой функции F при условиях ограничений равенств:
 
 
mi
nj
xx
g
b
L
x
g
x
F
x
L
n
i
i
j
j
i
m
i
i
jj
,1...,,
,1
,0
,0
1
1
 
 
 
 
mi
b
xx
g
i
n
i
,1...,,
1
57
Для этого строят функцию Лагранжа, находят частные производные и приравнивают их нулю. В итоге получают систему n+m уравнений относи­тельно n+m переменных, которую и решают.
В результате, на 1-м и 2-м этапе находится множество точек, в которых целевая функция F может иметь экстремальные значения.
Для определения максимального (минимального) значения целевой функции F необходимо вычислить значения этой функции в полученных точ­ках.
Пример 1. Найдите минимум функции f = 4x1 + x
1
2
+ 8x2 + x
2
2
min при
условиях
x1 +x2 = 180, x1, x2 ≥ 0.
Составим функцию Лагранжа:
.
Вычислим частные производные функции L и приравняем их нулю
Решая данную систему, получим x1 = 91, x2 = 89. В этой точке может иметь место экстремум функции. Значение функции в этой точке равно
f
min
= 17278.
Пример 2. Найдите экстремум функции F = (x1 2)2 + (x2 3)2 при усло­вии x
1
2
+ x
2
2
52.
Определим точки безусловного экстремума целевой функции F, лежащие внутри области. Для этого найдем частные производные функции F и приравняем их к нулю:
Решая систему, получим x1 = 2, x2 = 3, F(2, 3) = 0. Полученная точка А(2, 3) лежит внутри области решения, так как 22 +32 < 52.
Строим функцию Лагранжа для случая, когда ограничение имеет вид ра­венства:
21
2 22
2
11
21
18084,, xxxxxxxxL
0180
028
024
21
2
2
1
1
xx
L
x
x
L
x
x
L
032
022
2
2
1
1
x
x
F
x
x
F
 
 
 
 
mi
b
xx
g
i
n
i
,1...,,
1
2
2
2
1
2
2
2
1
21
52
3
2
,, xx
x
x
xxL
58
Вычислим частные производные функции L и приравняем их к нулю:
Первое уравнение системы помножим на x2 , второе уравнение – на x1 . После преобразований получим систему уравнений:
решая которую, получаем два решения – две точки B(4, 6) и C(-4, -6), в которых целевая функция F может иметь экстремумы: F(4, 6) = 13, F (-4, -6) =117.
Таким образом, минимальное значение целевой функции F
min
= 0 достига-
ется в точке А(2, 3), максимальное значение F
max
= 117 – в точке С(-4, -6).
Задание: используя метод Лагранжа, найти максимум (минимум) следу- ющих функций.
Задача
Задача
1
21
xxF
1
21
xx
2
321
2 xxxF
1
2
3
2
2
2
1
xxx
3
xxxF
2 3
2 2
2
1
 
12
32
4
21
321
xx
xxx
4
321
xxxF
 
8
2
12
21
32
xx
xx
5
3221
xxxxF
 
 
4
4
32
21
xx
xx
6
32
2
21
2
1
4223 xxxxx
F
 
 
112
4
321
2
2
2
1
xxx
xx
7
321
xxxF
5
321
xxx
8
2
3
2
2
2
1
xxxF
18
321
xxx
9
200
min6204
21
2
22
2
1
xx
xxxF
10
xxF
2 2
2
1
5
21
xx
11
F=6x1+7x
1
2
+9x2+10x
2
2
+15→min
x1+x2=150
12
53
2
2
1
2
xx
F
5212 xx
052
0232
0222
2
2
2
1
2
2
2
1
1
1
xx
L
xx
x
L
xx
x
L
 
 
,52
32
2
2
2
1
12
xx
xx
59
Задача
Задача
13
xxF
2 2
2
1
121xx
14
132
3
1
2
2
2
1
xx
xF
4
2
2
2
1
xx
15
3
3
1
2
2
2
1
2
xx
F
6
21
xx
16
xxF
2 2
2
1
6
21
xx
17
21
xxF
40,60
21
xx
4
3
4
4
2
2
1
2
xx
18
3
4
2
2
2
1
2
xx
F
7
21
xx
100,50
21
xx
19
321
xxxF
1/1/1/1
321
xxx
20
21
/1/1 xxF
1/1/1
2
2
2
1
xx
21
321
22 xxxF
 
 
000
9
3
,
2
,
1
2
3
2
2
2
1
xxx
xxx
22
321
xxxF
 
 
000
4
3
,
2
,
1
321
xxx
xxx
23
2
3
2
21
32 xxxF
 
 
000
8
3
,
2
,
1
321
xxx
xxx
24
2
3
2
2
2
1
xxxF
 
 
000
12
3
,
2
,
1
321
xxx
xxx
25
321
xxxF
6
321
xxx
26
321
xxxF
6
321
xxx
60
2.4. Лабораторная работа № 7. Метод Франка–Вульфа
Рассмотрим задачу нахождения максимального значения вогнутой целе-
вой функции F(x1….xn) при условиях
 
 
).,1(0
,),1(
1
njx
mibxa
j
n
j
iiij
Определение.
Функция F(x1,….xn), заданная на выпуклом множестве X, называется во-
гнутой, если для любых двух точек X1 , X2 из X и любого 0 ≤ λ ≤ 1 выполняется соотношение
)()1()()1(
12
12
XFXFXXF
.
Ограничения содержат только линейные неравенства. Эта особенность является основой для замены в окрестности исследуемой точки нелинейной це­левой функции линейной, в результате чего решение исходной задачи сводится к последовательному решению задач линейного программирования.
Процесс нахождения решения задачи начинают с определения любой точки, принадлежащей области допустимых решений задачи. Обозначим эту точку через X
(k)
. Вычислим в этой точке градиент целевой функции F:
 
 
.
)(
,...
1
)
)(
(
)(
)(
)(
n
k
k
X
k
x
XF
x
F
Далее строим линейную функцию F1
,
)(
...
)()(
)(
2
2
)(
1
1
)(
1 n
n
kkk
x
x
XF
x
x
XF
x
x
XF
F
которой будем заменять (аппроксимировать) в окрестности точки X
(k)
нелиней-
ную целевую функцию F.
Найдем максимальное значение линейной функции F1 при заданных огра­ничениях. А это уже — задача линейного программирования. Решаем задачу с помощью графического метода или симплекс-метода и получаем точку Z
(k)
.
Новое допустимое решение исходной задачи находим по формуле:
.10),(
)()()()1(
k
kk
k
kk
XZXX
Значение целевой функции F в точке X
(k+1)
, зависящее от λk , должно быть
максимальным, следовательно, определяем экстремум функции, т.е. для опре­деления λk решаем уравнение dF/k =0 и выбираем наименьший корень или выбираем произвольно, если корень не принадлежит интервалу [0; 1].
Далее вычисляем значение целевой функции F в точке X
(k+1) и
выясняем
необходимость перехода к новой точке X
(k+2)
, т.е. проверяем соблюдение усло-
вия |F(X
(k)
) - F(X
(k+1)
) ε.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]