Применение методов линейного программирования для оптимизации стоимости перевозок
В рассматриваемой нами системе только два уравнения, а именно первое горизонтальное и первое вертикальное, содержат более одного неизвестного из числа выбранных нами для построения базиса. Исключив из первого горизонтального уравнения базисные неизвестные с помощью вертикальных уравнений, мы получаем уравнение или короче где символ означает сумму всех свободных неизвестных. Аналогично, исключив… Читать ещё >
Применение методов линейного программирования для оптимизации стоимости перевозок (реферат, курсовая, диплом, контрольная)
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Реферат по дисциплине: Методы и модели в экономике и менеджменте.
на тему: «Применение методов линейного программирования для оптимизации стоимости перевозок»
Воронеж 2010
Под названием «транспортная задача» объединяется широкий круг задач с единой математической моделью. Данные задачи относятся к задачам линейного программирования и могут быть решены симплексным методом. Однако матрица системы ограничений транспортной задачи настолько своеобразна, что для ее решения разработаны специальные методы. Эти методы, как и симплексный метод, позволяют найти начальное опорное решение, а затем, улучшая его, получить оптимальное решение.
В общей постановке транспортная задача состоит в отыскании оптимального плана перевозок некоторого однородного груза с баз потребителям .
Различают два типа транспортных задач: но критерию стоимости (план перевозок оптимален, если достигнут минимум затрат на его реализацию) и по критерию времени (план оптимален, если на его реализацию затрачивается минимум времени).
Обозначим количество груза, имеющегося на каждой из баз (запасы), соответственно, а общее количество имеющегося в наличии груза-:
;
заказы каждого из потребителей (потребности) обозначим соответственно, а общее количество потребностей — :
Тогда при условии
мы имеем закрытую модель, а при условии
— открытую модель транспортной задачи.
Очевидно, в случае закрытой модели весь имеющийся в наличии груз развозится полностью, и все потребности заказчиков полностью удовлетворены; в случае же открытой модели либо все заказчики удовлетворены и при этом на некоторых базах остаются излишки груза, либо весь груз оказывается израсходованным, хотя потребности полностью не удовлетворены .
Так же существуют одноэтапные модели задач, где перевозка осуществляется напрямую от, например, базы или завода изготовителя к потребителю, и двухэтапные, где между ними имеется «перевалочный пункт», например — склад.
План перевозок с указанием запасов и потребностей удобно записывать в виде следующей таблицы, называемой таблицей перевозок (Таблица 3.):
Таблица 3. — План перевозок с указанием запасов и потребностей
Пункты Отправления | Пункты назначения | Запасы | ||||
… | ||||||
… | ||||||
… | ||||||
… | … | … | … | … | … | |
… | ||||||
Потребности | … | или | ||||
Условие или означает, с какой задачей мы имеем дело, с закрытой моделью или открытой моделью транспортной задачи. Переменное означает количество груза, перевозимого с базы потребителю: совокупность этих величин образует матрицу (матрицу перевозок).
Очевидно, переменные должны удовлетворять условиям:
Система (3.) содержит уравнений с неизвестными. Её особенность состоит в том, что коэффициенты при неизвестных всюду равны единице. Кроме того, все уравнения системы (3.) могут быть разделены на две группы: первая группа из т первых уравнений («горизонтальные» уравнения) и вторая группа из п остальных уравнений («вертикальные» уравнения). В каждом из горизонтальных уравнений содержатся неизвестные с одним и тем же первым индексом (они образуют одну строку матрицы перевозок), в каждом из вертикальных уравнений содержатся неизвестные с одним и тем же вторым индексом (они образуют один столбец матрицы перевозок). Таким образом, каждая неизвестная встречается в системе (3.) дважды: в одном и только одном горизонтальном и в одном и только одном вертикальном уравнениях.
Такая структура системы (3.) позволяет легко установить ее ранг. Действительно, покажем, что совокупность неизвестных, образующих первую строку и первый столбец матрицы перевозок, можно принять в качестве базиса. При таком выборе базиса, по крайней мере, один из двух их индексов равен единице, а, следовательно, свободные неизвестные определяются условием, .Перепишем систему (3.) в виде
где символы и означают суммирование по соответствующему индексу. Так, например,
При этом легко заметить, что под символами такого суммирования объединяются только свободные неизвестные (здесь ,).
В рассматриваемой нами системе только два уравнения, а именно первое горизонтальное и первое вертикальное, содержат более одного неизвестного из числа выбранных нами для построения базиса. Исключив из первого горизонтального уравнения базисные неизвестные с помощью вертикальных уравнений, мы получаем уравнение или короче где символ означает сумму всех свободных неизвестных. Аналогично, исключив из первого вертикального уравнения базисные неизвестные с помощью горизонтальных уравнений, мы получаем уравнение Так как для закрытой модели транспортной задачи, то полученные нами уравнения (3.) и (3.) одинаковы и, исключив из одного из них неизвестное, мы получим уравнение-тождество 0=0, которое из системы вычеркивается.
Итак, преобразование системы (3.) свелось к замене двух уравнений (первого горизонтального и первого вертикального) уравнением (3.). Остальные уравнения остаются неизменными. Система приняла вид
В системе (3.) выделен указанный выше базис: базисные неизвестные из первых т уравнений образуют первый столбец матрицы перевозок, а базисные неизвестные остальных уравнений образуют первую строку матрицы перевозок без первого неизвестного [она входит в первое уравнение системы (3.)]. В системе (3.) имеется уравнений, выделенный базис содержит неизвестных, а, следовательно, и ранг системы (3.) .
Для решения транспортной задачи необходимо кроме запасов и потребностей знать также и тарифы, т. е. стоимость перевозки единицы груза с базы потребителю .
Совокупность тарифов также образует матрицу, которую можно объединить с матрицей перевозок и данными о запасах и потребностях в одну таблицу 3.:
Таблица 3. — Совокупность тарифов данные о запасах и потребностях
Пункты Отправления | Пункты назначения | Запасы | |||||||
… | |||||||||
… | |||||||||
… | |||||||||
… | … | … | … | … | … | ||||
… | |||||||||
Потребности | … | или | |||||||
Сумма всех затрат, т. е. стоимость реализации данного плана перевозок, является линейной функцией переменных :
Требуется в области допустимых решений системы уравнений (3.) и (3.) найти решение, минимизирующее линейную функцию (3.).
Таким образом, мы видим, что транспортная задача является задачей линейного программирования. Для ее решения применяют также симплекс-метод, но в силу специфики задачи здесь можно обойтись без симплекс-таблиц. Решение можно получить путем некоторых преобразований таблицы перевозок. Эти преобразования соответствуют переходу от одного плана перевозок к другому. Но, как и в общем случае, оптимальное решение ищется среди базисных решений. Следовательно, мы будем иметь дело только с базисными (или опорными) планами. Так как в данном случае ранг системы ограничений-уравнений равен то среди всех неизвестных выделяется базисных неизвестных, а остальные · неизвестных являются свободными. В базисном решении свободные неизвестные равны нулю. Обычно эти нули в таблицу не вписывают, оставляя соответствующие клетки пустыми. Таким образом, в таблице перевозок, представляющей опорный план, мы имеем заполненных и · пустых клеток.
На предприятии ОАО «Электросигнал» имеется 4 транзитных склада Аi, на которых хранятся сборочные узлы и 5 цехов Bj, занимающихся сборкой готовой продукции. Ниже, в таблице 3., приведены данные по количеству сборочных узлов на каждом складе, запросы цехов и стоимость перевозки одного агрегата из Аi в Bj. Необходимо составить такой план перевозок, при котором запросы цехов будут удовлетворены при минимальной суммарной стоимости перевозок.
Таблица 3. — Исходные данные по количеству сборочных узлов и стоимость перевозки
Цеха Склад | 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.Имеем таблицу 3. :
Таблица 3. ;
Цеха Склад | 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 | ||
А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 | ||
Математическая модель: обозначим 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) (3.)
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
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) (3.)
u1+v1?1
u1+v2?2
u1+v3?3 (3.)
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)
Будем искать первоначальный план по методу наименьшей стоимости:
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.
Составим таблицу 3.. Здесь и далее в нижнем правом углу записываем значение перевозки.
Таблица 3. — Проведение итераций
Цеха Склад | 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 | ||
А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 | ||
Стоимость 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.Составим таблицу 3. :
Таблица 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 | ||
А2(а2=20) U2=-1,3 | 0,4 | 3,0 | 1,0 | 2,0 | 3,0 | ||
А3(а3=75) U3=-1 | 0,7 | 1,0 | 1,0 | 0,8 | 1,5 | ||
А4(а4=80) U4=-0,3 | 1,2 | 2,0 | 2,0 | 1,5 | 2,5 | ||
В верхнем левом углу здесь и далее записываем значение 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. Составим таблицу 3. :
Таблица 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 | |
А1 (а1=50) U1=0 | 1,0 | 2,0 | 3,0 | 2,5 | 3,5 | ||
А2(а2=20) U2=-0,6 | 0,4 | 3,0 | 1,0 | 2,0 | 3,0 | ||
А3(а3=75) U3=-1 | 0,7 | 1,0 | 1,0 | 0,8 | 1,5 | ||
А4(а4=80) U4=-0,3 | 1,2 | 2,0 | 2,0 | 1,5 | 2,5 | ||
Стоимость 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. Составим таблицу 3.:
Таблица 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 | |
А1 (а1=50) U1=0 | 1,0 | 2,0 | 3,0 | 2,5 | 3,5 | ||
А2(а2=20) U2=-0,6 | 0,4 | 3,0 | 1,0 | 2,0 | 3,0 | ||
А3(а3=75) U3=-1 | 0,7 | 1,0 | 1,0 | 0,8 | 1,5 | ||
А4(а4=80) U4=-0,3 | 1,2 | 2,0 | 2,0 | 1,5 | 2,5 | ||
Стоимость 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. Составим таблицу 3. :
Таблица 3. — Проведение итераций
Цеха Склад | 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 | |
А1 (а1=50) U1=0 | 1,0 | 2,0 | 3,0 | 2,5 | 3,5 | ||
А2(а2=20) U2=-0,6 | 0,4 | 3,0 | 1,0 | 2,0 | 3,0 | ||
А3(а3=75) U3=-1 | 0,7 | 1,0 | 1,0 | 0,8 | 1,5 | ||
А4(а4=80) U4=0 | 1,2 | 2,0 | 2,0 | 1,5 | 2,5 | ||
Стоимость 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 для их последующей перевозки в другие Цеха.
1. Е. Г. Гольштейн, Д. Б. Юдин «Задачи линейного программирования транспортного типа», Москва, 2007.
2. И. Л. Акулич, В. Ф. Стрельчонок «Математические методы и компьютерные технологии решения оптимизационных задач», Рига, 2006.
3. Астафуров В. Г., Колодникова Н. — Компьютерное учебное пособие, раздел «Анализ на чувствительность с помощью двойственной задачи», Томск-2004.
4. Алесинская Т. В. — Задачи по исследованию операций с решениями. Москва, 2008.
5. Смородинский С. С., Батин Н. В. — Оптимизация решений на основе методов и моделей математического программирования: Учебное пособие. Воронеж, 2009