Сделай Сам Свою Работу на 5

Двойственные задачи линейного программирования

Линейное программирование. Постановка задач линейного программирования

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

Математическая модель ЗЛП :

1.Максимум или минимум целевой функции(критерий оптимальности).

2.Система ограничений в форме линейных уравнений и неравенств.

3.Неотрицательность переменных.

Решение, удовлетворяющее системе ограничений и требованиям неотрицательности решений является допустимым, а решения, удовлетворяющие одновременно с этим и условиям min/max являются оптимизированными.

Общий вид ЗЛП

Max(min)F(x)=c1x1+c2x2+…cnxn

A11x1+a12x2+…a1nxn<=b1

A21x1+a22x2+…a2nxn<=b2

Am1x1+am2x2+…amnxn<=bnm, x1,x2,…xn>=0

Свойства ЗЛП:

1.Допустимое множество решений ЗЛП либо пустое, либо является выпуклым многогранником.

2.Если допустимое множество не пустое, а целевая функция ограничена сверху для максимизации, а снизу – для минимизации, то она имеет оптимальное решение.

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

Графический метод решения ЗЛП

Если число неизвестных равно 2, то ее можно решить графическим методом. Найти решение X=(x1,x2)? Удовлетворяющее условию max(min)z=c1x1+c2x2. При ограничениях сумм j от 1 до n (aij*xj)<=bj, x1, x2 >=0.

Каждое из неравенств 2 определяет на координатной плоскости полуплоскость, а система неравенств 2 и 3 в случае ее совместимости – пересечение плоскостей. Это будет выпуклое множество, которое может быть представлено как:

1.Выпуклый многоугольник.

2.Выпуклая неограниченная многоугольная область.

3.Отрезок.

4.Луч.



5.Одна точка.

6.Пустое множество.

Геометрическая интерпретация целевой функции:

Z=C1X1+C2X2 (1)

При фиксированных значениях Z=Z0 определяет линию z0=c1x1+c2x.

При изменении Z получим семейство параллельных прямых, называемых линиями уровня.

Вектор С=(С1 , С2) с координатами при x1 и x2 перпендикулярен каждой из линий уровня.

Вектор С показывает направления наибольшего возрастания (убывания) целевой функции.

Если построить на одном рисунке область допустимых решений вектор С и одну из линий уровня, например Z=0, то задача сводится к определению области допустимых решений точки направления вектора С, через которую проходит линия уровня Z макс(мин), соответствующая наибольшему(меньшему) значению функции Z. Если задача рерзрешима могкт представиться следующие случаи:

1.Задача имеет единственное решение.

2.Задача имеет бесконечное множество решений(альтернативный оптимум).

3.Целевая функция не ограничена, область допустимых решений – единственная точка(рис. 1).

Симплекс-метод

Построение начального опорного плана

Рассмотрим 3 случая.

1) Пусть система ограничений имеет вид

Xi+ ijXj=bi , bi=>0,(i=1,m)

X0=(0,0,…,0,bi)

Z(x0)=0.

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

2)

ijXj<=bi, bi>=0

Xn+i>=0

Дополнительную переменную вводят с коэффициентом равным 0

ijXj+Xn+1=bi, bi>=0

X0=(0,…,0,b1,...,bm)

3)

ijXj>=bi , bi>=0

ijXj-Xn+i=bi

M-задача

Max(min)Z= jXj-(+)M i

 

Симплексные таблицы

Признак оптимальности опорного плана. Задача максимизации

Если для некоторого опорного плана все оценки dj неотрицательны, то такой план оптимален. Если же исходная задача на минимум и dj не положительны, то такой план оптимален.

Рассмотрим переход к нехудшему опорному плану на примере задачи ЛП на макс.

Если в индексной строке dj < 0, то план не оптимален и его можно улучшить. Среди отрицательных оценок находят максимальную по абсолютной величине.

Max|dj|=|dj0|

Если задача на минимум, то разрешающий столбец Max|dj|=|dj0|

Переменную Xj0, следует ввести в базис. Для определения переменной , выводимой из базиса, находят отношения: Bi/Aij , Aij >0

Min = Bi0/Ai0j0

НА пересечении разрешающей строки и разреш столбца находиться разр элемент.

1.Элементы строки I0 новой таблицы равны соответствующим элементам разрешающей строки предыдущей таблицы деленной на разреш элемент.

2.Все элементы столбцы J0 равны 0, за исключением разрешающего элемента.

3.Все остальные элементы новой таблицы высчитываются по правилу: произведение главной диагонали минус произведение побочной диагонали деленной на разрешающий элемент.

Три признака:

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

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

3.Признак несовместности системы ограничений. Если в оптимальном плане М-задачи не все искусственные переменные равны 0, то система ограничений исходной задачи несовместна.

Двойственные задачи линейного программирования

С каждой задачей линейного программирования тесно связана другая линейная задача, называемая двойственной. Первоначальная задача – прямая или исходная. Пара симметричных двойственных задач ЛП имеет следующий вид:

Прямая - maxZ = Xj>=0

Двойственная minZ = Xj>=0

Пара двойственных задач может быть экономически интерпретирована:

Прямая – Сколько и какой продукции Xj надо произвести чтобы при заданных стоимостях единицы продукции Cj объемах ресурсов Bi и нормах расхода Aij максимизироваит выпуск продукции в стоимостном выражениии.

Двойственная – Какова должна быть оценка единицы каждого из ресурсов чтобы при заданных Bi Cj Aij минимизировать общую оценку затрат на все ресурсы.

Правила построения :

1.Упорядочивается запись исходной задачи, т.е. если целевая функция задачи максимизируется, то ограничения неравенства должны быть > или =(для минимиз < или =) Достигается умножением ограничений на -1.

