Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1376.pdf
Скачиваний:
15
Добавлен:
15.11.2022
Размер:
19.28 Mб
Скачать

Отсюда находим

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). Далее рассмотрим действия в цикле.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]