Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИТТ ТЗ и ДП.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
577 Кб
Скачать
☆

К лабораторной работе №1

1. Транспортная задача линейного программирования

1.1. Общее решение Постановка задачи

Имеется n – пунктов отправления: A1, A2,…, Ai,…, An , в которых имеются однотипные продукты в количествах: a1, a2,…, ai,…, an, и m-пунктов назначения B1, B2,…, Bj,…, Bm с потребностями в продуктах (заявками) в количествах b1, b2,…, bj,…, bm. Все пункты отправления и пункты назначения связаны между собой транспортной сетью. Транспортные издержки задаются в виде матрицы

где ci,j – затраты на перевозку единицы продукта из пункта Ai в пункт Bj.

Задача относится к линейному программированию, так как линейна целевая функция W и линейны все ограничения области допустимых решений (ОДР).

Решением задачи является оптимальный план перевозок в виде матрицы

где хi,j – объём перевозки из пункта Ai в пункт Bj.

Целевая функция – минимум суммарных затрат на перевозки

(1)

Область допустимых решений:

Объём перевозки не может быть отрицательным

xi,j 0, 1 i n, 1 j m. (2)

Баланс по отправлению

1 i n. (3)

Баланс по назначению

1 j m. (4)

Баланс запасов и потребностей в продуктах

(5)

Если условие (5) выполнено, то задачу называют с правильным балансом. Только такая задача имеет математическое решение. Если задача с неправильным балансом, т.е. имеет место избыток продукта ( ) или его дефицит ( ), то для решения её нужно привести к правильному балансу (см. п. 1.2.).

Решение задачи

Транспортная задача решается в два этапа: составление опорного решения и улучшение решения – нахождение оптимального решения.

Опорное решение проще всего составляется методом северо-западного (левого верхнего) угла. В начале определяется x1,1 = min(a1, b1). Затем переходят к следующей соседней перевозке, куда заносят остаток от a1 или b1. Процедура продолжается слева–направо и сверху–вниз пока ни будут распределены все перевозки. В задаче с правильным балансом на перевозке xn,m условия (3) и (4) выполняются. В опорном решении выполняется условие – число ненулевых перевозок k = n + m – 1, если это условие не выполнено, вводится фиктивная ненулевая перевозка с бесконечно малым объёмом (xij = ).

Оптимальное решение находят методом потенциалов или фиктивных стоимостей. Потенциал i – это фиктивный платёж пункта отправления Ai за вывоз единицы продукта, потенциал j – это фиктивный платёж пункта назначения Bj за доставку единицы продукта. Суммарный потенциал

c*i,j = i +j. (6)

Для ненулевых перевозок c*i,j = ci,j , откуда

j = cij - i, (7)

i = cij - j. (8)

Число неизвестных i и j равно n + m, а уравнений k = n + m – 1, т.е. уравнений на одно меньше, чем неизвестных, поэтому одному из потенциалов нужно задать любое значение. Начинают решение задачи с присвоения 1 = 0. Далее по формулам (7) и (8) рассчитывают i и j для всех ненулевых перевозок. Затем для всех нулевых перевозок по формуле (6) рассчитывают значения c*i,j. Маршруты Ai Bj, для которых c*i,j > ci,j , более выгодны, чем использованные в рассматриваемом плане.

Перенос единицы перевозки на маршрут Ai Bj даёт экономию, равную c*i,j - ci,j. Выбирается маршрут Ai Bj, для которого max(c*i,j - ci,j) и для него строится цикл переноса перевозки. Цикл переноса перевозки представляет собой прямоугольную фигуру, одна из вершин которой находится в нулевой перевозке, соответствующей выбранному наиболее выгодному маршруту. Остальные вершины находятся в ненулевых перевозках. Каждой нулевой перевозке соответствует единственный цикл переноса перевозки. В пункте нулевой перевозки ставится знак «+», далее в вершинах цикла переноса перевозок знаки «-» и «+» чередуются. Они соответствуют увеличиваемым и уменьшаемым перевозкам. Выбирается меньшая из уменьшаемых перевозок, и она по циклу переносится на место нулевой перевозки. При этом появляется одна новая ненулевая перевозка и одна ненулевая становится нулевой, т.е. число ненулевых перевозок сохраняется (k = n + m – 1) и сохраняется все условия (3), (4). Процедура улучшения плана перевозок повторяется. Условие оптимального решения – для всех нулевых перевозок c*i,j ci,j.

