- •Содержание
- •Введение
- •Лекция 1. Вводные понятия математического программирования
- •Лекция 2. Геометрическая интерпретация решения задач линейного программирования
- •Лекция 3. Практическая реализация графического метода решения задач линейного программирования
- •Лекция 4. Теоретическое обоснование симплекс- метода
- •Лекция 5. Симплекс-метод решения задач линейной оптимизации
- •Лекция 7. Экономико-математический анализ решения задач линейного программирования
- •Лекция 9. Транспортная задача
- •Лекция 10. Нахождение оптимального решения транспортной задачи
- •1. Для решения транспортной задачи удобно использовать метод потенциалов.
- •Лекция 12. Метод множителей лагранжа
- •Заключение
- •Приложение а. Инвестиционные задачи и нелинейное программирование
- •Лекция 14. Оптимальный портфель ценных бумаг
- •Лекция 15. Практические способы формирования оптимальных фондовых портфелей
- •Приложение б. Теория игр и задачи линейного про- граммирования Лекция 16. Экономические риски и теория игр
- •Литература
Лекция 9. Транспортная задача
План
1. Математическая модель транспортной задачи.
2. Методы построения начального опорного плана транспортной задачи.
1. Рассмотрим следующую задачу ЛП.
Пусть в регионе имеется m поставщиков угля (шахт) с запасами
a1 ,
a2 ,…,
am . В угле нуждаются n потребителей (тепловых электростанций) с по-
требностями
b1 ,
b2 ,…,
bn . Пусть
cij
( i = 1, m ,
j = 1, n ) – цена перевозки единицы
товара (например, за 1 т) от i -го поставщика j -му потребителю.
Требуется определить неизвестные величины
xij
( i = 1, m ,
j = 1, n ), обо-
значающие объём планируемой перевозки от i -го поставщика j -му потребите- лю. Будем стремиться минимизировать общую стоимость перевозок. Задачи та- кого типа называют транспортными задачами. Описанная задача однотовар-
ная.
Если выполняется условие
m n
∑ ai = ∑b j , то совокупные запасы поставщи-
i=1
j =1
ков совпадают с совокупными потребностями. Тогда это закрытая транспорт-
ная задача. В противном случае – открытая (с нарушенным балансом).
Решение открытой задачи сводится к закрытой. Поэтому сформулируем
математическую модель закрытой транспортной задачи.
Пусть Z – общая стоимость перевозок. Тогда мы ищем минимум целевой функции:
m n
Z = c11x11 + c12 x12 + ... + cmn xmn = ∑∑ cij xij → min . (1)
Запишем ограничения задачи:
⎪ x21
22
2n
2
⎪ + x + ... + x = a
⎪ xm1
m
2
mn
m
⎪ x11
21
m1
1
⎨ + x + ... + x = b
⎪ x12 + x22 + ... + xm 2 = b2
⎪
⎩
⎪ x1n + x2n + ... + xmn = bn
i=1
j =1
(2)
Объёмы перевозок должны быть неотрицательными:
xij ≥ 0
( i = 1, m ; j = 1, n ). (3)
Транспортные задачи удобно записывать табл. 1.
Табл. 1. Транспортная таблица
b j
ai
a1 x11
a2 x21
b1
c11
c21
x12
x22
b2
c12
…
c22
…
…
…
x1n
…
x2n
bn
c1n
c2n
… … … …
… … … … …
am xm1
cm1
xm 2
cm 2
…
…
xmn
cmn
Рассмотрим открытую транспортную задачу, у которой суммарные запа-
m n
сы поставщиков больше суммарного спроса потребителей:
∑ ai > ∑b j . Чтобы
i=1
j =1
сделать задачу закрытой вводят фиктивного (n + 1) -го потребителя с потребно-
m n
стью
bn+1 = ∑ ai − ∑b j
и стоимостью перевозок 0. В табл. 1 добавляют столбец
i=1
j =1
с этой информацией.
m n
Если же
∑ ai < ∑b j , то вводится фиктивный (m + 1) -й поставщик с запа-
сом
i=1
n m
am+1 = ∑b j − ∑ ai
j =1
и стоимостью перевозок 0. В табл. 1 добавляется строка.
j =1
i=1
Пример 1. Транспортная задача задана табл. 2.
Табл. 2. Данные задачи
b j 15 15 16 18
ai
4 1 2 1
20
4 6 3 2
30
5 2 1 4
10
Т.к.
3 4
∑ ai = 60 < ∑b j
= 64 , то это открытая транспортная задача. Введём
i=1
j =1
фиктивного 4-го поставщика с запасом
a4 = 64 − 60 = 4
и стоимостью перевозок
0. В табл. 2 добавляем строку и получаем табл. 3.
Табл. 3. Транспортная таблица с фиктивным поставщиком
b j 15 15 16 18
ai
4 1 2 1
20
4 6 3 2
30
5 2 1 4
10
0 0 0 0
4
2. Закрытая транспортная задача всегда имеет решение. Поэтому важно уметь находить начальный опорный план транспортной задачи, который был бы бли- зок к экстремальному значению целевой функции.
Рассмотрим метод северо-западного угла. Его суть заключается в том, что максимально возможная поставка помещается в северо-западную клетку таблицы. Т.е. максимально возможные поставки заполняют клетки слева напра-
во и построчно.
Пример 2. По данным примера 1 составим начальный опорный план с помощью метода северо-западного угла (табл. 4).
Табл. 4. Метод северо-западного угла
b j 15 15 16 18
ai
4 1 2 1
20 15 5
4 6 3 2
30 10 16 4
5 2 1 4
10 10
0 0 0 0
4 4
Начальный опорный план
⎛15 5 0 0 ⎞
⎜ ⎟
X (1) = ⎜ 0 10 16 4 ⎟ . Значение целевой
функции:
(1)
1 ⎜ 0 0 0 10 ⎟
⎝ ⎠
Z ( X1
) = 4 ⋅ 15 + 1 ⋅ 5 + 6 ⋅ 10 + 3 ⋅ 16 + 2 ⋅ 4 + 4 ⋅ 10 = 60 + 5 + 60 + 48 + 8 + 40 = 221.
Более удачным и, в тоже время, несложным является метод минималь- ной стоимости. Он состоит в том, что максимально возможные поставки необ- ходимо осуществлять для потребителей с наименьшей ценой перевозок слева направо по строке. Остальных – удовлетворять по остаточному принципу, на- ращивая цену.
Пример 3. По данным примера 1 составим начальный опорный план с помощью метода минимальной стоимости (табл. 5).
Табл. 5. Метод минимальной стоимости
b j 15 15 16 18
ai
4 1 2 1
20 15 5
4 6 3 2
30 1 16 13
5 2 1 4
10 10
4 4
0 0 0 0
Начальный опорный план
⎛ 0 15 0 5 ⎞
⎜ ⎟
X (2) = ⎜ 1 0 16 13 ⎟ . Значение целевой
1 1
(2)
1 ⎜10 0 0 0 ⎟
⎝ ⎠
Z ( X1
) = 1 ⋅ 15 + 1 ⋅ 5 + 4 ⋅ 1 + 3 ⋅ 16 + 2 ⋅ 13 + 5 ⋅ 10 = 15 + 5 + 4 + 48 + 26 + 50 = 148 .
Как и ожидалось
Z ( X (2) ) < Z ( X (1) ) , поэтому в дальнейшем будем ис-
пользовать только метод минимальной стоимости.
Замечание 1. Опорный план транспортной задачи должен содержать
m + n − 1 базисных неизвестных, т.е.
m + n − 1 заполненных клеток.
Пример 4. Рассмотрим транспортную задачу закрытого типа (табл. 6).
Табл. 6. Транспортная таблица примера 4
b j
ai
600
800
1000
400 600 800 600
4 3 2 1
2 1 7 9
3 6 8 4
Заполним транспортную таблицу методом минимальной стоимости по-
строчно (табл. 7).
Табл. 7. Заполненная транспортная таблица
b j 400 600 800 600
ai
4 3 2 1
600 600
2 1 7 9
800 200 600
3 6 8 4
1000 200 800
В табл. 7 заполнено 5 клеток, а должно быть (замечание 1) заполнено
m + n − 1 = 3 + 4 − 1 = 6 .
Нужна ещё одна заполненная клетка. Поэтому в одну из пустых клеток
следует поставить 0. Клетка с нулём не должна образовывать цикл с заполнен-
ными клетками.
Нельзя заполнять нулём клетку (2,3), т.к. образуется замкнутый прямо- угольный цикл (2,3); (3,3); (3,1); (2,1); (2,3). Также нельзя заполнять нулём клетку (3,2), т.к. образуется замкнутый прямоугольный цикл (3,2); (3,1); (2,1); (2,2); (3,2). Подробнее о циклах – в следующей лекции.
Другие пустые клетки можно заполнять нулём. Среди допустимых пус-
тых клеток желательно выбирать клетку с наименьшей ценой перевозки. В дан-
ной ситуации – это
возки 0 (табл. 8).
c13 = 2 . Поэтому занесём в пустую клетку (1,3) объём пере-
В этом случае говорят, что получено ацикличное, вырожденное опор-
ное решение.
Т.к. теперь заполненных клеток 6, то замечание 1 учтено.
Табл. 8. Транспортная таблица с учётом замечания 1
b j 400 600 800 600
ai
4 3 2 1
600 0 600
2 1 7 9
800 200 600
3 6 8 4
1000 200 800