
- •ПРЕДИСЛОВИЕ
- •Глава 1. ХАРАКТЕРИСТИКА ИССЛЕДОВАНИЯ ОПЕРАЦИЙ
- •1.1. Основные понятия и особенности исследования операций
- •1.2. Этапы операционного исследования
- •4.11. Двойственность задач ЛП
- •4.12. Параметрический анализ
- •4.13. Задания для самостоятельной работы
- •Глава 5. ТРАНСПОРТНЫЕ ЗАДАЧИ
- •5.1. Основные модели транспортных задач
- •5.2. Метод потенциалов
- •5.3. Приведение открытой транспортной задачи к закрытой
- •5.6. Транспортные задачи в сетевой постановке (транспортные сети)
- •Глава 7. ЦЕЛОЧИСЛЕННОЕ ПРОГРАММИРОВАНИЕ
- •7.1. Проблема целочисленности
- •Глава 9. ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
- •9.2. Функциональное уравнение ДП
- •9.3. Распределение одного вида ресурса
- •9.8. Многомерные задачи динамического программирования
- •Варианты 2.1-2.3
- •Варианты 4.1-4.3
- •Варианты S.1-5.3
- •Варианты 6.1-6.3
- •Варианты 7.1-7.3
- •Варианты 8Л-8.3
- •Варианты 9.1-9.3
- •Варианты 10.1-10.3
- •Варианты 11.1-11.3
- •Варианты 12.1-12.3
- •Варианты 13.1-13.3
- •Варианты 14.1-14.3
- •Варианты 16.1-16.3
- •Варианты 17.1-17.3
- •Варианты 18.1-18.3
- •Варианты 19.1-19.3
- •Варианты 21.1-21.3
- •c„(x)-cJ + cJVJ.
- •Варианты 22.1-22.3
- •Варианты 23.1-23.3
- •Варианты 24.1-24.3
- •Варианты 25.1-25.3
- •Варианты 26.1-26.3
- •Варианты 27.1,27.2
- •Варианты 28.1-28.3
- •Варианты 29.1-29.3
- •Варианты ЗОЛ, 30.2
- •Глава 10. МНОГОКРИТЕРИАЛЬНЫЕ ЗАДАЧИ ПРИНЯТИЯ РЕШЕНИЙ
- •10.1. Основы многокритериальной оптимизации
- •10.2. Методы многокритериальной оптимизации
Отсюда находим
5L |
= у - |
дЬ_ |
dbj |
Y j » |
да. = - V • |
Учитывая линейность (5.21), полный дифференциал запишем в виде
AL* =V-Abj -U -A a,.
Изменения а, и bj могут быть только равными, иначе нарушится сба лансированность задачи. Если положить Аа, = Дbj= 1, то получим
AL* = V j-U * .
Следовательно, разность потенциалов показывает, как изменится оп тимальное значение критерия при одновременном изменении на единицу соответствующих потребностей и возможностей.
5.3.Приведение открытой транспортной задачи к закрытой
Воткрытой, или несбалансированной, задаче имеет место неравенство
тп
* 1Lbj •
/=1 /=1 Прежде чем решать такую задачу, необходимо привести ее к сбалансиро
ванному виду. В зависимости от ситуации сбалансировать задачу можно формальным способом без обращения к ЛПР или с привлечением допол нительной информации от ЛПР.
Рассмотрим формальные приемы. Пусть в исходной задаче предложе ние превышает спрос:
тп
£а/ > I > у
/=1 |
J = l |
|
Тогда условия задачи имеют вид |
|
|
П |
9 i — l j ш, |
(5.22) |
Х у — |
||
№ |
|
|
т |
____ |
|
X Х у = b j , j = 1,п\ |
(5.23) |
|
/=1 |
|
Vx,j > 0.
В каждое неравенство (5.22) введем дополнительную переменную *<>+1■В сумме эти переменные должны равняться величине дебаланса:
т т п
X xi,n+l = X °/ ~ £ b j = Ь п + \ • i=l »=1 j=\
Добавляя это равенство к условиям (5.23), получаем закрытую задачу:
л+1 |
__ |
£*,-, = a,, |
i = \,m; |
М |
______ |
т |
|
=Ь; , |
у = 1,и +1; |
/=1 |
^ 0. |
|
Потребность bn+i называют фиктивной. Таким образом, чтобы сбалан сировать задачу, достаточно ввести фиктивного потребителя с потребно стью, равной дебалансу. Практически это означает, что к исходной таблице добавляется один столбец с потребностью Ьп+\ и затратами C,.n+) = 0. Нену левые дополнительные переменные в оптимальном решении будут пока зывать количество груза, остающееся в соответствующих ПО.
Второй случай несбалансированности задачи имеет место, когда спрос превышает предложение:
2><ЕV
'J
При этом исходные условия записываются в виде:
У
Yuxv - bp У=1>и;
/
\/xv >0.
Поступаем аналогично первому случаю. Введем в каждое неравенство дополнительную переменную хт+\j. Очевидно, что сумма этих переменных равна величине дебаланса:
^ |
f "у \^ I |
^ \ |
^т+\■ |
j |
j |
' |
|
Сучетом этого равенства сбалансированная модель принимает вид:
П____
Е * у = а .’ / = 1,л + 1;
п
т+1 ____
/=1
Vx,y>0.
Такое преобразование соответствует введению фиктивного поставщика (дополнительной строки) с возможностью ат*\ и нулевыми затратами Cm+ij. Дополнительная переменная xm+\j имеет смысл количества груза,
недопоставленногоу-му ПН.
Рассмотренный формальный способ будет неприемлем в случае, если потребители по-разному реагируют на недопоставки. Тогда возможны два варианта решения задачи:
1. ЛПР корректирует потребности, обеспечивая баланс.
2. Выявляется и учитывается влияние недопоставок для каждого по требителя. Если зависимость потерь от величины недопоставки линейная, то задача остается в классе линейных. В этом случае задача балансируется как при формальном подходе, но в дополнительной строке в качестве за трат берутся удельные потери от недопоставки.
Если ожидается, что спрос будет длительное время превышать сущест вующие возможности на величину ат+1>то встает вопрос о расширении про изводства. Он может решаться в рамках транспортной модели следующим образом. Проектируются варианты увеличения производства на величину am+1 каждый. В исходную таблицу добавляется столько строк, сколько пред лагается вариантов. При к вариантах это приведет к противоположному де балансу, равному (&-1)дт+1. Поэтому для сбалансированности модели добав ляется фиктивный потребитель с потребностью (к-1)ат+\. А в качестве затрат во всех клетках таблицы принимаются суммарные затраты на перевозку и производство Су = Су + С„ где С, - себестоимость в /-м ПО. Исключение составляет фиктивный столбец: в первых т клетках затраты равны М, а в ос тальных - нулю. Те варианты, которые в оптимальном решении закрепятся за фиктивным потребителем, должны быть отброшены.
При прогнозировании длительного превышения возможностей ПО над спросом может возникнуть вопрос о сокращении производства. Он также может быть представлен в виде транспортной задачи. Достаточно в затраты включить себестоимость, как в предыдущем случае, и добавить фиктивного потребителя с потребностью Ь„+\ и нулевыми затратами. Оптимальные значе ния дополнительных переменных в фиктивном столбце дадут величину со кращения производства в соответствующих ПО с учетом полных затрат.
5.4. Метод потенциалов для |
задачи |
Транспортная задача с ограниченными пропускными способностями (5.7)—(5.10) отличается от Т-задачи наличием ограничений сверху на пере возки:
0 < Ху < dy,
которые существенно усложняют решение задачи. В плане перевозок не все положительные переменные являются базисными. В невырожденном решении базисные переменные могут принимать только значения больше нуля и меньше пропускной способности:
0 < x y < d y , (5.24) В вырожденном решении некоторые базисные переменные равны гранич ным значениям (0 или dy) .
Если задача не сбалансирована, то, как и в Т-задаче, добавляют стол бец или строку с нулевыми затратами, но с бесконечной пропускной спо собностью.
Правило северо-западного угла непригодно для построения начально го решения. Его строят по одному из вариантов правила минимального элемента. При этом принцип определения значений переменных сохраня
ется: на каждом шаге переменной присваивается максимальное допусти мое значение согласно формуле
Х у - тт(остаток от а„ остаток до Ър dy).
Если минимум достигается на dy, то не закрывается ни строка, ни столбец, и следует продолжать движение по строке (или столбцу, если двигались по столбцу). Однако может оказаться, что в строке (столбце) больше нет открытых клеток, а она не закрыта. Это значит, что начальный план получается недопустимым. Если часть строк (столбцов) не закрыта, то обязательно не закроются и некоторые столбцы (строки). Так как задача сбалансированная, то суммарная величина незакрытая строк
a, -'YjXy будет равна суммарному незакрытию столбцов £
к |
J |
) |
Л |
i |
Обозначим эту величину у. Чтобы в этом случае завершить построение на чального плана, добавляют фиктивного потребителя (столбец) и фиктивно го поставщика (строку) с одинаковой потребностью и возможностью у. Так как их клетки соответствуют искусственным переменным, которые в раз решимой задаче должны стать равными нулю, затраты в них полагают бес конечно большими (М), а в клетке на пересечении фиктивного столбца с фиктивной строкой - равными нулю. Пропускные способности в фик тивных клетках не лимитируются. В процессе работы алгоритма план ста нет допустимым, когда все искусственные переменные обнулятся, то есть в юго-восточной клетке перевозка станет равна у (фиктивный поставщик замкнется на фиктивного потребителя).
После построения начального плана определяются базисные клетки по условию (5.24). Если таких клеток окажется меньше т+п-\ (вырожден ный план), то в число базисных включают переменные (клетки), равные нулю или dy. Если при этом на базисных клетках можно построить замкну тый цикл, то клетки добавлены неверно.
Пример 5.4. Исходные данные задачи приведены в табл. 5.5. В клетках слева даны пропускные способности (серым цветом), справа - затраты на перевозки. Задача сбалансированная. Начальный план строим по правилу минимального элемента, порядок построения показан стрелками (табл. 5.6). Строка 4 и столбцы 2 и 3 не закрылись: у = 3. Поэтому добавляем фиктив ные строку и столбец, и в клетки незакрытых столбцов и строки записыва ем недостающие перевозки. В результате выполняется баланс по всем строкам и столбцам. Построенный искусственный (недопустимый) на чальный план приведен в табл. 5.7.
Так как общее число пунктов равно 9, то базисных переменных должно, быть 8. Из сравнения значений Ху и dy находим только 7 базисных перемен ных (базисные клетки закрашены), то есть план вырожденный. В качестве недостающей базисной клетки возьмем клетку (4,2) (закрашена более тем ным цветом), в которой значение переменной находится на верхней границе.

