Аудит / Институциональная экономика / Информационные технологии в экономике / История экономики / Логистика / Макроэкономика / Международная экономика / Микроэкономика / Мировая экономика / Операционный анализ / Оптимизация / Страхование / Управленческий учет / Экономика / Экономика и управление народным хозяйством (по отраслям) / Экономическая теория / Экономический анализ Главная Экономика Оптимизация
Харчистов Б.Ф.. Методы оптимизации, 2004

КВАДРАТИЧНОЕ ПРОГРАММИРОВАНИЕ


Задачей квадратичного программирования (КП) называется задача оптимизации с квадратичной целевой функцией и линейными ограничениями. Задача КП, в которой целевая функция подлежит минимизации, имеет вид
n n n
f (x) = E c,x, + n djkxjxk ^min, j=1 j=1 k=1
E aijXj < b, i = 1, m,
j=1
xf > 0, j = ГП.
j ' ^ '
Допустимое множество X является выпуклым, матрица D = [djk ] предполагается симметричной неотрицательно определенной. При этом f (x) является выпуклой на X и задача КП является частным случаем задачи выпуклого программирования.
Для решения задачи КП используются необходимые усло - вия Куна - Таккера, которые в силу выпуклости задачи КП оказываются также достаточными для установления наличия решения.
Предварительно составляется функция Лагранжа L( x, Я) = f (x) + E hg (x),
i =1
где gj(x) = E aijxj - b. j=1
Условия Куна - Таккера имеют следующий вид: dL( x,X)
> 0, j = 1,n; (3.1)
dL( x,X) . -Ч x,-^ = 0, j = 1, n; (3.3)
xj > 0, j = 1,n; (3.2)
(x dx,
dxj
dL( x, X)
< 0, i = 1, m; (3.4)
dX,
X > 0, i = 1m; (3.5)
dL( x, X)
X Ч= 0, i = 1, m. (3.6)
' dX
Соотношения (3.3) и (3.6) определяют условия дополняющей нежесткости.
Непосредственное решение данной системы очень громоздко. Поэтому используется следующий прием. Неравенства (3.1) и (3.4) преобразуют в равенства, вводя соответственно две
группы дополнительных переменных V., j = 1, n, и wt, i = 1, m, удовлетворяющих требованиям неотрицательности. В результате от системы (3.1)-(3.6) переходят к следующей системе:
dL( x, X) . -Ч
dx - vj = 0 j =1 n; (3 7)
x. > 0, v. > 0, j = Щ (3.8)
x jV j = 0, j = Щ (3.9)
dLX) + w, = 0, i = (3.10)
оХ.
X > 0, w, > 0, i = (3.11)
X,w, = 0, i = 1, m. (3.12)
Система уравнений (3.7) и (3.10) содержит (m + n) линейных уравнений с 2(m + n) неизвестными. Таким образом, исходная задача эквивалентна задаче нахождения допустимого, т.е. удовлетворяющего требованиям неотрицательности (3.8) и (3.11), базисного решения системы линейных уравнений (3.7) и (3.10), удовлетворяющего также условиям дополняющей нежесткости (3.9) и (3.12). Так как задача КП является выпуклой задачей оптимизации, то допустимое решение, которое удовлетворяет всем этим условиям, является оптимальным.
Для нахождения допустимого базисного решения системы линейных уравнений может быть применен метод искусственных переменных, используемый в линейном программировании (ЛП) для определения начального базиса. При этом в уравнения системы (3.7), (3.10), в которых знаки дополнительных переменных v-
или wi совпадают со знаками свободных членов, вводятся неотрицательные искусственные переменные zl, l = 1, /max, /max < m + n, знаки которых не совпадают со знаками соответствующих свободных членов.
Затем решается вспомогательная задача ЛП
F (z) = E zx ^ min
/
при ограничениях (3.7) - (3.12) с введенными неотрицательными искусственными переменными. Для решения этой задачи исполь-зуется симплекс-метод. В процессе решения необходимо учитывать условия дополняющей нежесткости (3.9) и (3.12). Выполнение этих условий означает, что x, и v-, Я и wi не могут быть
положительными одновременно, т.е. переменную x j нельзя сделать базисной, если vj является базисной и принимает положительное значение, также и Я с wi.
В результате решения вспомогательной задачи могут быть два случая.
min F (z) = 0, т.е. все искусственные переменные выве-
z
дены из базиса. Полученное оптимальное допустимое базисное решение вспомогательной задачи ЛП является допустимым базисным решением системы (3.7) - (3.12) и, следовательно, решением задачи КП.
min F(z) > 0, т.е. среди базисных остались искусствен-
z
ные переменные. Это означает, что система (3.7) - (3.12) не имеет допустимого базисного решения и, следовательно, задача КП не имеет решения.
Итак, алгоритм решения задачи КП заключается в сле- дующем.
Ограничения задачи КП преобразуются к виду
g, (x) < 0, i = 1, m.
Составляется функция Лагранжа
L( x, X) = f (x) +lXg, (x).
i=1
3 Н dL , 1 dL
Находятся частные производные , j = 1, n; ,
dx ^ dX
J 1
i = 1,m , и составляются условия Куна - Таккера (3.1) - (3.6).
Посредством введения дополнительных переменных Vj, j = 1, n; w,, i = 1, m , неравенства
dL > 0, dk < 0
dxj ' ЭХ
преобразуются в равенства
dL n dL v, = 0, + w, = 0,
dxj j dX, '
в результате получается система (3.7) - (3.12).
Вводятся искусственные переменные zx, составляется
вспомогательная задача ЛП минимизации F(z) = Е zt при огра-
i
ничениях (3.7) - (3.12) с введенными неотрицательными искусственными переменными.
Решается вспомогательная задача ЛП симплекс- методом с учетом условий дополняющей нежесткости.
Если в результате решения min F(z) = 0, то оптимальное
z
допустимое базисное решение вспомогательной задачи определяет решение x* задачи КП.
Если min F(z) > 0, то задача КП не имеет решения.
z
Пример. Решить следующую задачу КП:
f (x) = 2x12 + 2x1 x2 + 2 x22 - 4x1 - 6x2 ^ min,
x1 + 2x2 < 2, xj > 0, x2 > 0.
Решение.
Преобразуем ограничение исходной задачи к виду
g (x) < 0:
g(x) = x1 + 2x2 - 2 < 0.
Составляем функцию Лагранжа
L(x, Я) = 2xj2 + 2x1x2 + 2x22 - 4x1 - 6x2 + Я(x1 + 2x2 - 2).
Находим частные производные и составляем условия Куна - Таккера:
Ч = 4x + 2x2 -4 + Я> 0, x > 0, x - = 0;
1 2 1 1
dx1 dx1
Ч = 2x + 4x2 - 6 + 2Я > 0, x2 > 0, x2 - = 0;
1 2 2 2 dx2 dx2
Ч = x> + 2x2 -2< 0, Я> 0, ЯЧ = 0. дЯ 1 2 ЭЯ
Вводим дополнительные переменные v1, v2 и w, обра-щающие неравенства в равенства, в результате получаем 4x1 + 2x2 - 4 + Я - v1 = 0, x1 > 0, v1 > 0, x1v1 = 0;
2x1 + 4x2 - 6 + 2Я - v2 = 0, x2 > 0, v2 > 0, x2v2 = 0; x1 + 2x2 -2 + w = 0, Я> 0, w > 0, Яw = 0.
Получили систему 3-х линейных уравнений с шестью неизвестными, которые должны также удовлетворять требованиям неотрицательности и условиям дополняющей нежесткости.
Вводим в первое и второе уравнения соответственно искусственные переменные z1 и z2:
4x1 + 2x2 - 4 + Я - v1 + z1 = 0, 2x1 + 4x2 - 6 + 2Я - v2 + z2 = 0.
Разрешая первое уравнение относительно z1, а второе уравнение относительно z2, находим целевую функцию F (z) вспомогательной задачи ЛП:
F (z) = z1 + z 2 = (-4 x1 - 2 x2 + 4 - X + v1) + + (-2x1 - 4x2 + 6 - 2X + v2) = 10 - 6x1 - 6x2 - 3X + v1 + v2. Составляем вспомогательную задачу ЛП:
F(z) = 10 - 6x1 - 6x2 - 3X + v1 + v2 ^ min,
4x1 + 2x2 + X - v1 + z1 = 4, 2 x1 + 4 x2 + 2X - v2 + z2 = 6,
x1 + 2 x2 + w = 2, x1, x2, X, v1, v2, w, z1, z2 > 0. Решаем задачу симплекс-методом с учетом условий дополняющей нежесткости. В качестве базисных выберем переменные z1, z2 и w . Таким образом, начальный базис Б0 = {z1, z2, w}. В результате приходим к табл. 3.1.
Таблица 3. 1 Базис Своб. член x1 x2 X v1 v2 w z1 z2 z1 4 4 2 1 -1 0 0 1 0 4/4=1 z 2 6 2 4 2 0 -1 0 0 1 6/2=3 w 2 1 2 0 0 0 1 0 0 2/1=2 F 10 6 6 3 -1 -1 0 0 0 Начальное допустимое базисное решение ДБР0= = (zj = 4, z2 = 6, w = 2). ДБР0 не является оптимальным, поскольку в строке целевой функции есть положительные коэффициенты
FXi = 6, FX2 = 6, Fx= 3.
Согласно условиям дополняющей нежесткости, в базис можно вводить x1, так как v1 = 0, либо x2, так как v2 = 0, но нель- зя вводить Я, так как w > 0 . Находим Б1:
Fx > 0 ^ x1 вводим в базис,
min J - = 1, - = 3, 2 = 21 = 1 ^ z1 выводим из базиса.
14 2 '1 I 1
Таким образом, Б1 = {x1, z2, w}. В результате приходим к
табл. 3.2. i
Таблица 3.2 Базис Своб. член x1 x2 Я v1 V2 w Z1 Z2 x1 1 1 1/2 1/4 -1/4 0 0 1/4 0 2 Z2 4 0 3 3/2 1/2 -1 0 -1/2 1 4/3 w 1 0 3/2 -1/4 1/4 0 1 -1/4 0 2/3 F 4 0 3 3/2 1/2 -1 0 -3/2 0 Получили ДБР1 = (x1 = 1, z2 = 4, w = 1). ДБР1 не является оптимальным, поскольку в строке целевой функции есть положи-
31
тельные коэффициенты Fx2 = 3, Fx = и Fv^ = .
Согласно условиям дополняющей нежесткости, в базис можно вводить x2, так как v2 = 0, но нельзя вводить Я, так как w > 0, и v1, так как x1 > 0. Находим Б2 :
Fx > 0 ^ x2 вводим в базис, . J1 Х 2 _ 4 1 Х 2 21 2
2, ,
min <
ж - f = - ^ w выводим из базиса.
^ 1 3 3 3 J 3 Таким образом, Б2 = {x1, x2, z2} . В результате приходим к
табл. 3.3.? Таблица 3.3 Базис Своб. член xi X2 Я V1 V2 w z1 z2 Xi 2/3 1 0 1 /3 -1/3 0 -1/3 1/3 0 X2 2/3 0 1 -1/6 1/6 0 2/3 -1/6 0 z2 2 0 0 2 0 -1 -2 0 1 F 2 0 0 2 0 -1 -2 -1 0 Получили ДБР,
2
' 2 =2 =
2
1
. ДБР2 не явля
v 1 3 3 ется оптимальным, поскольку в строке целевой функции есть положительный коэффициент Fx = 2.
Согласно условиям дополняющей нежесткости, в базис можно вводить Я, так как w = 0 . Находим Б3:
> 0 ^ Я вводим в базис,
{2Х3 2 1
= 2, - = 1 > = 1 ^ z 2 выводим из базиса.
3 Хl 2 J 2
Таким образом, Б3 = {x1, х2,Я}. В результате приходим к табл. 3.4.
Таблица 3.4 Базис Своб. член X1 X2 Я V1 V2 w z1 z2 X1 1/3 1 0 0 -1/3 1/6 0 1/3 Ч1/6 X2 5/6 0 1 0 1/6 -1/12 1/2 -1/6 1/12
Окончание табл. 3.4
Я 1 0 0 1 0 -1/2 -1 0 1/2 F 0 0 0 0 0 0 0 -1 -1 Получили ДБР3 = (xj = 1/3, х2 = 5/6, Я = l). ДБР3 является оптимальным решением.
Таким образом, вспомогательная задача ЛП решена. Поскольку min F(z) = 0, то оптимальное ДБР вспомога тельной задачи определяет решение х задачи КП. Поэтому полагаем
* I 2
х = 1х,
(х* = 1/ 3, х2* = 5/6),
/ж2 /.,2. _ 1 _ 1 5 Д25 Д1 ^5 Д1 f = f(х ) = 2 - + 2 + 2 4 6 - = -49 3 6 36 3 6 6 /
V
Ответ: х
21 f = -4-. 6
1, 5 3, 6
.
<< Предыдушая Следующая >>
= К содержанию =
Похожие документы: "КВАДРАТИЧНОЕ ПРОГРАММИРОВАНИЕ"
  1. 7.2. Цели и методы финансового анализа
    квадратичное программирование...), методы исследования операций (управление запа-сами), методы технического износа и замены оборудования, теория игр, теория расписаний, методы экономической кибернетики; эвристические
  2. 7.7 Приложение: модель Марковица и CAPM
    квадратичную аппроксимацию первоначальной элементарной функции полезности получаемую разложением в ряд Тейлора вплоть до членов второго порядка в некоторой точке: u(-) = a0 + a1x + a2x2 + ...) Предполагается, что здесь ai,a2 > 0. Условие a2 > 0 гарантирует, что инвестор является рискофобом. Условие ai > 0 гарантирует, что при достаточно малых x элементарная функция полезности имеет положительную
  3. Задачи
    квадратичного программирования f (х) = 2х1 + 3х22 + 4х1х2 - 6х1 - 3х2 ^ min , х1 + х2 < 1, 2 х1 + 3х2 < 4, х1 > 0, х2 > 0. Решить задачу квадратичного программирования f (х) = х1 + 2х2 - х22 ^ max , 3х1 + 2х2 < 6, х1 + 2 х2 < 4, х1 > 0, х2 >
  4. Модель 3. Минимизация инвестиционного риска при заданном среднем доходе.
    квадратичного программирования, так как целевая функция квадратичная, а ограничения линейные. Оптимальное решение x* = {x*}, j = 1, N, V* = V(x*) может быть найдено методом квадратичного
  5. 3. Квадратичное программирование
    1. Выполняются 0-я итерация: 50={z1, z2, w1, w2}, ДБР0=(6, 11 1 4- - 21 1 _ 5 _ 1 _ 2 2 2 3, 1, 4); 1-я итерация: Б^^, x2, w1, w2}, ДБР1= 3 1 1 3, -, -, 24 4 2 ; 3-я ите 2-я итерация: Б2=^ь x1, w1, w2}, ДБР2= рация: Б3=^ь x1, v2, w2}, ДБР3=(2, 1, 1, 2); 4-я итерация: Б4={Я1, x1, v2, w2}, ДБР4=(2, 1, 3, 2). В результате получаем x* = (1,0), f * = -4. 2. Выполняются 0-я итерация: Б0=^ь
  6. ВВЕДЕНИЕ
    квадратичной целевой функцией и линейными ограничениями. Разделы 4 и 5 посвящены методам одномерной минимизации, широко применяемым на практике в качестве составной части методов поиска экстремумов функций многих переменных. В разделах 6 и 7 рассматриваются численные методы безусловной оптимизации, а в разделах 8 и 9 - численные методы условной оптимизации. Разделы 10 и 11 посвящены методам
  7. ПРЕДМЕТ И ЗАДАЧИ ГОСУДАРСТВЕННОГО РЕГУЛИРОВАНИЯ ЭКОНОМИКИ
    программированием, а также стимулирование структурной перестройки прямыми и косвенными методами со стороны государства значительно облег чат и ускорят этот процесс. ж Проведение активной социальной политики, призванной об-легчить для населения отрицательные последствия перехода к рынку, обеспечение социальной защиты, осуществление комплекса мер повышения уровня занятости населения. ж Проведение
  8. МЕТОДЫ ГОСУДАРСТВЕННОГО РЕГУЛИРОВАНИЯ ЭКОНОМИКИ
    Государственное регулирование экономики в условиях рынка предполагает систему мер законодательно-исполнительного и кон-тролирующего характера, осуществляемых правомочными государ-ственными учреждениями и общественными организациями в це лях приспособления социально-экономической системы к суще ствующим условиям. Вмешательство государства в экономические процессы должно обеспечить прогрессивные
  9. ОБЩЕГОСУДАРСТВЕННОЕ ПЛАНИРОВАНИЕ
    программирование. Речь идет как о комп лексных программах социально-экономического развития, так и о целевых программах, разрабатываемых для решения отдельных проблем. Программирование социально-экономического развития вклю чает разработку программ развития экономики и социальной сфе ры всего государства и отдельных регионов, а также межотраслевых комплексов. Государственное программирование
  10. Я. Тинбэрхэн,Х.Бос . МАТЕМАТИЧЕСКИЕ МОДЕЛИ ЭКОНОМИЧЕСКОГО РОСТА, 1967
    программирования. Авторы рассматривают влияние капиталовложений, взаимозаменяе мости различных факторов производства, коэффициентов затрат, цен на развитие экономики. Издание представляет интерес для ученых-экономистов и практиков, математиков и лиц, интересующихся применени ем математических методов в