Стандартная задача ЛП.

реклама
Постановка задачи линейного программирования и двойственная
задача линейного программирования.
Линейное программирование является составной частью раздела математики, который изучает методы нахождения условного экстремума функции
многих переменных и называется математическим программированием. В
классическом математическом анализе рассматривается задача отыскания
условного экстремума функции. Тем не менее, время показало, что для многих задач, возникающих под влиянием запросов практики, классические методы недостаточны. В связи с развитием техники, ростом промышленного
производства и с появлением ЭВМ все большую роль начали играть задачи
отыскания оптимальных решений в различных сферах человеческой деятельности. Основным инструментом при решении этих задач стало математическое моделирование — формальное описание изучаемого явления и исследование с помощью математического аппарата.
Искусство математического моделирования состоит в том, чтобы
учесть как можно больше факторов по возможности простыми средствами.
Именно в силу этого процесс моделирования часто носит итеративный характер. На первой стадии строится относительно простая модель и проводится ее исследование, позволяющее понять, какие из существенных свойств
изучаемого объекта не улавливаются данной формальной схемой. Затем происходит уточнение, усложнение модели.
В большинстве случаев первой степенью приближения к реальности
является модель, в которой все зависимости между переменными, характеризующими состояние объекта, предполагаются линейными. Здесь имеется
полная аналогия с тем, как весьма важна и зачастую исчерпывающая информация о поведении произвольной функции получается на основе изучения ее
производной — происходит замена этой функции в окрестности каждой точки линейной зависимостью. Значительное количество экономических, технических и других процессов достаточно хорошо и полно описывается линейными моделями.
1
Основные формы задачи ЛП.
Различают три основные формы задач линейного программирование в
зависимости от наличия ограничений разного типа.
Стандартная задача ЛП.
max( c1 x1  c 2 x 2  ...  c n x n )
a11 x1  a12 x 2  ...  a1n x n  b1 ,
a 21 x1  a 22 x 2  ...  a 2 n x n  b2 ,
...
a m1 x1  a m 2 x 2  ...  a mn x n  bm ,
x1  0, x 2  0,..., x n  0,
или, в матричной записи,
max  c, x 
Ax  b, x  0,
где x  ( x1 , x2 ,..., xn ), c  (c1 , c2 ,..., cn ), b  (b1 , b2 ,..., bm ), A  (aij ) — матрица коэффициентов. Вектор c называется вектором коэффициентов линейной формы, b —
вектором ограничений.
Стандартная задача важна ввиду наличия большого числа прикладных
моделей, сводящихся наиболее естественным образом к этому классу задач
ЛП.
Каноническая задача ЛП.
max( c1 x1  c 2 x 2  ...  c n x n )
a11 x1  a12 x 2  ...  a1n x n  b1 ,
a 21 x1  a 22 x 2  ...  a 2 n x n  b2 ,
...
a m1 x1  a m 2 x 2  ...  a mn x n  bm ,
x1  0, x 2  0,..., x n  0,
или, в матричной записи,
max  c, x 
Ax  b, x  0,
Основные вычислительные схемы решения задач ЛП разработаны
именно для канонической задачи.
Общая задача ЛП.
1
В этой задачи часть ограничений носит характер неравенств, а часть
является уравнениями. Кроме того, не на все переменные наложено условие
неотрицательности:
max( c1 x1  c2 x2  ...  cn xn )
a11 x1  a12 x2  ...  a1n xn  b1 ,
a21 x1  a22 x2  ...  a2 n xn  b2 ,
...
ak1 x1  ak 2 x2  ...  akn xn  bk ,
ak 1,1 x1  ak 1, 2 x2  ...  ak 1,n xn  bk 1 ,
ak  2,1 x1  ak  2, 2 x2  ...  ak  2,n xn  bk  2 ,
...
am1 x1  am 2 x2  ...  amn xn  bm ,
x1  0, x2  0,..., xr  0,
Здесь k  m, r  n . Ясно, что стандартная задача получается как частный
случай общей при k  m, r  n ; каноническая — при k  0, r  n .
Все три перечисленные задачи эквивалентны в том смысле, что каждую
из них можно простыми преобразованиями привести к любой из двух
остальных.
При изучении задач ЛП сложилась определенная терминалогия. Линейная форма  c, x  c1 x1  c2 x2  ...  cn xn , подлежащая максимизации (или минимизации) , называется целевой функцией. Вектор x  ( x1 , x2 ,..., xn ) , удовлетворяющий всем ограничениям задачи ЛП, называется допустимым вектором, или планом. Задача ЛП, для которой существуют допустимые векторы,
называется допустимой задачей. Допустимый вектор x * , доставляющий
наибольшее значение целевой функции по сравнению с любым другим допустимым вектором x , т.е.  c, x *  c, x  , называется решением задачи, или
оптимальным планом. Максимальное значение d  c, x *  целевой функции
называется значением задачи.
Двойственная задача линейного программирования.
Рассмотрим задачу ЛП
1
max( c1 x1  c2 x2  ...  cn xn )
a11x1  a12 x2  ...  a1n xn  b1 ,
a21x1  a22 x2  ...  a2 n xn  b2 , (1)
...
am1 x1  am 2 x2  ...  amn xn  bm ,
или, в матричной записи,
max  c, x 
Ax  b.
(2)
Задачей, двойственной к (1) (двойственной задачей), называется задача
ЛП от m переменных p1, p2 ,..., pm вида
min( b1 p1  b2 p2  ...  bm pm )
a11 p1  a21 p2  ...  am1 pm  c1 ,
a12 p1  a22 p2  ...  am 2 pm  c2 , (3)
...
a1n p1  a2 n p2  ...  amn pm  cn ,
или, в матричной записи,
min  b, p 
(4)
A' p  c, p  0,
где p  ( p1, p2 ,..., pm ) .
Правила построения задачи (3) по форме записи задачи (1) таковы: в
задаче (3) переменных pi столько же, сколько строк в матрице A задачи (1).
Матрица ограничений в (3) — транспортированная матрица A . Вектор правой части ограничений в (3) служит вектором коэффициентов максимизируемой линейной форме в (1), при этом знаки неравенств меняются на равенство. Наоборот, в качестве целевой функции в (3) выступает линейная форма,
коэффициентами которой задаются вектором правой части ограничений задачи (1), при этом максимизация меняется на минимизацию. На двойственные переменные pi накладывается условие неотрицательности. Задача (1), в
отличии от двойственной задачи (3) называется прямой.
Теорема двойственности. Если взаимодвойственные задачи (2), (4)
допустимы, то они обе имеют решение и одинаковое значение.
1
Теорема равновесия. Пусть x*  ( x1* , x2* ,..., xn* ), p*  ( p1* , p2* ,..., pm* ) — оптимальные планы прямой (1) и двойственной (3) задач соответственно. Тогда
если pi*  0, то
ai1 x1*  ai 2 x2*  ...  ain xn*  bi
1
Скачать