Пример 1. Транспортная задача задана в виде таблицы 1. Здесь приведены объёма поставок ai (i=1,3), объёмы заказов bj (j=1,4) и транспортные издержки cij (в правых верхних углах).

Решение начинается с составления опорного плана методом левого верхнего (северо-западного) угла. Результат приведен в этой же таблице.

Таблица 1

Пункты отправления

Пункты назначения

Объёмы поставок ai

Потенциалы i

В1

В2

В3

В4

А1

9

8 > 1

10 > 3

5 6

70

0

70 -

+

А2

5

4

6

1 10

180

-4

40 +

- 80

60

А3

6 > 1

5 > 4

7

2

130

-3

10

120

Объёмы заказов bj

110

80

70

120

Потенциалы j

9

8

10

5

Транспортные издержки опорного плана равны W0 = 9 70+5 40+4 80 + 6 60 + 7 10 + 2 120 = 1820.

На втором этапе определяется оптимальный план перевозок путём последовательного улучшения плана методом потенциалов. Потенциалы или фиктивные платежи определяются по формулам:

c*ij = i + j ; j = cij - i ; i = cij - j .

Принимаем 1 = 0. Далее для ненулевых перевозок рассчитываем

1 = c11 - 1 = 9 - 0 = 9; 2 = c21 - 1 = 5 – 9 = - 4; 2 = c22 - 2 =

= 4 – (-4) = 8; 3 = c23 - 2 = 6 – (-4) = 10; 3 = c33 - 3 = 7 – 10 = -3;

4 = c34 - 3 = 2 – (-3) = 5.

Для нулевых перевозок c*12 = 1 + 2 = 8 + 0 = 8, аналогично: c*13 = 10; c*14 = 5; c*24 = 1; c*31 = 6; c*32 = 5. Находим нулевые перевозки, для которых потенциалы больше транспортных издержек; это c*12 > c12; c*13 >c13; c*31> c*31; c*32 > c*32 . Наибольшие разности c*12 - c12 = 7 и c*13 - c13 = 7.

Результаты расчётов приведены в таблице 1. Для нулевой перевозки А2 В2 составляем цикл переноса перевозки, который представляет собой прямоугольную фигуру, в одной из вершин которой нулевая перевозка, а в остальных – ненулевые перевозки. Максимально возможный объём переноса перевозки равен меньшей из уменьшаемых величин, а именно 70 единиц (А2 В2). Улучшенный план приведен в таблице 2, W1 = 1820 – 7 70=1330.

Таблица 2

Пункты отправления

Пункты назначения

Объёмы поставок ai

Потенциалы i

В1

В2

В3

В4

А1

2 9

1

3 3

2 6

70

0

70

А2

5

4

6

1 10

180

3

110 -

10

+ 60

А3

6 > 1

5 > 4

7

2

130

4

+

- 10

120

Объёмы заказов bj

110

80

70

120

Потенциалы j

2

2

3

-2

Второй шаг оптимизации приведен в таблице 2, а его результат – в таблице 3. W2 = 1330 – 5  10 = 1280.

Таблица 3

Пункты отправления

Пункты назначения

Объёмы поставок ai

Потенциалы i

В1

В2

В3

В4

А1

2 9

1

3 3

3 6

70

0

70

А2

5

4

6

6 10

180

3

100

10

70

А3

1

0 4

2 7

2

130

-1

10

120

Объёмы заказов bj

110

80

70

120

Потенциалы j

2

1

3

3

Признак оптимальности плана: для всех нулевых перевозок c*ij cij. План, приведенный в таблице 3, удовлетворяет условию оптимальности.

Таким образом, оптимальный план перевозок приведен в таблице 3. Минимальные затраты на перевозки составляют Wmin = 1280, по сравнению с исходным планом экономия составляет 540 или примерно 42%.