Метод решения задач квадратичного программирования

Задачей квадратичного программирования называют задачу НЛП, в которой находиться экстремум суммы линейной и квадратичных форм при ограничениях типа линейных неравенств и неотрицательности переменных. Эта задача имеет вид:

(5.34)

(5.35)

Здесь R – отношение вида

Методика решения задачи квадратичного программирования заключается в следующем:

1. Функция f( ) проверяется на выпуклость или на вогнутость в зависимости от постановки задачи на максимум или на минимум.

2. Записывается функция Лагранжа

3. Вычисляются частные производные и

4. Записываются необходимые условия существования седловой точки в

соответствии с типом ограничений (табл. 5.2.). Например, для задачи на максимум и ограничениях типа условия Куна-Таккера ≤0, ≥0, xj= 0, , i= 0, xi 0, i 0.

Примечание: Если типу ограничений соответствуют требования отрицательности множителей Лагранжа, то данные ограничения должны быть преобразованы к типу, для которых или не имеет ограничений. Например, для задачи на максимум с ограничениями типа требования к множителям Лагранжа . Тогда ограничения типа приводятся к виду , для которых .

5. Условия Куна-Таккера записываются в виде равенств путем введения дополнительных переменных.

(5.36)

(5.37)

6. Находим координаты седловой точки используя симплекс-метод.

Система (5.36) содержит линейных уравнений с переменными из которых являются свободными и равны нулю. Остальные переменные образуют при этом допустимое базисное решение, если выполняется условие (5.37).

Если в исходной системе (5.36) можно выделить начальное допустимое базисное решение, то его улучшение производят на основании симплекс-метода, аналогичного рассмотренному в задаче линейного программирования. Отличие здесь заключается в том, что при выборе новой базисной переменной каждый раз должны проверяться условия которые означают, что если в базисе имеются или то в него не могут быть введены переменные и соответственно.

Если в системе (5.36) нельзя сразу выделить начальное допустимое базисное решение, то оно может быть получено введением в систему фиктивных переменных .

+uj= 0,

- vi +zi= 0 (5.38)

В этом случае для улучшения начального допустимого баланса решения используют М-метод (подробнее алгоритм М -метода см. в п.3.5). То есть решают задачу максимизации функции F= при ограничениях (5.37) и (5.38). Здесь М – сколь угодно большое положительное число. Оптимальное решение может быть получено, если фиктивные переменные перейдут в разряд свободных, то есть будут выведены из базиса в процессе улучшения начального допустимого базисного решения.


Пример 5.1 Требуется максимизировать

(5.39)

при условиях:

(5.40)

1. Функция f представляет собой сумму линейной функции 4 x1+ 10 x2+x3, которую можно рассматривать как выпуклую и квадратичной –x12- 4 x22- 4 x33. Последняя является отрицательно определенной, следовательно также выпуклой.

2. В соответствии с типом оптимизации (5.39) и видом ограничений (5.40), ограничения, накладываемые на переменные - табличные. Поэтому условия (5.40) должны быть записаны в виде:

(5.41)

для которых .

3. Функция Лагранжа

и условие Куна-Таккера (таблица 2):

4. Частные производные от функции Лагранжа по переменным и

=

=

=

=

=

5. Условия Куна-Таккера

(5.42)

6. Условия (5.42) приводим к каноническому виду (ограничения равенства) путем введения дополнительных переменных u1 0, u2 0, u3 0, v1 0, v2 0.

(5.43)

7. Формируем исходный базис путем введения фиктивных переменных в ограничения (5.43):

(5.44)

и решаем задачу максимизации функции при ограничениях (5.44) симплекс-методом (решение в виде последовательности симплекс-таблиц представлено ниже).

БП Cб В                     - м - м - м
X1 X2 X3 l1 l2 U1 U2 U3 V1 V2 Z1 Z2 Z3
Z1             -1              
Z2               -1            
Z3                 -1          
V1                              
V2                              
    -15 м 2 м 8 м 8 м 5 м 3 м - м - м - м          
БП В                    
      X1 X2 X3 l1 l2 U1 U2 U3 V1 V2 Z1 Z2 Z3
Z1 - м             -1              
X2   1.25       0.125 0.125   -0.125            
Z3 - м                 0,12          
V1   13.5       -0.25 -0.25   0.25            
V2   28.75       -0.125 -0.125   0.125            
    -5 м 2 м   8 м 4 м 2 м - м   -0.12 м          
БП В                    
      X1 X2 X3 l1 l2 U1 U2 U3 V1 V2 Z1 Z2 Z3
Z1 - м             -1              
X2   1.25       0.125 0.125   -0.125            
X3   0.125       0.375 0.125     -0.016          
V1   13.125       -1.375 -0.625   0.25 0.047          
V2   28.625       -0.5 -0.25   0.125 0.016          
    -4 м 2 m     m m -m              
БП В                    
      X1 X2 X3 l1 l2 U1 U2 U3 V1 V2 Z1 Z2 Z3
X1           0.5 0.5 -0.5       0.5      
X2   1.25       0.125 0.125   -0.125            
X3   0.125       0.375 0.125     -0.016          
V1   11.125       -1.875 -1.125 0.5 0.25 0.047          
V2   26.625       -1 -0.75 0.5 0.125 0.016          
                               

Оптимальный план opt= ( 2; 1.25; 0.125; 0; 0; 0; 0; 0; 11.125; 26.625 ).

Целевая функция Fmax= 4*2+10*1.25+0.125-22-4*0.1252 = 10.3125

Методы, перечисленные ниже, являются методами приближенного вычисления, в отличие от метода множителей Лагранжа, с помощью которого мы получаем точное значение, решая исходную задачу.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: