Санкт-Петербургский государственный университет
Опубликован: 08.06.2009 | Доступ: свободный | Студентов: 641 / 120 | Оценка: 4.65 / 4.35 | Длительность: 07:44:00
Специальности: Программист
Лекция 5:

Задача ГП с ограничениями

< Лекция 4 || Лекция 5: 123 || Лекция 6 >
Аннотация: В лекции описывается теория двойственности для задач ГП с ограничениями: приводятся постановки прямой и двойственной задач, формулируются основные теоремы двойственности. Объясняется связь теории геометрического программирования с теорией выпуклого программирования и линейного программирования.

Постановка задачи

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

\mbox{Задача GP:}\qquad g_{0}(x)\rightarrow \min\qquad\

при ограничениях

g_{k}(x)\leq 1,\quad k = \overline{1,p},
x_{j}> 0 ,\quad j= \overline{1,m}.

где

g_{k}(x)=\sum\limits_{i\in
  [k]}c_{i}\prod\limits_{j=1}^{m}{x_{j}}^{a_{ij}},\quad
  k= \overline{0,p},\quad  c_{i}>0,\ a_{ij}\in \mathbb{R}.

Поясним, что означает обозначение [k] в приведенной выше постановке задачи, на которую далее мы будем ссылаться как на задачу GP. Обозначим через n общее число мономов, входящих в (p+1) позином. Индексное множество I=[1,\ldots,n ] нумерует их последовательно так, что первый моном позинома g_0 имеет номер 1, а последний моном позинома g_p - номер n.

Будем обозначать через [k] индексное подмножество, соответствующее позиному g_k:

I = [0]\cup[1]\cup\ldots\cup[p],\quad [k]\cap[l]=\emptyset, \
k\neq l.

Обозначим через A=||a_{ij}|| матрицу экспонент, состоящую из матриц экспонент всех позиномов, входящих в задачу. Количество строк в матрице A равно n (числу мономов, входящих в p+1 позином), число столбцов равно m (числу переменных задачи). Матрицу экспонент позинома g_k будем обозначать через A_{[k]},\ k=\overline{0,p}.

Обозначим через c вектор коэффициентов задачи, состоящий из последовательно записанных векторов коэффициентов всех позиномов. Вектор коэффициентов позинома g_k будем обозначать через c_{[k]},\
k=\overline{0,p}.

Рассмотрим пример.

Пример 31 Запишем индексное множество, вектор коэффициентов и матрицу экспонент следующей задачи ГП:

g_{0}(x) = 40 {x}_{1}^{-1}x_{2}^{-0.5} x_{3}^{-1} + 20 {x}_{1}{x}_{3} +
    20 x_{1}x_{2}x_{3}\rightarrow\min ( 60)

при ограничениях

g_{1}(x) = \frac{1}{3} x_{1}^{-2}x_{2}^{-2} +
    \frac{4}{3} x_{2}^{0.5}x_{3}^{-1}\leq 1. ( 61)
x_j>0,\ j=\overline{1,3}. ( 62)

Запишем индексное множество задачи ГП. Индексное множество, соответствующее целевой функции g_{0}, состоящей из трех мономов, [0] = \{1, 2, 3\}. Индексное множество, соответствующее позиному g_{1}, состоящему из двух мономов, [1] = \{4, 5\}. Индексное множество задачи (60)-(62)

I=[0]\cup[1] = \{1, 2, 3, 4, 5\}.

Запишем теперь вектор коэффициентов задачи ГП. Вектор коэффициентов целевой функции g_0

c_{[0]} = (40, 20, 20),

вектор коэффициентов ограничения g_1

c_{[1]} = (1/3, 4/3),

следовательно, вектор коэффициентов задачи (60)-(62)

c = (c_{[0]}, %\cup%\bigcup
c_{[1]}) = (40, 20, 20, 1/3, 4/3).

Запишем матрицу экспонент задачи ГП. Матрица экспонент позинома g_{0}

A_{[0]}=\left\|
\begin{array}{rlr}
  -1 & -0.5 & -1 \\
  1 & \phantom{-}0 & 1 \\
  1 & \phantom{-}1 & 1 
\end{array}
\right\|,

матрица экспонент позинома g_{1}

A_{[1]}=\left\|
\begin{array}{rlr}
  -2 & -2 & 0 \\
  0 & \phantom{-}0.5 & -1
\end{array}
\right\|,

