Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Васильев, В. В. Гибридные модели задач оптимизации

.pdf
Скачиваний:
19
Добавлен:
21.10.2023
Размер:
9.08 Mб
Скачать
5
Рис. 100

В счетчике определения максимального потока устройства управления будет записано число импульсов, пропорциональное величине искомого максимального потока.

6.2. ЦИФРОВОЙ АНАЛОГ ДЛЯ РЕШЕНИЯ ЗАДАЧИ О МИНИМАЛЬНОМ ПОТОКЕ

Как известно, задача о минимальном потоке в сети состо­ ит в определении наименьшей величины потока между двумя узла­ ми в случае задания нижних границ потока через каждую ветвь, т. е. если поток через каждую ветвь не меньше заданного.

На рис. 100, а показана блок-схема устройства для определения минимального потока транспортной сети. Она состоит из генерато­ ра импульсов (ГИ), устройства управления (УУ), блока регист­ рации потока (БРП), блока эле­ ментарных процессоров (БЭП) и устройства ввода — вывода ин­ формации (УВВ).

Число элементарных процес­ соров БЭП соответствует количе­ ству ветвей транспортной сети. Каждый элементарный процес­ сор восполняет функции запо­ минания исходной информации о потоковом ограничении ветви и преобразования этого потоково­ го ограничения в процессе опре­ деления минимального потока. Функциональная схема элемен­ тарного процессора показана на рис. 100, б.

Элементарный процессор состоит из двух задатчиков потоковых ограничений (ЗПО-1 и ЗПО-2), двух формирователей потокового ограничения (ФПО-1 и ФПО-2) и блока выбора потокового ограниче­ ния (БВПО). Полюсами 1 и 2 элементарные процессоры соединяются между собой в соответствии с топологией транспортной сети.

Нижние границы пропускных способностей ветвей в виде про­ порционального количества импульсов заносятся устройством вво­ да — вывода через устройство управления в задатчики потоковых ог­ раничений элементарных процессоров (ЗПО-1). Задатчики ЗПО-1 служат для хранения информации о потоковых ограничениях со­ ответствующих ветвей в направлении от полюса 1 к полюсу 2, а в ЗПО-2 — в противоположном направлении.

Определение минимального потока транспортной сети осущест­ вляется следующим образом. Вначале отыскивается допустимый поток в сети. С этой целью устройство управления находит на сети

11*

163

элементарных процессоров произвольный путь, соединяющий на­ чальный узел с конечным и содержащий хотя бы одну ветвь с нену­ левой нижней границей пропускной способности. После этого блоки выбора потокового ограничения ветвей, принадлежащих выбран­ ному пути, выдают сигнал в формирователи потокового ограничения ФПО-1 в случае, если в ветви ненулевая нижняя граница пропуск­ ной способности, и в ФПО-2 — если нулевая.

Формирователи потоковых ограничений ФПО-1 выдают сигна­ лы на вычитание импульсов в ЗПО-1, а формирователи потоко­ вых ограничений ФПО-2 — сигналы на сложение импульсов в ЗПО-2.

В элементарные процессоры выбранных ветвей после этого устройством управления посылаются импульсы, которые если в ветви ненулевая нижняя граница пропускной способности, вычитаются

вЗПО-1, если же нулевая пропускная способность, то складываются

вЗПО-2 и так до тех пор, пока нижние границы потоковых ограниче­ ний этих ветвей не станут равными нулю. Это соответствует пропус­ канию потока такой величины, что во всех ветвях выбранного пути удовлетворяются наложенные ограничения. Приход же импульсов

вЗПО-2 соответствует избытку потока через ветвь с нулевой нижней границей потокового ограничения. Если ветвь с нулевой нижней гра­

ницей потокового ограничения принадлежит нескольким путям, то в ЗПО-2 суммируются все избытки потока через эту ветвь.

