Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Х,*у* > Д
(15.18) где /*, /* — некоторые фиксированные значения индексов /и у, Л —заданная кон- станта. При наличии такого ограничения данные о ресурсах /*-го поставщика и у*-го потребителя ресурса преобразовываются в транспортной таблице следующим образом: 4*=4*-А 5).=5, *-Д где А\,, В'^ — новые значения объемов ресурса. (15.19) Очевидно, чтобы задача не теряла смысла, должны выполняться условия: Я< Л, *; В< ВГ. Помимо изменений транспортной таблицы в соответствии с (15.19) необходима проверка новых значений А-*мВ^*. Если /II* =0, то из транспортной таблицы вычеркивается г*-я строка. Если 5у*=0, то вычеркивается у*-й столбец. При 4г*=0и2у> =0 вычеркиваются /*-я строка и/*-й столбец. Содержательно условия (15.18) и (15.19) означают, что /*-й поставщик гарантированно поставляет /*-му потребителю ресурс объема Э. Кроме того, если это будет выгодно с точки зрения достижения оптимального значения целевой функции, при Л/*> 0и5у*> 0 допускается превышение указанного объема. Одновременно с операцией (15.19) необходимо «запомнить», что фактически в клетку (/'*, у*) уже помещен ресурс Д хотя формально этот факт в транспортной таблице отражать не нужно. К ограничениям типа (15.18) относится первое ограничение из задачи 15.6 (его формализованная запись х3з> 450). Соответственно в транспортной таблице 96 необходимо провести следующие изменения: 4=4з-450=45°; '^=^-450=600. (15.20) После решения задачи и получения оптимального плана данное число вносится в клетку, то есть прибавляется к значению х^з- Если в процессе решения х^=0, то х3з = 0 + 450 и ограничение выполняется по нижней границе. Если хзз> 0, то ограничение принимает вид х33 > 450. Поскольку новые значения ресурсов не равны нулю, дополнительные изменения транспортной таблицы не производятся. Перейдем к рассмотрению дополнительных ограничений типа х, у = 2). (15.21) Первоначальные действия по учету таких ограничений аналогичны действиям для случая ограничений вида х, у > Б. Тем самым в клетку (/*, /*) уже фактически будет помещен ресурс Д Дальнейшие действия зависят от значений величин А[*иВ'^. Если оказывается, что одна из величин А-*иВ'^* (или обе) равны нулю, алгоритм полностью подобен случаю х, у > В. Если же обе указанные величины оказались больше нуля, то дополнительно проводится изменение соответствующей стоимости транспортировки С/у. При этом новое значение С, -*, * зависит от того, минимизируется целевая функция 2жш максимизируется. Если целевая функция минимизируется, то значение С, у необходимо сделать очень большим (намного больше любой величины Су из исходной транспортной таблицы). В результате такой замены алгоритм поиска оптимального решения не будет размещать в клетке дополнительный ресурс, так как из-за большой величины Су это невыгодно. Соответственно при максимизации целевой функции новое значение С/у необходимо сделать очень малым (намного меньше любой величины Су из исходной транспортной таблицы) — например, положить его равным нулю. Указанное изменение величины С, -*, * называется блокировкой оценки клетки (/*, /*). Практически вместо оценки клетки С, *, * ставится искусственная оценка М. При этом полагается, что М—> 0 при решении задачи на максимум и М—> °о при решении задачи на минимум. Такой прием, который также проводится до решения задачи, позволяет не только блокировать оценку, но и за счет приведения М к экстремальному значению не допустить попадания ресурса в блокированную клетку1. В рассматриваемом примере (задача 15.6) к ограничениям типа (15.21) относятся второе и третье, которые можно записать как х24=300; х44 = 150. Соответственно в транспортной таблице (табл. 96) нужно провести следующие изменения (учтен тот факт, что изменение величины 54 должно проводиться дважды): 4=^-300=1000; Д^=Я4-300=700; 4=Л4-150=°; Щ=Щ~150=550. Поскольку второе ограничение (х24 = 300) не привело к нулевым значениям величин 4И^> необходима блокировка оценки клетки (2, 4). Для этого считают, что С24 = М-> 0. Кроме того, поскольку окончательное значение величины Л) равно нулю, четвертую строку следует вычеркнуть из таблицы. Помимо рассмотренных выше ограничений на практике встречаются дополнительные ограничения типа Х; *у*< 2) ИЛИ /)< Х; *у*< 1). Таким, например, является четвертое ограничение из задачи 15.6. Ограничения этого типа не учитываются при постановке задачи (то есть до начала ее решения). Их анализ ведется после получения оптимального решения (см. далее). При этом возможны следующие три случая: 1) если заданное ограничение х^< Б или 1> < х(*у*< 1> выполняется, полученное решение задачи принимается без изменений; 2) если ограничение х, у< 1) не выполняется, то по правилу построения цикла величина Ах^ (х, '*у*=х(*у*-Дх(*у*=/)) перемещается по циклу, приводя таким образом решение задачи к вы- 1 Следует иметь в виду, что в ряде исключительных случаев прием блокировки оценки не срабатывает и в клетку попадают значения х,»у > 0. В таких случаях задача с поставленным ограничением не имеет решения (система условий задачи несовместна). полнению условия х, '*у* = 1). Доводить оптимальный план до вида х/*у*< /) нецелесообразно, так как это приведет его с точки зрения изменения целевой функции к еще большему ухудшению. Аналогичным образом рассматривается ограничение Х> < х; *у*< 1>. При его невыполнении по циклу перемещается такое значение Ах, -., -», которое наносит наименьший вред оптимальности задачи; 3) если значение Ах, *, -*, перемещаемое по циклу, попадая в вершины с отрицательными знаками, нарушает условие неотрицательности переменных (х, у> 0), то данная задача при поставленных условиях не имеет решения. С учетом всех необходимых изменений исходная транспортная таблица задачи 15.6 примет вид, представленный в таблице 97. 97. Исходная транспортная таблица задачи 15.6, в которой учтены требование сбалансированности задачи и первые три дополнительных условия* 1 2 3 4 Л,. 1 35 38 40 47 2 18 18 21 | 0 | 3 10 11 13 12 5 15 22 18 24 6 20 18 19 22 В] 2100 1700 I 600 || 550 [ 550 1000 450 600 800 1550 *Величины, изменившиеся в результате учета дополнительных ограничений, обведены. Кроме того, в результате учета 3-го ограничения вычеркнута 4-я строка таблицы и с учетом требования сбалансированности в таблицу введена строка с фиктивным источником ресурса. Предполагается, что в клетки (2, 4), (3, 3) и (4, 4) уже внесены ресурсы, равные 300, 450 и 150 соответственно. После получения транспортной таблицы, удовлетворяющей требованию сбалансированности и дополнительным условиям, находят оптимальное решение методом потенциалов или любым иным. Вырожденные решения транспортной задачи. Покажем на конкретных примерах, что вырожденность (равенство нулю некоторых базисных переменных) не усложняет поиск оптимального решения. Фактически мы это уже констатировали, рассматривая методы поиска опорного плана и метод потенциалов. Отметим еще раз, что указанное качество методон обеспечивается тем, что в них предусмотрены правила выбора условно занятых клеток. Если от этих правил отказаться, то будет невозможно вычислить потенциалы и соответственно прокоыт ролировать решение на оптимальность, а также построить замк нутый многоугольник (цикл) для улучшения решения. Рассмотрим начальную транспортную таблицу задачи 15.6 (табл. 97). Применяя метод аппроксимации, найдем соответствующее опорное решение (табл. 98). На первом шаге реализации данного метода была заполнена клетка (1, 4). При этом ресурсы Ах и Вл согласно пятому шагу метода аппроксимации уменьшатся до нуля. После этого четвертый столбец был вычеркнут, а первая строка с нулевым значением ресурса А\ сохранена. На следующем шаге этот нулевой ресурс заполнил клетку (1, 3) — появилась условно занятая клетка, что и определило вырожденность опорного решения. Обратим внимание на следующее обстоятельство. В принципе на первом шаге можно было бы вычеркнуть не только четвертый столбец, но и первую строку. Последующая процедура метода аппроксимации все равно дала бы допустимое решение задачи. Однако число занятых клеток в этом допустимом решении было бы меньше (т + п — 1), что не позволяет применить метод потенциалов. Чтобы довести число занятых клеток до (т + п - 1), пришлось бы некую подходящую (обеспечивающую в дальнейшем построение необходимых циклов) клетку объявить условно занятой, то есть заполнить нулем. При этом пришлось бы руководствоваться двумя правилами: 1) за условно занятую клетку надо принимать ту, которая не образовывает с другими занятыми клетками замкнутых многоугольников; 2) условно занятой можно объявлять только ту клетку, которая впоследствии, попадая в цикл, находилась бы в положительной вершине многоугольника. В противном случае при перемещении поставок по циклу и улучшении плана может нарушиться условие неотрицательности пе-; ременных (х, у> 0). Выполнение этих правил является довольно сложной процедурой даже для сравнительно простых транспортных таблиц, а в больших таблицах вообще нереально. Именно; то обстоятельство делает практически полезным тот алгоритм метода аппроксимации (так же, как и метода минимального элемента), который был изложен ранее. Этот алгоритм автоматически находит подходящую условно занятую клетку, он же легко реализуется на ЭВМ. При улучшении опорного решения до оптимального методом потенциалов с условно занятыми клетками вырожденного решения необходимо работать так же, как и с обычными занятыми. Проиллюстрируем это утверждение на примере полученного опорного решения. В таблице 99 показан процесс преобразования опорного решения методом потенциалов. Согласно алгоритму этого метода испытуемой должна быть клетка (1, 2), при этом перемещаемый по циклу ресурс хт{п равен нулю. Очевидно, что шачение целевой функции при таком преобразовании решения пе изменится (см. 15.13). Не изменится также расположение клеток, занятых ненулевым ресурсом. Однако в целом перечень занятых клеток, включая условно занятые (а значит, и список базис-
99. Потенциалы и оценки для опорного решения задачи 15.6
ных переменных) изменится. Соответственно изменятся потенциалы и оценки незанятых клеток (ср. табл. 99 и 100). Именно это обстоятельство делает преобразование решения при хт! п = 0 необходимым шагом алгоритма потенциалов. Только после этого шага и проверки нового решения можно установить, достигнут оптимум или необходимо продолжить поиск. На практике часто оказывается, что после указанной приостановки изменения зна- 100. Оптимальная транспортная таблица задачи 15.6
чений целевой функции опять возобновляется «нормальная» итерационная процедура — целевая функция снова начинает возрастать (в задачах на максимум). Подчеркнем еще раз: в общем случае равенство нулю хт1п и соответственно неизменность значения целевой функции при преобразовании решения на данном шаге само по себе не может расцениваться как достижение оптимального решения (хотя в принципе этого исключить нельзя — именно такая ситуация складывается в рассматриваемом примере, где полученное решение оказывается оптимальным). Очевидно, это означает оптимальность и предыдущего решения, однако утверждать это с достоверностью можно только после строгого выполнения всех предписаний метода потенциалов (см. табл. 100).
|