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

Задача ГП без ограничений

< Лекция 1 || Лекция 2: 12 || Лекция 3 >

Понижение размерности задачи ГП

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

Пусть требуется минимизировать позином

g(x)=\sum\limits_{i=1}^{n}c_{i}\prod\limits_{j=1}^{m}{x_{j}}^{a_{ij}},\quad
  x_j>0,\ c_i>0, \ a_{ij}\in \mathbb{R}.

Матрицей экспонент позинома называется n\times m -матрица A
= \|a_{ij}\|, каждый столбец которой образован показателями степеней соответствующей переменной x_j. Будем обозначать через A_j столбец j этой матрицы.

Напомним определение из курса линейной алгебры. Говорят, что столбец A_k матрицы A является линейной комбинацией остальных столбцов этой матрицы, если можно указать такие вещественные числа \lambda_j, что выполняются равенства

A_k = \sum_{j=\overline{1,m},\ j\neq k}\lambda_jA_j. ( 22)

Пример 17 Покажем, что в матрице экспонент позинома

g(x_1, x_2, x_3) = 4 x_{1}^{-1}x_{2}x_{3} + 5 x_{2}^{2}x_{3}^{4} +
     x_{1}x_{2}^{-3}x_{3}^{-5}

имеет место линейная зависимость столбцов.

Матрица экспонент позинома g(x_1, x_2, x_3) имеет вид:

A=\left\|
\begin{array}{rrr}
  -1 & 1 & 1 \\
  0 & 2 & 4 \\
  1 & -3 & -5 
\end{array}
\right\|.

Третий столбец этой матрицы является линейной комбинацией первых двух столбцов с коэффициентами \lambda_1 = 1,\ \lambda_2 = 2:

A_3 = 1\times A_1 + 2\times A_2,
\left\|\begin{array}{r}
  1 \\
  4 \\
  -5 
\end{array}\right\|=\left\|\begin{array}{r}
  -1 \\
  0 \\
  1 
\end{array}\right\|+ 2\times \left\|\begin{array}{r}
  1 \\
  2 \\
  -3 
\end{array}\right\|.\qquad

Наличие линейной зависимости столбцов в матрице экспонент упрощает решение задачи ГП. Приведем теорему, которая показывает, в чем именно заключается это упрощение.

Теорема 3 Пусть столбец A_j матрицы экспонент A позинома g(x_1,\ldots,
   x_m) является линейной комбинацией других столбцов. Обозначим через f - позином от m - 1 переменной, получающийся при подстановке в позином g переменной x_j =
   1 :

f(x_1,\ldots, x_{j-1},x_{j+1},\ldots,x_{m}) = g(x_1,\ldots, x_{j-1}, 1,
     x_{j+1},\ldots,x_{m}).

Тогда в предположении, что обе функции достигают своих минимумов, верны следующие утверждения:

  • \min g = \min f ;
  • если (x_{1}^{*},\ldots,   x_{j-1}^{*},x_{j+1}^{*},\ldots,x_{m}^{*}) - точка минимума позинома f, то (x_{1}^{*},\ldots,   x_{j-1}^{*}, 1, x_{j+1}^{*},\ldots,x_{m}^{*}) - точка минимума позинома g.

Процедуру понижения размерности задачи ГП можно повторять до тех пор, пока все столбцы не станут линейно независимыми. Таким образом, количество возможных шагов понижения размерности задачи ГП ограничено максимальным числом линейно независимых столбцов матрицы экспонент A. Далее будем обозначать это число через r и называть рангом матрицы A.

Таким образом, если ранг r меньше числа переменных задачи m, то задача минимизации исходного позинома от m переменных может быть сведена к задаче минимизации позинома от r переменных. Приведем пример.

Пример 17(продолжение). Понизим размерность задачи

g(x_1, x_2, x_3) = 4 x_{1}^{-1}x_{2}x_{3} + 5 x_{2}^{2}x_{3}^{4} +
     x_{1}x_{2}^{-3}x_{3}^{-5}\rightarrow\min,

применив теорему 3}.

Ранее было показано, что третий столбец матрицы экспонент этого позинома является линейной комбинацией остальных столбцов: A_3 = 1\times A_1 + 2\times A_2. Поэтому по теореме 3 минимальное значение позинома g совпадает с минимальным значением позинома f:

f(x_1, x_2) = g(x_1, x_2, 1) = 4 x_{1}^{-1}x_{2} + 5 x_{2}^{2} +
     x_{1}x_{2}^{-3}.

Матрица экспонент A' позинома f (получается удалением из матрицы A столбца A_3 ) имеет вид:

A' = \left\|
\begin{array}{rr}
  -1 & 1  \\
  0 & 2  \\
  1 & -3  
\end{array}
\right\|.

Очевидно, что столбцы матрицы A' линейно независимы, следовательно, ее ранг (как и ранг матрицы A ) равен 2.

В случае существования линейной зависимости столбцов матрицы экспонент можно поступить по-другому - понизить размерность задачи, выполнив замену переменных. Приведем примеры.

Пример 18 Понизим размерность задачи

g(x_1, x_2, x_3) = 5 x_{1}x_{2}^{3}x_{3}^{-2} +
  7 x_{1}x_{2}^{3}x_{3}\rightarrow \min,
выполнив замену переменных.

Переменные x_{1} и x_{2} входят во все мономы в виде комбинации x_{1}x_{2}^{3}. Выполним замену y =
x_{1}x_{2}^{3}. Получим позином

f(y, x_3) = 5 yx_{3}^{-2} +
  7 yx_{3}.

Его матрица экспонент

A' = \left\|
\begin{array}{rr}
  1 & -2  \\
  1 & 1  
\end{array}
\right\|

имеет ранг, равный 2.

Пример 19 Понизим размерность задачи

g(x_1, x_2, x_3) = 2  x_{1}x_{2}x_{3}^{2} +
  3  x_{1}^{-4}x_{2}^{2}x_{3}^{4} + x_{2}^{-1}x_{3}^{1}\rightarrow
  \min,
выполнив замену переменных.

Заметим, что комбинация x_{2}x_{3}^{2} входит во все мономы в различных степенях. Выполним замену y = x_{2}x_{3}^{2}, тогда получим позином

f(y, x_1) = 2  x_{1}y +
  3  x_{1}^{-4}y^{2} + y^{-1}.

Его матрица экспонент

A' = \left\|
\begin{array}{rr}
  1 & 1  \\
  -4 & 2  \\
  0 & -1  
\end{array}
\right\|

имеет ранг, равный 2.

Число переменных задачи далее не может быть уменьшено.

Рассмотрим пример, в котором линейная зависимость некоторых столбцов видна сразу, но есть еще и неочевидная зависимость.

Пример 20 Понизим размерность задачи

g(x_1, x_2, x_3, x_4) = %
   4  x_{1}^{2}x_{3}^{-1}x_{4} + x_{1}x_{2}^{0. 5}x_{3}x_{4}^{-1} + %
   3 x_{1}^{-2}x_{2}x_{3}^{4}x_{4}^{-4}\rightarrow \min.

Заметим, что комбинация x_{3}x_{4}^{-1} входит во все мономы в различных степенях. Выполнив замену y = x_{3}x_{4}^{-1}, получим позином

f(x_1, x_2, y) = 4  x_{1}^{2}y^{-1} + x_{1}x_{2}^{0. 5}y +
  3 x_{1}^{-2}x_{2}y^{4},

его матрица экспонент

A' = \left\|
\begin{array}{rlr}
  2 & 0 & -1  \\
  1 & 0. 5 & 1  \\
  -2 & 1 & 4 
\end{array}
\right\|.

Третий столбец этой матрицы является линейной комбинацией первых двух столбцов с коэффициентами \lambda_1 = -0.5,\ \lambda_2 = 3:

A_3 = -0.5\times A_1 + 3\times A_2,

\left\|\begin{array}{r}
  -1 \\
  1 \\
  4 
\end{array}\right\|=-0.5\times \left\|\begin{array}{r}
  2 \\
  1 \\
  -2 
\end{array}\right\|+ 3\times \left\|\begin{array}{l}
  0 \\
  0. 5 \\
  1 
\end{array}\right\|.

По теореме 3 вместо минимизации позинома

f(x_1, x_2, y) = 4  x_{1}^{2}y^{-1} + x_{1}x_{2}^{0.5}y +
  3 x_{1}^{-2}x_{2}y^{4},

можно минимизировать позином

h(x_1, x_2) = f(x_1, x_2, 1) = 4 x_{1}^{2} + x_{1}x_{2}^{0.5} +
     3 x_{1}^{-2}x_{2}.

Матрица экспонент этого позинома получается удалением из матрицы позинома f третьего столбца:

A'' = \left\|
\begin{array}{rl}
  2 & 0  \\
  1 & 0. 5 \\ 
  -2 & 1  
\end{array}
\right\|.

Очевидно, что столбцы матрицы A" линейно независимы, следовательно, ее ранг (как и ранг матрицы позинома g ) равен 2. Число переменных больше не может быть уменьшено и необходимо решить задачу минимизации позинома h(x_1, x_2).

Краткие итоги

Сформулирована задача геометрического программирования без ограничений. Описана процедура понижения размерности задачи в случае очевидной и неочевидной линейной зависимости.

< Лекция 1 || Лекция 2: 12 || Лекция 3 >
Васильевич Иван
Васильевич Иван

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