Указанный процесс осуществляется в устройстве до тех пор, пока не станут нулевыми потоковые ограничения всех ветвей, которые первоначально были записаны в ЗПО-1.

Импульсы, соответствующие потоку через каждый выбранный путь, суммируются блоком регистрации потока.

Суммарное количество импульсов блока регистрации потока будет соответствовать допустимому потоку транспортной сети, так как нижние границы потоковых ограничений всех ветвей будут удовлетворены. При этом через некоторые ветки (а возможно и во всей сети из начального узла в конечный) будет протекать из­ быточный поток и, вычитая его из допустимого потока, найдем иско­ мый минимальный поток транспортной сети.

С целью минимизации найденного допустимого потока устройст­ вом управления отыскивается какой-либо путь из начального узла сети в конечный, проходящий только по ветвям с ненулевым избы­ точным потоком. Если такой путь существует, то подается сигнал на уменьшение потока в ветвях, составляющих этот путь (в задатчи­ ках ЗПО-2). Одновременно увеличиваются избытки потока в тех же ветвях в противоположном направлении (в задатчиках ЗПО-1). Как только в одной из ветвей выбранного пути величина избыточно­ го потока станет равной нулю (в задатчиках ЗПО-2), отсчет импуль­ сов прекращается и из начального узла в конечный отыскивается новый путь с учетом пропускных способностей ветвей, записанных в задатчики потоковых ограничений ЗПО-1. Одновременно с опре­ делением избыточного потока через сеть производится его вычита­

,1 6 4

ние из допустимого потока, который был записан в блоке регистра­ ции потока.

Определение избыточного потока производится до тех пор, пока есть хотя бы один путь из начального узла сети в конечный, в кото­ ром все ветви имеют ненулевой избыточный поток. Как только в сети не будет пути для избыточного потока, процесс решения окан­ чивается. Это соответствует определению максимального избыточ­ ного потока в сети и тем самым определению минимального потока, удовлетворяющего нижним границам потоковых ограничений всех ветвей.

6.3. МОДЕЛИРОВАНИЕ ЗАДАЧИ О ПОТОКЕ ЗАДАННЫХ ЗНАЧЕНИЙ НА ГРАФЕ

С ПОМ ОЩ ЬЮ КОМБИНИРОВАННОЙ МОДЕЛИ

Близкой к задаче о нахождении оптимальной связываю­ щей цепи является задача о потоке заданных значений, которая состоит в следующем [8].

 

В симметричной транспортной сети (X , U) с произвольно ориен­

тированными ребрами определить потоки ср

принимающие на реб­

рах Ult U2, ...,

Uk заданные значения cp (Öj)

=

cp (U2) = Х2, ...

.... Ф (Uk )=

V

пример

Бержа

 

 

 

Рассмотрим

 

 

(рис. 101). Необходимо обеспе­

 

 

чить cp (t/)i =

6, cp (U)2 =

cp (U)з =

 

 

=

1, ф (У)і

= Ф (и)5=

Ф (и)е =

 

 

=

2.

Аналитический

метод

ре­

 

 

шения

предполагает

выявление

 

 

дерева (показанного

на рис.

101

 

 

жирными линиями)

путем

ис­

 

 

ключения в первую очередь ре­

 

 

бер Ult U2, ...,

и в

с

предписан­

 

 

ными

значениями

ср

а также

 

 

других ребер. Полученное дерево

 

 

вместе с каждым из удаленных

 

 

ребер

будет образовывать

эле­

 

 

ментарный цикл \it, по которому

 

 

должен циркулировать

замкну­

 

 

тый поток,

равный

ср (Ut) =

 

 

известной

или

 

произвольной

 

 

величины.

Путем

 

алгебраиче­

 

 

ского

суммирования

составляю­

 

 

щих потоков по каждому ребру

 

 

можно получить искомый поток,

 

 

зависящий

от

ряда

произволь­

 

в

ных констант,

соответствующих

 

Рис. 101

165

