Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Пример решения транспортной задачи
Проиллюстрируем ход решения транспортной задачи на конкретном примере. Пример. Решить транспортную задачу, определяемую следующей матрицей тарифов (табл. 3). Таблица 3
Решение 1. Вычислим и сравним совокупные запасы груза у поставщиков и совокупный спрос потребителей: совокупные запасы груза 50 + 80 + 90 = 220, 2. Построим распределительную таблицу (табл. 4). В правых верхних углах ее клеток запишем соответствующие тарифы перевозок.
Таблица 4
3. Построим начальный план перевозок методом северо-западного угла. Загрузку табл. 4 начнем с клетки (1; 1), соответствующей поставщику А 1 с запасом груза 50 единиц и потребителю В 1 со спросом 50 единиц. Как видим, спрос и предложение совпали, поэтому данную клетку загрузим числом 50 (минимальным из двух чисел: 50 единиц запаса груза и 50 единиц спроса). Сравним теперь сумму 50 загрузок клеток в первой графе табл. 4
Таблица 5
Таблица 6
Сравним сумму 0 загрузок клеток во второй графе (в ней находится только что загруженная клетка (1; 2)) со спросом 50 в данной графе и увидим, что данная сумма меньше соответствующего спроса. Следовательно, загружаемая клетка находится ниже только что загруженной клетки (1; 2) – это клетка (2; 2), соответствующая поставщику А 2 с запасом груза 80 единиц и потребителю В 2 с остатком спроса 50 – 0 = 50 единиц. Минимальным из этих чисел (50) загрузим клетку (2; 2). Сравним сумму 0 + 50 = 50 загрузок клеток второй графы, в которой находится только что загруженная клетка (2; 2), со спросом 50 в данной графе, увидим, что эта сумма не меньше соответствующего спроса (равна ему). Следовательно, загружаемая клетка находится справа от только что загруженной клетки (2; 2) – это клетка (2; 3), соответствующая поставщику А 2 с остатком запаса груза Минимальным из этих чисел (70) загрузим данную клетку. Так как сумма 30 + 70 = 100 загрузок всех клеток третьей графы, в которой находится только что загруженная клетка (3; 3), не меньше спроса 100 в этой графе (равна ей), то далее будем загружать клетку справа от клетки (3; 3), т. е. клетку (3; 4), соответствующую поставщику А 3 с остатком запаса груза 90 – 70 = 20 и потребителю В 4 со спросом 20. Следовательно, клетку (3; 4) загрузим числом 20, и на этом, очевидно, построение начального плана перевозок завершится (табл. 7).
Таблица 7
Убедимся, что начальный план перевозок построен правильно. Для этого достаточно увидеть, что количество загруженных клеток равно 4. Для каждого поставщика Решая систему этих уравнений методом подстановки, получим:
Таблица 8
5. Для каждой незагруженной клетки (i; j) вычислим разность
Как видим, среди этих разностей
Таблица 9
6. Строим замкнутый контур по правилам, указанным в алгоритме метода потенциалов. Для этого из клетки (3; 1), помеченной знаком «+», «пойдем» по вертикали в загруженную клетку (1; 1); затем «пойдем» по горизонтали в загруженную клетку (1; 2), затем – по вертикали в загруженную клетку (2; 2), затем – по горизонтали в загруженную клетку (2; 3), затем – по вертикали в загруженную клетку (3; 3) и, наконец, по горизонтали вернемся в клетку (3; 1), помеченную знаком «+» (табл. 10).
Таблица 10
7. Обходя построенный замкнутый контур, например, по часовой стрелке, ставим в его углах поочередно знаки «–» и «+», учитывая, что в клетке (3; 1) уже стоит знак «+» (табл. 11).
Таблица 11
8. Строим следующую распределительную таблицу, в которую без изменения перенесем из предыдущей таблицы, во-первых, все тарифы перевозок и, во-вторых, загрузки всех клеток, не помеченных знаками «+» и «–». Отметим, что во всех последующих распределительных таблицах можно не указывать запас груза, накопленный у поставщиков, а также спрос в пунктах потребления (табл. 12). Обратите внимание на то, что в предыдущей таблице только одна загруженная клетка не была помечена знаками «+» и «–» – это клетка (3; 4);
Таблица 12 Таблица 13
Для контроля правильности преобразования распределительной таблицы убедимся, что в новой таблице загруженных клеток столько же, сколько их было в предыдущей таблице – ровно 6. 9. Уже для новой распределительной таблицы находим потенциалы
составленную, во-первых, из уравнения
Таблица 14
10. Для каждой незагруженной клетки (i; j) вычислим разность
Отметим, что среди этих разностей Обратите особое внимание на следующие обстоятельства: а) при построении замкнутого контура нам пришлось «пройти», не «поворачивая», через загруженные клетки (1; 2) и (2; 3), а также через незагруженные клетки (2; 1) и (3; 2); напомним, что указанными выше правилами это не возбраняется; нам было важно «поворачивать» каждый раз в загруженной клетке и «вернуться» в клетку (1; 3), из которой начали «движение»; б) знаками «–» и «+» отмечены только угловые клетки построенного контура; «транзитные» клетки (как загруженные (1; 2), (2; 3), так и незагруженные (2; 1), (3, 2)) знаками «–» и «+» не отмечаются; в) мы не стремимся к тому, чтобы замкнутый контур охватил все загруженные клетки – через загруженную клетку (3; 4), как видим, построенный замкнутый контур не проходит. Таблица 15
11. Построим следующую распределительную таблицу, в которую перенесем без изменений из предыдущей таблицы, во-первых, тарифы перевозок, во-вторых, загрузки 50, 80, 20 клеток (1; 2), (2; 3), (3; 4), не помеченных знаками «+» и «–» (табл. 16).
Таблица 16
Вычислим новые загрузки клеток, помеченных в предыдущей таблице знаками «+» и «–». Для этого, как обычно, среди загрузок 0 и 20 клеток (1; 1) и (3; 3), помеченных знаками «–» (см. табл. 15), выберем минимальную, т. е. 0. Эту минимальную загрузку 0 теперь нужно в клетках со знаком «–» отнять, Поскольку в данном случае отнимается и прибавляется ноль, то на первый взгляд кажется, что в результате этих операций распределительная таблица не изменяется. Однако при строгом следовании изложенному выше алгоритму убедимся, что изменения в таблице все-таки происходят: во-первых, в незагруженной ранее клетке (1; 3) появится нулевая загрузка; во-вторых, в новой таблице в клетке (1; 1) нулевую загрузку, получающуюся при вычитании (об этом свидетельствует знак «–» в этой клетке в предыдущей таблице), писать не будем (табл. 17).
Таблица 17
12. Как и прежде, для новой распределительной таблицы найдем потенциалы
составленную, во-первых, из уравнения Таблица 18
13. Снова для каждой незагруженной клетки (i; j) вычислим разность
Клетку (3; 2), соответствующую отрицательной разности
Таблица 19
14. Построим следующую распределительную таблицу, в которую перенесем без изменений из предыдущей таблицы, во-первых, все тарифы перевозок, во-вторых, загрузки 80, 50, 20 клеток (2; 3), (3; 1), (3; 4), не помеченных знаками «+» и «–». Затем вычислим новые загрузки клеток со знаками «+» и «–». Для этого среди загрузок 50 и 20 клеток (1; 2) и (3; 3), помеченных знаком «–», выберем минимальную, т. е. 20. Выбранную минимальную загрузку 20 мы теперь в клетках со знаком «–» отнимем, а в клетках со знаком «+» прибавим к имеющимся там загрузкам. Отметим, что в клетке (3; 3) появится в результате вычитания нулевая загрузка, следовательно, в новой таблице в данной клетке нулевую загрузку писать не будем (табл. 20).
Таблица 20
15. Для новой таблицы найдем потенциалы
составленную, во-первых, из уравнения Таблица 21
16. Снова для каждой незагруженной клетки (i; j) вычислим разность
Клетку (2; 1), соответствующую отрицательной разности
Таблица 22
Отметим, что клетка (2; 2) не является угловой для данного контура – в ней происходит лишь самопересечение линии контура, поэтому в клетке (2; 2) не ставим знак «+» или «–». Построим следующую распределительную таблицу, в которую перенесем без изменений из предыдущей таблицы, во-первых, все тарифы перевозок, во-вторых, загрузку 20 клетки (3; 4), не помеченной знаком «+» или «–». Затем вычислим новые загрузки клеток со знаками «+» и «–». Для этого среди загрузок 30, 80, 50 клеток (1; 2), (2; 3), (3; 1), помеченных знаком «–», выберем минимальную, т. е. 30. Эту загрузку 30 мы теперь в клетках со знаком «–» отнимем, а в клетках со знаком «+» прибавим к имеющимся там загрузкам. При этом отметим, что в клетке (1; 2) появится в результате вычитания нулевая загрузка, следовательно, в новой таблице в данной клетке нулевую загрузку писать не будем (табл. 23).
Таблица 23
17. Для новой распределительной таблицы найдем потенциалы
составленную из уравнения
Таблица 24
18. Для каждой незагруженной клетки (i; j) вычислим разность
Как видим, все эти разности неотрицательны, следовательно, найден оптимальный план перевозок. Согласно ему, от поставщика А 1 потребителю В 3 нужно перевезти 50 единиц груза, от поставщика А 2 потребителям В 1 и В 3 – соответственно 30 и 50 единиц груза, а от поставщика А 3 потребителям В 1 и В 2 – 20 и 50 единиц груза соответственно. Учитывая, что В 4 – фиктивный поставщик (об этом нам напоминают нулевые тарифы в графе В 4), получаем, что 20 единиц груза (загрузка клетки (3; 4)) останутся невывезенными у поставщика А 3. Транспортные расходы при таком плане перевозок составят:
(сумма произведений загрузок клеток и соответствующих тарифов перевозок). Date: 2016-07-25; view: 381; Нарушение авторских прав |