Рефераты. Методы исследования операций

min g(y1, y2, y3)= b1y1 + b2y2 + b3y3, (4)

y1³ 0, y2³ 0, y3³ 0.

Такую задачу называют двойственной задачей по отношению к задаче (1), называемой прямой.

Запишем теперь прямую и двойственную задачи в общем случае. Прямая задача

  (5)

при условиях

 (6)

. (7)

Двойственная задача

 (8)

при условиях

 (9)

. (10)

Сопоставляя формы записи прямой и двойственной задач, можно установить между ними следующие взаимосвязи:

1) если прямая задача является задачей максимизации, то двойственная будет задачей минимизации, и наоборот;

2) коэффициенты целевой функции прямой задачи c1, c2, …, cn становятся свободными членами ограничений двойственной задачи;

3) свободные члены ограничений прямой задачи b1, b2, …, bm становятся коэффициентами целевой функции двойственной задачи;

4) матрицу ограничений двойственной задачи получают транспонированием матрицы ограничений прямой задачи;

5) если знаки всех неравенств в ограничениях прямой «£», то в двойственной задаче все ограничения будут иметь знак «³»;

6) число ограничений прямой задачи равно числу переменных двойственной задачи, а число ограничений двойственной задачи равно числу переменных прямой задачи.

Переменные y1, y2,…, ym двойственной задачи иногда называют «теневыми ценами».

Двойственную задачу выгоднее решать, чем исходную прямую, если в прямой задаче при малом количестве переменных имеется большое количество ограничений (т > n).

Связь между оптимальными решениями прямой и двойственной за­дач устанавливают посредством следующих теорем теории двойственности.

Теорема. Если x0 и у0 — допустимые решения прямой и двойственной задач, т. е. если Ах0 £ b и АTy0 ³ с, то

cTx0£ bTy0,

т. е. значения целевой функции прямой задачи никогда не превышают значений целевой функции двойственной задачи.

Теорема(основная теорема двойственности). Если x0 и у0 — допустимые решения прямой и двойственной задач и если cTx0=bTy0, то x0 и у0 — оптимальные решения пары двойственных задач.

Теорема. Если в оптимальном решении прямой задачи i-е ограничение выполняется как строгое неравенство, то оптимальное значение соответствующей двойственной переменной равно нулю.

Смысл этой теоремы состоит в следующем. Если некоторый ресурс bi имеется в избытке и i-е ограничение при оптимальном решении выполняется как строгое неравенство, то оно становится несущественным, и оптимальная цена соответствующего ресурса равна 0.

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

Экономическая интерпретация этой теоремы: поскольку величины yj представляют собой цены соответствующих ресурсов, то  — это затраты на i-й технологический процесс, величина сi — прибыль от реализации на единицу изделия. Поэтому с экономической точки зрения теорема означает следующее: если i-й технологический процесс оказывается строго невыгодным с точки зрения оптимальных цен ресурсов уопт, то в оптимальном решении прямой задачи интенсивность использования данного технологического процесса хi должна быть равна 0.

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

Теорема (теорема существования). Прямая и двойственная задачи имеют оптимальные решения тогда и только тогда, когда обе они имеют допустимые решения.

Теорема (теорема двойственности). Допустимый вектор x0 оптимален тогда и только тогда, когда в двойственной задаче имеется такое допустимое решение уо, что

.

Методы решения целочисленных ЗЛП.

Целочисленное программирование ориентировано на решение задач математического программирования, в которых все или некоторые переменные должны принимать только целочисленные значения. Задача называется полностью целочисленной, если условие целочисленности наложено на все переменные; когда это условие относится лишь к некоторым переменным, задача называется частично целочисленной. Если при этом целевая функция и функции, входящие в ограничения, линейные, то задача является задачей линейного программирования.

Методы решения задач целочисленного программирования можно классифицировать как методы отсечений (1) и комбинаторные методы (2).

Исходной задачей для методов отсечений, используемых при решении линейных целочисленных задач, является задача с ослабленными ограничениями, которая возникает в результате исключения требования целочисленности переменных. По мере введения специальных дополнительных ограничений, учитывающих требования целочисленности, многогранник допустимых решений ослабленной задачи постепенно деформируется до тех пор, пока координаты допустимого решения не станут целочисленными. Название «методы отсечений» связано с тем обстоятельством, что вводимые дополнительные ограничения отсекают (исключают) некоторые области многогранника допустимых решений, в которых отсутствуют точки с целочисленными координатами,

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

В случае, когда целочисленные переменные являются булевыми, применяются комбинированные методы. Булевы свойства переменных существенно упрощают поиск решения.

Алгоритм метода отсечений для решения полностью целочисленной задачи.

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

Алгоритм состоит в следующем. На первом шаге решается задача с ослабленными ограничениями, не содержащая условий целочисленности переменных. Если полученное оптимальное решение оказывается целочисленным, то оно является также решением исходной задачи. В противном случае следует ввести дополнительные ограничения, порождающие (вместе с некоторыми ограничениями) новую задачу линейного программирования, решение которой оказывается целочисленным и совпадает с оптимальным решением исходной целочисленной задачи. Пусть последняя симплекс-таблица задачи с ослабленными ограничениями имеет следующий вид:


Базисные переменные

x1

xi

xm

w1

wj

wn

Решение

Z

0

0

0

C1

Cj

Cn

b0

x1

1

0

0

a11

aj1

an1

b1

xi

0

1

0

a1i

aji

ani

bi

...

xm

0

0

1

a1m

ajm

anm

bm


Рассмотрим i-ую строку, которой соответствует нецелое значение базисной переменной xi, и выразим xi через небазисные переменные:

, bI – нецелое.

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

Страницы: 1, 2, 3, 4, 5



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.