величинам потоков по замкнутым циклам, образованным деревом и ребрами, для которых величина потока не задана.

Если удаление ребра с предписанным значением потока приво­ дит к нарушению связности графа, то задача не имеет решения.

Электронную модель задачи о потоке заданных значений можно построить на базе цифровой модели о нахождении оптимальной связывающей сети, если несколько изменить структуру модели ребра.

В измененной модели ребра (рис. 101, б) параллельно ключу включен источник тока, величина которого устанавливается про­

 

порциональной

 

значению

 

потока по ребру, а направ­

 

ление

 

совпадает

с

ориен­

 

тацией

ребра.

В

случае,

иг

если

величина

потока

по

ребру

 

не

задается,

источ-

f

ник должен быть импульс­

 

ным,

и

импульс этого

по­

 

тока — нести

информацию

 

о номере ребра. Возможная

 

форма

тока

показана

на

 

рис. 101, в. Модель рабо­

 

тает

 

следующим

образом.

 

На

первом этапе

источни­

'6

ки

тока

не

включаются.

Ребра,

поток

 

по

которым

Рис. 102

 

задан, выключаются из сети.

 

 

Если

 

при этом индикатор

связности модели о нахождении оптимальной

связывающей

сети не

покажет нарушения связности графа, то решение задачи о потоке за­ данных значений существует. На втором этапе производится поиск дерева при произвольно заданных величинах длин ребер. На третьем этапе подключаются источники тока ребер и производится измерение токов в моделях включенных ребер. На основании первого закона Кирхгофа можно утверждать, что потоки моделей ребер пропорцио­ нальны потокам сети, обеспечивающим заданные значения в выбран­ ных ребрах. Импульсные источники тока ребер, на которые не накладывается ограничений на величину потока, позволяют обнару­ жить в составе потоков ребер составляющие, которые могут при­ нимать произвольные значения.

Схема модели для иллюстративного примера задачи рис. 101 показана на рис. 102. Часть схемы, обеспечивающая поиск дерева и индикацию связности сети, не показана.

6.4. МОДЕЛИРОВАНИЕ ЗАДАЧИ СИНТЕЗА СЕТИ, ОПТИМАЛЬНОЙ ПО ПРОПУСКНЫМ СПОСОБНОСТЯМ

Суть этой задачи, возникающей при проектировании се­ тей связи, транспортных, информационных систем, электронных и других цепей, состоит в следующем [171]. Заданы требования на возможные величины потоков между парами узлов синтезируемой сети. Необходимо построить сеть на заданном множестве узлов, допускающую заданные величины потоков, сумма пропускных спо­ собностей ветвей которой была бы минимальной. Таким образом, задана функция, определенная на множестве пар узлов г (х, у), имеющая смысл требований на величины потоков между узлами х и у. Необходимо определить пропускные способности ветвей С (х, у) таким образом, чтобы выполнялись ограничения

V (X, у) > г (X, у),

(6.1)

при этом

р = 2 с (х, у)

х.у

достигала бы возможного минимума. В этой постановке видно, что задача является в каком-то смысле обратной множеству задач о максимальном потоке, где по пропускным способностям С (х, у) определяют величины максимальных потоков между возможными парами узлов V (х , у). Эту задачу формально можно свести к задаче линейного программирования, так как условия (6.1) образуют

2п~ 1— 1 линейных неравенств, соответствующих всем возможным разрезам сети. Однако иметь дело с задачей таких размеров очень затруднительно даже при сравнительно небольшом числе узлов сети. Гомори и Ху [171] предложили комбинаторный метод решения этой задачи, не требующий перебора всех ограничений. Здесь мы построим схему цифровой модели этой задачи, реализующую несколько иной комбинаторный метод, приводящий, однако, к более простым схем­ ным решениям.

Метод реализуется в два этапа. На первом этапе определяется максимум требований на поток в ветвях, относящихся к каждому узлу

Ri = max Гп.

(6.2)

i£N