следовательно, матрица экспонент задачи (60)-(62)

A =\left|\left|
\begin{array}{c}
A_{[0]} \\ A_{[1]}
\end{array}
\right|\right|
=
\left\|
\begin{array}{rlr}
  -1 & -0.5 & -1 \\
  1 & \phantom{-}0 & 1 \\
  1 & \phantom{-}1 & 1 \\
  -2 & -2 & 0 \\
  0 & \phantom{-}0.5 & -1
\end{array}
\right\|.

Формула для вычисления степени трудности задачи ГП с ограничениями такая же, как для задачи ГП без ограничений:

DOD =  n -(m_{ind} + 1), ( 63)

где n - общее число мономов во всех позиномах, m_{ind} - число независимых переменных (определяемое рангом матрицы экспонент задачи A ).

Пример 32 Вычислим степень трудности для задачи ГП из примера 31.

Общее число мономов в задаче n = 5, можно показать, что число независимых переменных m = 3, следовательно, по формуле (63) DOD = 5 - (3+1) = 1.

Прежде, чем перейти к изложению теории двойственности для задач ГП с ограничениями, покажем, как значение целевой функции из примера 31 может быть оценено с использованием ранее изложенной теории.

Пример 33 Оценим минимальное значение целевой функции g_0 из примера 31.

Рассмотрим соответствующую задачу ГП без ограничений:

g_{0}(x) = 40 {x}_{1}^{-1}x_{2}^{-0.5} x_{3}^{-1} + 20 {x}_{1}{x}_{3} +
    20 x_{1}x_{2}x_{3}\rightarrow\min,
x_{1}>0,\ x_{2}>0,\ x_{3}>0.

Легко заметить, что произведение переменных x_{1}x_{3} входит во все мономы функции g_{0}(x). Следовательно, мы можем понизить размерность задачи на единицу, выполнив замену x_{1}x_{3}=t. Функцию, которая получится после выполнения замены, обозначим через f(t, x_{2}):

f(t, x_{2}) = g_{0}(x  |  x_{1}x_{3}=t) =40 {t}^{-1}x_{2}^{-0.5} + 20 t +
    20 t x_{2}.

Функция f(t, x_{2}) является регулярным позиномом (см. "Регулярные позиномы" ), так как выполнены следующие равенства:

\sum\limits_{i=1}^{3}c_{i}a_{i1} = 40\times (-1) + 20\times 1 +
  20\times 1 = 0,
\sum\limits_{i=1}^{3}c_{i}a_{i2} = 40\times (-0.5) + 0 +
  20\times 1 = 0.

Из регулярности позинома f(t, x_{2}) следует (см. теорему 5), что его наименьшее значение, которое мы обозначим через f^{*}, вычисляется по формуле:

f^{*} = \sum\limits_{i=1}^{3}c_{i} = 40+20+20=80,

и достигается при t=x_2=1.

Выполнив обратную подстановку, получим, что точкой глобального минимума функции g_{0}(x) является любая точка вида

x =\big( x_1,  1, \frac{1}{x_1}\big),\ x_1>0. ( 64)

Вернемся к задаче (60)-(62). Для этой задачи величина f^{*} = 80 является нижней оценкой для оптимального значения функции g_{0}(x), так как при добавлении ограничения значение минимума может только возрасти.

Проверим, существуют ли среди точек вида (64) такие, которые удовлетворяют ограничению (61):

g_{1}(x) = \frac{1}{3} x_{1}^{-2}x_{2}^{-2} +
    \frac{4}{3} x_{2}^{0.5}x_{3}^{-1}\leq 1.

То есть необходимо проверить выполнение неравенства

\frac{1}{3} x_{1}^{-2}+
    \frac{4}{3} x_{1}\leq 1.

Данное неравенство не выполняется ни в одной точке, следовательно, среди точек вида (64) нет таких, которые удовлетворяют ограничению (61), и минимальное значение целевой функции g_{0}(x) в задаче (60)-(62) больше, чем 80.

Замечание. В предложенном методе оценивания решения задачи (60)-(62) существенным является шаг понижения размерности задачи.

< Лекция 4 || Лекция 5: 123 || Лекция 6 >
Васильевич Иван
Васильевич Иван

Так это же динамическое программирование на основе математической индукции.
 

Олег Корсак
Олег Корсак
Латвия, Рига
Игорь Янковский
Игорь Янковский
Россия, Нальчик