2.Если прямая задача решается на максимум, то двойственная на минимум.

3.Каждому ограничению прямой задачи соответствует переменная двойственной задачи и наоборот.

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

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

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

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

 

Транспортная задача

Представим транспортную задачу по критерию стоимости в виде таблицы

Поставщики ПОТРЕБИТЕЛИ Запас груза
B1 B2 Bn
А1 X11 c11 X12 c12 X1n c1n a1
     
Аm       an
Потребность в грузе b1        

 

В таблице указаны поставщики А1… , у которых имеется в наличии соответственно а1… единиц однородного груза. Данный груз должен быть доставлен n потребителям, в количествах в1… единиц, заданы стоимости сij перевозок груза от i поставщика j потребителю. Требуется спланировать перевозки(указать, сколько единиц груза должно быть отправлено от I того поставщика j потребителю, так чтобы максимально удовлетворить спрос потребителя и чтобы суммарные затрата на перевозки были при этом минимальными).

c1 – цена.

Задачи, где суммарные запасы грузов поставщиков равны суммарным потребностям, называются закрытыми.

I != I – то задача открытая.

При решении транспортных задач важное значение имеет теорема о ранге матрицы:

Ранг матрицы транспортной задачи на 1 меньше числа уравнений(r=m+n-1).

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

1.Определение исходного опорного плана.

2.Оценка этого плана.

3.Переход к следующему плану путем однократной замены одной из базисных переменных на свободную.

Существуют различные способы реализации этапов решения транспортной задачи:

- правило северо-западного угла

- правило минимального элемента

- метод Фогеля4

- метод потенциалов

Метод потенциалов

Перейдем к построению оптимального плана перевозок. По данному опорному плану, у которого число занятых клеток m+n-1. Каждому поставщику и каждому потребителю передается число, называемое потенциалом. Потенциалы выбираются так, чтобы их сумма для каждой загруженной грузом клетки была равна тарифу перевозки единицы груза. Так если клетка (I,k) – базисная(занятая), то ui +vk=Cik где у итое потенциал итого поставщика.

Тогда вычисляем оценки свободных клеток по формуле: Sij=Cij-(Ui+Vj)

Если для свободных клеток все оценки Sij больше или ровны 0, то полученный план перевозок оптимален. При наличии хотя бы одной оценки Sij < 0 число базисных вводят в клетку, для которой оценка Sij минимальной. Для такой клетки строится цикл и производится перемещение груза так, чтобы баланс цикла сохранялся.

A/B B1(80) B2(170) B3(150) B4(180) B5(70)
A1(300) 4/80 7/- 1/150 5/- 2/70
A2(150) 6/- 2/- 4/- 1/150 3/0
A3(200) 5/- 6/170 7/- 4/30 8/-

 

U1=0

U2=

U3=
В заполненой клетке таріф равен сумме потенциалов

A/B B1(80) B2(170) B3(150) B4(180) B5(70)
A1(300) 4/80 7/- 1/150 5/- 2/70
A2(150) 6/- 2/- 4/- 1/150 3/0
A3(200) 5/- 6/170 7/- 4/30 8/-

 

 

V1=4

V2=2

V3=1

V4=0

V5=2

S12=5

S14=5

S21=1

S22=-1

S23=2

S31=-2

S33=2

S35=2

 

A/B B1(80) B2(170) B3(150) B4(180) B5(70)
A1(300) 4/80 7/- 1/150 5/- 2/70
A2(150) 6/- 2/- 4/- 1/150 3/-
A3(200) 5/0 6/170 7/- 4/30 8/-

 

F=320+150+140+150+1020+120=1900

A/B B1(80) B2(170) B3(150) B4(180) B5(70)
A1(300) 4/80 7/- 1/150 5/- 2/70
A2(150) 6/- 2/- 4/- 1/150 3/-
A3(200) 5/0 6/170 7/- 4/30 8/-

 

 

-2

4 5 1 3 2

A/B B1(80) B2(170) B3(150) B4(180) B5(70)
A1(300) 4/80 7/- 1/150 5/- 2/70
A2(150) 6/- 2/150 4/- 1/- 3/-
A3(200) 5/0 6/20 7/- 4/180 8/-

 

 

-3

4 5 1 3 2

S12=7-0-5=2

S14=5-0-3=2

S21=6+3-4=5

S23=4+3-1=6

S24=1+3-3=1

S25=3+3-2

S31=5-1-4=0

S33=7-1-1=5

S35=8-1-2=5

F=1750

 

A/B B1() B2(170) B3(150) B4(180)
A1(40) 6/- 4/10 2/30 7/-
A2(36) 8/24 10/10 14/- 12/2
A3(24) 16/- 12/- 6/- 13/24

 

 

2 4 2 6

S11=4

S14=1

S23=6

S31=7

S32=1

S33=-3

Min(30,10,24)

A/B B1() B2(170) B3(150) B4(180)
A1(40) 6/- 4/20 2/20 7/-
A2(36) 8/24 10/- 14/- 12/12
A3(24) 16/- 12/- 6/10 13/14

 

 

5 4 2 9

S11=1

S14=-2

S22=3

S23=9

s31=7

s32=4

min(14,20)=14

 

  В1(50) В2(55) В3(70) В4(45) В5(10)  
А1(60) 4\15 10\- 5\- 3\45 0\-
А2(100) 6\30 7\- 2\70 8- 0\-
А3(70) 8\5 9\55 12\- 11\- 0\10
  -4  

 

230-220 = 10 ЗНАЧИТ ДОБАВИМ В5

 

 

S12=10-0-5=5 S13=-5 S15=4 S22=0 S24=3 S25=3 S33=8 S34=4

F=60+135+180+140+40+495=1050

 



©2015- 2019 stydopedia.ru Все материалы защищены законодательством РФ.