Проиллюстрируем это на простом примере, рассмотренном Фордом и Фалкерсоном [171] (рис. 103).

На рис. 103, а изображена сеть из пяти узлов, где около ветвей проставлены величины г (х, у). В кружках узлов в числителе дроби обозначены номера узлов, а в знаменателе — величины узловых доминант (6.2).

На втором этапе осуществляется синтез искомой сети. С этой целью через узлы, доминанты которых не равны нулю, проводят гамильтонов цикл произвольного вида (например, цикл 1—2—3—4—

167

5—1). Всем ветвям этого цикла приписывают пропускные способ­ ности, равные минимуму из доминант узлов (в нашем случае R2 = = 6), и уменьшают на эту величину все доминанты (рис. 103, б). Далее проводят новый гамильтонов цикл через оставшиеся узлы

Рис. 103

(например, цикл 1—3—4—5— 1). Часть ветвей этого цикла ранее могла принадлежать первому циклу. К пропускным способностям этих ветвей прибавляют минимум из измененных доминант узлов (в нашем случае R4 = R&= 1), а новым ветвям приписывают эту величину. Уменьшают, как и ранее, доминанты узлов (рис. 103, в).

168

При этом множество узлов с ненулевыми доминантами уменьшится по крайней мере на единицу (в нашем случае выпадут из рассмотре­ ния узлы № 4 и 5).

Процесс продолжают до тех пор, пока все узлы не выпадут из рассмотрения. Полученная при этом сеть будет оптимальна в смысле

Рис. 104

минимума суммы пропускных способностей ветвей. Если на послед­ нем шаге такого процесса останется только два узла, то соответст­ вующий гамильтонов контур будет состоять всего из двух ветвей. Поэтому доминанты этих узлов должны быть прибавлены к пропуск­ ной способности единственной ветви, соединяющей эти узлы, в удвоенном масштабе (рис. 103, г).

1 6 9

Пропускные способности ветвей искомой сети определяются путем уменьшения в два раза чисел, накопленных при выполнении

описанного процесса (рис. 103, д).

 

На рис.

104 показаны функциональные схемы цифровой модели

ветви

(а)

и

узла (б), а на рис. 105 — блок-схема цифровой модели

задачи

в

целом.

 

 

Предварительно в счетчики Счх моделей ветвей записываются

количества

импульсов,

пропорциональные

требованиям на поток

 

 

 

- У

------------------------ К

-

Рис. 105

по соответствующим ветвям. В счетчики Сч2 моделей узлов, имею­ щие одинаковую емкость со счетчиками моделей ветвей, импульсы предварительно не заносятся. Триггеры Тх и Т2 моделей ветвей и узлов устанавливаются в единичное состояние. Из схемы управле­ ния от специального генератора импульсов в модели ветвей и узлов подается серия импульсов с количеством, равным емкости счетчи­ ков. В модели ветвей эта серия проходит через полюса 1, а в модели узлов — через полюса 5. При переполнении счетчиков Счх моделей ветвей соответствующие триггеры 7\ устанавливаются в нулевое состояние и через полюса і и j запрещают поступление импульсов через схему И 3 в счетчики Сч2 модели узлов, связанных с моделью рассматриваемой ветви. После окончания этой серии в счетчиках моделей узлов будут записаны количества импульсов, равные М

