Автор работы: Пользователь скрыл имя, 16 Января 2013 в 01:05, курсовая работа
Поиски оптимальных решений привели к созданию специальных математических методов и уже в 18 веке были заложены математические основы оптимизации (вариационное исчисление, численные методы и др). Однако до второй половины 20 века методы оптимизации во многих областях науки и техники применялись очень редко, поскольку практическое использование математических методов оптимизации требовало огромной вычислительной работы, которую без ЭВМ реализовать было крайне трудно, а в ряде случаев - невозможно.
6 5 6 5
4 4 7 7
3 6 8 9
Обозначив объем перевозок с i-го лесоводства на j-ый елочных базар через х(i), а целевую функцию (общие затраты)— через F, построим математическую модель задачи:
F= 6* x11 + 5* x12 + 6* x13 +5* x14+ 4* x21 + 4* x22 + 7* x23 + 7* x24 + 3* x31 + 6* x32 + 8* x33 + +9* x34 min
x11 + x12 + x13 + x14 ≤ 200,
x21 + x22 + x23 + x24 ≤ 300,
x31 + x32 + x33 + x34 ≤ 400,
x11 + x21 + x31 ≥ 300,
x12 + x22 + x32 ≥ 200,
x13 + x23 + x33 ≥ 150,
x14 + x24 + x34 ≥ 250,
xij ≥ 0, где i Є [1,3], j Є [1,4].
Знаки ≤ в ограничениях означают, что со складов можно вывезти не больше груза, чем там имеется, а знаки ≥ — что в каждый магазин нужно доставить груза не меньше, чем требуется. Эти знаки справедливы, когда потребности в сумме не превосходят запасов груза (как в нашей задаче). Если же запасов не хватает для удовлетворения всех потребностей, используются специальные приемы, позволяющие решить задачу в Excel и там знаки неравенств не задаются и поэтому все варианты транспортной задачи вводятся одинаково.
Условие целочисленности переменных в транспортной задаче задавать не нужно. Из-за особенностей алгоритма, решение автоматически получается целым, если запасы груза в пунктах отправления и потребности в пунктах назначения выражаются целыми числами.
Чтобы запустить программу для сетевого моделирования, позволяющую, в частности, решать и транспортную задачу, щелкните кнопку Пуск, найдите программную группу WinQSB и выберите Network Modeling.
Для ввода новой задачи выберите команду File, New Problem. Откроется окно: (рис.1.)
Рис. 1. Ввод параметров решения транспортной задачи.
Необходимо задать следующие параметры:
• Тип задачи — Transportation Problem.
• Вариант оптимизации — минимизация (Minimization) или максимизация Maximization).
Если выбрана матричная форма задачи, откроется окно с таблицей для ввода данных: затрат на перевозку единицы груза в каждом направлении (тарифов), запасов груза в пунктах отправления и потребностей в пунктах назначения. Вид этого окна после ввода данных показан на рис. 3.2. Строки таблицы соответствуют пунктам отправления (Source), а столбцы — пунктам назначения (Destination). На их пересечении — тарифы соответствующих перевозок. В столбце Supply — запасы грузов в пунктах отправления, а в строке Demand — потребности в пунктах назначения.
Рис. 2. Ввод данных для решения транспортной задачи
При вводе данных, набрав число или знак, следует нажимать клавишу Enter, чтобы перейти на следующую позицию ввода. Кроме того, можно выполнять следующие действия:
С помощью указанных далее команд меню Edit можно изменить следующие параметры задачи:
Изменим названия
пунктов отправления и
Рис. 3. Изменение пунктов назначения и отправления
С помощью указанных далее команд меню Format могут быть изменены:
Так, например, та же задача в графической форме будет выглядеть следующим образом (рис. 4).
Рис. 4. Транспортна задача в графической форме.
После ввода данных задачи не забудьте сохранить ее с помощью команды File > Save Problem As.
Чтобы решить задачу, выберите в меню Solve and Analyze один из следующих вариантов действий:
• Выбрать метод нахождения первоначального плана — Select Initial Solution Method. Перед началом решения можно выбрать один из восьми предложенных методов, в частности методы северо-западного угла, минимального элемента, Фогеля и др. Имейте в виду, удачный выбор может ускорить поиск оптимального решения.
Отчет, появляющийся после завершения вычислений, представляет собой таблицу с перечнем только тех направлений, по которым предлагается перевозить груз, то есть выполнять ненулевые перевозки (рис. 5). В отчете содержится следующая информация:
Рис. 5. Отчет о решении задачи с перечнем нулевых перевозок.
В первом столбце — номера ненулевых перевозок.
После нахождения решения становится доступным меню Results. С помощью этого меню можно узнать, сколько итераций и времени работы процессора потрачено на поиск решения (Show Run Time and Iteration), a также впоследствии снова вызвать рассмотренный отчет, содержащий ненулевые перевозки (Solution Table - Nonzero Only).
Кроме того, с помощью команд меню Results можно вывести и другие формы отчета:
Рис. 6. Интервалы оптимальности
• Интервалы устойчивости — Range of Feasibility. В этом отчете (рис. 3.7) перечислены узлы, то есть пункты отправления и назначения (Node), запасы грузов (Supply), потребности в них (Demand) и теневые цены (Shadow Price). Теневая цена показывает, насколько сократятся общие затраты на каждую единицу снижения потребностей в одном пункте назначения или увеличения запасов в одном пункте отправления (при неизменности запасов и потребностей в остальных пунктах). Знак минус перед теневыми ценами, соответствующими пунктам отправления, показывает, что при увеличении запасов общие затраты уменьшаются (изменения в противоположных направлениях). С другой стороны, уменьшение потребностей сопровождается уменьшением общих затрат (изменение в одном направлении), поэтому теневые цены, соответствующие пунктам назначения, положительны. Пределы изменения запасов и потребностей, при которых сохраняются прежние теневые цены, — в столбцах Allowable Min. Value и Allowable Max. Value. Это и есть границы интервалов устойчивости.
Рис. 7. Интервалы устойчивости транспортной задачи.
Новый отчет в виде таблицы всегда заменяет предыдущий (старый не сохраняется). Графическое же решение сохраняется и может быть изменено лишь при повторном выборе команды Graphic Solution.
Просмотрев отчеты, вы можете с помощью меню Window вернуться в окно с исходными данными. Данные можно изменить и решение повторить, получив при этом новый табличный отчет.
При решении транспортных задач могут встретиться случаи, отличные от только что рассмотренного:
• Если по условию задачи какая-либо перевозка выполнена быть не может, то для нее нужно указать неприемлемые затраты на перевозку единицы груза. В качестве таких затрат введите: в задаче на минимум — большое число, значительно превышающее тарифы других перевозок, или латинскую букву М, а в задаче на максимум — наоборот, маленькое число, значительно меньшее остальных (можно даже отрицательное), или латинскую букву М с минусом (-М).
Когда получено оптимальное решение, можно получить альтернативные оптимальные решения, с помощью команды Results, Obtain Alternative Solution. Если таких решений нет, эта команда недоступна. Кроме того, сигналом наличия альтернативных решений является нулевая нормированная стоимость у небазисных перевозок (см. рис.6).
При каждом выборе этой команды появляется табличный отчет с новым альтернативным оптимальным решением. Решения меняются циклически: после их полного просмотра цикл повторяется. Вид отчета (с нулевыми перевозками или без них) зависит от того, какой отчет открывался последним, перед обращением к данной команде.
После решения транспортной задачи часто возникает необходимость выяснить, каким будет решение при других значениях исходных данных: тарифов перевозок, запасов в пунктах отправления или потребностей в пунктах назначения. Можно, конечно, вернуться в окно с исходными данными, изменить их и повторить решение. Но в этом случае пропадают первоначальные данные, а это не всегда желательно. Поэтому лучше воспользоваться анализом «Что-если». Это, фактически, многократное решение задачи с разными наборами данных, но при сохранении исходной задачи.