< |
О IV |
если |
> |
о |
если |
-----/ > |
II |
|
IV о |
если |
|
|
|
|
Если условия не |
выполняются |
хотя бы для одной небазисной клетки, решение может быть улучшено. В свя зи с этим введем два множества:
1) множество индексов перемен ных на нижней границе
Go = {ij | Д,7 > 0 & х,, = О};
2) множество индексов перемен ных на верхней границе
ха =0:
0 <xi j <dij• Я* II4*
(5.25)
Gj - {у | А/, < 0 & Ху =dy}.
Очевидно, что объединенное множество G=G0UGrf является множе ством индексов перспективных переменных (клеток): введение любой из них приведет к улучшению критерия. В Т-задаче имеется только мно жество G0, и выбор производится из него. А в Т>задаче выбор перемен ной, вводимой в базис, осуществляется на множестве G:
тах|д,,| |
= Д .. |
(5.26) |
НеП \ и\ |
** |
|
Так как переменная вводится по-разному, увеличивается с нижней границы и уменьшается с верхней, вычисление 90 и перемещение по цик лу выполняется иначе, чем в Т-задаче. При определении 0о теперь необ ходимо учитывать обе границы: при вычитании нельзя вычесть больше, чем имеется, а при добавлении недопустимо превысить пропускную спо собность.
Из (5.26) следует, что возможны два варианта при выборе вводимой переменной и соответственно два варианта перехода к новому плану:
1. |
Если кг е G0, то цикл строится на клетке, в которой перевозка равна |
|
нулю. Новый план получается прибавлением 0о в четных вершинах цикла |
||
и вычитанием в нечетных. Поэтому |
|
|
|
minx.; |
пнпЦ, - xtJ);' |
|
0О= min |
(5.27) |
|
ij е нечет; |
ij е чет. |
2. |
Если кг eG d, цикл строится на клетке, в которой перевозка равна dtJ |
В этом случае вводимая переменная должна уменьшаться. Поэтому пере мещение по циклу производится путем вычитания 0о в четных вершинах и прибавлении в нечетных. Отсюда следует, что
minx(>; min(dij-Xy);
Qd = min |
(5.28) |
ij € чет; |
y e нечет. |
В обоих вариантах значение критерия улучшается на величину ©0|Д*г|. Таким образом, алгоритм решения сбалансированной 1>задачи вклю
чает в себя следующие шаги:
1.Построение начального плана перевозок. План может получиться как допустимый, так и искусственный (недопустимый).
2.Выделение базисных клеток. Если их меньше т + п - 1, то добав
ляются клетки на границе.
3.Нахождение потенциалов из системы (5.18).
4.Вычисление оценок по формуле (5.19).
5.Начало цикла. Определение множества G по матрицам плана и оце
нок.
6.Проверка признака оптимальности и, если G = 0 (эквивалент (5.25)), переход на шаг 10.
7.Определение вводимой переменной (клетки кг) по (5.26) и построе
ние цикла пересчета.
8.Построение нового плана: вычисление 0о в зависимости от при надлежности кг по (5.27) или (5.28) и соответствующее перемещение по циклу.
9.Получение матрицы оценок нового плана с помощью преобразова ния матрицы оценок старого плана (как в Т-задаче). Переход на шаг 5.
10.Конец. Полученный план является оптимальным, если не содер жит запрещенных перевозок (с затратами М).
Когда решение начинается с искусственного плана, то после достиже ния допустимого решения можно сократить матрицы перевозок и оценок за счет отбрасывания фиктивных столбца и строки. Если в них было ровно две базисные клетки, то пересчитывать матрицу оценок не надо. Иначе она рассчитывается через потенциалы для сокращенного плана. Однако сокра щение матриц не является обязательным.
5.5. Решение задачи по критерию времени
Как было показано в подразд. 5.1.5, такая задача исходно является не линейной, но может быть легко преобразована в линейную. Однако полу чаемая линейная модель громоздка и для нахождения решения требует применения универсальных методов линейного программирования. Поэто му может оказаться целесообразным обратиться к приближенным, но более простым методам решения. Один из них рассмотрен ниже. Он использует идеи методов решения обычных транспортных задач и заключается в сле дующем. Любым из способов строится начальный план перевозок. Затем определяется текущее значение критерия как максимальное время в за нятых клетках (ху> 0). Далее рассмотрим действия в цикле.