R[, где М — максимальная емкость счетчиков, a R t — максимум требования на поток по ветвям, связанным с узлом і.

170

На этом заканчивается первый этап работы модели. Второй

.этап начинается формированием гамильтонова цикла, проходящего через все узлы с ненулевыми доминантами R c. Формирователь гамильтоновых циклов может быть выполнен по-разному, например в виде кольцевого распределителя импульсов с пропуском состоя­ ний.

Сигналы принадлежности ветвей выбранному гамильтонову циклу установят триггеры 7\ этих моделей ветвей в единичное со­ стояние. Импульсы генератора начнут одновременно заполнять счетчики Сч2 моделей узлов и моделей ветвей, вошедших в гамиль­ тонов цикл. Как только переполнится один или несколько счетчи­ ков Сч2 моделей узлов, обладающих минимальной доминантой, триг­ геры Т2 этих моделей установятся в нулевые состояния и запретят поступление импульсов в счетчики моделей ветвей, связанных с этими узлами. Упомянутые узлы выпадут из рассмотрения, и фор­ мирователь гамильтоновых циклов образует новый цикл, не вклю­ чающий выпавших узлов, и так далее, пока не исчерпается содержи­ мое всех счетчиков моделей узлов.

Опрос счетчиков моделей ветвей позволит определить пропуск­ ные способности ветвей искомой сети.

6.5. МОДЕЛИРОВАНИЕ СТОИМОСТНО-РЕСУРСНЫХ РАЗНОВИДНОСТЕЙ ЗАДАЧ СПУ

При проведении оптимизации сетевых графиков по ре­ сурсам, что является основным содержанием задач 2 и 3 (см. § 1.6), необходимо располагать информацией о суммарных величинах ре­ сурсов каждого типа, потребляемых в каждый момент выполнения сетевого графика. Если предположить, что интенсивность потреб­ ления ресурса какой-либо работы не меняется в течение времени ее выполнения, то суммарные ресурсы можно выразить следующей зависимостью:

R ik) (0 = 2

rtf о (t -

ф от (/ро — 0>

k = l , . . . ,

m, (6.3)

 

t.i£N

 

 

 

где R ^ (t)

— суммарный

потребляемый

ресурс k-ro типа; N

множество

работ

сетевого

графика; rf} — интенсивность

ресурса

k-TQ вида, необходимого для выполнения работы (і, /); а (т) — функ­ ция единичного скачка, равная нулю при х < 0 и единице при т > 0.

Как нетрудно видеть, произведение двух функций единичного скачка (6.3) образует функцию единичного импульса (рис. 106, а), а функция RW (t) представляет собой сумму ресурсов одновременно выполняемых работ.

Выбор единицы ресурсов произволен (за единицу ресурса может быть принят один человек или два станка и т. д.). Одним из важных понятий в сетевом планировании и управлении является понятие

171

ресурсов одного вида. При этом физическая природа ресурсов может быть различной. Здесь мы рассмотрим задачи, в которых каждая работа может выполняться ресурсами одного вида.

При этом представляет

интерес

задача определения

зако­

на распределения ресурсов

в течение

времени выполнения

объ­

екта.

Сетевой график, хоть и дает четкое представление о порядке следования работ, все же не достаточно нагляден для определения тех из них, которые должны выполняться в каждый момент времени. Поэтому часто составляют линейную диаграмму проекта (рис. 77). В линейной диаграмме сетевого графика начало каждой работы

(і. j) совпадает с наиболее ранним временем ір (г) наступления собы­ тия. Цифровой аналог сетевого графика, как указывалось ранее, по принципу действия объединяет линейные диаграммы и сетевые графики. В каждой модели работы есть сигналы о начале и оконча­ нии ее выполнения, что позволяет одновременно суммировать, без значительных затрат на оборудование, необходимые для выполне­ ния всех работ ресурсы. Таким образом, для определения ресурсов во времени модель работы должна включать в себя устройство, моделирующее потребляемые ею ресурсы.

Для нахождения функции распределения ресурсов в цифровом аналоге используется возможность определения фронта работ. При этом рассматривается максимальный фронт работ ф (t), кото­ рые могут начинаться в момент времени /,-. Совокупность всех работ фронта ф (t) разбивается по классам таким образом, что в один класс объединяются работы с одинаковым ресурсом.

Устройство, моделирующее ресурсы, может быть достаточно про­ сто выполнено на элементах непрерывной вычислительной техники.

На рис. 107 приведена функциональная схема, реализующая

172

Соседние файлы в папке книги из ГПНТБ