5. Критерий оптимальности базисного решения транспортной задачи. Методы отыскания оптимального решения.
Из сказанного в предыдущем пункте вытекает следующий критерий оптимальности базисного решения транспортной задачи: если для некоторого базисного плана перевозок алгебраические суммы тарифов по циклам для всех свободных клеток неотрицательны, то этот план оптимальный.
Отсюда вытекает способ отыскания оптимального решения транспортной задачи, состоящий в том, что, имея некоторое базисное решение, вычисляют алгебраические суммы тарифов для всех свободных клеток. Если критерий оптимальности выполнен, то данное решение является оптимальным; если же имеются клетки с отрицательными алгебраическими суммами тарифов, то переходят к новому базису, производя пересчет по циклу, соответствующему одной из таких клеток. Полученное таким образом новое базисное решение будет лучше исходного – затраты на его реализацию будут меньшими. Для нового решения также проверяют выполнимость критерия оптимальности и в случае необходимости снова совершают пересчет по циклу для одной из клеток с отрицательной алгебраической суммой тарифов и т. д.
Через конечное число шагов приходят к искомому оптимальному базисному решению.
В случае если алгебраические суммы тарифов для всех свободных клеток положительны, мы имеем единственное оптимальное решение; если же алгебраические суммы тарифов для всех свободных клеток неотрицательны, но среди них имеются алгебраические суммы тарифов, равные нулю, то оптимальное решение не единственное: при пересчете по циклу для клетки с нулевой алгебраической суммой тарифов мы получим оптимальное же решение, но отличное от исходного (затраты по обоим планам будут одинаковыми).
В зависимости от методов подсчета алгебраических сумм тарифов для свободных клеток различают два метода отыскания оптимального решения транспортной задачи:
1. Распределительный метод. При этом методе для каждой пустой клетки строят цикл и для каждого цикла непосредственно вычисляют алгебраическую сумму тарифов.
2. Метод потенциалов. При этом методе предварительно находят потенциалы баз и потребителей, а затем вычисляют для каждой пустой клетки алгебраическую сумму тарифов с помощью потенциалов.
Преимущества метода потенциалов по сравнению с распределительным методом состоят в том, что отпадает необходимость построения циклов для каждой из пустых клеток и упрощается вычисление алгебраических сумм тарифов. Цикл строится только один – тот, по которому производится пересчет.
Применяя метод потенциалов, можно говорить не о знаке алгебраических сумм тарифов, а о сравнении косвенных тарифов с истинными. Требование неотрицательности алгебраических сумм тарифов заменяется условием, что косвенные тарифы не превосходят истинных.
Следует иметь в виду, что потенциалы (так же как и циклы) для каждого нового базисного плана определяются заново.
Выше рассматривалась закрытая модель транспортной задачи, с правильным балансом, когда выполняется условие (1.3). В случае выполнения (1.4) (открытая модель) баланс транспортной задачи может нарушаться в 2-ух направлениях:
1. Сумма запасов в пунктах отправления превышает сумму поданных заявок (транспортная задача с избытком запасов):
å аi > å bj ( где i=1,...,m ; j=1,...,n );
2. Сумма поданных заявок превышает наличные запасы (транспортная задача с избытком заявок):
å аi < å bj ( где i=1,...,m ; j=1,...,n );
Рассмотрим последовательно эти два случая:
Транспортная задача с избытком запасов.
Сведем её к ранее рассмотренной транспортной задаче с правильным балансом. Для этого, сверх имеющихся n пунктов назначения В1, B2, ... , Bn, введём ещё один, фиктивный, пункт назначения Bn+1, которому припишем фиктивную заявку, равную избытку запасов над заявками
bn+1 = å аi - å bj ( где i=1,...,m ; j=1,...,n ) ,
а стоимость перевозок из всех пунктов отправления в фиктивный пункт назначения bn+1 будем считать равной нулю. Введением фиктивного пункта назначения Bn+1 с его заявкой bn+1 мы сравняли баланс транспортной задачи, и теперь ее можно решать, как обычную транспортную задачу с правильным балансом.
Транспортная задача с избытком заявок.
Эту задачу можно свести к обычной транспортной задаче с правильным балансом, если ввести фиктивный пункт отправления Am+1 с запасом am+1 равным недостающему запасу, и стоимость перевозок из фиктивного пункта отправления во все пункты назначения принять равной нулю.
6. Задача, двойственная к транспортной.
Построим задачу, двойственную к транспортной. С этой целью вспомним, что каждому пункту отправления и назначения отвечает определенное ограничение
|
В то же время каждому ограничению из (6.1) сопоставляется определенная неизвестная в двойственной задаче. Тем самым устанавливается соответствие между всеми пунктами и и всеми неизвестными двойственной задачи.
Обозначим неизвестную в двойственной задаче, отвечающую пункту отправления , через , а пункту назначения – через .
Каждому неизвестному в транспортной задаче соответствует ограничение, связывающее неизвестные в двойственной задаче. Неизвестное входит ровно в два ограничения системы (6.1): одно из них отвечает пункту , а другое – пункту . В обоих этих уравнениях коэффициент при равен 1. Поэтому соответствующее ограничение в двойственной задаче имеет вид
|
.
Правая часть неравенства (6.2) равна , потому что именно с этим коэффициентом неизвестная входит в минимизируемую формулу (2.4).
Оптимизируемая форма двойственной задачи имеет вид
|
Таким образом, задача двойственная к транспортной формулируется следующим образом. При ограничениях (6.2) максимизировать формулу (6.3). Подчеркнем, что знак значений неизвестных и может быть произвольным.
Предположим, что нам известно некоторое допустимое базисное решение транспортной задачи, в котором все базисные неизвестные строго положительны. Это решение оптимально лишь в том случае, когда соответствующая ей система оказывается совместной. Эта система возникает из системы (6.2), если в ней все неравенства, отвечающие базисным неизвестным заменить точными равенствами.
В итоге приходим к соотношению:
|
Тем самым мы убеждаемся, что признак оптимальности в работе по методу потенциалов совпадает с необходимым и достаточным условием оптимальности.
7.Пример решения транспортной задачи.
В городе N имеется 4 склада Аi, на которых хранится ткань (в рулонах) и 5 магазинов Bj, занимающихся продажей ткани. Ниже, в таблице, приведены данные по количеству рулонов на каждом складе, запросы магазинов и стоимость перевозки одного рулона из Аi в Bj. Необходимо составить такой план перевозок, при котором запросы магазинов будут удовлетворены при минимальной суммарной стоимости перевозок.
Магазины Склад | B1 (b1=40) | B2 (b2=50) | B3 (b3=15) | B4 (b4=75) | B5 (b5=40) |
А1 (а1=50) | 1,0 | 2,0 | 3,0 | 2,5 | 3,5 |
А2(а2=20) | 0,4 | 3,0 | 1,0 | 2,0 | 3,0 |
А3(а3=75) | 0,7 | 1,0 | 1,0 | 0,8 | 1,5 |
А4(а4=80) | 1,2 | 2,0 | 2,0 | 1,5 | 2,5 |
В данном случае Σai=225 >Σbj=220 => имеем дело с открытой моделью транспортной задачи. Сведем ее к закрытой введением фиктивного магазина B6 с потребностью b5=225-220=5 и стоимостью перевозок сi6=0.Имеем таблицу:
Магазины Склад | B1 (b1=40) | B2 (b2=50) | B3 (b3=15) | B4 (b4=75) | B5 (b5=40) | B6 (b6=5) |
А1 (а1=50) | 1,0 | 2,0 | 3,0 | 2,5 | 3,5 | 0 |
А2(а2=20) | 0,4 | 3,0 | 1,0 | 2,0 | 3,0 | 0 |
А3(а3=75) | 0,7 | 1,0 | 1,0 | 0,8 | 1,5 | 0 |
А4(а4=80) | 1,2 | 2,0 | 2,0 | 1,5 | 2,5 | 0 |
Математическая модель: обозначим xij – количество товара, перевозимого из Аi в Bj. Тогда
x11 x12 x13 x14 x15 x16
x21 x22 x23 x24 x25 x26
X = x31 x32 x33 x34 x35 x36 - матрица перевозок.
x41 x42 x43 x44 x45 x46
min(x11+2x12+3x13+2,5x14+3,5x15+0,4x21+3x22+x23+2x24+3x25+0,7x31+x32+x33+0,8x34+1,5x35++1,2x41+2x42+2x43+1,5x44+2,5x45) (1)
x11+x12+x13+x14+x15+x16=50
x21+x22+x23+x24+x25+x26=20
x31+x32+x33+x34+x35+x36=75
x41+x42+x43+x44+x45+x46=80
x11+x21+x31+x41=40 (2)
x12+x22+x32+x42=50
x13+x23+x33+x43=15
x14+x24+x34+x44=75
x15+x25+x35+x45=40
x16+x26+x36+x46=5
xij≥0 (i=1,2,3,4 ; j=1,2,3,4,5,6 ) (3)
Двойственная ЗЛП:
max(50u1+20u2+75u3+80u4+40v1+50v2+15v3+75v4+40v5+5v6) (1*)
u1+v1≤1
u1+v2≤2
u1+v3≤3 (2*)
u1+v4≤2,5
u1+v5≤3,5
u1+v6≤0
ui,vj – произвольные (i=1,2,3,4 ; j=1,2,3,4,5,6 ) (3*)
Будем искать первоначальный план по методу наименьшей стоимости:
1) x21=20и 2-ую строку исключаем.2) x31=20и 1-ый столбец исключаем.
3) x34=55и 3-ю строку исключаем.4) x44=20и 4-ый столбец исключаем.
5) x12=50 и 1-ю строку и 2-ой столбец исключаем и x32=0. 6) x43=150 и 3-ий столбец исключаем.7) x45=40 и 5-ый столбец исключаем.x46=5.Составим таблицу. Здесь и далее в нижнем правом углу записываем значение перевозки.
Магазины Склад | B1 (b1=40) | B2 (b2=50) | B3 (b3=15) | B4 (b4=75) | B5 (b5=40) | B6 (b6=5) | ||||||||
А1 (а1=50) | 1,0 |
| 3,0 | 2,5 | 3,5 | 0 | ||||||||
А2(а2=20) | 0,4
| 3,0 | 1,0 | 2,0 | 3,0 | 0 | ||||||||
А3(а3=75) | 0,7
|
| 1,0 |
| 1,5 | 0 | ||||||||
А4(а4=80) | 1,2 | 2,0 |
|
|
|
|
Стоимость 1-ого плана:
D1=2•50+0,4•20+0,7•20+0,8•55+2•15+1,5•20+2,5•40=326.
Будем улучшать этот план методом потенциалов: ui- потенциал Аi ,vj- потенциал Bj. Тогда u1+v2=2,u2+v1=0,4, u3+v1=0,7, u3+v2=1, u3+v4=0,8, u4+v3=2, u4+v4=1,5, u4+v5=2,5 ,u4+v6=0.Положим u1=0,тогда v2=2,u3=-1,v1=1,7,v4=1,8, u2=-1,3,u4=-0,3, v3=2,3,v5=2,8,v6=0,3.Составим таблицу:
Магазины Склад | B1 (b1=40) v1=1,7 | B2 (b2=50) v2=2 | B3 (b3=15) v3=2,3 | B4 (b4=75) v4=1,8 | B5 (b5=40) v5=2,8 | B6 (b6=5) v6=0,3 | ||||||||||||||||||||
А1 (а1=50) U1=0 | 1,0 | 2,0 | 3,0 | 2,5 | 3,5 | 0 | ||||||||||||||||||||
А2(а2=20) U2=-1,3 | 0,4 | 3,0 | 1,0 | 2,0 | 3,0 | 0 | ||||||||||||||||||||
U3=-1 |
|
|
|
|
| 0 | ||||||||||||||||||||
U4=-0,3 |
|
|
|
|
|
|
В верхнем левом углу здесь и далее записываем значение ui+vj-cij. Имеем: u1+v1--c11 =0,7>0, u1+v6-c16 =0,3>0, u3+v3-c33 =0,3>0, u3+v5-c35 =0,3>0,
u4+v1-c41 =0,2>0. => По критерию оптимальности, первый план не оптимален. Далее max(0,7;0,3;0,3;0,3;0,2)=0,7. => Поместим перевозку в клетку А1В1,сместив 20=min(20,50) по циклу, указанному в таблице штрихом. Получим новую таблицу. Найдем потенциалы: u1+v1=1,u1+v2=2,u2+v1=0,4,u3+v2=1, u3+v4=0,8, u4+v3=2, u4+v4=1,5, u4+v5=2,5 , u4+v6=0. Положим u1=0,тогда v1=1,u2=-0,6,v2=2,v4=1,8, u3=-1, u4=-0,3,v3=2,3,v5=2,8,v6=0,3. Составим таблицу:
Магазины Склад | B1 (b1=40) v1=1 | B2 (b2=50) v2=2 | B3 (b3=15) v3=2,3 | B4 (b4=75) v4=1,8 | B5 (b5=40) v5=2,8 | B6 (b6=5) v6=0,3 | ||||||||||||||||||||
U1=0 |
|
|
|
|
| 0 | ||||||||||||||||||||
U2=-0,6 |
|
|
|
|
| 0 | ||||||||||||||||||||
U3=-1 |
|
|
|
|
| 0 | ||||||||||||||||||||
U4=-0,3 |
|
|
|
|
|
|
Стоимость 2-ого плана:
D2=1•20+2•30+0,4•20+1•20+0,8•55+2•15+1,5•20+2,5•40=312.
Имеем:u1+v6-c16 =0,3>0, u2+v3-c23 =0,7>0, u3+v3-c33 =0,3>0, u3+v5-c35 =0,3>0. => По критерию оптимальности, второй план не оптимален. Далее max(0,3;0,7;0,3;0,3)=0,7 => Поместим перевозку в клетку А2В3,сместив 15=min(20,30,55,15) по циклу, указанному в таблице штрихом. Получим новую таблицу. Найдем потенциалы: u1+v1=1,u1+v2=2,u2+v1=0,4,u3+v2=1, u3+v4=0,8, u2+v3=1, u4+v4=1,5, u4+v5=2,5 , u4+v6=0. Положим u1=0,тогда v1=1,u2=-0,6,v2=2,v4=1,8, u3=-1, u4=-0,3,v3=1,6, v5=2,8, v6=0,3. Составим таблицу:
Магазины Склад | B1 (b1=40) v1=1 | B2 (b2=50) v2=2 | B3 (b3=15) v3=1,6 | B4 (b4=75) v4=1,8 | B5 (b5=40) v5=2,8 | B6 (b6=5) v6=0,3 | ||||||||||||||||||
U1=0 |
|
|
|
|
| 0 | ||||||||||||||||||
U2=-0,6 |
|
|
|
|
| 0 | ||||||||||||||||||
U3=-1 |
|
|
|
|
| 0 | ||||||||||||||||||
U4=-0,3 |
|
|
|
|
|
|
Стоимость 3-его плана:
D3=1•35+2•15+0,4•5+1•15+0,8•40+1•35+1,5•35+2,5•40=301,5.
Имеем:u1+v6-c16 =0,3>0,u3+v5-c35 =0,3>0. => По критерию оптимальности, третий план не оптимален. Далее max(0,3;0,3)=0,3. => Поместим перевозку в клетку А3В5,сместив 40=min(40,40) по циклу, указанному в таблице штрихом. Получим новую таблицу. Чтобы 4-ый план был невырожденным, оставим в клетке А4В5 нулевую перевозку. Найдем потенциалы: u1+v1=1,u1+v2=2,u2+v1=0,4,u3+v2=1, u4+v5=2,5, u2+v3=1, u4+v4=1,5, u3+v5=1,5 , u4+v6=0. Положим u1=0,тогда v1=1,u2=-0,6,v2=2,v4=1,5, u3=-1,u4=0, v3=1,6, v5=2,5, v6=0. Составим таблицу:
Магазины Склад | B1 (b1=40) v1=1 | B2 (b2=50) v2=2 | B3 (b3=15) v3=1,6 | B4 (b4=75) v4=1,5 | B5 (b5=40) v5=2,5 | B6 (b6=5) v6=0 | ||||||||||||||||||
U1=0 |
|
|
|
|
| 0 | ||||||||||||||||||
U2=-0,6 |
|
|
|
|
| 0 | ||||||||||||||||||
U3=-1 |
|
|
|
|
| 0 | ||||||||||||||||||
U4=0 |
|
|
|
|
|
|
Стоимость 4-ого плана: D4=1•35+2•15+0,4•5+1•15+1•35+1,5•40+1,5•75=289,5.
Для всех клеток последней таблицы выполнены условия оптимальности:
1)ui+vj-сij=0 для клеток, занятых перевозками;
2)ui+vj-сij≤0 для свободных клеток.
Несодержательные ответы:
Прямой ЗЛП:
35 15 0 0 0 0
5 0 15 0 0 0
X = 0 35 0 0 40 0
0 0 0 75 0 5
min=289,5.
Двойственной ЗЛП:
U1=0 ; U2=-0,6 ; U3=-1 ; U4=0 ; V1=1 ; V2=2 ; V3=1,6 ; V4=1,5 ; V5=2,5 ; V6=0.
max=289,5.
Так как min=max, то по критерию оптимальности найдены оптимальные решения прямой и двойственной ЗЛП. Содержательный ответ: Оптимально перевозить так:
Из А1 вB1 – 35 рулонов полотна;
Из А1 вB2 – 15 рулонов полотна;
Из А2 вB1 – 5 рулонов полотна;
Из А2 вB3 – 15 рулонов полотна;
Из А3 вB2 – 35 рулонов полотна;
Из А3 вB5 – 40 рулонов полотна;
Из А4 вB4 – 75 рулонов полотна.
При этом стоимость минимальна и составит Dmin=289,5. 5 рулонов полотна необходимо оставить на складе А4 для их последующей перевозки в другие магазины.
8.Выводы.
В курсовой работе изложены основные подходы и методы решения транспортной задачи, являющейся одной из наиболее распространенных задач линейного программирования. Решение данной задачи позволяет разработать наиболее рациональные пути и способы транспортирования товаров, устранить чрезмерно дальние, встречные, повторные перевозки. Все это сокращает время продвижения товаров, уменьшает затраты предприятий и фирм, связанные с осуществлением процессов снабжения сырьем, материалами, топливом, оборудованием и т.д.
Алгоритм и методы решения транспортной задачи могут быть использованы при решении некоторых экономических задач, не имеющих ничего общего с транспортировкой груза. В этом случае величины тарифов cij имеют различный смысл в зависимости от конкретной экономической задачи. К таким задачам относятся следующие:
- оптимальное закрепление за станками операций по обработке деталей. В них cij является таким экономическим показателем, как производительность. Задача позволяет определить, сколько времени и на какой операции нужно использовать каждый из станков, чтобы обработать максимальное количество деталей. Так как транспортная задача требует нахождения минимума, то значения cij берутся с отрицательным знаком;
- оптимальные назначения, или проблема выбора. Имеется m механизмов, которые могут выполнять m различных работ с производительностью cij. Задача позволяет определить, какой механизм и на какую работу надо назначить, чтобы добиться максимальной производительности;
- задача о сокращении производства с учетом суммарных расходов на изготовление и транспортировку продукции;
- увеличение производительности автомобильного транспорта за счет минимизации порожнего пробега. Уменьшение порожнего пробега сократит количество автомобилей для перевозок, увеличив их производительность;
- решение задач с помощью метода запрещения перевозок. Используется в том случае, если груз от некоторого поставщика по каким-то причинам не может быть отправлен одному из потребителей. Данное ограничение можно учесть, присвоив соответствующей клетке достаточно большое значение стоимости, тем самым в эту клетку не будут производиться перевозки.
Таким образом, важность решения данной задачи для экономики несомненна. Приятно осознавать, что у истоков создания теории линейного программирования и решения, в том числе и транспортной задачи, стоял русский ученый – Леонид Витальевич Канторович.
Список используемой литературы:
1. Кузнецов А.В., Сакович В.А., Холод Н.И. ”Высшая математика. Математическое программирование ”, Минск, Вышейшая школа, 2001г.
2. Красс М.С., Чупрынов Б.П. ”Основы математики и ее приложения в экономическом образовании”, Издательство “Дело”, Москва 2001г.
3. В.И. Ермаков “Общий курс высшей математики для экономистов”, Москва, Инфра-М, 2000г.
... . При этом значения cij соответствуют коэффициентам целевой функции исходной замкнутой транспортной задачи (1) и в последующем не изменяются. Элементы xij соответствуют значениям переменных промежуточных решений транспортной задачи линейного программирования и изменяются на каждой итерации алгоритма. Если в некоторой ячейке xij=0, то такая ячейка называется свободной, если же xij>0, то такая ...
... получение которого связано с большим объемом вычислительных работ. Обычно рассмотренный метод используется при вычислениях с помощью ЭВМ. Как и для всякой задачи линейного программирования, оптимальный план транспортной задачи является и опорным планом. Для определения оптимального плана транспортной задачи можно использовать изложенные выше методы. Однако ввиду исключительной практической ...
... задачи линейного программирования, они очень сложны и решаются специальными, обычно многостадийными приемами с использованием эвристических элементов. 3. Решение задач 3.1. Решение задачи линейного программирования 3.1.1.Постановка задачи Сформулируем задачу: Определить значения переменных, обеспечивающие минимизацию целевой функции. Составим целевую функцию и зададим ограничения. ...
... в этой области был отмечен Ленинской премией в 1965 году (присуждена ему совместно с В.С.Немчиновым и В.В.Новожиловым) и, как уже говорилось, Нобелевской премией в 1975 году.II.ОСНОВНЫЕ НАПРАВЛЕНИЯ ИСПОЛЬЗОВАНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ В ВОЕННОМ ДЕЛЕ.Наиболее распространенными направлениями использования линейного программирования в военном деле являются: задача о перевозках (транспортная ...
0 комментариев