Автор работы: Пользователь скрыл имя, 12 Марта 2013 в 10:48, реферат
Под названием “транспортная задача” объединяется широкий круг задач с единой математической моделью. Классическая транспортная задача – задача о наиболее экономном плане перевозок однородного продукта или взаимозаменяемых продуктов из пунктов производства в пункты потребления, встречается чаще всего в практических приложениях линейного программирования. Линейное программирование является одним из разделов математического программирования – области математики, разрабатывающей теорию и численные методы решения многомерных экстремальных задач с ограничениями.
Введение
§1. Постановка Транспортной задачи (ТЗ) для n переменных
§2. Пример решения Транспортной задачи
§3. Транспортные задачи по различным критериям
§4. Решение транспортной задачи в Excel
Список литературы
Проверим на оптимальность имеющееся решение
(2,1) u2+v1-c21=-8+5-8=-11<0
(2,2) u 2 +v2 -c22=-8+10-6=-4<0
(3,1) u 3 +v1 -c31=-10+ 5-0=-5<0
(3,3) u 3 +v3 -c33=-10+12-0=2>0
Следовательно, условие оптимальности нарушено в клетке (3,3).
Имеющийся план перевозок можно улучшить.
Дадим описание заключительного шага алгоритма метода потенциалов.
ШАГ 3 Улучшение плана перевозок.
Улучшение плана происходит путем назначения перевозки θ>0 в ту клетку (i , j) таблицы, в которой нарушилось условие оптимальности. Но назначение ненулевой перевозки нарушает условия баланса вывоза продукции от поставщика i (вывозит весь запас и еще плюсθ>0 ) и условия баланса привоза продукции к потребителю j (получает все что можно и еще плюс θ > 0). Условия баланса восстанавливают путем уменьшения вывоза от i-поставщика к какому-то другому потребителю j (уменьшают на θ перевозку в какой-то заполненной клетке (i , j) строки i). При этом нарушается баланс привоза продукции к потребителю j (получает на θ меньше, чем ему требуется). Восстанавливают баланс в столбце j, тогда он нарушается в некоторой строке i и т.д. до тех пор, пока цикл перемещения перевозок не замкнется на клетке, в которой нарушалось условие оптимальности. Продемонстрируем эти рассуждения на нашем примере.
120 |
60 |
50+ Ө |
10- Ө |
70 |
- |
- |
70 |
50 |
- |
50- Ө |
* + Ө |
60 |
100 |
80 |
120 |
60 |
60 |
-(0) |
70 |
- |
- |
70 |
50 |
- |
40 |
* 10 |
60 |
100 |
80 |
1. Оптимальность нарушена в клетке (3,3). Назначим в нее перевозку θ>0 (+θ означает, увеличение на θ).
2.Нарушается баланс вывоза от поставщика 3 (вывозит 50+ θ, а это больше его запаса!). Уменьшаем на θ перевозку в заполненной клетке строки 3 (вне заполненной уменьшать нельзя, так как это приведет к отрицательной перевозке).
Рассмотрим те клетки цикла в которых уменьшаем на θ перевозку и берём минимум из вычетаемых, у нас это min{10- θ ,50- θ }=10.
И данное число надо подставить в цикл
§3. Транспортные задачи по различным критериям
Транспортная задача по критерию времени
Иногда возникает ситуация, когда в условиях (ТЗ) необходимо минимизировать не стоимость перевозок, а время их выполнения (Срочные грузы, перевозки скоропортящихся продуктов, работа «скорой помощи» и т.д.)
Имеется m поставщиков однородного груза и n потребителей груза. Для каждой пары ( , ) известно время , за которое груз перевозится от к . Требуется составить такой план перевозок, при котором все запасы поставщиков будут вывезены, а все запросы потребителей будут полностью удовлетворенны и наибольшее время доставки всех грузов будет минимизирован.
Задача о назначениях (Венгерский метод)
Имеется n видов работ и n рабочих. Каждый рабочий может выполнить любую из n работ за некоторое время (цена рабочего). Требуется распределить все работы между всеми рабочими так, чтобы время выполнения работ было минимальным, а каждую работу выполнял только один рабочий.
§4. Решение транспортной задачи в Excel
В качестве примера я рассмотрел транспортную задачу для 2 складов и 5 магазинов.
{ =СУММ((B8:F8*B13:F13)+(B9:F9*
{=СУММ(B13:B14) - E5 }
Затем скопировал ее. При
копировании формула
{=C4 - СУММ(B13:F13)}
Эта формула скопирована уже по столбцу в ячейку D19. Подготовительный этап завершен - можно вызывать Решатель.
При вызове Решателя и задании параметров в его диалоговом окне выполнялась стандартная работа по указанию ячейки с целевой функцией, диапазоном регулируемых ячеек и заданием ограничений. Заметьте, помимо двух групп ограничений я задал и ограничения целочисленности переменных. Предполагается, что продукция может перевозиться только целыми единицами - бочками, мешками, ящиками. Такие ограничения в Решателе создаются совсем просто, - достаточно среди операторов, связывающих левую и правую части ограничения, выбрать оператор int. Взгляните, как выглядят результаты моей работы:
Рис. 2.21. Окно Решателя при решении транспортной задачи
Прежде чем дать команду на решение задачи, я провел настройку параметров в окне Options. В частности я включил флажки, указывающие на линейность модели и положительность переменных. Кроме того, я увеличил точность решения целочисленной задачи, задав в окне Tolerance значение в 1% вместо 5%, принятых по умолчанию.
Рис. 2.22. Настройка в окне параметров Решателя при решении транспортной задачи
Осталось щелкнуть кнопку "Solve" и получить оптимальный план перевозок. Вы можете проанализировать, насколько оптимальный план отличается от равномерного распределения, предложенного в качестве первоначального варианта, и как уменьшились транспортные расходы:
Рис. 2.23. Решение транспортной задачи
Параметры, управляющие работой Решателя
Рассмотрим возможности управления работой Решателя, задаваемые в окне Параметры (Options):