Специальные задачи линейного программирования: транспортная задача, решение средствами MS Excel
Транспортная задача является одной из наиболее распространенных задач линейного программирования и находит широкое практическое приложение.
Постановка задачи(об оптимальном закреплении потребителей к поставщикам). Некоторый однородный продукт, сосредоточенный у m производителей (поставщиков) Ai в количестве ai единиц, необходимо доставить n потребителям Bj в количестве bj единиц. Известна стоимость cij перевозки единицы груза от поставщика i к потребителю j. Необходимо составить план перевозок, позволяющий с минимальными затратами перевезти все грузы и полностью удовлетворить потребителей.
Часто исходные данные транспортной задачи записывают в виде таблицы (матрицы) планирования:
Потребитель Производитель | B1 | B2 | ¼ | Bn | Предложение (запасы) |
A1 | c11 | c12 | ¼ | c1n | a1 |
A2 | c21 | c22 | ¼ | c2n | a2 |
¼ | ¼ | ¼ | ¼ | ¼ | ¼ |
Am | cm1 | cm2 | ¼ | cmn | am |
Потребность (спрос) | b1 | b2 | ¼ | bn |
Составим экономико-математическую модель (транспортная задача относится к двухиндексным задачам линейного программирования):
1) вводим переменные: , где xij – количество единиц груза, перевозимых от поставщика i к потребителю j ; стоимость этой перевозки составит ;
2) задаем целевую функцию , которая выражает стоимость перевозок всех грузов;
3) из условий задачи составляем ограничения:
a) все грузы должны быть перевезены, т.е.
;
b) все потребности должны быть удовлетворены, т.е.
.
Таким образом, модель транспортной задачи имеет следующий вид:
Найти минимальное значение целевой функции | |
(10.1) | |
при ограничениях | |
, | (10.2) |
, | (10.3) |
, , . | (10.4) |
В рассмотренной модели предполагается, что суммарные запасы равны суммарным потребностям, т.е.
. | (10.5) |
Транспортная задача, в которой суммарные запасы и суммарные потребности совпадают, называется закрытой транспортной задачей, в противном случае получаем открытую транспортную задачу.
Замечание. Решение открытой ТЗ проводится сведением к закрытой ТЗ (введением фиктивного поставщика или фиктивного потребителя):
a) если суммарные запасы превышают суммарные потребности, то вводится фиктивный потребитель Bn+1, потребность которого равна ;
b) если суммарные потребности превышают суммарные запасы, то вводится фиктивный поставщик Am+1, запасы которого равны .
Стоимость перевозки единицы груза до фиктивного потребителя или от фиктивного поставщика приравнивается нулю, так как груз в обоих случаях фактически не перевозится.