Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Исследование операций. Сборник заданий.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
71
2.6. Лабораторная работа № 9.
Квадратичное программирование
Задача квадратичного программирования является частным случаем за­дачи нелинейного программирования, в которой
функции ограничений линейные,
целевая функция представляет собой сумму линейной и квадратичной
функции.
Формулировка задачи: определить максимальное (минимальное) значения функции

n
j
nkn
j
jkkjjj
xxcxdF
1
1 1
при ограничениях
 
 
,,1,0
,1,
1
njx
mibxa
j
n
j
ijij
где
n
k
n
j
jkkj
xxcF
1
1
1
квадратичная форма функции.
Квадратичная форма F1 называется:
отрицательно-определенной, если F1(x) < 0 для всех x, кроме x = 0;
отрицательно-полуопределенной, если F1(x) 0 для всех x и существует x  0, для которого F1(x)=0;
положительно-определенной (положительно-полуопределенной), если
квадратичная форма F1(x) отрицательно-определенная (отрицательно­полуопределенная).
Запишем функцию Лагранжа для задачи квадратичного программирова­ния

n
j
nkn
j
m
i
n
j
jijiijkkjjj
xabyxxcxdL
1
1 1 1 1
(
,
где yi – множители Лагранжа.
Точка (X0, Y0)=(x
1
0
,, x
n
0
, y
1
0
,, y
m
0
) называется седловой точкой функ-
ции Лагранжа, если выполняется условие
),...,,,...,(),...,,,...,(),...,,,...,(
1
00
1
00
1
00
1
00
11 mnmnmn
yyxxLyyxxLyyxxL
для
всех xj ≥ 0 (j=1,n) и yi ≥ 0 (i =1,m).
Частный случай теоремы Куна–Таккера
Задача квадратичного программирования имеет оптимальное решение тогда и только тогда, когда существует такой вектор
,,1,0),,...,(),,...,(
00
10
00
10
miyyyYxxX
imn
что X0, Y0 – являются седловой точкой функции Лагранжа.
72
Для того чтобы точка (X0, Y0) была седловой точкой функции Лагранжа в области Xj ≥ 0, Yi ≥ 0 необходимо и достаточно выполнение условий (в случае исследования на максимум):
,),1(,0),1(,0
),1(,0),1(,0
),1(,0),1(,0
0
0000
00
miynjx
mi
y
L
ynj
x
L
x
mi
y
L
nj
x
L
o
i
j
i
i
j
j
ij
где
ij
y
L
x
L
00
,
значения частных производных функции Лагранжа
в седловой точке.
Введем дополнительные переменные vj (j = 1, n) и wi (i = 1, m), обращаю­щие неравенства в равенства:
тогда
Введем искусственные переменные Zi во второе уравнение системы и с помощью метода искусственного базиса найдем решение системы линей­ных уравнений, при котором целевая функция Z достигнет максимума
i
i
MzZ max
.
Алгоритм решения задачи квадратичного программирования:
составляем функцию Лагранжа;
записываем необходимые и достаточные условия существования седло-
вой точки функции Лагранжа;
с помощью метода искусственного базиса находим координаты седло-
вой точки функции Лагранжа, либо устанавливаем ее отсутствие;
записываем оптимальное решение исходной задачи и находим значение
целевой функции при данном решении.
В случае исследования целевой функции на минимум справедливы сле­дующие неравенства:
),...,,,...,(),...,,,...,(),...,,,...,(
1
00
1
00
1
00
1
00
11 mnmnmn
yyxxLyyxxLyyxxL
,
а необходимые и достаточные условия существования седловой точки функции Лагранжа примут следующий вид:
,,1
,1
,0
,0
0
0
mi
nj
w
y
L
v
x
L
i
i
j
j
).),1,,1(0,,,
,0,0
00
,1
0
,,1
0
minjwvyx
w
y
vx
ijij
приmi
i
i
nj
jj
73
.),1(,0),1(,0
),1(,0),1(,0
),1(,0),1(,0
0
0000
00
miynjx
mi
y
L
ynj
x
L
x
mi
y
L
nj
x
L
o
i
j
i
i
j
j
ij
Пример. Найдите максимальное значение функции F = 2x1 + 4x2 – x
1
2
2x
2
2
при ограничениях
Составим функцию Лагранжа для целевой функции F:
Запишем необходимые и достаточные условия существования седловой точки функции Лагранжа:
Полученную систему линейных неравенств перепишем следующим об­разом:
Введем дополнительные неотрицательные переменные x3, x4, x5, x6, обра­щающие неравенства в равенства:
 
 
.0,
122
82
21
21
21
xx
xx
xx
.21228
242,,,
21
2
21
1
2 2
2
121
21
21
xx
y
xx
y
xxxx
yy
xx
L
0212
028
0244
0222
22
2
21
1
212
2
211
1
xx
y
L
xx
y
L
yyx
x
L
yyx
x
L
 
 
.122
82
424
222
21
21
212
211
xx
xx
yyx
yyx
0)22(
0)28(
0)244(
0)222(
222
2
2
211
1
1
2122
2
2
2111
1
1
xxy
y
L
y
xxy
y
L
y
yyxx
x
L
x
yyxx
x
L
x
74
Из системы уравнений получаем:
Методом искусственного базиса найдем базисное решение системы ли­нейных уравнений, тем самым будут найдены координаты седловой точки функции Лагранжа и будет определено оптимальное решение исходной задачи квадратичного программирования.
Для этого к первому и второму уравнению системы добавим искус­ственные переменные z1 и z2 и рассмотрим задачу линейного программирования, состоящую в определении максимального значения функции Z = – Mz1 – Mz2 при ограничениях
Полученная расширенная задача имеет исходный опорный план, опреде­ляемый системой четырех единичных векторов z1, z2, x5, x6.
Составим первую симплекс-таблицу (рис. 12), в 5-ю строку которой вво­дим коэффициенты функции Z. Для определения коэффициентов этой функции из первого ограничения выводим значение z1, из второго – z2:
Z = – M(2 2x1 – y1 2y2 + x3 + 4 4x2 2y1 + y2 + x4) =
M(6 – 2x1 – 4x2 – 3y1 –y2 + x3 +x4)
Проводим симплексные преобразования, исключая искусственные вектора.
В результате вычислений найдем координаты опорной точки. Подставив координаты найденной точки (x1=1, x2=1) в целевую функцию, получим ее максимальное значение F
max
= 3.
.0,0,0,0
26152413
yxyxxxxx
.0,,,,,,,,,,,
122
82
424
222
21
65
4
3212121
6
21
5
21
24212
13
2
11
zz
xx
x
xvvyyxx
x
xx
x
xx
zxyyx
zx
y
yx
.0,,,,,,,
122
82
424
222
65432121
621
521
4212
3211
xxxxyyxx
xxx
xxx
xyyx
xyyx
75
Рис. 12. Решение задачи М-симплекс методом
Задание: найдите максимальное (минимальное) значение функции при заданных условиях (параметры решения имеют неотрицательные значения).
Целевая функция
Условия
1
2
2
2
12121
224 xxxxxxF
 
 
153
122
21
21
xx
xx
2
21
2
2
2
1
8xxxxF
 
 
5
7
2
21
x
xx
3
2
2
2
121
82 xxxxF
 
 
8
122
21
21
xx
xx
4
2
221
232 xxxF
 
 
2
44
21
21
xx
xx
5
2
2
2
121
232 xxxxF
 
 
4
2
2
0
21
21
21
xx
xx
xx
6
2
221
2
121
225 xxxxxxF
 
 
4
6
3
22
2
21
21
x
xx
xx
76
Целевая функция
Условия
7
2
332
2
231
21
2
1321
22
2111210
xxxxxx
xxxxxxF
 
1523
20
52
321
321
xxx
xxx
8
2
332
2
2
21
2
1321
5.12
211913
xxxx
xxxxxxF
 
 
1643
182
321
321
xxx
xxx
9
2
221
2
121
525.089 xxxxxxF
 
 
24
2
122
21
21
xx
xx
10
2
221
2
11
2210 xxxxxF
 
 
6
102
21
21
xx
xx
11
2
221
2
121
65 xxxxxxF
 
1223
93
21
21
xx
xx
12
2
121
232 xxxF
 
 
2
42
21
21
xx
xx
13
2
3
2
2
2
1
)2()3(3)1(4 xxxF
15
321
xxx
14
min8112
2121
2
2
2
1
xxxxxxF
 
 
153
2443
21
21
xx
xx
15
min)2()1(
2
2
2
1
xxF
 
 
7
153
21
21
xx
xx
16
min3322
2
2
2
1121
xxxxxF
 
 
16
1
21
21
xx
xx
17
min26910
232
32132
3121
2
3
2
2
2
1
xxxxx
xxxxxxxF
 
 
32
4
321
321
xxx
xxx
18
min222
1
2
2
2
1
xxxF
8
0
332
823
1
21
21
21
x
xx
xx
xx
77
Целевая функция
Условия
19
min6.54.2
21
2
2
2
1
xxxxF
 
 
42
3
332
21
21
21
xx
xx
xx
20
2
3
2
231
2
1321
5.03 xxxxxxxxF
 
 
423
52
321
221
xxx
xxx
21
min2
2
221
xxxF
 
 
42
623
21
21
xx
xx
22
2
2
2
121
2 xxxxF
 
 
102
62
21
21
xx
xx
23
min2
21
2
3
2
2
2
1
xxxxxF
 
 
62
1232
321
321
xxx
xxx
24
2
2
2
121
1610 xxxxF
 
 
4025
162
21
21
xx
xx
25
32
2
11
422 xxxxF
 
 
123
1532
321
321
xxx
xxx
78

2.7. Контрольные вопросы

1. Сформулируйте задачу нелинейного программирования.
2. Какие способы решения задач НП Вы знаете?
3. Какие факторы осложняют решение задач НП?
4. Алгоритм решения задач НП графическим способом.
5. Запишите функцию Лагранжа для задачи НП.
6. Алгоритм решения задачи НП методом множителей Лагранжа.
7. Как можно решить задачу НП, если условия заданы в виде неравенств.
8. Какие методы решения можно отнести к градиентным?
9. Какие задачи можно решить с помощью метода Франка–Вульфа?
10. Алгоритм метода Франка–Вульфа?
11. Для чего нужна функция штрафа?
12. Алгоритм метода штрафных функций.
13. Как вычисляются координаты следующей точки при решении задачи
методом штрафных функций?
14. Для чего нужна точность вычислений?
15. Какие задачи решаются методом квадратичного программирования?
79

Список литературы

1. Акоф Р., Сасиени М. Основы исследования операций. — М.: Мир, 1971.
2. Вентцель Е.С. Исследование операций. — М.: Советское радио, 1972.
3. Белолипецкий А.А., Горелик В.А. Экономико-математические методы
[Текст]: учеб. для студентов вузов – М.: Академия, 2010. – 368 с.; 22 см. – (Университетский учебник. Высшая математика и ее приложения к экономике). – ISBN 978-5-7695-5714-9: 470-80.
4. Демидович Б.П., Марон И.А. Основы вычислительной математики; под
ред. Б.П. Демидович. — М.: Гос. изд-во физ.-мат. лит., 1960. — 670 с.
5. Зуховицкий С.И., Авдеева Л.И. Линейное и выпуклое программирова-
ние. — М.: Наука, 1964.
6. Калихман И.Л. Сборник задач по математическому программированию.
— М.: Высшая школа, 1975.
7. Краснощеков А.Л. Модели и методы исследования операций: учеб.-
метод. пособие / Пермс. гос. пед. ун-т. – Пермь, 2011. – 53 с.
8. Кузнецов Ю.Н., Кузубов В.И., Волощенко А.Б. Математическое про-
граммирование. — М.: Высшая школа, 1976.
9. Монахов В.М., Беляева В.С., Краснер Н.Я. Методы оптимизации. — М.:
Просвещение, 1978.
10. Половина И.П. Лабораторные работы по курсу «Численные методы».
– Пермь: ПРИПИТ, 1998. – 60 с.
11. Половина И.П. Численные методы: сб. лаб. работ. – Пермь: ПГУ, 2003.
– 68с.
12. Соснина Е.В. Методическое пособие по курсам «Методы оптимиза-
ции», «Исследование операций». Ч. 1. Линейное программирование. – Пермь: Изд-во ПРИПИТ, 2000. – 38 с.
13. Соснина Е.В. Методическое пособие по курсам «Методы оптимиза-
ции», «Исследование операций». Ч. 2. Нелинейное программирование. – Пермь: Изд-во ПРИПИТ, 2000. – 36 с.
14. Соснина Е.В. лабораторные работы по курсу «Методы оптимизации».
– Пермь: Изд-во ПРИПИТ, 2000. – 68 с.
Электронное издание
Исследование операций
Сборник задний
Направление подготовки: 44.03.01 – «Педагогическое образование»,
профиль подготовки «Экономика»
Редакционно-издательский отдел
Пермского государственного гуманитарно-педагогического университета
614990, г. Пермь, ул. Сибирская, 24, корп. 2, оф. 71,
тел. +7(342) 238-63-12
ИБ № 780
Минимальные системные требования:
процессор Intel(R) Celeron(R) и выше, частота
2.80 ГГц ; монитор SuperVGA с разреш.
1280x1024, отображ 256 и более цветов
1024 Mb RAM ; Windows XP и выше ;
Adobe Reader 8.0 и выше ;
CD-дисковод, клавиатура, мышь.
;
80
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]