
книги из ГПНТБ / Васильев, В. В. Гибридные модели задач оптимизации
.pdfступает на второй вход схемы совпадения И3 и устанавливает триг гер 7\ в нулевое состояние. Импульс после схемы совпадения, при шедший на выход И 3, установит триггер Т 3 в единичное состояние и подаст сигнал на остановку решения, так как первый сигнал, по явившийся в конечном городе и прошедший все города, и является решением задачи коммивояжера.
Состояние триггеров ветвей Т 3, входящих в конечный узел, укажет по какой ветви этот сигнал пришел.
Модели начального города нет. Есть только точка соединения, входов ветвей, выходящих из,начального города. В эту точку пода ется импульс начала решения.
В каждом промежуточном городе должна производиться запись признака данного города и задержка импульса, как указывалось ранее, на число 2mntma7L импульсов.
Эти операции осуществляются в модели промежуточного города^ функциональная схема которого приведена на рис. 94. Модель промежуточного города работает так. При поступлении на вход модели города сигнала его первый импульс устанавливает триггер Тг через схему совпадения в единичное состояние. При этом откры вается схема совпадения й 2 и в счетчик поступают импульсы от генератора тактовых импульсов ГИ.
Импульсы сигнала поступают также на схему разделения ИЛИ и после нее — на линию задержки города ЛЗУ. После того как счет чик отсчитает m импульсов, где m — номер города, на его выходе появится импульс, который поступает на схему разделения ИЛИ. Этот импульс, также как и импульсы сигнала, проходит в Л З У ,
т. е. в т-м разряде |
сигнала происходит запись того, что этот сигнал |
прошел m-й город. |
. . |
153
После поступления на вход п-го импульса на его выходе появля ется сигнал, который устанавливает триггер 7\ в нулевое состояние. Таким образом, модель города устанавливается в исходное состояние
иждет прихода следующего сигнала.
Вкачестве модели конечного города используется собиратель ная схема ИЛИ, на входы которой поступают сигналы от входя щих в нее моделей ветвей об окончании решения.
Итак, на первом этапе решения определяется ветвь, по которой пришел сигнал, содержащий признаки всех городов, а следователь но, определяется предпоследний узел пути коммивояжера. По пока занию счетчика, установленного на выходе тактового генератора импульсов, определяется длина пути коммивояжера.
На втором этапе отключается модель предпоследнего узла пути коммивояжера, а величины длительностей ветвей, входящих в этот город, устанавливают в соответствующих моделях ветвей, входящих в конечный город, т. е. фактически удаляется конечный узел, а предпоследний становится конечным. Затем из начального города посылается сигнал, в котором содержится первый импульс, соответствующий разряду предпоследнего города. Теперь при по ступлении в конечный город сигнала со всеми признаками опреде ляется еще один город пути коммивояжера. Последовательность прохождения городов будет получена через (п — 2) этапа решения.
Таким образом, время получения конфигурации пути коммивоя жера будет
|
(п |
2) f л ^ т а х 2 2 + |
^пк) |
/ ! ( .ч |
|
tp< |
---------- , |
|
|
где /Т — частота |
тактового |
генератора; |
?Пк — число импульсов, |
|
пропорциональное |
длине пути коммивояжера; Гтах — число им |
|||
пульсов, пропорциональное |
максимальной длине одной |
ветви. |
Время решения задачи коммивояжера, как видно из формулы (*), не зависит от коэффициентов матрицы расстояний. По-видимо му, такие цифровые аналоги могут быть построены для решения задач небольшого объема (порядка 15—20 городов).
5.7. ОПРЕДЕЛЕНИЕ ОПТИМАЛЬНОЙ СВЯЗЫВАЮЩЕЙ СЕТИ НА ГРАФЕ С ПОМОЩ ЬЮ ЦИФРОВОЙ МОДЕЛИ
Среди множества комбинаторных задач теории графов достаточно часто встречается задача о нахождении оптимальной (максимальной или минимальной) связывающей сети, суть которой состоит в следующем [109, 171].
В конечном неориентированном графе G с известными длинами
ребер Іц найти дерево Т, |
содержащее все вершины G, для которого |
суммарная длина ребер |
р (Т) = ^ hi была бы максимальной (ми- |
нимальнои). |
і.і£т |
|
154
На рис. 95 приведен пример задачи о нахождении кратчайшей (минимальной) связывающей сети. Числа, проставленные около ребер, равны их длинам L = 7, l!d = 8 и т. д. Жирной линией показана кратчайшая связывающая сеть, ее длина составляет 14 еди ниц. Заметим, что кратчайшая связывающая сеть не гарантирует кратчайших расстояний между какими-либо вершинами графа и, таким образом, эта задача отличается от задачи о кратчайшем пути. Например, кратчайший путь между вершинами а и b проходит по ребру а — Ь и составляет 7 единиц, тогда как по связывающей сети его длина равна 9 единицам.
Задачи о нахождении опти мальных связывающих сетей могут иметь различные физиче ские трактовки. Наиболее естест венная из них заключается в нахождении конфигурации сети связи ряда населенных пунктов, обладающей минимальной сум марной длиной линий (если связь кабельная или проводная). В этом случае роль Іц будут выполнять расстояния между определенными населенными пунктами по трассе предпола гаемых линий. Иным возможным
вариантом этой задачи является задача нахождения конфигурации сети дорог в определенном районе, общая стоимость прокладки которых минимальна. В этом случае роль lti выполняют величины затрат на прокладку участка дороги между пунктами і и /. Задача о нахождении максимальной связывающей сети возникает также при исследовании потоков в многополюсных сетях и т. д.
Существующие способы получения решения задачи связаны, как правило, или с пошаговым синтезом сети, при котором в иско мую сеть включаются ребра с минимальной (максимальной) длиной, не образующие циклов с уже включенными ребрами, до появления связности в графе, или с последовательным исключением ребер исходного графа, начиная с ребер максимальной (минимальной) длины и исключая случаи, когда это приводит к нарушению связ ности графа. Эти способы одинаково пригодны для задач минимиза ции и максимизации.
Доказано [171], что описанные процедуры неизбежно приводят к решению за конечное число шагов и это решение единственно, если среди ребер графа нет ребер с равными длинами. В последнем случае известен способ получения единственного решения, заклю чающийся в малом изменении длин ребер, имеющих одинаковые длины.
Электронные модели, реализующие описанные способы решения задачи, в принципе могут быть построены с использованием как
155
аналоговых, так и цифровых элементов. В обоих случаях модели будут алгоритмическими [146]. Однако построение чисто аналого вых моделей без применения ключевых и логических элементов не представляется возможным. Учитывая и другие известные недостатки аналоговых моделей, целесообразно отдать предпочтение цифровым моделям задачи.
Здесь мы рассмотрим три варианта цифровой модели задачи нахождения оптимальной связывающей сети. Все они реализуют способ последовательного исключения ребер, не вызывающего на рушения связности графа, так как он приводит к более простым техническим решениям.
Функциональная схема модели в первом варианте изображена на рис. 96. Каждая из моделей ребер (на рис. 96 показана схема модели ребра се) содержит ключ К, управляемый триггером Т с раздельными входами, схему совпадения И и цифровую линию задержки, например счетчик. Полюсы ключей моделей ребер соеди няются между собой в соответствии с топологией графа. К одному из узлов получившейся цепи подключается источник напряжения,, изображающий сигнал логической единицы. Все остальные узлы подключаются к многовходовой схеме типа Н Е — И, которая обра зует индикатор нарушения связности графа, моделью которого является набранная цепь. Счетные входы всех счетчиков объеди няются по всей модели и подключаются к схеме пуска и регенера ции, содержащей счетчик, триггер и схему совпадения И. Модель работает следующим образом.
В исходном состоянии триггеры моделей ребер находятся в еди ничном положении. Сигналы единичных выходов триггеров управля ют ключами К, удерживая их в замкнутом состоянии. Приі'.этом на пряжение источника э. д. с. существует во всех узлах цепи и сигнал нарушения связности на выходе схемы НЕ — И отсутствует. В счет чик моделей ребер предварительно заносятся количества импуль сов, пропорциональные длинам ребер в прямом коде, если нужно решить задачу о нахождении кратчайшей связывающей цепи, и в дополнительном коде — в противном случае.
К схеме модели должен быть подключен генератор трехт,актного импульсного питания, первая фаза которого подключена к схеме пуска и регенерации, а вторая и третья — ко входам схем Н моде лей ребер, объединенных по всей модели.
При подаче сигнала пуска на единичный вход триггера подается разрешающий сигнал на вход схемы И узла пуска и регенерации,, и импульсы ГИг начинают поступать на счетные входы всех счетчи ков модели, которые образуют индикатор экстремальных сигналов. Таким образом, первым появится сигнал переполнения счетчика, соответствующего наиболее длинной (короткой) ветви. Этот сигнал переполнения установит триггер модели ребра (ветви) в нулевое положение и выключит из схемы рассматриваемое ребро по сигналу ГИ2. Если при этом не нарушится связность графа, схема НЕ — И не выдаст разрешающего потенциала и сигнал ГИ3 не изменит со-
156
стояния триггера. Описанный процесс будет продолжаться до тех пор, пока выключение очередного ребра не приведет к нарушению связности графа. В этом случае ребро, выключенное по сигналу ГИ2, снова включится по сигналу ГИ3. Остановка схемы будет про изведена по сигналу переполнения счетчика регенерации, который установит триггер пуска в нулевое состояние.
157
Таким образом, за один цикл работы схемы пуска и регенерации будут выключены и останутся в этом состоянии модели ребер графа, не составляющие искомой оптимальной сети. Сигналы единичных выходов триггеров свидетельствуют о принадлежности ребер к оптимальному дереву. Суммарную длину полученной сети можно
Рис. 97
определить опросом содержимого счетчика модели с помощью на копительного счетчика, который на рис. 96 не показан. С целью обеспечения единственности решения в случае, когда в графе встре чаются ребра с одинаковыми длинами, целесообразно зарезервиро вать по одному младшему разряду (в десятичном исчислении) в каждом счетчике для записи порядковых -номеров ребер с одинако вой длиной. Запись же величины самой длины необходимо в этом случае производить в старших разрядах счетчика.
Например, пусть в счетчиках необходимо записать информацию о длинах 7 ребер графа: /х = 63, /2 = ls = 56, /4 = ... = /7 = 10.
1Б8
В счетчиках с десятичными разрядами в указанном случае нужно предусмотреть дополнительно один разряд и записать в прямом или
дополнительном |
коде |
следующие числа: |
\ — 630, /2 = 560, 13 = |
= 561, Г4 - 100, |
= |
101, 7в - 102,17 - |
103. |
Этим самым будет обеспечена единственность решения задачи, о которой говорилось выше.
Описанная схема модели обладает аппаратурной избыточностью, поскольку модель каждого ребра содержит индивидуальный счет чик.
Если не требовать автомати зации ввода информации о дли нах ребер, то в модели может быть использован единственный счетчик.
Второй вариант схемы модели характеризуется наличием одно го общего счетчика-распредели
теля, |
который формирует вре |
||
менные |
интервалы, соответству |
||
ющие длинам ребер (рис. 97). |
|||
Информация о длинах ребер |
|||
вводится с |
помощью |
переклю |
|
чателей |
Пlt |
П2, П 3 |
или дру |
гих коммутационных элементов. Фиксация заданных состояний счетчика осуществляется схема ми совпадения И.
Третий вариант схемы моде ли отличается от первых двух наличием релейного индикатора связности. Простота индикатора
приводит к снижению быстродействия модели. Поэтому этот вариант, может быть рекомендован в случае, когда время получения решения не ограничивается дополнительными условиями.
Участок схемы модели с релейным индикатором связности пока зан на рис. 98.
Рассмотренные схемы, по-видимому, могут войти в качестве составных частей в модели различных задач математической теории графов.
Г л а в а 6
ЦИФРОВЫЕ АНАЛОГИ ЗАДАЧ О ПОТОКАХ В СЕТЯХ
6.1. МОДЕЛЬ ЗАДАЧИ О МАКСИМАЛЬНОМ ПОТОКЕ
Задачу о максимальном потоке можно решить как задачу -о кратчайшем пути (см. § 1.7). При этом требуется преобразование
.исходной сети в двойственную, что не всегда удобно при подготовке задачи к решению.
Для определения максимального потока можно воспользоваться следующим методом. Предварительно на сети отыскивается какойнибудь путь и определяется величина минимальной пропускной •способности одной из дуг этого пути. Величина найденной минималь ной пропускной способности отнимается от пропускных способнос тей дуг пути и запоминается. Далее, на преобразованной таким
. образом сети отыскивается новый путь и дуга с минимальной пропуск ной способностью в этом пути. Вычитанием величины новой мини мальной пропускной способности в других дугах снова преобразовы вается сеть, величина минимальной пропускной способности скла дывается с аналогичной предыдущей величиной и запоминается и т. д. Процесс заканчивается тогда, когда не будет ни одного пути между начальным и конечным узлами сети.
Сумма величин минимальных пропускных способностей дуг
.в путях и определяет величину максимального потока сети. Подобный метод позволяет построить относительно простые
•цифровые аналоги для решения данной задачи.
При определении величины максимального потока в модели реализуется метод, подобный методу, описанному в работе [206]: при вычитании от величин пропускных способностей дуг некоторого пути величины минимальной пропускной способности дуги этого пути, эта величина минимальной пропускной способности дуги
..прибавляется к величинам пропускных способностей каждой дуги, включенной навстречу дугам этого пути.
Цифровой аналог представляет собой соединенные в соответст вии с топологией сети модели дуг (МВ) и устройство управления.
В модели нет как таковых моделей узлов, им соответствуют по-
.люсы электрических соединений отдельных моделей дуг. Устройство управления не сложное и его техническая реализация не имеет принципиального значения, поэтому такое устройство далее не рассматривается. Отметим только, что оно должно содержать счет чик импульсов соответствующей емкости для запоминания величин
.минимальных пропускных способностей дуг путей, тем самым для
.160
определения величины максимального потока, и некоторые вспомо гательные элементы.
Модель дуги в случае отрицательной логики изображена на рис. 99. В принципе она является объединением двух моделей дуг, которые способны определить кратчайший путь на сети и включенные навстречу друг другу.
Модели дуг соединяются между собой полюсами 19 и 20. Для каждой ориентированной дуги сети только в счетчик импульсов
Рис. 99
1 предварительно заносится число импульсов, которое дополняет величину пропускной способности этой дуги до полной емкости счет чика. Для неориентированной дуги число импульсов, которое до полняет величину пропускной способности дуги до полной емкости счетчика, заносится в счетчик импульсов 1 я Г.
Триггеры 3, 4, 3' и 4' вначале находятся в нулевом состоянии. Считая величины пропускных способностей дуг сети величинами их продолжительности, модель отыскивает на сети какой-либо крат чайший путь. Для этого устройство управления подает в начальный узел импульс пуска. Предположим, что в некоторый момент времени этот сигнал появится через дизъюнктор, который получается со
единением диодов Д и Д х предыдущих |
моделей ветвей, на полюсе |
|
19. Сигнал пуска через инверторы 8 , 9 |
и конъюнктор 13 установит |
|
триггер 3 |
в единичное состояние,таккакна других входах конъюнк- |
|
тора 13 |
имеются разрешающие сигналы. Таким образом, триггер |
|
3 разрешает поступление в счетчик 1 |
импульсов от генератора |
П 3-2595 |
161 |
(ГИ) через полюс 2 1 , конъюнктор 10 и дизъюнктор 18. Одновремен но запрещается пуск модели встречной дуги.
Сигнал переполнения счетчика 1 через конъюнктор 11 ставит триггер 4 в единичное состояние, т. е. сигнал пуска через диод Д пройдет на полюс 2 0 и произойдет пуск соединенных с ним моделей ветвей. Во всех моделях ветвей, в которых импульс переполнения счетчиков импульсов 1 (Г) появится на полюсе 2 0 позже этого мо мента, триггеры 4 не будут устанавливаться в единичное состояние, так как с полюса 20 через инвертор 5 и конъюнктор 11 этих моделей ветвей будет поступать запрещающий сигнал.
В процессе расширения сигналов пуска в сети теряется содержи мое счетчиков импульсов 1 (Г). Для обновления информации одно временно с пуском какого-нибудь счетчика импульсов ( 1 или Г) тактовые импульсы через дизъюнктор 17 попадают в регенерацион ный счетчик импульсов 2 , емкость которого равняется емкости счет чиков 1 я Г.
Когда сигнал пуска достигает последнего узла сети и совершится регенерация во всех моделях ветвей, устройство управления по дает запрещающий потенциал в конечный узел сети.
Таким образом находится какой-нибудь кратчайший путь; у моделей ветвей этого пути на выходе конъюнкторов 1 2 (1 2 ') будет разрешающий сигнал.
Для определения величины минимальной пропускной способнос ти некоторой дуги пути устройство управления подает разрешающий сигнал через полюс 22 на все конъюнкторы 14, 15 (14', 15'), импуль сы ГИ начинают поступать одновременно через конъюнкторы 14 (14') и дизъюнкторы 18 (18’) во все счетчики импульсов 1 (Г) только кратчайшего пути, потому что имеем разрешающий сигнал с конъюнктора 1 2 (1 2 ').
В модель дуги, которая имеет противоположное направление первой модели дуги, импульсы от генератора ГИ будут поступать через конъюнктор 15 (15') на реверсивный вход счетчика импульсов 1 (Г), так как приходит разрешающий сигнал с конъюнктора 1 2 (12'). Так осуществляется добавление величины минимальной пропускной способности дуги пути к величинам пропускных способ ностей дуг, которые включены навстречу дугам этого пути.
Одновременно эти импульсы поступают и в счетчики определе ния минимального потока устройства управления.
Импульс переполнения какого-нибудь счетчика импульсов 1
(Г) через конъюнкторы 16 (16') и полюс 23 поступает в устройство управления и прекращает поступление импульсов от ГИ ; так опре деляется величина минимальной пропускной способности дуги этого пути.
Затем модель аналогично отыскивает новый кратчайший путь на преобразованной сети и определяет величину минимальной про пускной способности дуги этого нового пути.
Процесс оканчивается,, когда в сети не будет больше путей между начальным и конечным узлами.
162