Анализ оптимального плана транспортной задачи
Задание. На трех складах A1, A2 и A3 хранится a1=100, a2=200 и a3=70 единиц одного и того же груза. Этот груз требуется доставить трем потребителям B1, B2 и B3, заказы которых составляют b1=190, b2=120 и b3=10 единиц груза соответственно. Стоимость перевозок cij единицы груза с i-го склада j-му потребителю указаны в правых верхних углах соответствующих клеток транспортной таблицы.1. Сравнивая суммарный запас a и суммарную потребность b в грузе, установить, является ли модель транспортной задачи, заданная этой таблицей, открытой или закрытой. Если модель является открытой, то ее необходимо закрыть, добавив фиктивный склад A с запасом a в случае a<b или фиктивного потребителя B с потребностью b в случае a>b и положив соответствующие им тарифы перевозок нулевыми.
2. Составить первоначальный план перевозок. (Рекомендуется воспользоваться методом наименьшей стоимости.)
3. Проверить, является ли первоначальный план оптимальным в смысле суммарной стоимости перевозок, и если это так, то составить оптимальный план, обеспечивающий минимальную стоимость перевозок Z. Найти эту стоимость. (Рекомендуется воспользоваться методом потенциалов).
Решение находим с помощью калькулятора. Математическая модель транспортной задачи:
F = ∑∑cijxij, (1)
при условиях:
∑xij = ai, i = 1,2,…, m, (2)
∑xij = bj, j = 1,2,…, n, (3)
Стоимость доставки единицы груза из каждого пункта отправления в соответствующие пункты назначения задана матрицей тарифов
1 | 2 | 3 | Запасы | |
1 | 4 | 2 | 1 | 100 |
2 | 1 | 5 | 3 | 200 |
3 | 1 | 2 | 6 | 70 |
Потребности | 190 | 120 | 10 |
∑a = 100 + 200 + 70 = 370
∑b = 190 + 120 + 10 = 320
Как видно, суммарная потребность груза в пунктах назначения превышает запасы груза на базах. Следовательно, модель исходной транспортной задачи является открытой. Чтобы получить закрытую модель, введем дополнительную (фиктивную) базу с запасом груза, равным 50 (370—320). Тарифы перевозки единицы груза из базы во все магазины полагаем равны нулю.
Занесем исходные данные в распределительную таблицу.
1 | 2 | 3 | 4 | Запасы | |
1 | 4 | 2 | 1 | 0 | 100 |
2 | 1 | 5 | 3 | 0 | 200 |
3 | 1 | 2 | 6 | 0 | 70 |
Потребности | 190 | 120 | 10 | 50 |
Этап I. Поиск опорного плана
1. Используя метод наименьшей стоимости, построим первый опорный план транспортной задачи.Суть метода заключается в том, что из всей таблицы стоимостей выбирают наименьшую, и в клетку, которая ей соответствует, помещают меньшее из чисел ai, или bj.
Затем, из рассмотрения исключают либо строку, соответствующую поставщику, запасы которого полностью израсходованы, либо столбец, соответствующий потребителю, потребности которого полностью удовлетворены, либо и строку и столбец, если израсходованы запасы поставщика и удовлетворены потребности потребителя.
Из оставшейся части таблицы стоимостей снова выбирают наименьшую стоимость, и процесс распределения запасов продолжают, пока все запасы не будут распределены, а потребности удовлетворены.
Искомый элемент равен 1
Для этого элемента запасы равны 100, потребности 10. Поскольку минимальным является 10, то вычитаем его.
x13 = min(100,10) = 10.
4 | 2 | 1 | 0 | 100 - 10 = 90 |
1 | 5 | x | 0 | 200 |
1 | 2 | x | 0 | 70 |
190 | 120 | 10 - 10 = 0 | 50 | 0 |
Для этого элемента запасы равны 200, потребности 190. Поскольку минимальным является 190, то вычитаем его.
x21 = min(200,190) = 190.
x | 2 | 1 | 0 | 90 |
1 | 5 | x | 0 | 200 - 190 = 10 |
x | 2 | x | 0 | 70 |
190 - 190 = 0 | 120 | 0 | 50 | 0 |
Для этого элемента запасы равны 90, потребности 120. Поскольку минимальным является 90, то вычитаем его.
x12 = min(90,120) = 90.
x | 2 | 1 | x | 90 - 90 = 0 |
1 | 5 | x | 0 | 10 |
x | 2 | x | 0 | 70 |
0 | 120 - 90 = 30 | 0 | 50 | 0 |
Для этого элемента запасы равны 70, потребности 30. Поскольку минимальным является 30, то вычитаем его.
x32 = min(70,30) = 30.
x | 2 | 1 | x | 0 |
1 | x | x | 0 | 10 |
x | 2 | x | 0 | 70 - 30 = 40 |
0 | 30 - 30 = 0 | 0 | 50 | 0 |
Для этого элемента запасы равны 10, потребности 50. Поскольку минимальным является 10, то вычитаем его.
x24 = min(10,50) = 10.
x | 2 | 1 | x | 0 |
1 | x | x | 0 | 10 - 10 = 0 |
x | 2 | x | 0 | 40 |
0 | 0 | 0 | 50 - 10 = 40 | 0 |
Для этого элемента запасы равны 40, потребности 40. Поскольку минимальным является 40, то вычитаем его.
x34 = min(40,40) = 40.
x | 2 | 1 | x | 0 |
1 | x | x | 0 | 0 |
x | 2 | x | 0 | 40 - 40 = 0 |
0 | 0 | 0 | 40 - 40 = 0 | 0 |
1 | 2 | 3 | 4 | Запасы | |
1 | 4 | 2[90] | 1[10] | 0 | 100 |
2 | 1[190] | 5 | 3 | 0[10] | 200 |
3 | 1 | 2[30] | 6 | 0[40] | 70 |
Потребности | 190 | 120 | 10 | 50 |
2. Подсчитаем число занятых клеток таблицы, их 6, а должно быть m + n - 1 = 6. Следовательно, опорный план является невырожденным.
Значение целевой функции для этого опорного плана равно:
F(x) = 2*90 + 1*10 + 1*190 + 0*10 + 2*30 + 0*40 = 440
Этап II. Улучшение опорного плана
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.u1 + v2 = 2; 0 + v2 = 2; v2 = 2
u3 + v2 = 2; 2 + u3 = 2; u3 = 0
u3 + v4 = 0; 0 + v4 = 0; v4 = 0
u2 + v4 = 0; 0 + u2 = 0; u2 = 0
u2 + v1 = 1; 0 + v1 = 1; v1 = 1
u1 + v3 = 1; 0 + v3 = 1; v3 = 1
v1=1 | v2=2 | v3=1 | v4=0 | |
u1=0 | 4 | 2[90] | 1[10] | 0 |
u2=0 | 1[190] | 5 | 3 | 0[10] |
u3=0 | 1 | 2[30] | 6 | 0[40] |
Минимальные затраты составят:
F(x) = 2*90 + 1*10 + 1*190 + 0*10 + 2*30 + 0*40 = 440
Анализ оптимального плана
Из 1-го склада необходимо груз направить в 2-й магазин (90), в 3-й магазин (10)Из 2-го склада необходимо весь груз направить в 1-й магазин
Из 3-го склада необходимо весь груз направить в 2-й магазин
На 2-ом складе остался невостребованным груз в количестве 50 ед.
Оптимальный план является вырожденным, так как базисная переменная x24=0.
На 3-ом складе остался невостребованным груз в количестве 50 ед.
Оптимальный план является вырожденным, так как базисная переменная x34=0.
Задача имеет множество оптимальных планов, поскольку оценка для (1;4),(3;1) равна 0.