Пример решений транспортной задачи методом наименьших тарифов (методом наименьшей стоимости)
Используя метод минимального тарифа, представить первоначальный план для решения транспортной задачи. Проверить на оптимальность, используя метод потенциалов. Стоимость доставки единицы груза из каждого пункта отправления в соответствующие пункты назначения задана матрицей тарифов| 1 | 2 | 3 | 4 | Запасы | |
| 1 | 1 | 2 | 4 | 3 | 6 |
| 2 | 4 | 3 | 8 | 5 | 8 |
| 3 | 2 | 7 | 6 | 3 | 10 |
| Потребности | 4 | 6 | 8 | 8 |
Для решения используем калькулятор.
Проверим необходимое и достаточное условие разрешимости задачи.
∑a=6+8+10=26
∑b=4+6+8+8=24
Как видно, суммарная потребность груза в пунктах назначения меньше запасов груза на базах. Следовательно, модель исходной транспортной задачи является открытой. Чтобы получить закрытую модель, введем дополнительную (фиктивную) потребность, равным 2 (26-24). Тарифы перевозки единицы груза из базы во все магазины полагаем равны нулю.
Занесем исходные данные в распределительную таблицу.
| 1 | 2 | 3 | 4 | Запасы | |
| 1 | 1 | 2 | 4 | 3 | 6 |
| 2 | 4 | 3 | 8 | 5 | 8 |
| 3 | 2 | 7 | 6 | 3 | 10 |
| 4 | 0 | 0 | 0 | 0 | 2 |
| Потребности | 4 | 6 | 8 | 8 |
1. Используя метод наименьшей стоимости, построим первый опорный план транспортной задачи. Суть метода заключается в том, что из всей таблицы стоимостей выбирают наименьшую, и в клетку, которая ей соответствует, помещают меньшее из чисел ai, или bj.
Затем, из рассмотрения исключают либо строку, соответствующую поставщику, запасы которого полностью израсходованы, либо столбец, соответствующий потребителю, потребности которого полностью удовлетворены, либо и строку и столбец, если израсходованы запасы поставщика и удовлетворены потребности потребителя.
Из оставшейся части таблицы стоимостей снова выбирают наименьшую стоимость, и процесс распределения запасов продолжают, пока все запасы не будут распределены, а потребности удовлетворены.
Поскольку нули в последней строке получены в результате приведения к закрытой задаче, то их рассматриваем в последнюю очередь (почему это так, см. ниже). Искомый элемент равен c11=1. Для этого элемента запасы равны 6, потребности 4. Поскольку минимальным является 4, то вычитаем его.
x11 = min(6,4) = 4.
| 1 | 2 | 4 | 3 | 6 - 4 = 2 |
| x | 3 | 8 | 5 | 8 |
| x | 7 | 6 | 3 | 10 |
| x | 0 | 0 | 0 | 2 |
| 4 - 4 = 0 | 6 | 8 | 8 |
x12 = min(2,6) = 2.
| 1 | 2 | x | x | 2 - 2 = 0 |
| x | 3 | 8 | 5 | 8 |
| x | 7 | 6 | 3 | 10 |
| x | 0 | 0 | 0 | 2 |
| 0 | 6 - 2 = 4 | 8 | 8 |
x22 = min(8,4) = 4.
| 1 | 2 | x | x | 0 |
| x | 3 | 8 | 5 | 8 - 4 = 4 |
| x | x | 6 | 3 | 10 |
| x | x | 0 | 0 | 2 |
| 0 | 4 - 4 = 0 | 8 | 8 |
x34 = min(10,8) = 8.
| 1 | 2 | x | x | 0 |
| x | 3 | 8 | x | 4 |
| x | x | 6 | 3 | 10 - 8 = 2 |
| x | x | 0 | x | 2 |
| 0 | 0 | 8 | 8 - 8 = 0 |
x33 = min(2,8) = 2.
| 1 | 2 | x | x | 0 |
| x | 3 | 8 | x | 4 |
| x | x | 6 | 3 | 2 - 2 = 0 |
| x | x | 0 | x | 2 |
| 0 | 0 | 8 - 2 = 6 | 0 |
x23 = min(4,6) = 4.
| 1 | 2 | x | x | 0 |
| x | 3 | 8 | x | 4 - 4 = 0 |
| x | x | 6 | 3 | 0 |
| x | x | 0 | x | 2 |
| 0 | 0 | 6 - 4 = 2 | 0 |
x43 = min(2,2) = 2.
| 1 | 2 | x | x | 0 |
| x | 3 | 8 | x | 0 |
| x | x | 6 | 3 | 0 |
| x | x | 0 | x | 2 - 2 = 0 |
| 0 | 0 | 2 - 2 = 0 | 0 |
| 1 | 2 | 3 | 4 | Запасы | |
| 1 | 1[4] | 2[2] | 4 | 3 | 6 |
| 2 | 4 | 3[4] | 8[4] | 5 | 8 |
| 3 | 2 | 7 | 6[2] | 3[8] | 10 |
| 4 | 0 | 0 | 0[2] | 0 | 2 |
| Потребности | 4 | 6 | 8 | 8 |
Если бы при поиске минимального элемента рассматривать сразу нули в последней строке, то получили бы следующий опорный план.
| 1 | 2 | 3 | 4 | Запасы | |
| 1 | 1[2] | 2[4] | 4 | 3 | 6 |
| 2 | 4 | 3[2] | 8[6] | 5 | 8 |
| 3 | 2 | 7 | 6[2] | 3[8] | 10 |
| 4 | 0[2 ] | 0 | 0 | 0 | 2 |
| Потребности | 4 | 6 | 8 | 8 |
4. Проверим оптимальность опорного плана. Найдем потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
| u1=1 | u2=2 | u3=7 | u4=4 | |
| v1=0 | 1[4] | 2[2] | 4 | 3 |
| v2=1 | 4 | 3[4] | 8[4] | 5 |
| v3=-1 | 2 | 7 | 6[2] | 3[8] |
| v4=-7 | 0 | 0 | 0[2] | 0 |
Опорный план не является оптимальным, так как существуют оценки свободных клеток для которых ui + vj > cij
(1;3): 0 + 7 > 4
(1;4): 0 + 4 > 3
Выбираем максимальную оценку свободной клетки (1;3): 4
Для этого в перспективную клетку (1;3) поставим знак "+", а в остальных вершинах многоугольника чередующиеся знаки "-", "+", "-". Цикл приведен в таблице.
| 1 | 2 | 3 | 4 | Запасы | |
| 1 | 1[4] | 2[2][-] | 4[+] | 3 | 6 |
| 2 | 4 | 3[4][+] | 8[4][-] | 5 | 8 |
| 3 | 2 | 7 | 6[2] | 3[8] | 10 |
| 4 | 0 | 0 | 0[2] | 0 | 2 |
| Потребности | 4 | 6 | 8 | 8 |
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (1, 2) = 2. Прибавляем 2 к объемам грузов, стоящих в плюсовых клетках и вычитаем 2 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
| 1 | 2 | 3 | 4 | Запасы | |
| 1 | 1[4] | 2 | 4[2] | 3 | 6 |
| 2 | 4 | 3[6] | 8[2] | 5 | 8 |
| 3 | 2 | 7 | 6[2] | 3[8] | 10 |
| 4 | 0 | 0 | 0[2] | 0 | 2 |
| Потребности | 4 | 6 | 8 | 8 |
4. Проверим оптимальность опорного плана. Найдем потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
| u1=1 | u2=-1 | u3=4 | u4=1 | |
| v1=0 | 1[4] | 2 | 4[2] | 3 |
| v2=4 | 4 | 3[6] | 8[2] | 5 |
| v3=2 | 2 | 7 | 6[2] | 3[8] |
| v4=-4 | 0 | 0 | 0[2] | 0 |
Опорный план не является оптимальным, так как существуют оценки свободных клеток для которых ui + vj > cij
(2;1): 4 + 1 > 4
(3;1): 2 + 1 > 2
Выбираем максимальную оценку свободной клетки (2;1): 4
Для этого в перспективную клетку (2;1) поставим знак "+", а в остальных вершинах многоугольника чередующиеся знаки "-", "+", "-". Цикл приведен в таблице.
| 1 | 2 | 3 | 4 | Запасы | |
| 1 | 1[4][-] | 2 | 4[2][+] | 3 | 6 |
| 2 | 4[+] | 3[6] | 8[2][-] | 5 | 8 |
| 3 | 2 | 7 | 6[2] | 3[8] | 10 |
| 4 | 0 | 0 | 0[2] | 0 | 2 |
| Потребности | 4 | 6 | 8 | 8 |
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (2, 3) = 2. Прибавляем 2 к объемам грузов, стоящих в плюсовых клетках и вычитаем 2 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
| 1 | 2 | 3 | 4 | Запасы | |
| 1 | 1[2] | 2 | 4[4] | 3 | 6 |
| 2 | 4[2] | 3[6] | 8 | 5 | 8 |
| 3 | 2 | 7 | 6[2] | 3[8] | 10 |
| 4 | 0 | 0 | 0[2] | 0 | 2 |
| Потребности | 4 | 6 | 8 | 8 |
4. Проверим оптимальность опорного плана. Найдем потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
| u1=1 | u2=0 | u3=4 | u4=1 | |
| v1=0 | 1[2] | 2 | 4[4] | 3 |
| v2=3 | 4[2] | 3[6] | 8 | 5 |
| v3=2 | 2 | 7 | 6[2] | 3[8] |
| v4=-4 | 0 | 0 | 0[2] | 0 |
Опорный план не является оптимальным, так как существуют оценки свободных клеток для которых ui + vj > cij
(3;1): 2 + 1 > 2
Выбираем максимальную оценку свободной клетки (3;1): 2
Для этого в перспективную клетку (3;1) поставим знак "+", а в остальных вершинах многоугольника чередующиеся знаки "-", "+", "-". Цикл приведен в таблице.
| 1 | 2 | 3 | 4 | Запасы | |
| 1 | 1[2][-] | 2 | 4[4][+] | 3 | 6 |
| 2 | 4[2] | 3[6] | 8 | 5 | 8 |
| 3 | 2[+] | 7 | 6[2][-] | 3[8] | 10 |
| 4 | 0 | 0 | 0[2] | 0 | 2 |
| Потребности | 4 | 6 | 8 | 8 |
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (1, 1) = 2. Прибавляем 2 к объемам грузов, стоящих в плюсовых клетках и вычитаем 2 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
| 1 | 2 | 3 | 4 | Запасы | |
| 1 | 1 | 2 | 4[6] | 3 | 6 |
| 2 | 4[2] | 3[6] | 8 | 5 | 8 |
| 3 | 2[2] | 7 | 6[0] | 3[8] | 10 |
| 4 | 0 | 0 | 0[2] | 0 | 2 |
| Потребности | 4 | 6 | 8 | 8 |
4. Проверим оптимальность опорного плана. Найдем потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
| u1=0 | u2=-1 | u3=4 | u4=1 | |
| v1=0 | 1 | 2 | 4[6] | 3 |
| v2=4 | 4[2] | 3[6] | 8 | 5 |
| v3=2 | 2[2] | 7 | 6 | 3[8] |
| v4=-4 | 0 | 0 | 0[2] | 0 |
Перейти к онлайн решению своей задачи
Анализ оптимального плана транспортной задачи
Задание. На трех складах 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.
Перейти к онлайн решению своей задачи
Проверка на оптимальность опорного плана транспортной задачи
От трех поставщиков A1, A2 и A3 необходимо перевезти некий однородный груз пяти потребителям B1, B2, B3, B4 и B5. Известны запасы груза поставщиков {a1,a2,a3} и потребности потребителя {b1,b2,b3,b4,b5}. Кроме того, известна стоимость перевозки cij от любого поставщика Ai каждому потребителю Bj - эти стоимости заданы в виде матрицы С размерности3 x 5. Требуется составить такой план перевозки груза от поставщиков к потребителям, при котором суммарная стоимость перевозки была бы минимальной.
Стоимость доставки единицы груза из каждого пункта отправления в соответствующие пункты назначения задана матрицей тарифов
| 1 | 2 | 3 | 4 | Запасы | |
| 1 | 12 | 16 | 21 | 19 | 950 |
| 2 | 4 | 4 | 9 | 5 | 300 |
| 3 | 3 | 8 | 14 | 10 | 1350 |
| 4 | 24 | 33 | 36 | 34 | 450 |
| Потребности | 250 | 1000 | 700 | 1100 |
Проверим необходимое и достаточное условие разрешимости задачи.
∑ a = 950 + 300 + 1350 + 450 = 3050
∑ b = 250 + 1000 + 700 + 1100 = 3050
Условие баланса соблюдается. Запасы равны потребностям. Следовательно, модель транспортной задачи является закрытой.
Занесем исходные данные в распределительную таблицу.
| 1 | 2 | 3 | 4 | Запасы | |
| 1 | 12 | 16 | 21 | 19 | 950 |
| 2 | 4 | 4 | 9 | 5 | 300 |
| 3 | 3 | 8 | 14 | 10 | 1350 |
| 4 | 24 | 33 | 36 | 34 | 450 |
| Потребности | 250 | 1000 | 700 | 1100 |
1. Используя метод наименьшей стоимости, построим первый опорный план транспортной задачи.
Искомый элемент равен 3
Для этого элемента запасы равны 1350, потребности 250. Поскольку минимальным является 250, то вычитаем его.
x |
16 |
21 |
19 |
950 |
x |
4 |
9 |
5 |
300 |
3 |
8 |
14 |
10 |
1100 |
x |
33 |
36 |
34 |
450 |
0 |
1000 |
700 |
1100 |
0 |
Искомый элемент равен 4
Для этого элемента запасы равны 300, потребности 1000. Поскольку минимальным является 300, то вычитаем его.
| x | 16 | 21 | 19 | 950 |
| x | 4 | x | x | 0 |
| 3 | 8 | 14 | 10 | 1100 |
| x | 33 | 36 | 34 | 450 |
| 0 | 700 | 700 | 1100 | 0 |
Искомый элемент равен 8
Для этого элемента запасы равны 1100, потребности 700. Поскольку минимальным является 700, то вычитаем его.
| x | x | 21 | 19 | 950 |
| x | 4 | x | x | 0 |
| 3 | 8 | 14 | 10 | 400 |
| x | x | 36 | 34 | 450 |
| 0 | 0 | 700 | 1100 | 0 |
Искомый элемент равен 10
Для этого элемента запасы равны 400, потребности 1100. Поскольку минимальным является 400, то вычитаем его.
| x | x | 21 | 19 | 950 |
| x | 4 | x | x | 0 |
| 3 | 8 | x | 10 | 0 |
| x | x | 36 | 34 | 450 |
| 0 | 0 | 700 | 700 | 0 |
Искомый элемент равен 19
Для этого элемента запасы равны 950, потребности 700. Поскольку минимальным является 700, то вычитаем его.
| x | x | 21 | 19 | 250 |
| x | 4 | x | x | 0 |
| 3 | 8 | x | 10 | 0 |
| x | x | 36 | x | 450 |
| 0 | 0 | 700 | 0 | 0 |
Искомый элемент равен 21
Для этого элемента запасы равны 250, потребности 700. Поскольку минимальным является 250, то вычитаем его.
| x | x | 21 | 19 | 0 |
| x | 4 | x | x | 0 |
| 3 | 8 | x | 10 | 0 |
| x | x | 36 | x | 450 |
| 0 | 0 | 450 | 0 | 0 |
Искомый элемент равен 36
Для этого элемента запасы равны 450, потребности 450. Поскольку минимальным является 450, то вычитаем его.
| x | x | 21 | 19 | 0 |
| x | 4 | x | x | 0 |
| 3 | 8 | x | 10 | 0 |
| x | x | 36 | x | 0 |
| 0 | 0 | 0 | 0 | 0 |
| 1 | 2 | 3 | 4 | Запасы | |
| 1 | 12 | 16 | 21[250] | 19[700] | 950 |
| 2 | 4 | 4[300] | 9 | 5 | 300 |
| 3 | 3[250] | 8[700] | 14 | 10[400] | 1350 |
| 4 | 24 | 33 | 36[450] | 34 | 450 |
| Потребности | 250 | 1000 | 700 | 1100 |
В результате получен первый опорный план, который является допустимым, так как все грузы из баз вывезены, потребность магазинов удовлетворена, а план соответствует системе ограничений транспортной задачи.
2. Подсчитаем число занятых клеток таблицы, их 7, а должно быть m + n - 1 = 7. Следовательно, опорный план является невырожденным.
4. Проверим оптимальность опорного плана. Найдем потенциалы ui, vj по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1 + v3 = 21; 0 + v3 = 21; v3 = 21
u4 + v3 = 36; 21 + u4 = 36; u4 = 15
u1 + v4 = 19; 0 + v4 = 19; v4 = 19
u3 + v4 = 10; 19 + u3 = 10; u3 = -9
u3 + v1 = 3; -9 + v1 = 3; v1 = 12
u3 + v2 = 8; -9 + v2 = 8; v2 = 17
u2 + v2 = 4; 17 + u2 = 4; u2 = -13
| v1=12 | v2=17 | v3=21 | v4=19 | |
| u1=0 | 12 | 16 | 21[250] | 19[700] |
| u2=-13 | 4 | 4[300] | 9 | 5 |
| u3=-9 | 3[250] | 8[700] | 14 | 10[400] |
| u4=15 | 24 | 33 | 36[450] | 34 |
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vj > cij
(1;2): 0 + 17 > 16; ∆12 = 0 + 17 - 16 = 1
(2;4): -13 + 19 > 5; ∆24 = -13 + 19 - 5 = 1
(4;1): 15 + 12 > 24; ∆41 = 15 + 12 - 24 = 3
max(1,1,3) = 3
Выбираем максимальную оценку свободной клетки (4;1): 24
Для этого в перспективную клетку (4;1) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-». Цикл приведен в таблице.
| 1 | 2 | 3 | 4 | Запасы | |
| 1 | 12 | 16 | 21[250][+] | 19[700][-] | 950 |
| 2 | 4 | 4[300] | 9 | 5 | 300 |
| 3 | 3[250][-] | 8[700] | 14 | 10[400][+] | 1350 |
| 4 | 24[+] | 33 | 36[450][-] | 34 | 450 |
| Потребности | 250 | 1000 | 700 | 1100 |
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (3, 1) = 250. Прибавляем 250 к объемам грузов, стоящих в плюсовых клетках и вычитаем 250 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
| 1 | 2 | 3 | 4 | Запасы | |
| 1 | 12 | 16 | 21[500] | 19[450] | 950 |
| 2 | 4 | 4[300] | 9 | 5 | 300 |
| 3 | 3 | 8[700] | 14 | 10[650] | 1350 |
| 4 | 24[250] | 33 | 36[200] | 34 | 450 |
| Потребности | 250 | 1000 | 700 | 1100 |
4. Проверим оптимальность опорного плана. Найдем потенциалы ui, vj по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1 + v3 = 21; 0 + v3 = 21; v3 = 21
u4 + v3 = 36; 21 + u4 = 36; u4 = 15
u4 + v1 = 24; 15 + v1 = 24; v1 = 9
u1 + v4 = 19; 0 + v4 = 19; v4 = 19
u3 + v4 = 10; 19 + u3 = 10; u3 = -9
u3 + v2 = 8; -9 + v2 = 8; v2 = 17
u2 + v2 = 4; 17 + u2 = 4; u2 = -13
| v1=9 | v2=17 | v3=21 | v4=19 | |
| u1=0 | 12 | 16 | 21[500] | 19[450] |
| u2=-13 | 4 | 4[300] | 9 | 5 |
| u3=-9 | 3 | 8[700] | 14 | 10[650] |
| u4=15 | 24[250] | 33 | 36[200] | 34 |
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vj > cij
(1;2): 0 + 17 > 16; ∆12 = 0 + 17 - 16 = 1
(2;4): -13 + 19 > 5; ∆24 = -13 + 19 - 5 = 1
max(1,1) = 1
Выбираем максимальную оценку свободной клетки (1;2): 16
Для этого в перспективную клетку (1;2) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-». Цикл приведен в таблице.
| 1 | 2 | 3 | 4 | Запасы | |
| 1 | 12 | 16[+] | 21[500] | 19[450][-] | 950 |
| 2 | 4 | 4[300] | 9 | 5 | 300 |
| 3 | 3 | 8[700][-] | 14 | 10[650][+] | 1350 |
| 4 | 24[250] | 33 | 36[200] | 34 | 450 |
| Потребности | 250 | 1000 | 700 | 1100 |
Из грузов х ij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (1, 4) = 450. Прибавляем 450 к объемам грузов, стоящих в плюсовых клетках и вычитаем 450 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
| 1 | 2 | 3 | 4 | Запасы | |
| 1 | 12 | 16[450] | 21[500] | 19 | 950 |
| 2 | 4 | 4[300] | 9 | 5 | 300 |
| 3 | 3 | 8[250] | 14 | 10[1100] | 1350 |
| 4 | 24[250] | 33 | 36[200] | 34 | 450 |
| Потребности | 250 | 1000 | 700 | 1100 |
4. Проверим оптимальность опорного плана. Найдем потенциалы ui, vj по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1 + v2 = 16; 0 + v2 = 16; v2 = 16
u2 + v2 = 4; 16 + u2 = 4; u2 = -12
u3 + v2 = 8; 16 + u3 = 8; u3 = -8
u3 + v4 = 10; -8 + v4 = 10; v4 = 18
u1 + v3 = 21; 0 + v3 = 21; v3 = 21
u4 + v3 = 36; 21 + u4 = 36; u4 = 15
u4 + v1 = 24; 15 + v1 = 24; v1 = 9
| v1=9 | v2=16 | v3=21 | v4=18 | |
| u1=0 | 12 | 16[450] | 21[500] | 19 |
| u2=-12 | 4 | 4[300] | 9 | 5 |
| u3=-8 | 3 | 8[250] | 14 | 10[1100] |
| u4=15 | 24[250] | 33 | 36[200] | 34 |
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vj > cij
(2;4): -12 + 18 > 5; ∆24 = -12 + 18 - 5 = 1
Выбираем максимальную оценку свободной клетки (2;4): 5
Для этого в перспективную клетку (2;4) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-». Цикл приведен в таблице.
| 1 | 2 | 3 | 4 | Запасы | |
| 1 | 12 | 16[450] | 21[500] | 19 | 950 |
| 2 | 4 | 4[300][-] | 9 | 5[+] | 300 |
| 3 | 3 | 8[250][+] | 14 | 10[1100][-] | 1350 |
| 4 | 24[250] | 33 | 36[200] | 34 | 450 |
| Потребности | 250 | 1000 | 700 | 1100 |
Из грузов х ij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (2, 2) = 300. Прибавляем 300 к объемам грузов, стоящих в плюсовых клетках и вычитаем 300 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
| 1 | 2 | 3 | 4 | Запасы | |
| 1 | 12 | 16[450] | 21[500] | 19 | 950 |
| 2 | 4 | 4 | 9 | 5[300] | 300 |
| 3 | 3 | 8[550] | 14 | 10[800] | 1350 |
| 4 | 24[250] | 33 | 36[200] | 34 | 450 |
| Потребности | 250 | 1000 | 700 | 1100 |
4. Проверим оптимальность опорного плана. Найдем потенциалы ui, vj по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1 + v2 = 16; 0 + v2 = 16; v2 = 16
u3 + v2 = 8; 16 + u3 = 8; u3 = -8
u3 + v4 = 10; -8 + v4 = 10; v4 = 18
u2 + v4 = 5; 18 + u2 = 5; u2 = -13
u1 + v3 = 21; 0 + v3 = 21; v3 = 21
u4 + v3 = 36; 21 + u4 = 36; u4 = 15
u4 + v1 = 24; 15 + v1 = 24; v1 = 9
| v1=9 | v2=16 | v3=21 | v4=18 | |
| u1=0 | 12 | 16[450] | 21[500] | 19 |
| u2=-13 | 4 | 4 | 9 | 5[300] |
| u3=-8 | 3 | 8[550] | 14 | 10[800] |
| u4=15 | 24[250] | 33 | 36[200] | 34 |
Опорный план является оптимальным, так все оценки свободных клеток удовлетворяют условию ui + vj <= cij.
Минимальные затраты составят:
F( x) = 16*450 + 21*500 + 5*300 + 8*550 + 10*800 + 24*250 + 36*200 = 44800