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

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

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

Исходя из этого, естественно предложить в качестве модели уз­ ла логическую схему дизъюнкции ИЛИ (рис. 49). Аналогией дли­ тельности ветви могут служить временные соотношения.

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

рующих последующие ветви. Вре­ мя, затраченное между запуском сигнала в начальный узел и появ­ лением первого сигнала в конечном узле, соответствует длине кратчай­ шего пути. С помощью «временной» модели можно определить коли­ чество путей различной длины в мо-

Рис. 50

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

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

Для определения длины кратчайшего пути между начальными и

50

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

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

сигнала в выходном узле сети.

при­

і >--------------

Для определения

ветвей,

 

надлежащих

кратчайшему

пути,

 

необходимо в модели

каждой ветви

 

предусмотреть

схему

выделения,

 

которая

должна выдавать

сигнал

 

в случае,

если

просмотр этой вет­

 

ви закончился раньше, чем осталь­

Рис. 51

ных ветвей, входящих в один узел.

 

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

 

 

 

 

узле имеем логическую схему ИЛИ.

От ГИ

 

 

 

На входы схемы ИЛИ подключаются

 

 

 

 

индикационные модели ветвей, выхо­

 

 

 

 

дящих из данного узла, а на выход —

 

 

 

 

индикационные модели ветвей, входя­

 

 

 

 

щих в соответствующий узел.

ин­

 

 

 

 

Если теперь в конечный

узел

 

 

 

 

дикационной

модели подать

сигнал,

 

 

 

 

то он пройдет только через те вентили

соответствуют

ветвям,

 

и индикационные элементы,

которые

принадлежащим

кратчайшему

пути,

так

как сигнал не пройдет через

вентили

тех

работ, которые принад­

лежат

частным

кратчайшим

путям.

На

рис. 51 показана функ­

циональная схема модели ветви.

 

 

 

 

 

 

В цифровом аналоге, построенном на элементах цифровой тех­

ники,

моделирующей

величиной может

быть выбрано

число

им­

пульсов, пропорциональное длине ветви. В таком цифровом анало­ ге основным элементом моделей ветвей является схема отсчета коли­ чества импульсов, пропорционального продолжительности ветви (рис. 52). Схема отсчета состоит из триггера Т, схемы совпадения И и «-разрядного счетчика. Количество разрядов счетчика выбира­ ется в зависимости от необходимой точности получения результатов решения.

91

Рис. 53

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

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

В исходном состоянии триггер Т находится в нулевом состоянии. При подаче импульса пуска триггер переходит в состояние 1 и от­ крывает схему совпадения И. Че­ рез открытую схему совпадения им­ пульсы от генератора, общего для всего устройства, поступают на вход счетчика. Выходной импульс счетчика поступает в схему вы­ деления и одновременно на ну­ левой вход триггера Т — триггер переходит в нулевое состояние и

закрывает схему И.

На рис. 53 приведен пример со­ единения схем выделения моделей ветвей, входящих в один узел, с моделью узла. В качестве модели узла применена схема ИЛИ. Схе­ ма выделения состоит из схемы сов­ падения И и триггера Т , единич­ ный выход которого соединен с од­ ним из входов схемы ИЛИ. Выход схемы ИЛИ соединяется со вхо­

дами моделей ветвей, выходящих из этого узла, и через инвертор НЕ со входами схем И, принадлежащих схемам выделения моделей ветвей, входящих в этот узел. В исходном состоянии схемы И открыты.

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

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

92

Схема работает следующим образом. Предварительно в счетчик импульсов Счх записывается число импульсов, пропорциональное продолжительности ветви, а счетчик импульсов Сч2 и триггеры 7\ и Т2 находятся в нулевом состоянии.

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

Рис. 54

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

Счетчик Сч2 выполняет функции регенерации информации, за­ писанной в счетчики Счх.

Для индикации ветвей, принадлежащих кратчайшему пути, не­

обходимо после просчета его длины

подать

запрещающий сигнал

в конечный узел. Этот сигнал

инвертируется

инвертором

НЕХи

поступает на схему совпадения

И3.

Если

на

второй вход

этой

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

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

93

ва является высокая точность определения кратчайшего пути и уста­ новки исходных данных.

В рассмотренных схемах цифровых аналогов отсутствуют недо­ статки, присущие аналоговым моделям, у которых моделирующей величиной являются напряжения.

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

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

5.2. ЦИФРОВОЙ АНАЛОГ ЗАДАЧ

ОДЛИННЕЙШЕМ ПУТИ

