Специальные задачи линейного программирования: транспортная задача, решение средствами 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, запасы которого равны
.
Стоимость перевозки единицы груза до фиктивного потребителя или от фиктивного поставщика приравнивается нулю, так как груз в обоих случаях фактически не перевозится.
,
.