Вариант № 2. Тема 3. Транспортная задача Решение: Суммарные запасы Σ аі = 180 + 200 + 150 = 530 ед, суммарные потребности Σ bj= 130 + 160 + 190 = 480 ед. Σ аі ≠ Σ bj, запасы не равны потребностям, т.е. это открытая модель транспортной задачи. Вводим балансовый пункт потребления (фиктивного потребителя) В4,ф с потребностями b4 = 530 – 480 = 50 ед. Составим математическую модель задачи. Пусть хіj – количество единиц, которое планируется перевезти из пункта Аі в пункт Вj (это план перевозок). Тогда общая стоимость всех перевозок будет : Z = Σ Σ Cij хij, её необходимо минимизировать. Количество единиц не может быть отрицательной, поэтому хіj ≥ 0. Из условия задачи следует, что должны выполняться такие условия : Σ хіj = аі , і =1,2,3 , т.е. весь товар из пунктов Аі необходимо вивезти. Кроме того потребности Вj должны быть полностью удовлетворены, т.е. Σ хіj = bj , j = 1,2,3,4. Таким образом, математическая модель задачи имеет вид : Z = Σ Σ Cij хіj → min Σ хіj = аі , і=1,2,3 Σ хіj = bj , j = 1,2,3,4. хіj ≥ 0 Построим начальный опорный план , пользуясь правилом «минимального элемента» . Составим транспортную таблицу, в углы клеток запишем заданные тарифы Сіj ,а в середины клеток будемо последовательно заносить значения хіj по схеме : 1 Из всей таблицы стоимостей выбираем клетку АіВj с наименьшей стоимостью Сіj , т.е. ищем min Сіj , и заносимо в неё число хіj = min { аі , bj }. Потом вычёркиваем и больше не рассматриваем строку, что соответствует поставщику, запасы которого полностью исчерпаны, или столбец, что соответствует потребителю, потребности которого полностью удовлетворены и снова ищем min Сіj, и так заполняем всю таблицу, пока все запасы не будут исчерпаны, а все потревности – удовлетворены. Если клеток с одинаковым значением min Сіj несколько, то берём любую из них. Фиктивные клетки, т.е. клетки столбца В4,ф заполняем в последнюю очередь. В1 А1 В2 2 130 ___ А2 ____ 4 В3 9 5 10 А3 ___ ___ 6 3 В4,ф 190 ___ 0 7 1 2 50 ____ ____ b1 = 130 b2 = 160 b2 = 10 а1 = 180 а1 ’= 50 а2 = 200 а2 ’= 10 0 0 а3 = 150 150 Потребн. bj Запасы аі b3 = 190 b4 = 50 1) min Сіj =C23=1 ; х23 =min { а2 , b3 } = min { 200, 190 } = 190 ; Столбец В3 вычёркиваем, а2 ’= 200 – 190 = 10 ед. 2) min Сіj = С11 =2 ; х11 = min { а1 , b1 } = min { 180, 130 } = 130 ; Столбец В1 вычёркиваем, а1 ’ =180 – 130 = 50 ед. 3) min Сіj = С32 =3 ; х32 = min { а3 , b2 } = min { 150, 160 } = 150 ; Строку А3 вычёркиваем, b2 ’= 160 – 150 = 10 ед. 4) min Сіj =C22 =5 ; х22 =min { а2 , b2 } = min { 10, 10 } = 10 ; Столбец В2 и строку А2 вычёркиваем 5) осталась одна клетка А1В4 ; х14 = min { а1’, b4 } = min { 50, 50 } = 50. В итоге таблица заполнена полностью. Получилось 5 занятых и 7 свободных клеток. Начальный опорный план имеет вид: х11 = 130; х14 = 50; х22 = 10; х23 = 190; х32 = 150; остальные хіj = 0 При этом стоимость перевозок: Z = 130 ∙ 2 + 10 ∙ 5 + 190 ∙ 1 + 150 ∙ 3 + 50 · 0 = 950. 2 Метод потенциалов. Сначала проверяем этот план на оптимальность. Для этого вычисляем потенциалы ui и vj исходя из условия : ui + vj = Сіj для всех занятых клеток, причём u1= 0. Опорный план должен быть невырожденный, т.е. число занятых клеток должно быть равно m + n – 1 = 3 + 4 – 1 = 6 , а в таблице только 5 занятых клеток, поэтому в одну клетку, например А2В1 , заносим нулевую перевозку х21 = 0 и считаем эту клетку занятой. Получаем систему из 6 уравнений, из которой находим потенциалы ui и vj : Клетка Клетка Клетка Клетка Клетка Клетка А1В1 А1В4 А2В1 А2В2 А2В3 А3В2 → → → → → → u 1 + v1 = 4 u 1 + v4 = 8 u 1 + v5 = 0 u 2 + v2 = 1 u 2 + v5 = 0 u3 + v3 = 2 u1 = 0 u2 = 2 u3 = 0 v1 = 2 v2 = 3 v3 = -1 v4 = 0 => Перепишем транспортную таблицу, добавив к ней строку и столбец для записи потенциалов, и проверим выполнение условия оптимальности : ui + vj ≤ Сіj для всех свободных ( не занятых ) клеток. vj А1 А2 А3 uі u1 = 0 u2 = 2 В1 v1 = 2 + 130 – 0 u3 = 0 В2 v2 = 3 2 9 4 7 5 10 6 130 bj В3 v3 = -1 3 0 180 200 + 0 2 190 аі 0 1 190 150 160 В4 v4 = 0 – 50 50 150 530 ? Для свободных клеток : ui + vj ≤ Сіj Клетка Клетка Клетка Клетка Клетка Клетка А1В2 А1В3 А2В4 А3В1 А3В3 А3В4 → → → → → → u 1 + v2 = 0 + 3 = 3 < 9 u1 + v3 = 0 + (-1) = -1 < 7 u 2 + v4 = 2 + 0 = 2 > 0 u 3 + v1 = 0 + 2 = 2 < 6 u3 + v3 = 0 + (-1) = -1 < 2 u 3 + v4 = 0 + 0 = 0 = 0 3 Видим, что условие оптимальности нарушено в клетке А2В4 , т.е. начальный опорний план не является оптимальным, т.е. его можно улучшить, т.е. построить новый опорный план, стоимость которого будет меньше. Для этого нужно перераспределить груз по клеткам таблицы. Строим цикл, т.е. замкнутую прямоугольную ломаную линию, одна вершина которого находится в клетке, в которой нарушено условие оптимальности , т.е. в клетке А2В4 , а остальные вершины – в занятых клетках. Вершины цикла по очереди отмечаем знаками “+” и “–“ , начиная с клетки А2В4 , затем среди клеток с “–“ выбираем наименьшее значение хіj : θ0 = min { хіj } = min { 50, 0 } = 0 - в клетке А2В1 Далее, двигаясь по вершинам цикла, добавляем это значение θ0 к значениям хіj в клетках с “+” и отнимаем от значений хіj в клетках с “–” . Но, так как θ0 = 0, то значения перевозок не меняются, просто нулевая перевозка переносится из клетки А2В1 в клетку А2В4. Новую таблицу снова проверяем на оптимальность , т.е. вычисляем (непосредственно в таблице) новые значения потенциалов и проверяем выполнение условия оптимальности. vj А1 uі u1 = 0 В1 v1 = 2 В2 v2 = 5 2 В3 v3 = 1 9 В4 v4 = 0 А2 u2 = 0 4 u3 = -2 5 6 130 bj 180 50 10 А3 0 7 130 аі 190 3 150 160 0 1 0 2 190 200 0 50 150 530 ? Для свободных клеток : ui + vj ≤ Сіj Клетка Клетка Клетка Клетка Клетка Клетка А1В2 А1В3 А2В1 А3В1 А3В3 А3В4 → → → → → → u 1 + v2 = 0 + 5 = 5 < 9 u 1 + v3 = 0 + 1 = 1 < 7 u 2 + v1 = 0 + 2 = 2 < 4 u3 + v1 = -2 + 2 = 0 < 6 u3 + v3 = -2 + 1 = -1 < 2 u3 + v4 = -2 + 0 = -2 < 0 Условие оптимальности виполнено для всех свободных клеток, значит этот план является оптимальним, т.е. его стоимость минимальна : 4 х11 = 130; х14 = 50; х22 = 10; х23 = 190; х32 = 150; остальные хіj = 0 Z min = 950 Оптимальний план перевозок: Из Из Из Из Из пункта пункта пункта пункта пункта А1 А1 А2 А2 А3 → → → → → в пункт в пункт в пункт в пункт в пункт В1 В4,ф В2 В3 В2 - 130 ед. - 50 ед. (останутся невывезенными) - 10 ед. - 190 ед. - 150 ед. 5