- •2) Переход от общей (стандартной) формы злп к канонической.
- •Переход от канонической формы к стандартной.
- •1.1.3. Контрольные вопросы:
- •1.1.4. Варианты индивидуальных заданий:
- •1.2 Графический метод решения задач
- •1.2.2. Теоретическая часть:
- •1.2.3. Контрольные вопросы:
- •1.2.4. Варианты индивидуальных заданий:
- •1.3 Симплекс-метод решения задач линейного программиро-вания
- •1.3.2. Теоретическая часть
- •1.3.2.1. Симплекс-метод
- •1.3.2.2. Cимплекс-метод для неполного базиса (м-метод).
- •1.3.3. Контрольные вопросы:
- •1.3.4. Варианты индивидуальных занятий
- •1.4 Двойственность в линейном программировании
- •1.4.2. Теоретическая часть:
- •1.4.2.1. Общая модель задачи
- •1.4.2.2. Решение злп с помощью графического анализа двойственной задачи
- •1.4.3. Контрольные вопросы:
- •1.4.4. Варианты индивидуальных заданий.
- •1.5 Транспортная задача (т-задача)
- •1.5.2. Теоретическая часть:
- •1.5.2.1. Алгоритм решения т-задачи.
- •1.5.2. Примеры решения т-задачи.
- •1.5.3. Контрольные вопросы.
- •1.5.4. Варианты индивидуальных заданий:
- •1.6 Целочисленное программирование
- •1.6.2. Теоретическая часть: Описание метода отсечений (метода Гомори).
- •1.6.3. Контрольные вопросы:
- •1.6.4. Варианты индивидуальных заданий.
- •2.1.2.2. Метод Франка-Вулфа решения задач квадратичного программирова-
- •2.2 Контрольные вопросы.
- •2.3. Индивидуальные задания.
2.1.2.2. Метод Франка-Вулфа решения задач квадратичного программирова-
ния.
-
задачам квадратичного программирования (КП) относится специальный класс задач нелинейного программирования (НП), для которых целевая функция квадратич-ная и вогнутая, а все ограничения линейные.
Задача КП записывается следующим образом:
|
|
1 |
n |
|
1 |
n n |
|
max F (x) Cx |
|
xT Dx C j x j |
|
dij xi x j при ограничениях (запишем их |
|
||
|
|
|
|||||
|
2 |
j1 |
|
2 i1 j1 |
|
-
матричной форме) Ax b, ,
x 0
Где D |
dij |
- симметричная отрицательно определенная матрица коэффициентов |
|
|
|
nn |
|
|
|
|
|
квадратичной формы. |
|
Из теоремы Куна-Таккера выплывает, что вектор х* является оптимальным реше-нием задачи КП тогда и только тогда, когда существуют такие m -мерные вектора 0 и W 0 и n -мерный вектор V 0 , что выполняются следующие условия:
1. C Dx A V 0;
2. b Ax W 0;
3. V T x 0;
4. W T 0.
Условия 1 и 2 образуют относительно переменных x, ,V ,W систему из (n+m) уравнений c 2(n+m) неизвестными. Условия 3 и 4 являются комбинаторными (усло-вия дополняющей нежесткости), из них следует, что по крайней мере n переменных из x и V, а также m переменных из и W обращаются в нуль.
Если существует оптимальное решение задачи КП, то оно должно быть одним из базисных решений условий 1 и 2. Для нахождения допустимого базисного решения может быть использован симплекс-метод.
Вводя искусственные переменные U j ( j 1, n) и Yi (i 1, m) в условия 1 и 2 для нахождения начального базиса, приходим к следующей задаче:
n m
min MU j MYi ,(M C)
j1 i1
при ограничениях
Dx A V U C,
Ax W Y b;
x 0, 0,V0,W0,U0,Y0.
Выбрав компоненты векторов U и Y одинакового знака со знаком соответствую-щих свободных членов - C, b , находим начальное базисное решение.
Если в результате решения удается вывести все искусственные переменные и при этом выполняются условия З и 4, то найденное базисное решение будет оптимальным.
Рассмотрим метод Франка-Вулфа решения ЗКП.
Сформулируем задачу: среди допустимых базисных решений системы ограниче-ний 1 и 2 найти такое, которое обращает в нуль V T x TW .
Введём в рассмотрение вектор Z с компонентами
-
(x1 ,..., xn ,..., 1 ,..., m ,V1 ,...,Vn ,W1 ,...,Wm )
-
соответствующий ему вектор
-
(V1 ,...,Vn ,W1 ,...,Wm , x1 ,..., xn ,..., 1 ,..., m )
Тогда условие задачи можно записать как V T x W T 1ZTZmin,
2
BZ d,
-
0,
где B - матрица коэффициентов, d - вектор свободных членов
B |
D |
AT |
E |
0 |
|
; d |
c |
. |
|
|||||||||||||
|
A |
0 |
0 E |
|
|
b |
|
|||||||||||||||
|
|
|
|
|
|
|
||||||||||||||||
Выполним |
ряд |
преобразований, в результате которых выпуклая функция |
|
|||||||||||||||||||
T (Z) Z T |
|
|
минимизируется по следующему рекуррентному правилу: в результате k- |
|
||||||||||||||||||
Z |
|
го шага получаем допустимое решение Zk, удовлетворяющее ограничениям задачи, вместе с соответствующей симплекс таблицей, а также допустимое решение k , удов-летворяющее тем же ограничениям, но необязательно базисное, которому соответству-ет положительное значение T (на первом шаге 0 Z 0 ). Исходя из базисного решения
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k |
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
Zk , минимизируем линейную относительно Z форму (Z k )T при заданных ограниче- |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
ниях. |
|
Получаем |
|
последовательности базисных решений |
|
Z 0 Z k , Z 1 , Z 2 ,... причем |
|
||||||||||||||||||||||||||||||||||||||||||||||||
(Z |
0 |
|
T |
|
|
k |
T |
|
|
k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
) |
|
|
,… |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
(Z ) |
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Вычисления прекращаются, если а) (Z k )T |
|
|
0; |
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
W |
|
|
или |
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
б) (Z K )T |
|
k |
1 |
, ( K )T |
|
k |
1 |
T ( k ) . |
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
2 |
|
|
-
случае а) Zk - окончательное решение, а в случае б) полагаем
Z k1 Z k ;
k 1 k (Z k 1 k ),
где
|
( k Z k 1 )T |
|
k |
|
|
|
|
|||||
|
||||||||||||
min 1, |
|
|
|
|
|
|
|
. |
|
|||
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
||||||
|
(Z k 1 k )T (Z k 1 |
|
k ) |
|
На каждом шаге имеет место либо а), либо б), но через конечное число шагов будет только а).
Пример: Решить ЗКП методом Франка-Вулфа.
10x 20x |
2 |
2x2 |
2x |
2 |
x x |
2 |
max, |
|
||||||||||
|
1 |
|
|
1 |
|
2 |
1 |
|
|
|||||||||
x1 |
x2 |
10, |
|
|
|
|
|
|
|
|||||||||
x2 |
4, |
|
|
|
|
|
|
|
|
|
|
|||||||
x1 |
0, |
x2 |
0. |
|
|
|
|
|
|
|
||||||||
Матрица D имеет вид |
|
|
|
|
|
|||||||||||||
|
2 |
1 |
|
|
|
|
|
|
|
-
-
2
Поскольку знаки ее миноров изменяются с «-» на «+», то согласно критерию Сильвестра ЦФ будет вогнутою. Запишем функцию Лагранжа
L(x, ) 10x1 20x2 2x12 2x22 x1 x2 1 (10 x1 x2 ) 2 (4 x2 ). и условия Куна-Таккера
L |
|
10 4x x |
|
0, |
|
|
|||||||||
|
2 |
|
|
||||||||||||
1 |
|
1 |
|
|
|
||||||||||
x1 |
|
|
|
|
|
|
|
||||||||
L |
20 4x |
|
x |
|
0, |
|
|||||||||
|
2 |
2 |
|
||||||||||||
x2 |
|
1 |
1 |
|
|
||||||||||
|
|
|
|
|
( I ) |
|
|||||||||
|
|
|
|
|
|
|
|
|
L
10 x1 x2 0,
L
4 x2 0.
L |
|
x |
|
(10 4x |
x |
|
)x |
0, |
|
|
|
|||||||||||||||||||||||||
x |
|
|
|
|
|
|||||||||||||||||||||||||||||||
1 |
1 |
|
|
|
2 |
|
1 1 |
|
|
|
|
|
|
|||||||||||||||||||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
L |
x |
|
(20 4x |
|
x |
|
)x |
|
0, |
|
||||||||||||||||||||||||||
|
2 |
2 |
2 |
2 |
|
|||||||||||||||||||||||||||||||
x2 |
|
|
|
|
|
|
1 |
1 |
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
L |
|
(10 x x |
|
) |
0, |
|
|
|
|
( II ) |
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
1 |
1 |
|
|
2 |
|
1 |
|
|
|
|
|
|
|
||||||||||||||||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
L
2 (4 x2 ) 2 0,
x1 0, x2 0, 1 0, 2 0.
Требуется найти такое решение системы неравенств ( I ), которое одновременно удовлетворяло бы и систему ( II ). Перепишем систему ( I ) в виде
4x1 x2 1 10,
4x2 x1 1 2 20,
x1 x2 10,
x2 4.
Введем в систему ограничений балансовые неотрицательные переменные V1, V2, W1, W2 и получим систему уравнений
4x1 x2 1 V1 10,
4x2 x1 1 2 V2 20,
x1 x2 W1 10,
x2 W2 4.
При этом должны выполняться следующие условия дополняющей нежёсткости х1V1=0, х2V2=0, 1W1=0, 2W2=0.
Запишем вектор Z=(z1, z2, z3, z4, z5, z6, z7, z8) как Z (x1 , x2 , 1 , 2 ,V1 ,V2 ,W1 ,W2 ) и соответствующий ему вектор
-
(z1 , z 2 , z 3 , z 4 , z 5 , z 6 , z 7 , z8 ) как Z (V1 ,V2 ,W1 ,W2 , x1 , x2 , 1 , 2 ) , а также ЦФ
V T x W T 1ZTZ.
2
Тогда задача в матричном виде формулируется следующим образом:
Z T Z min ,
BZ d,
Z 0, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
где |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
4 |
1 |
1 |
0 |
1 0 |
0 |
0 |
|
|
|
|
10 |
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
B |
|
|
|
1 4 |
1 |
1 |
0 |
1 0 |
0 |
|
|
; |
d |
20 |
|
|
|
. |
|
||||||||||||
|
|
|
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
|
|
10 |
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
|
|
|
|
4 |
|
|
|
|
|
Из матрицы В видно, что 1-ое уравнение не содержит базисной переменной, сле-довательно, добавим в него искусственную базисную переменную U1 = z9, т.е. вос-пользуемся М-методом. Составим псевдоцелевую функцию L’ = min MU1 = min Mz9, в которой избавимся от базисной переменной, и заполним исходную симплекс-таблицу (см.табл.19)
Таблица 19
i |
Сi |
базис |
Z0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
M |
||||||||
|
|
|
|
z1 |
z2 |
z3 |
z4 |
z5 |
z6 |
z7 |
z8 |
z9 |
|||||||||
1 |
M |
z9 |
10 |
|
4 |
|
-1 |
1 |
0 |
-1 |
0 |
0 |
0 |
1 |
|||||||
2 |
0 |
z4 |
20 |
-1 |
4 |
1 |
1 |
0 |
-1 |
0 |
0 |
0 |
|||||||||
3 |
0 |
z7 |
10 |
1 |
|
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
||||||||
4 |
0 |
z8 |
4 |
0 |
|
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
||||||||
m+2 |
|
L’ |
10 |
4 |
|
-1 |
1 |
0 |
-1 |
0 |
0 |
0 |
0 |
(m+1)-я строка в таблице 19 опущена, т.к. все ее элементы равны нулю.
Разрешающий элемент выбирается из столбца, соответствующего максимальной положительной оценке ЦФ (т.к. функция L’ стремится к min), равной 4, по правилу вы-бора разрешающего элемента. Выполняя симплексное преобразование, приходим к табл.20.
Таблица 20
i |
Сi |
базис |
Z1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
|
|
z1 |
z2 |
z3 |
z4 |
z5 |
z6 |
z7 |
z8 |
1 |
0 |
z1 |
5 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
|
|
|
2 |
|
4 |
4 |
|
4 |
|
|
|
2 |
0 |
z4 |
45 |
0 |
15 |
5 |
1 |
1 |
-1 |
0 |
0 |
|
|
|
2 |
|
4 |
4 |
|
4 |
|
|
|
3 |
0 |
z7 |
15 |
0 |
5 |
0 |
0 |
1 |
0 |
1 |
0 |
|
|
|
2 |
|
4 |
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
0 |
z8 |
4 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
m+2 |
|
L’ |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
На этом шаге найдено оптимальное решение, т.к. все оценки ЦФ неположительны. Для проверки условий дополняющей нежесткости сформируем векторы
|
|
|
5 |
; 0; 0; |
45 |
; 0; 0; |
15 |
; 4 |
|
|
|
||||||||||||||||
|
2 |
|
|
и |
|
||||||||||||||||||||||
Z1 = ( 2 |
|
|
|
|
|
2 |
) |
|
|||||||||||||||||||
|
|
(0; 0; |
15 |
; 4; |
5 |
; 0; 0; |
45 |
) |
|
|
|||||||||||||||||
|
Z 1 |
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
2 |
|
2 |
|
|
2 . |
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
Так как |
Z |
|
1 Z 1 |
0 , |
|
то |
вместе с табл.20 получили допустимое решение |
|
0 Z 1 Z 0 . Исходя из него минимизируем относительно Z функцию
Z T |
|
|
15 |
z |
|
|
|
|
5 |
z |
|
|
45 |
z |
|
|
|
||||||
0 |
3 |
4z |
4 |
5 |
8 |
min . |
|
||||||||||||||||
|
|
|
|
||||||||||||||||||||
2 |
|
|
2 |
|
2 |
|
|
|
Полученную задачу приводим к новой форме и решаем симплекс-методом. Таб-лица 21 получается из таблицы 20 с учетом коэффициентов приведенной (новой) ЦФ.
Таблица 21
i |
Сi |
базис |
Z0 |
0 |
0 |
15 |
4 |
5 |
0 |
0 |
45 |
|
||||||||||||
|
|
|
|
|
|
|
|
2 |
|
2 |
|
|
2 |
|
||||||||||
|
|
|
|
|
|
z1 |
z2 |
z3 |
z4 |
z5 |
z6 |
z7 |
z8 |
|
||||||||||
1 |
0 |
z1 |
5 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
|
||||||||||||
|
|
|
|
|
2 |
|
4 |
4 |
|
4 |
|
|
|
|
||||||||||
2 |
4 |
z4 |
45 |
0 |
15 |
5 |
1 |
1 |
-1 |
0 |
0 |
|
||||||||||||
|
|
|
|
|
2 |
|
4 |
4 |
|
4 |
|
|
|
|
||||||||||
3 |
0 |
z7 |
15 |
0 |
5 |
0 |
0 |
1 |
0 |
1 |
0 |
|
||||||||||||
|
|
|
|
|
2 |
|
4 |
|
|
4 |
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
4 |
45 |
z8 |
4 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
|
||||||||||||
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
m+1 |
|
Z T |
|
|
180 |
0 |
75 |
5 |
0 |
7 |
-4 |
0 |
0 |
|
||||||||||
|
0 |
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
2 |
2 |
|
2 |
|
|
|
|
Выполняя симплексное преобразование получаем табл. 22.
Таблица 22
i |
Сi |
базис |
Z1 |
0 |
0 |
15 |
4 |
5 |
|
|
0 |
0 |
45 |
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
2 |
|
|
|
2 |
|
|
|
2 |
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
z1 |
z2 |
z3 |
|
z4 |
z5 |
|
z6 |
z7 |
z8 |
|
|||||||||||||||||||||||||||||||||
1 |
0 |
z1 |
7 |
1 |
0 |
1 |
0 |
1 |
|
0 |
0 |
1 |
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
2 |
|
|
4 |
|
|
|
4 |
|
|
|
4 |
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
2 |
4 |
z4 |
15 |
0 |
0 |
5 |
1 |
1 |
|
-1 |
0 |
15 |
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
2 |
|
|
4 |
|
|
|
4 |
|
|
|
4 |
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
3 |
0 |
z7 |
5 |
0 |
0 |
0 |
0 |
1 |
|
0 |
1 |
5 |
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
2 |
|
|
|
|
|
|
4 |
|
|
|
4 |
|
||||||||||||||||||||||||||||||||
4 |
0 |
z2 |
4 |
0 |
1 |
0 |
0 |
0 |
|
0 |
0 |
1 |
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
m+1 |
|
Z T |
|
|
30 |
0 |
0 |
5 |
0 |
7 |
|
-4 |
0 |
75 |
|
||||||||||||||||||||||||||||||||||
|
0 |
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
2 |
|
|
|
2 |
|
|
|
2 |
|
||||||||||||||||||||||||||||||||
|
|
|
|
(180>30), то найдено |
|
||||||||||||||||||||||||||||||||||||||||||||
Так как все оценки ЦФ неположительны и (Z 0 )T k (Z 1 )T k |
|
|
новое допустимое. Чтобы определить является ли оно оптимальным, проверим условия дополняющей нежёсткости:
Z1 = ( 7 ; 4; 0; 15; 0; 0; 5 ; 0 ) и
2 2 2
Z1 (0; 0; 5 ; 0; 7 ; 4; 0; 15).
2 2 2
Z 1 Z 1 0 , т.е. они выполняются, следовательно, оптимальное решение ЗКП
7
хопт= ( ;4)
-
f(xопт)=72,5.