- •Глава 1
- •Решение с помощью пакета WinQsb
- •Глава 2
- •Решение с помощью пакета WinQsb
- •Решение с помощью прог раммы Excel
- •Глава 3
- •Решенне с помощью пакета WinQsb
- •Решение с помощью программы Excel Ввод данных и анализ оптимального решении
- •Глава 4
- •Решение с помощью пакета WinQsb
- •Глава 1. Задача линейного программирования 5
- •Пример 5
- •Глава 2 .Задача целочисленного программирования 49
- •Глава 3. Транспортная задача 54
- •Глава 4. Задача о назначениях 77
Глава 3
ТРАНСПОРТНАЯ ЗАДАЧА 3.1. Пример
На трех складах оптовой базы имеется однородный груз в количестве 100, 200 и 400 ед., который необходимо доставить в четыре магазина в количестве, соответственно, 200, 100, 150 и 250 ед. Затраты на перевозку единицы груза (тарифы) заданы матрицей, в которой номер строки соответствует номеру склада, а номер столбца — номеру магазина:
'5 4 5 6'
3 3 6 6 ч2 5 7 8,
Нужно составить такой план перевозок, при котором транспортные расходы минимальны.
Обозначив объем перевозок с /-го склада в j-й магазин через Xj, а целевую функцию (общие затраты) — через F, построим математическую модель задачи:
F— 5*11 + 4x12 + 5л‘ 13 + 6л'14 + Зл-2| + 3*22 + 6*23 + 6*24 + 2X31 + 5*32 +
+ 7-Узз + 8л‘з4 —> min,
All + *12+*13 + *|4< 100, ДТП + *21 + *31 >200,
*21 +*22 +*23 +*24 < 200, *12 +*22 + *32 > ЮО,
Л'31 + *32 + *33 +*34 <400, Хи + *23 + *33 > 150,
*14 + *24 + *34 >250,
x,j> 0, где / е [1, 3],/ е [1, 4].
Знаки < в ограничениях означают, что со складов можно вывезти не больше груза, чем там имеется, а знаки > — что в каждый магазин нужно доставить груза не меньше, чем требуется. Эти знаки справедливы, когда суммарные потребности не превосходят запасов груза (как в нашей задаче). Если же запасов не хватает для удовлетворения всех потребностей, используются специальные приемы, позволяющие решить задачу в Excel и описанные в конце раздела 3.3. В WinQSB эти приемы не нужны, так как там знаки неравенств не задаются и поэтому все варианты транспортной задачи вводятся одинаково.
Внимание! Условие целочнсленности переменных в транспортной задаче задавать не нужно. Из-за особенностей алгоритма решение автоматически получается целым, если запасы груза в пунктах отправления и потребности в пунктах назначения выражаются целыми числами.
Решенне с помощью пакета WinQsb
Запуск программы
Чтобы запустить программу для сетевого моделирования, позволяющую, в частности, решать и транспортную задачу, щелкните кнопку Пуск, найдите программную группу WinQSB и выберите Network Modeling.
Задание параметров задачи
Для ввода новой задачи выберите команду File > New Problem. Откроется окно (рис. 3.1), в котором необходимо задать следующие параметры:
Тип задачи — Transportation Problem.
Вариант оптимизации— минимизация (Minimization) или максимизация (Maximization).
NET Problem Specification
Problem Type Г Network Flow
is Transportation Problem Г Assignment Problem Г Shortest Path Problem Г Maximal Flow Problem Г Minimal Spanning Tree Г Traveling Salesman Problem
Objective Criterion
'■ Minimization Г Maximization
Data Entry Format
'■ Spreadsheet Matrix Form Г Graphic Model Form
Г
(i.e.. both ways same cost)
[Транспортная за
Number of Destinations И
|
Cancel |
|
Help |
Problem Title
Number of Sources 3
Рис. 3.1. Ввод параметров решения транспортной задачи
Форма задачи — матричная (Spreadsheet Matrix Form) или графическая (Graphic Model Form). Графическая форма— в виде сетевой диаграммы — нагляднее, но более трудоемка для ввода данных, так как требует рисования на экране узлов сети (пунктов отправления и назначения) и соединяющих их дуг (маршрутов перевозок). Поэтому в дальнейшем мы будем использовать матричную форму. Однако после ввода данных можно легко изменить форму задачи, воспользовавшись соответствующей командой меню Format.
Название задачи — Problem Title.
Количество пунктов отправления — Number of Sources.
Количество пунктов назначения — Number of Destinations.
Ввод числовых данных
Если выбрана матричная форма задачи, откроется окно с таблицей для ввода данных: затрат на перевозку единицы груза в каждом направлении (тарифов), запасов груза в пунктах отправления и потребностей в пунктах назначения. Вид этого окна после ввода данных показан на рис. 3.2. Строки таблицы соответствуют пунктам отправления (Source), а столбцы— пунктам назначения (Destination). На их пересечении — тарифы соответствующих перевозок. В столбце Supply — запасы грузов в пунктах отправления, а в строке Demand — потребности в пунктах назначения.
При вводе данных, набрав число или знак, следует нажимать клавишу Enter, чтобы перейти на следующую позицию ввода. Кроме того, можно выполнять следующие действия:
Перемещаться по таблице— с помощью клавиши Tab или клавиш со стрелками.
| m Транспортная задача: Minimization (Transportation Problem) ^ |
Jg|x| |
||||
[Source 1 Destination 1 |5 |
|
П |
|||
|
From \ To |
Destination 11 Destination 21 Destination 3| Destination 4 Supply |
|
||
|
Source 1 |
5 4 5 6 |
100 |
|
|
|
Source 2 |
3 3 6 6 |
200 |
|
|
|
Source 3 |
2 5 7 8 |
400 |
|
|
|
Demand |
200 100 150 250 |
|
|
|
|
|
|
|
||
|
|
|
|
Рис. 3.2. Ввод данных для решения транспортной задачи
Выбрать ячейку таблицы — щелчком этой ячейки. Если щелкнуть голубое поле над таблицей, то выбранная ячейка выделится цветом и можно редактировать ее содержимое.
С помощью указанных далее команд меню Edit можно изменить следующие параметры задачи:
Название задачи—Problem Name.
Название пунктов отправления и назначения — Node Names.
Вариант оптимизации целевой функции — Objective Function Criterion (при этом максимизация меняется на минимизацию и наоборот).
Количество пунктов отправления и назначения — Add a Note или Delete a Note (пункты добавляются или удаляются, соответственно). По умолчанию добавляются новые пункты отправления. Для добавления пункта назначения выберите команду Add a Note, а затем снимите флажок Added as а source. Здесь же можно задать название добавляемого пункта.
Изменим, например, названия пунктов отправления и назначения (рис. 3.3).
С помощью указанных далее команд меню Format могут быть изменены:
® Форма задачи — Switch to Graphic Model или Switch to Matrix Form (можно перейти в графическую или матричную форму, соответственно).
Формат чисел — Number.
Шрифт и цвет — Font.
Выравнивание — Alignment.
Высота строк— Row Height.
Ширина столбцов — Column Width.
* Транспортная задача: Minimization (Transportation Pro |
1 J |
1н1 |
а |
||||||
|П.отпр.1 : П.мазн.1 |5 |
|||||||||
From \ То |
П.назн.1 |
П.назн.2 |
П.назн.З |
П.наэн.4 |
Supply |
|
|
|
|
П.отпр.1 |
5 |
4 |
5 |
6 |
100 |
|
|
|
|
П.отпр.2 |
3 |
3 |
6 |
6 |
200 |
|
|
|
|
П.отпр.З |
2 |
5 |
7 |
8 |
400 |
|
|
|
|
Demand |
200 |
100 |
150 |
250 |
|
|
|
|
|
Рис. 3.3. Изменение названии пунктов отправления и назначения
Например, та же задача в графической форме будет выглядеть следующим образом (рис. 3.4).
Внимание! После ввода данных задачи не забудьте ее сохранить с помощью команды File ► Save Problem As.
Нахождение решения
Чтобы решить задачу, выберите в меню Solve and Analyze один нз следующих вариантов действий:
Решить задачу— Solve the Problem. Решение находится методом потенциалов. По окончании решения появляется отчет в виде таблицы, в которой указаны только ненулевые перевозки. В дальнейшем можно открыть этот отчет либо посредством меню Window, либо с помощью команды Results ► Solution Table - Nonzero Only.
Решить с показом шагов— Solve and Display Steps — Tableau или Solve and Display Steps — Network. При этом все итерации метода потенциалов показываются в виде, соответственно, транспортных таблиц или сетевых диаграмм. На каждом шаге указываются перевозки, вводимые в базис и исключаемые из него. С помощью меню Iteration вы можете перейти к следующей
я Транспортная задача: Minimization (Тга... ГМ!
итерации (Next Iteration), к концу решения с выводом отчета (Nonstop to Finish) или посмотреть информацию о вводимой и исключаемой перевозке (Show Entering and Leaving Arcs).
Выбрать метод нахождения начального плана — Select Initial Solution Method. Перед началом решения можно выбрать один из восьми предложенных методов, в частности методы северо-западного угла, минимального элемента, Фогеля и др. Имейте в виду, удачный выбор может ускорить поиск оптимального решения.
Анализ оптимального решения и его чувствительности
Отчет, появляющийся после завершения вычислений, представляет собой таблицу с перечнем только тех направлений, по которым предлагается перевозить груз, то есть выполнять ненулевые перевозки (рис. 3.5).
В отчете содержится следующая информация:
« В первом столбце — номера ненулевых перевозок.
В столбцах From и То — названия соответствующих пунктов отправления и назначения.
® В столбце Shipment— количество груза, которое следует перевозить в каждом направлении.
В столбце Unit Cost— затраты на перевозку единицы груза в каждом направлении (тарифы).
В столбце Total Cost— общие затраты на перевозку груза в каждом направлении (произведение количества груза на соответствующий тариф).
я Solution for Транспортная задача: Minimization (Transportation | |
_ !□! |
X |
|||||||
|
08-23-2004 |
From | То |
Shipment|Unit CostjTotal Cost jReduced Cost |
|
|||||
|
1 |
П.отпр.1 П.назн.З |
100 |
5 |
500 |
0 |
|
||
|
2 |
П.отпр.2 П.назн.2 |
100 |
3 |
300 |
0 |
|
||
|
3 |
П.отпр.2 П.назн.4 |
100 |
6 |
600 |
0 |
|
||
|
4 |
П.отпр.З П.назн.1 |
200 |
2 |
400 |
0 |
|
||
|
5 |
П.отпр.З П.назн.З |
50 |
7 |
350 |
0 |
|
||
|
6 |
П.отпр.З П.назн.4 |
150 |
8 |
1200 |
0 |
|
||
|
|
Total Objective |
Function |
Value = |
3350 |
|
|
В столбце Reduced Cost— приведенные (нормированные) стоимости — двойственные оценки, которые могут быть отличны от нуля только для нулевых перевозок. Чтобы увидеть такие перевозки и их нормированные стоимости, воспользуйтесь либо отчетом с перечнем всех перевозок (Solution Table - All), либо отчетом об интервалах оптимальности (Range of Optimality). Как получить такие отчеты — говорится далее в этом разделе. Нормированная стоимость показывает: а) на какую величину, как минимум, нужно снизить тариф нулевой перевозки, чтобы она стала выгодной (положительной); б) насколько увеличатся общие затраты, если ввести в план перевозку единицы груза в невыгодном направлении, не меняя тарифов. Если у нулевой перевозки — нулевая нормированная стоимость, то имеются альтернативные оптимальные решения.
В последней строке таблицы — оптимальное значение целевой функции— общие затраты при выполнении предлагаемого плана перевозок (Total Objective Function Value = 3350).
После нахождения решения становится доступным меню Results. С помощью этого меню можно узнать, сколько итераций и времени работы процессора потрачено на поиск решения (Show Run Time and Iteration), а также впоследствии снова вызвать рассмотренный отчет, содержащий ненулевые перевозки (Solution Table - Nonzero Only).
Кроме того, с помощью команд меню Results можно вывести и другие формы отчета:
® Отчет с перечнем всех перевозках— Solution Table — All. Форма таблицы — та же, что на рис. 3.5, но показаны все перевозки, в том числе и нулевые, для которых нормированные стоимости могут быть положительны.
Графическое решение — Graphic Solution. Решение выводится в виде сетевой диаграммы.
Интервалы оптимальности — Range of Optimality. В таблице этого отчета (рис. 3.6), помимо сведений, присутствующих в обычном отчете, приводится состояние перевозок в столбце Basis Status. Перевозки могут быть либо базисными, то есть положительными (basic), либо небазисными, равными нулю— своей нижней границе (at bound). В столбцах Allowable Min. Cost и Allowable Max. Cost приведены пределы изменения тарифов — границы интервалов оптимальности, внутри которых сохраняется прежнее оптимальное решение (при этом буква М используется вместо символа да). В нашей задаче видно, что у двух небазисных, нулевых, перевозок (из пункта 1 в пункт 4 и из пункта 3 в пункт 2) нормированная стоимость равна нулю. Значит, у задачи есть альтернативные оптимальные решения, в которых эти перевозки — ненулевые.
» Интервалы устойчивости — Range of Feasibility. В этом отчете (рис. 3.7) перечислены узлы, то есть пункты отправления и назначения (Node), запасы грузов (Supply), потребности в них (Demand) и теневые цены (Shadow Price). Теневая цена показывает, насколько сократятся общие затраты при снижении на единицу потребностей в одном пункте назначения или увеличении на
л Range of Optimality for Транспортная задача: Minimization (Tra |
|
X |
|||||||
|
08-24-2004 15:21:01 |
From |
То |
Unit Cost |
Reduced Cost |
Basis Status |
Allowable Min. Cost |
Allowable Max. Cost |
|
|
1 |
П.отпр.1 |
П.назн.1 |
5 |
5 |
at bound |
0 |
M |
|
|
2 |
П.отпр.1 |
П.назн.2 |
4 |
1 |
at bound |
3 |
M |
|
|
3 |
П.отпр.1 П.назн.З |
5 |
0 |
basic |
-M |
5 |
|
|
|
4 |
П.отпр.1 |
П.назн.4 |
6 |
0 |
at bound |
6 |
M |
|
|
5 |
П.отпр.2 П.назн.1 |
3 |
3 |
at bound |
0 |
M |
|
|
|
6 |
П.отпр.2 П.назн.2 |
3 |
0 |
basic |
-2 |
3 |
|
|
|
7 |
П.отпр.2 П.назн.З |
6 |
1 |
at bound |
5 |
M |
|
|
|
8 |
П.отпр.2 П.назн.4 |
6 |
0 |
basic |
6 |
7 |
|
|
|
9 |
П.отпр.З П.назн.1 |
2 |
0 |
basic |
0 |
5 |
|
|
|
10 |
^П.отпр.З |
П.назн.2 |
5 |
0 |
at bound |
5 |
M |
|
|
11 |
П.отпр.З П.назн.З |
7 |
0 |
basic |
7 |
8 |
|
|
|
12 |
П.отпр.З П.назн.4 |
8 |
0 |
basic |
7 |
8 |
|
|
|
|
|
|
|
|
|
|
|
Рис. 3.6. Интервалы оптимальности транспортной задачи
» Range of Feasibility for Транспортная задача: Minimization |
I JeI |
X |
||||||||
|
08-24-2004 20:05:36 |
Node |
Supply |
Demand |
Shadow Price |
Allowable Min. Value |
Allowable Max. Value |
|
||
|
1 |
П.отпр.1 |
100 |
0 |
-2 |
100 |
150 |
|
||
|
2 |
П.отпр.2 |
200 |
0 |
-2 |
200 |
350 |
|
||
|
3 |
П.отпр.З |
400 |
0 |
0 |
400 |
M |
|
||
|
4 |
П.назн.1 |
0 |
200 |
2 |
0 |
200 |
|
||
|
5 |
П.назн.2 |
0 |
100 |
5 |
0 |
100 |
|
||
|
6 |
П.назн.З |
0 |
150 |
7 |
100 |
150 |
|
||
|
7 |
П.назн.4 |
0 |
250 |
8 |
100 |
250 |
|
единицу запасов в одном пункте отправления (при неизменности запасов и потребностей в остальных пунктах). Знак минус перед теневыми ценами, соответствующими пунктам отправления, показывает, что при увеличении запасов общие затраты уменьшаются — изменения происходят в противоположных направлениях. (Увеличение запасов в пунктах отправления с более выгодными тарифами позволяет сократить перевозки из тех пунктов, где тарифы менее выгодны, за счет чего общие затраты и сокращаются.) С другой стороны, уменьшение потребностей всегда сопровождается уменьшением общих затрат (изменения в одном направлении), поэтому теневые цены, соответствующие пунктам назначения, положительны. Пределы изменения запасов и потребностей, при которых сохраняются прежние теневые цены, — в столбцах Allowable Min. Value и Allowable Max. Value. Это и есть границы интервалов устойчивости.
Внимание! Новый отчет в виде таблицы всегда заменяет предыдущий (старый не сохраняется). Графическое же решение сохраняется и может быть изменено лишь при повторном выборе команды Graphic Solution.
Просмотрев отчеты, вы можете с помощью меню Window вернуться в окно с исходными данными. Данные можно изменить и решение повторить, получив при этом новый табличный отчет.
Варианты транспортной задачи
При решении транспортных задач могут встретиться следующие случаи, отличные от только что рассмотренного:
Если перевозки груза характеризуются не затратами, а выручкой или прибылью, то транспортная задача решается так же, как в описанном выше примере, но целевая функция максимизируется.
Если суммарные потребности и запасы груза не совпадают, то программа автоматически вводит фиктивный пункт отправления под именем Un- filled_Demand (Невыполненная заявка) или фиктивный пункт назначения, обозначаемый Unused Supply (Неизрасходованный запас). При этом затраты на перевозки из фиктивного пункта (или в фиктивный пункт) полагаются равными нулю, а запасы (или потребности) в фиктивном пункте полагаются равными недостающему (или избыточному) количеству груза. Полученная в отчете перевозка из фиктивного пункта отправления (Unfilled_Demand) в реальный пункт назначения трактуется как груз, недопоставленный в этот пункт назначения. А перевозка из реального пункта отправления в фиктивный пункт назначения (Unused_Supply) указывает количество груза, оставшегося невывезенным на этом пункте отправления.
Если по условию задачи какая-либо перевозка выполнена быть не может, для нее нужно указать неприемлемые затраты на перевозку единицы груза. В качестве таких затрат введите в задаче на минимум — большое число, значительно превышающее тарифы других перевозок, или латинскую букву М, а в задаче на максимум — наоборот, маленькое число, значительно меньшее остальных (можно даже отрицательное), или латинскую букву М с минусом (— М).
Получение альтернативных решений
Когда найдено оптимальное решение, можно получить альтернативные оптимальные решения с помощью команды Results ► Obtain Alternative Solution, доступной, если такие решения есть. При каждом выборе этой команды появляется табличный отчет с новым альтернативным оптимальным решением. Решения меняются циклически: после их полного просмотра цикл повторяется. Вид отчета (с нулевыми перевозками или без них) зависит от того, какой отчет открывался последним перед обращением к данной команде.
Анализ «Что-если»
После решения транспортной задачи часто возникает необходимость выяснить, каким будет решение при других значениях исходных данных: тарифов перевозок, запасов в пунктах отправления или потребностей в пунктах назначения. Можно, конечно, вернуться в окно с исходными данными, изменить их и повторить решение. Но в этом случае пропадают первоначальные данные, а это не всегда желательно. Поэтому лучше воспользоваться анализом «Что-если». Это, фактически, многократное решение задачи с разными наборами данных, но при сохранении исходной задачи.
Анализ «Что-если» можно выполнить с помощью команды Perform What If Analysis, но только после нахождения оптимального решения. Эту команду выберите либо в меню Solve and Analyze, либо в меню Results. Откроется окно для задания исходных данных анализа (рис. 3.8).
По умолчанию в поле Analysis on выбран параметр Link (Arc) Coefficient (Cost/Distance), предполагающий анализ изменений тарифов перевозок. Если
What If Analysis
Vhat If Analysis allows a minor change ol Ihe problem and resolve it without loitering the original data. Select what to analyze, and click an item Irom the list ■or press the Vector button. Then enter the new value ol the selected item. When lit is ready, press the OK button to solve with the new change. The original data is I ■retained
Analysis on |
^(Select one or press Vector | |
|
|
'■ Link (Arc) Coefficient (Cost/Distance) Г Node Value (Supply/Demand) |
^ВП.отпр 1 to П.назн.2 —
|
|
|
| Link Cost/Distance |5 |
1?Потпр.1 to П.назн.1 |
Рис. 3.8. Задание исходных данных для анализа «Что-если»
вы хотите проанализировать изменение одного тарифа, выберите в списке справа соответствующее направление перевозки и затем введите новый тариф в поле Link Cost/Distance. После щелчка кнопки ОК появится таблица отчета о решении задачи с новым значением введенного параметра. Вид отчета (с нулевыми перевозками или без них) зависит от того, какой отчет открывался последним перед выполнением анализа «Что-если».
Если нужно проанализировать одновременное изменение нескольких тарифов, то щелкните кнопку Vector (в правом нижнем углу) и в появившемся окне задайте новое значение каждого тарифа (рис. 3.9). После щелчка в этом и предыдущем окнах кнопки ОК появится таблица с отчетом о новом решении.
Если нужно проанализировать изменение запасов или потребностей в одном из пунктов отправления или назначения, то проделайте следующее. В поле Analysis on выберите параметр Node Value (Supply/Demand) (см. рис. 3.8), после этого в списке справа выберите название пункта, а затем в поле Supply(+)/Demand(-) введите новое значение изменяемого параметра. После щелчка кнопки ОК появится отчет о новом решении.
5 |
||||||
|
||||||
Node Connection |
Cost/Distance |
|
||||
П.отпр.1 to |
5 |
|
||||
П.отпр.1 to |
4 |
|
||||
П.отпр.1 to |
5 |
|
||||
П.отпр.1 to |
6 |
|
||||
П.отпр.2 to |
3 |
|
||||
П.отпр.2 to |
3 |
|
||||
П.отпр.2 to |
6 |
|
||||
П.отпр.2 to |
6 |
|
||||
П.отпр.З to |
2 |
|
||||
П.отпр.З to |
5 |
|
||||
П.отпр.З to |
7 |
|
||||
|
|
|
||||
|
|
|
||||
OK |
|
Cancel |
|
Help |
Рис. 3.9. Задание вектора изменения тарифов для анализа «Что-еслн»
Внимание! Одновременное изменение запасов или потребностей в нескольких пунктах в рассматриваемой версии программы исследовать не удается.
Параметрический анализ
Параметрический анализ позволяет выяснить, как изменяется оптимальное значение целевой функции (общие затраты) при изменении тарифов перевозок пли запасов и потребностей в пунктах отправления и назначения. При этом предполагают, что изменяемые величины линейно зависят от некоторого параметра (например времени), и находят, как от этого же параметра зависят общие затраты.
Параметрический анализ можно выполнить с помощью команды Perform Parametric Analysis, но только после нахождения оптимального решения. Эта команду можно выбрать либо в меню Solve and Analyze, либо в меню Results. Она открывает окно для выбора варианта параметрического анализа (рис. 3.10).
По умолчанию в этом окне выбран параметр Link (Arc) Coefficient (Cost/Distance), предполагающий анализ изменений тарифов. Если вы хотите проанализировать изменение тарифа одной перевозки (например из пункта 1 в
arametric Analysis
Рис. 3.10. Выбор варианта параметрического анализа (изменение тарифов)
пункт 4), выберите в списке справа направление этой перевозки, затем укажите, в каких пределах изменяется выбранный тариф.
Например, в нашей задаче исходное значение тарифа равно 6. Пусть нас интересует его изменение в пределах от 3 до 10 с шагом 2. Представим изменяемое значение тарифа в виде 6 + и, где и — изменяющийся параметр. Тогда начальное значение этого параметра будет -3, конечное равно 4, а шаг равен 2. Именно их и нужно задать, соответственно, в полях Staring u, Ending и и Step of и (см. рис. 3.10).
После щелчка кнопки ОК появится таблица с результатами параметрического анализа (рис. 3.11). В этой таблице с заданным шагом представлены значения тарифа в указанном интервале и соответствующие общие затраты — оптимальные значения целевой функции (OBJ Value).
Точно так же выполняется параметрический анализ изменения запасов или потребностей в одном пункте отправления или назначения. В этом случае выбирают параметр Node Value (Supply/Demand) (см. рис. 3.10) и в списке справа — название пункта. Затем для параметра и вводят начальное и конечное значения, а также шаг изменения. (Значения этого изменяющегося параметра добавляются к исходной величине запасов или потребностей.) И наконец, после
л Parametric Analysis for Транспортная задача |
|
X |
||
|
08-25-2004 |
П.отпр.1 to П.наэн.4 Connection Cost/Distance| OBJ Value |
|
|
|
1 |
3 |
3050 |
|
|
2 |
5 |
3250 |
|
|
3 |
7 |
3350 |
|
|
4 |
9 |
3350 |
|
|
|
|
II |
Рис. 3.11. Результаты параметрического анализа при изменении тарифа одной перевозки
щелчка кнопки ОК можно увидеть результаты параметрического анализа.
Если одновременно изменяются тарифы нескольких перевозок или запасы и потребности нескольких пунктов, то после выбора варианта параметрического анализа (тарифы или запасы/потребности) нужно щелкнуть кнопку Vector, после чего в открывшемся окне задать вектор изменения, показывающий, как изменяются все тарифы пли все запасы и потребности.
Пусть, например, в нашей задаче запасы и потребности следующим образом зависят от изменяющегося параметра и:
Пункт отправления Начальный запас Изменяемый запас
(назначения) (потребность) (потребность)
П.отпр.1 100 100 + 3»
П.отпр.З 400 400 - 2и
П.назн.4 250 250 + и
Положим, нас интересует изменение этого параметра в интервале от 10 до 30 с шагом 5. Вектор изменения запасов (потребностей) в данном случае будет содержать три ненулевых компонента: 3, -2 и 1 (коэффициенты параметра и).
Для выполнения параметрического анализа сначала выберем параметр Node Value (Supply/Demand) и зададим пределы и шаг изменения параметра и (рис.3.12). Затем щелкнем кнопку Vector и введем ненулевые компоненты вектора изменения запасов и потребностей (рис. 3.13).
После щелчков в этом и предыдущем окнах кнопки ОК появится таблица с результатами параметрического анализа, в которой для каждого значения параметра и указаны общие затраты— оптимальное значение целевой функции (OBJ Value) (рис. 3.14).
Parametric Analysis
The program analyzes the objective function based on OuC'. where С is the loriginal value, C' is the direction of perturbation, and u is the scale of change. ■Select what to analyze, and then click an item from the list or press the Vector ■button for defining C\ Enter the Start. End. and Step values to specify the range lof u. When it is ready, press the OK button to perform the analysis.
| Analysis on
Link (Arc) Coefficient (Cost/Distance) ■ Node Value (Supply/Demand)
Starting и |
|ю |
Ending и |
|зо |
Step of и |
|5 |
■П.отпр.1
Рис. 3.12. Выбор варианта параметрического анализа (изменение запасов и
потребностей)
Node Value Perturbation Vector
Perturbation Vector
П.отпр.1
П.отпр.2
П.отпр.З
|
|
|
||
ОК |
|
Cancel |
|
Help |
Рис. 3.13. Задание вектора изменения запасов и потребностей
|
08-26-2004 |
u of C+uC Supply/Demand | OBJ Value |
|
||
|
1 |
10 |
3210 |
|
|
|
2 |
15 |
3140 |
|
|
|
3 |
20 |
3070 |
|
|
|
4 |
25 |
3000 |
|
|
|
5 |
30 |
2930 |
|
|
|
|
|
|
|
Рис. 3.14. Результаты параметрического анализа при изменении запасов и потребностей в нескольких пунктах
В дальнейшем можно вернуться к таблице с результатами параметрического анализа еще раз. Для этого достаточно выбрать команду Results ► Show Parametric Analysis - Table.
Решающая функция
Результаты предварительно выполненного параметрического анализа можно представить в графической форме, воспользовавшись командой Results ► Show Parametric Analysis — Graphic. При этом выводится график решающей функции, показывающий зависимость целевой функции (общих затрат) от параметра и. Рассмотренные ранее результаты параметрического анализа (см. рис. 3.14), представлены графически на рис. 3.15.
-■» Parametric Anal/sis for Транспортная задача |
ГТТ |
|||
OBJ |
|
|
OBJ |
|
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
|
|
|
"\ |
|
|
|
|
|
|
||
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
U 15 20 К u at C'«C Supp'y/Doneed |
|
Рис. 3.15. График решающей функции при изменении запасов и потребностей