Вобщем случае задача о длиннейшем пути для двуна­

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

Однако задачу о длиннейшем пути для двунаправленного графа можно сформулировать аналогично задаче коммивояжера, т. е. определить в двунаправленном графе длиннейший путь такой, что он содержит каждый узел не более одного раза. При данной поста­ новке задача о длиннейшем пути оказывается аналогичной длин­ нейшему пути Гамильтона для заданного множества ветвей. Реше­ ние этой задачи можно найти методом одновременного просмотра всех путей (см. § 1.4). Используя указанный метод, можно постро­ ить цифровой аналог, подобный цифровому аналогу для решения задачи коммивояжера; подробнее он описан ниже (см. § 5.6). Здесь только укажем, что для определения длиннейшего пути необходимо в конечном узле предусмотреть устройство, позволяющее найти ту ветвь, по которой пришел последний сигнал в конечный узел. При этом максимальное время определения конфигурации длиннейше­ го пути в двунаправленном графе для такого цифрового аналога будет

i n - 2) (л*™» Ѣ 2 4 t j j

tD<

fr

где tmах — число импульсов, пропорциональное максимальной дли­ не одной ветви; іл.„ — число импульсов, пропорциональное длин­ нейшему пути; п — число узлов; /V — частота тактового генератора.

94

э л е м е н т
зад ерж ки
Линия
Запоми­
нающий
Если на выходе генератора поставить счетчик импульсов, кото­ рый будет останавливаться последним сигналом в конечном узле, то после первого цикла мы получим величину длиннейшего пути.
Такой цифровой аналог может решать задачу о длиннейшем пути для дву- и однонаправленных графов. Однако для однонаправленного графа, в связи с особенностями его логического описания, могут быть построены более простые цифровые аналоги.
Большой практический интерес в последние годы вызывают за­ дачи о длиннейшем пути в однонаправленном графе без циклов и петель. Эти графы являются конъюнктивными, элементы узлов ко­ торых реализуют функцию конъюнкции относительно множест­ ва дуг, входящих и выходящих из узлов

Р и Л

Р Х ‘ Л

• • * Л

рт,і

Рис. 55

~^gU Л

g2.l А

' * •

/\ gn,i-

 

Решение конъюнктивного графа, как уже указывалось в § 1.2, со­ стоит в отыскании множества путей максимальной длины. Для та­ кого графа естественно в качестве модели ветви использовать регу­ лируемую схему временной задержки с запоминающим элементом на выходе (рис. 55). Величина задержки устанавливается пропорцио­ нальной весу соответствующей ветви.

В качестве модели узла в соответствии с условиями (1.2) естест­ венно предложить логическую схему, реализующую логическую операцию конъюнкции. В дискретной технике такой схемой явля­ ется схема совпадения И (рис. 56). Эта логическая схема, исполь­

зуемая в

качестве узла, реализу­

ет импликацию двух конъюнкций.

Таким

образом, цифровой ана­

лог для

определения

длиннейших

путей на графах состоит из моде­

лей ветвей и моделей

узлов, со­

единенных между собой в соответ­ ствии с топологией графа. На.

рис. 57 приведен пример графа и его цифрового аналога. Для опре­ деления ветвей, принадлежащих длиннейшему пути, необходимо В; модели каждой ветви предусмотреть схему выделения, позволяю­ щую найти ветвь, завершающуюся в узле, в который она входит по­ следней. Таким образом, модель ветви, имеющая схему выделения, после определения величины длиннейшего пути будет выдавать сиг­ нал, если соответствующая ветвь принадлежит полному или частному длиннейшим путям. Для определения ветвей, составляющих длин­ нейший путь, необходимо отсечь все частные пути. С этой целью строится индикационная модель сети, которая подобна индикацион­ ной схеме, описанной в § 5.1 (рис. 57, в).

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

95

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

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

О т Г И

О т Г И

ö

о

с

л

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

£6

 

 

 

 

 

 

 

 

 

 

 

 

Т а б л и ц а

4

Н а м м е н о в а н и е

Ц н ф р о в о і і

а н а л о г

б е з

м о д е л е й Ц и ф р о в о й

а н а л о г

 

б е з

м о д е л е й

х а р а к т е р и с т и к

 

 

у з л о в

 

 

 

 

 

 

в е т в е й

 

 

 

 

Схема

модели

Вход

 

 

 

 

 

Моделью

работы

является

ком­

ветви

 

 

 

 

 

 

 

мутационный шнур

 

 

 

 

Схема

модели

Моделью

 

события

является

 

 

 

 

 

 

 

 

 

 

узла

 

непосредственное

соедине­

 

 

 

 

 

 

 

 

 

 

 

 

ние входов

или

выходов

 

 

 

 

 

 

 

 

 

 

 

 

моделей

ветвей

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выходы

Моделирующая

Время задержки

 

 

Время задержки

 

 

 

 

 

величина

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Установка дли­ Вручную с помощью пере­

Вручную

на

наборном

поле с

тельности вет­

ключателей

 

 

 

помощью

коммутационных

ви

 

 

 

 

 

 

 

шнуров

при наборе

 

топологии

 

 

 

 

 

 

 

 

сети

 

 

 

 

 

 

 

 

Наборное поле

Простое. Имеются гнезда на­

Сложное. На наборном поле есть

 

 

чала и конца каждой рабо­

группы

гнезд

для

каждого

 

 

ты, которые соединяются в

узла.

 

 

 

 

 

 

 

 

 

 

соответствии

с топологией

1.

Выходные гнезда, количест­

 

 

сети

 

 

 

 

 

во которых

равно

максималь­

 

 

 

 

 

 

 

 

ному количеству ветвей, входя­

 

 

 

 

 

 

 

 

щих в один узел

 

 

 

 

 

 

 

 

 

 

 

 

2. Выходные гнезда, количество

 

 

 

 

 

 

 

 

которых равно шагу

дискрет­

 

 

 

 

 

 

 

 

ности

установки длительности

Число линий за­

Равно количеству работ в се­

Равно

количеству

узлов

в сете­

держек

тевом графике

 

 

вом графике

 

 

 

 

 

Использование

Рационально

используются

Рационально используются линии

элементов

схемы

выделения и

схемы

задержки, так как при числе

 

 

индикации в моделях работ.

ветвей, выходящих

 

из

одного

 

 

Линии

 

задержки

исполь­

узла, больше одной, они ис­

 

 

зуются однократно.

 

пользуются

многократно.

Не­

 

 

 

 

 

 

 

 

рационально используются схе­

 

 

 

 

 

 

 

 

мы выделения и схемы

 

инди­

 

 

 

 

 

 

 

 

кации

 

 

 

 

 

 

 

Набор топологии

Осуществляется соединением

Осуществляется соединением ком­

 

 

коммутационными шнурами

мутационными

шнурами

вхо­

 

 

начал

и концов

моделей

дов и выходов моделей узлов

 

 

ветвей в соответствии с то­

в

соответствии

с

топологией

 

 

пологией сети

 

 

сети

 

 

 

 

 

 

 

 

Восстановление Не требуется, так как инфор­ Не требуется, так как информа­ информации мация не стирается ция не стирается после считы­ вания

7

3 - 2 5 9 5

97

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

Сравнение этих двух способов построения цифровых аналогов рассмотрено в табл. 4.

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

ко автоматический ввод информации затруднительный.

Цифровой аналог, в котором моделирующей

величиной выбра­

но пропорциональное число

импульсов, может

быть построен с

использованием счетчиков.

В таком цифровом

аналоге основным

элементом моделей ветвей является схема отсчета

заданного количе­

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

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

дополняющее длительность ветви до

полной емкости счетчика,

т. е. заносится количество импульсов,

равное

где N — основание системы счисления; п — количество разрядов счетчика; іц — количество импульсов, пропорциональное длитель­ ности ветви.

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

Входы обоих счетчиков объединяются. Выход счетчика регене­ рации Сч2 соединяется с нулевым входом триггера Тѵ Перед

98

Рис. 59

началом работы цифрового аналога счетчики регенерации уста­ навливаются в нулевое состояние. При поступлении на вход модели ветви (единичный вход триггера 7\) (рис. 58) пускового импульса

импульсы от генератора ГИ поступают через схему совпадения в оба счетчика. После поступления на входы счетчиков ^/-количества импульсов на выходе счетчика Счг появится импульс переноса, ко­ торый поступает в схему выделения. До полного заполнения в счет­ чик Сч2 необходимо подать еще

Nn іц импульсов, т. е. число импульсов, которое было запи­ сано в счетчик Счх. После пол­ ного заполнения счетчика Сч2 на его выходе появляется им­ пульс переноса, который уста­ навливает триггер Гвх в нуле­ вое положение и запрещает по­ ступление импульсов от гене­ ратора в счетчики Счг и Сч2 Таким образом, в Счг оказывает­ ся записанным Nn tu импуль­ сов, т. е. произошло считывание и регенерация содержимого Счх.

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

7*

99

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