книги / Автоматизация конструкторского проектирования в радиоэлектронике и вычислительной технике. Автоматизация конструкторского проектирования вычислительной техники
.pdfЗначение |
оптимум a /f г&)^+Ьк(к-1)№*/2 достигается на |
|||
решении t = |
1А)ьТ(л,к,м)> где |
й -{/>&/#£ |
, |
т. е. |
F'CGJ^FCtfsGJ. |
1Э- 6 Э и выбором |
кон |
||
Путем детализации л. 2° схемы |
кретного правила остановки в п. 4° можно получить ряд алго ритмов генерирования тест-задач. <3 частности, в качество
подграфа |
<S можно выбирать полный граф (?= V*UV" Ё Л |
|||||
/ V'4-S>0j\S£z/V*l*s+{ j имеюшиисследующие веса ребер: с> |
||||||
Л>о |
, |
если |
Cjjt ^'или |
Cyy € / f/j |
в противном случае. |
|
Условие |
б) |
в п, |
2 5 тогда |
принимает |
следующий вид: если |
|
/ У'/* s+f^ то существует только одно подмножество |
|
|||||
..v^ такое, что U |
V 'l-tlft/lfc llj>Oj |
если / Р / ^ т о |
таких*" |
|||
подмножеств пет. При этом %Св) =0. Подграфы*^ с |
неболь |
|||||
шим (по |
отношению к л ) числом всфшин можно выбирать слу |
чайным образом. Другой алгоритм, который далее будем рас сматривать подробнее, предусматривает отбор только треуголь ников (в качестве & в п. .2°), причем две вершины треуголь ника выбириются детермпннрованно и лишь третья выделяется случайно из некоторого множества кандидатов.
|
Допустим, что задано представление |
А и /п |
в виде |
про |
||||||||
изведения положительных целых чисел: к |
у m =*пх nty - Обо |
|||||||||||
значим |
через/? |
двумерную решетку |
размерности |
Ky/r*yXkxrtbj |
||||||||
т.е. множество |
|
|
t J s |
|
точек |
п л о с к о с т и , |
||||||
каждая из которых представлена своими координатами |
6 |
и/ |
||||||||||
по вертикали и горизонтали соответственно. Решетке |
/? мэж- |
|||||||||||
но сопоставить гр аф |
|
с мн ожеством першнн |
УС*)- { УуЦ■ |
|||||||||
|
|
|
К |
|
И множеством ребер |
|
|
/i-t j |
||||
v/j- s / - / / . |
Естественным |
образом R |
можно разбить на * |
под |
||||||||
решеток |
|
j* |
+ |
|
|
.Обозначим эти J |
||||||
каждая из которых имеет размерность |
||||||||||||
поарешетки |
через |
|
и соответствующие им графы через |
* |
||||||||
=s <Y(R£)J |
|
|
|
|
<f: У—* У(*)- взаимно |
однозначное |
||||||
отображение, |
ставящее каждой вершине б€{/ вершину |
(и тем |
||||||||||
самым |
точку |
решетки) р>Ы) 6 УС&) графа ^^ЛУ.Обозначим че |
||||||||||
рез |
|
длину кратчайшего пути между вершинами peyj |
и |
|
||||||||
в графе |
|
|
т.е. |
~/<S-v/+tt-zJj rixe^fcO =»^ f У г** J |
|
|||||||
J ’ty'S'" * * |
* |
* , |
€ |
Пусть |
l у = {t< jb |
|
множество всех |
|||||
путей между рсО |
и |
|
в графе G fxj, длина которых рав |
|||||||||
ны |
tit*/* |
Каждому 4 |
сопоставим ч и с л о в е р ш и н |
ua этом пу |
||||||||
ти, |
принадлежащих |
V |
. Положим |
|
|
|
|
|||||
L& s f* y e * - i//£ r |
r * t y } . |
|
|
|
v |
■* |
|
81
Алгоритм генерирования весов ребер графа, основанный на выделении Треугольников, можно представить в следующем ви де.
t |
. Выбрать |
отображение^ и разбиение множества |
pcfi) |
|||||||||
на |
|
, |
|
|
|
|
|
|
|
|
|
|
2°. |
Положить |
|
|
|
|
tty . |
|
|
|
|
||
3°. Вычислить |
ty y e K |
t t y . |
|
#6у среди всех пар |
||||||||
4 Э, Выбрать пару |
i j e ^ c |
наибольшим |
||||||||||
j ДЛЯ KDTOpbtX |
|
|
|
|
|
|
|
|
|
|
||
a) |
C y - 0 ; |
|
|
|
|
|
|
|
|
|
|
|
* ) * * * $ , где ^ |
и |
^ |
|
таковы, |
чтоf a 'j e |
|
можно и / |
|||||
Если такой пары |
нет, |
то |
перейти 7° |
(это |
сделать |
|||||||
раньше), |
|
|
|
|
|
|
|
|
Ss/'f |
|
||
5°. Выбрать вершину |
/ |
на некотором пути |
такую, |
|||||||||
ч |
т |
о |
и |
|
////-£ ;* /* £ * * в ыбрать |
д е fz .f ,z £ j m |
||||||
6°. Положить |
|
|
|
|
|
|
|
|
рвйти к |
|||
4 |
|
|
|
|
|
|
|
|
|
|
|
|
7°. Определить ^ / ^ > 7 ^ / Положить |
|
|
% сфг\ |
|||||||||
8°. Генерировать |
случайную перестановку р - г/эс/^.^р cnj, |
|||||||||||
осуществляющую перенумерацию вершин графа |
|
Вес |
ребра |
|||||||||
/уо^рсг/^эт ого |
графа равен |
С у • Оптимальное значение |
||||||||||
/ f CGJ= |
Сk -/J т * /-?. |
|
являются /сх |
/&х у |
|
|
||||||
Параметрами |
алгоритма |
|
|
|||||||||
и <5~ В частности, |
можно взять Z, |
вг/^В ы бор |
вершины / |
производится случайным образом. В качестве правила перехо
да к 7° можно использовать условие ]Х< Су |
- задан |
ный порог, при выполнении которого ifbfeop новых пар |
|
прекращается. |
|
Алгоритм 1 ° -8 D генерирует тестовые задачи, |
которые спо |
собствуют бодее серьезному испытанию приближенных алгорит мов разрезание графов, нежели задачи примера 2 в [ 8].
Проиллюстрируем работу алгоритма *а примере. Пример.
/Z — 12, |
М = 3, |
/77 = 4, |
= 3, ^ |
“ 1, /т /х^/ру ~ 2, |
= 1, |
Z^Zi = ’X |
(тогда |
л - 1, |
/I = 1). |
Решетка ^ и ее |
разбиение |
показано на рисунке. Узлам решетки сопоставлены номера со ответствующих вершин графа. В ходе работы алгоритма выде ляются следующие треугольники (знаком *+* отделена третья вершина треугольника, выбираемая на п. 5 °): (1,10+ 3), (4,7+ +2), (1,1 2 + 8 ), (6,7 + 1 1 ), (3,12+ 5), (6,9+4), (1,4+ 2), (1,9+
8 2
+7), (2,10+ 4), (3,7+8), #7,10+9), (4,8+10), (1,6+2),
(1,11+5), |
(2,12+ 11), |
(5,7+11), (7,12+8), |
(6,8+2), |
(3,6+4), |
|
(3,11+5), |
(4,12+ 10), |
(5,9+10), (9 ,1 2 + Ц ), (6,10+4)! |
|||
(2,9+8), |
(4,11+ 5), (5,8+2). Дальнейший выбор треугольни |
||||
ков невозможен ввиду |
отсутствия nop i , j £ |
цля которых вы- |
|||
© ® (D |
© |
© |
© |
©® ® ® © ©
полняются а), б), в) п* 4 ° . -Допустим, что В качестве пере становки Р выбрано тождественная перестановка (это, в об щем, облегчает задачу исследуемого алгоритма). Тогда в ре зультате получаем следующую матрицу весов ребер графа
|
г 2 3 4 5 6 7 8 9 го и 12 |
||||||||||||
1 |
0' 3 t о 0 2 0 2 2 0 0 |
0 0 |
|||||||||||
2 |
3 0 г 4 2 3 2 4 0 0 |
2 0 |
|||||||||||
3 |
2 г 0 2 3 0 0 2 г 2 0 0 |
||||||||||||
4 |
0 |
4 |
2 0 |
2 4 0 0 |
2 5 |
0 |
0 |
||||||
5 |
2 2 3 2 0 г 0 0 0 2 |
5 |
2 |
||||||||||
6 |
0 |
3 |
0 |
4 |
г 0 0 0 0 0 |
2 |
г |
||||||
7 |
2 |
2 0 |
0 |
0 |
0 0 3 3 |
0 |
|
3 |
0 |
||||
8 |
2 4 |
2 |
0 |
0 0 3 |
0 2 |
2 |
г 3 |
||||||
9 |
0 |
0 |
г 2 |
0 0 |
3 |
2 0 |
3 |
2 0 |
|||||
го |
0 |
0 |
о 5 |
2 |
0 |
0 |
2 3 |
0 |
|
г 2 |
|||
гг |
0 |
2 0 0 5 |
2 |
3 |
г 2 |
г 0 |
3 |
||||||
г2 |
1о 0 0 0 |
2 |
г 0 3 0 |
2 |
3 0 |
Оценим но данном примере точность простого последова тельного алгоритма, параллельно выделяющего множества вер шин /£• подграфов Вначале все считаются пустыми, а все вершины графа свободными. На очередном шаге алгоритма
выбираются свободная вершина i |
и подграф &/, максимизиру |
|
ющие функции |
^ г а е |
при соблюаеНИ5[ условия |
, |
суммарный вес ребер, свя |
|
зывающих вершину / |
с вершинами ,уже отнесенными к |
83
(число |
таких вершин |
обозначено через |
). Выбранная |
верши |
|||||
на |
с |
из списка свободных переносится в |
m>j |
увеличивает |
|||||
ся |
на |
1 и процесс повторяется, В рассматриваемом примере |
|||||||
эт D T алгоритм дает |
разбиение |
= / l , |
3, 8t |
2 /, |
|
- /4 , |
|||
10, |
6, |
9 /, |
^11, 7, 12, 5 /, |
на котором |
целевая |
функ |
|||
ция |
F |
принимает значение F*(GJ =• 5 2. В качестве |
оценки точ |
||||||
ности |
алгоритма можно принять величину |
M F F 'C G )- |
|
||||||
CFC(£>')-f0 C&)J |
где F(G)~ среднее значение функции |
Для |
|||||||
полученного решения |
Л = 20,4 . |
|
|
|
|
|
|||
|
ГЗ |
проведенном эксперименте генерировались тест-задачи |
разрезания графа на две части. Эксперимент показал, что взве шенные графы, выдаваемые алгоритмом 1 ° -8 э, можно исполь зовать в целях исследования приближенных алгоритмов разре зания. В частности, при /Z - 40, /7 = 20 выше сформулиро ванный последовательный алгоритм давал решения, для кото рых усредненное F = 17,8.
Ли т е р а т у р а
1.СЕЛЮТИН В,А. Машинное конструирование электрон
ных устройств. - М.: Советское радио, |
1977. - |
3 |
8 4 с. |
|
2. |
ГОРИНШТЕНН Л.Л. О разрезании графов. - |
Изв. АН |
||
СССР. |
Техническая кибернетика, 196 9 , |
N? 1, с. |
7 9 -8 5 . |
3. АБРАЙТИС Л.Б. Алгоритм для определения максималь но связанных наборов элементов. - Автоматика и вычислитель
ная техника, 1970, |
5, с. 4 0 -4 7 . |
4* РЫЖКОВ А.П. Алгоритм разбиения графа на минималь
но связные подграфы. |
- Изв. АН CCCFj. Техническая киберне |
|
тика, 1975, N? 6, с, |
1 2 2 -1 2 8 . |
\ |
5 . БОРОНИН А.Б., ПЕШИН 0.10. Разбиение сети на мини |
||
мально связные части. |
Автоматика |
и телемеханика', 1 9 8 4 , |
М4, с. 1 2 8 -1 3 8 .
6.АБРАИТИС Л.Б., ШЙМАЙТИС А.П. Алгоритмы компо новки узлов и исследование их эффективкс гги. - В кн.; Вычис
лительная техникаг г. 2. Каунас: КПИ, 1971, с. 6 6 -7 6 .
7. Г1АЛУБЕЦКИС Г.С. Об одном применении оценки опти мума в задаче размещения графа. - В кн.: Тезисы докл. респ. колф, "Автоматизация технического проектирования цифровой ап
паратуры". Каунас: КПИ, 1 9 8 4 , с. |
6 1 -6 2 . |
||
|
8. КОРОБКОВ Б.П., РАСТРИГИН Л.А. Рандомизирован |
||
ные |
методы разрезания графов. |
1, |
- Изв. АН СССР. Техниче |
ская |
кибернетика, 1982, № 3, |
с. |
1 6 3 -1 7 2 . |
8 4
УДК 621.3.049
ПРИБЛИЖЕННЫЙ АЛГОРИТМ ОПРЕДЕЛЕНИЯ МАРШРУТА КОММИВОЯЖЕРА НА ПОДМНОЖЕСТВО УЗЛОВ КООРДИНАТНОЙ СЕТКИ
В.А. Ш туйкис, Г.К. С а б а л я у с к а с
Р
Дведеиие. В литературе эписакэ много приближенных (эв ристических) алгоритмов решения задачи коммивояжера [1-1 1J . Имеющиеся алгоритмы отличаются друг от друга в основном принципом конструирования маршрута и оценкой точности (§с- ли она известна). Так как существующие теоретические оцен
ки точности |
приближенных алгоритмов являются грубыми [5 , |
l l j , многие |
авторы прибегают к экспериментальному иссле |
дованию. Результаты экспериментов наиболее полно отражены в [1, 9J. Много полезного содержится в [8 J. Следует отме тить, что в литературе в недостаточной мере исследована эф фективность приближенных алгоритмов для реальных данных.
Проведенный нами эксперимент [6J с алгоритмами Розенкрантца, Стернза, Лыоиса [1 1J для оптимизации маршрута установки микросхем автоматом сборки в позициях печатной платы дал неудовлетворительные результаты (в смысле точ ности решения задачи). Причиной этого является специфика реальной задачи, заключающаяся в том, что в качестве исход ных данных рассматриваются точки, совпадающие с подмноже ством узлов некоторой координатной сетки. Это привело к разработке нового алгоритма, названного алгоритмом "клипа*'.
Идея его построения имеет много общего с известным принципом наращивания огибающего исходного цикла. О хоро ших результатах с применением этого принципа сообщается, например, в [2 , 9]. Основными отличиями предлагаемого ал горитма от [2 , 9 ] являются: процедура наращивания цикла, основанная на том, что на некотором шаге в имеющийся цикл включается не одна новая точка, а множество точек, и то, что оптимизацию можно проводить совместно по длине и по числу "лишних" поворотов (углов) в маршруте.
J7DCтановка ^задачи. Задано множество PS А* У точек на плоскости, где ножествоХ*У соответствует узлам координатной сетки. Расстояние между каждой парой точек р ^ р у ^ р с координатами соответственно
85
|
) |
И |
(X j,y j\ |
( / , / - |
1, 2 ........J |
) |
определяется |
no |
( t) : |
||||||||||
|
|
|
|
|
|
4 (Pi. |
|
~ |
l+tfi -У;/- |
|
|
|
(г > |
||||||
Требуется |
найти маршрут |
|
|
|
lC’<r<-sjjPKr>j>($'(iJ£v<jJ), |
||||||||||||||
проходящий |
|
через |
все точки |
из |
P f и для которого сум |
||||||||||||||
ма (2 ) |
является минимальной: |
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
Ъг(е-о)*f * |
ЪсШ -Ь)* |
|
^ ^ |
||||||
|
|
|
|
|
+4C/$rCS)j fifrnj)-*r * actfres» ^srcoJАг ' |
|
|
||||||||||||
&(£-, ,P |
)* А* |
еСПИ *#«)**!?«*» * |
|
|
|
|
J |
(3) |
|||||||||||
|
''(Qfrtuv* |
JO |
- |
в |
противном случае, |
в маршруте; |
|
||||||||||||
т.е. при а - |
1 |
определяется ''лишний*' |
угол |
|
|
||||||||||||||
kjj£z>,ll- весовые коэффициенты;^ |
= О, если вместо |
(1) |
|||||||||||||||||
применяется, |
например, |
(4): |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
У г $ / ,Х |
|
|
|
|
(4 ) |
|
Отметим, что задача в аналогичной постановке рассмат |
|||||||||||||||||||
ривалась Тимофеевой |
[7J, |
однако ею предлагаемый |
алгоритм |
||||||||||||||||
принципиально отличается от алгоритма "клина". |
|
|
|
|
|||||||||||||||
ЭтаПЬ1_ Я\п[rjJjniTNiD |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
А. Определение начального маршрута |
|
|
|
|
|
|
|||||||||||||
щие условия |
(рис. L, |
а): |
такого, |
что выполняются следую |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||
а) |
все точки |
из |
|
Р |
входят либо в |
маршрут |
/ 7 |
> |
Л И ^ Э |
D |
|||||||||
плэитдь |
ф ^ограничиваемую этим маршрутом; |
|
|
|
|
|
|||||||||||||
б' |
длииа маршрута |
/7*прн этом |
минимальна; |
|
|
|
|
||||||||||||
в ) |
плэшпдь |
ф *минимальна |
при соблюдении |
(а) |
и |
( б ) ; |
|
||||||||||||
Б. Наращивание |
маршрута |
/7 * (рис. 1, |
б-д), охватываю |
||||||||||||||||
щее следующие моменты: |
|
|
&rcMj |
|
|
|
|
|
|
||||||||||
- |
определение для каждой |
пары |
|
|
|
|
|
|
|||||||||||
множества |
|
|
|
|
от |
|
^ |
J |
|
'г^ ек’ |
стэя“‘их В |
||||||||
меньшем |
расстоянии |
|
/?с в |
отрезке |
от |
|
до |
|
ft*** |
||||||||||
и не входящих в |
/7 ^последовательность точек |
нз |
|
удовлет |
|||||||||||||||
воряет условиям |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
feed) |
|
|
|
/ если |
*2?aj $ |
и+п, |
|
|
|
|
||||||
|
|
|
S u fi) |
|
|
|
|
' |
еСЛИ |
|
|
& ys ( l .ij; |
|
|
|
|
|||
- |
вычисление |
функции |
|
|
|
|
|
|
|
|
|
|
8G
|
|
|
|
|
|
= " = < И ^ = r = * f |
|
||||
- |
1 |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 | |
4 к |
л 1- |
|
|
|
1 |
< r |
|
J |
|
|
|
. |
. |
1 |
|||
|
|
|
ч 9— |
\ |
|
|
|
|
|
||
1 |
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
1 |
L |
, |
|
Г |
| к |
А к ‘ |
4 к |
4 к |
4 |
|
, 1 |
|
|
|
|
|
г — . л |
|
|
|
► |
|
||
|
“ |
1 |
|
|
|
j к |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
1J |
! |
|
|
4 к |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
__ <к |
|
|
|
|
1 |
|
|
|
|
|
|
4 к _____1 к |
|
4 1 |
||||
|
|
|
|
|
|
Р—•—1 |
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
--------- 4 |
м |
- 4 |
|
- |
И “ |
|
|
|
|
||
|
|
1 |
|
1 |
|
1 |
|
|
|
i |
|
|
|
|
|
|
|
1 |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
||
|
|
1 |
|
1 |
|
|
|
|
|
i |
|
|
|
|
|
|
1 |
|
|
|
|||
|
|
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
_ |
1 |
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|||
< к — |
|
1 |
|
1_____ < Н = Ч |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
! |
1 |
|
|
|
|
|
|
|
|
|
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
> = Г = < |
| |
4 1 |
1 А |
|
4 » |
||
|
|
|
|
|
Р------- |
щ |
|
|
|
||
|
|
1н |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
1 |
|
|
1 |
||
_ |
. |
1 |
|
|
|
К------ 4 j— |
|
|
|||
4 Ь |
|
|
1 |
• |
" |
| |
|||||
|
|
|
|
|
|
Г |
^ |
|
1 |
||
|
|
|
|
|
|
Г |
|
|
|
|
1 |
|
|
|
|
|
— |
4 | = = « L d e к = ^ к |
— |
i И “ < |
|
|
- = |
i И = ^ |
|
|
1 |
|
|
|
|
|
|
1 |
|
|
|
|
|
0 - J |
|
4 |
к |
4 |
|
|
1 |
|
|
|
|
|
|
1 |
|
|
|
|
|
|
1 |
|
|
|
|
|
|
к |
1 1 j |
Ь 4 |
| |
4 к |
4 к . . . 4 L |
4 |
! • ------- |
у |
Г —» |
Р |
- - Л |
Р — | f |
1 |
|
Г |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
1 1 |
|
|
|
|
|
|
4 1 |
|
|
4 |
| |
|
|
1 9 |
|
|
Ч 1 |
Ч W |
|
|
|
|
|
1 |
|
|
|
|
|
----------- 4 |
f c = r = 4 > |
||
- i |
М=Н>— |
|
— <► = =T=f |
|||
|
1 |
|
|
1 |
|
|
__[ |
1 |
|
|
1 |
|
|
|
1 |
1 |
|
|
1 |
|
<r-J |
|
|
в—i1A |
|
||
1 |
|
|
|
|
|
|
1 |
|
|
|
|
|
|
1 |
|
|
|
|
|
|
1 |
|
|
|
|
|
|
4 -41И |
|
|
|
|
1 |
|
. - |
1 |
|
|
. J |
|
|
л |
|
|
|
1 |
||
|
|
|
|
1 |
|
1 |
• |
|
|
|
|
1 |
|
е |
|
|
|
^=41ь=И |
|
|
|
|
|
|
|
|
Рис* X. Основные этапы алгоритма: А(а);5(<?-$)и ЯМ
где <t*(%a)> %Г(Ш)) |
и a*flSrtt)tffru*a) - соответственно суммарная |
|||||||||||
длина пути и число углов (см. (3 )) б отрезке маршрута от |
||||||||||||
Ъг(1) до fyu+ihbели принять, что последовательность точек |
||||||||||||
<&г/Л'^г*;.''»>£к?включена |
в маршрут между fyre) |
и & п+ о; |
||||||||||
- выбор |
такого /# |
что /£=minfe)точки из Л£в |
в вышеука |
|||||||||
занной последовательности включаются в маршрут между |
||||||||||||
и & с/Ф+0. |
Б |
повторяется |
до тех |
пор, пока все точки из |
Р не |
|||||||
Этап |
||||||||||||
окажутся |
в |
маршруте. |
|
|
|
|
|
|
|
|
||
В. Изменение очередности обхода точек в маршруте с це |
||||||||||||
лью уменьшить в кем |
число углов (рис. X, е) таким образом, |
|||||||||||
что если |
для некоторых //7® |
Ли /пст*£3,..., S; m + i |
||||||||||
в маршруте 17s |
удовлетворяются |
условия (5 )-(7 ), |
|
|
||||||||
|
|
|
|
|
И |
|
УЯCL+f)j |
|
|
|
^ |
|
Ая с тt |
f |
o f |
O |
j |
ИJfav/rv€{УясоJ SOra+frfJ |
|
^ |
|||||
|
г/гг)^ |
|
-rjj *jrrm+r;J |
tУжcm-v*У/rrm+vb ^^ ^ |
||||||||
то точка |
fy<m) в' маршруте /7J из места п? |
переносится |
между |
|||||||||
Этап |
В повторяется, |
пока в /7& имеются |
такие |
С и л?. |
||||||||
Из-за |
простоты подробное |
описание этапов |
А и В опущено. |
|||||||||
|
|
|
|
|
£нииЛ]3 2 1 Ч Щ т _ а _ _£>1* |
Введем |
следу |
|||||
ющее обозначение. Пусть /7£ - |
некоторый маршрут |
(t<s)9 а кэ-; |
||||||||||
ординаты узлов |
|
сетки |
(УС) г 9*г'' удовлетворяют |
(8); |
|
|||||||
|
|
|
|
Ж2 |
(либо |
у*) |
|
|
|
(8) |
||
Тогда последовательность |
точек вертикали X7 (горизонтали у') |
|||||||||||
от И* до |
у'* включительно |
и не входящих в маршрут /7* |
обо |
|||||||||
значим |
|
|
|
(рис. 2). Если в данном интервале вертикали |
||||||||
А* (горизонтали у*) |
не |
имеется точек, то |
это |
обозначим |
<£?; r"J> = 0-
Для формализации шагов 5 и 7 будем считать, что осуще ствляя последовательный обход по маршруту /7С, определенно му на этапе А, ограничиваемая этим маршрутом площадь фй
остается в |
левой |
стороне. |
|
1. |
Установить значения коэффициентов кг,кг ;z:= о |
( * - |
|
шаг координатной |
сетки). |
|
8 8
|
-----------------— |
i |
1 |
|
|
|
1 |
1 |
|
|
|
1 |
|
|
|
_______________1 |
|
||
|
| |
— |
||
|
|
1 |
9 |
|
|
|
|
■ '■ " я |
|
А к — |
|
1 |
|
1 |
■ Г Г — |
i » |
|
||
W |
|
и Г |
-----------------------1 } ш ш w m n i m |
|
1 |
|
|
|
|
|
|
1 |
< |
______________1 |
|
|
|
|
|
|
l |
||
|
1 |
|
|
|
|
|
|
|
|
______________1 |
— А |
} _____________1 И |
|
J |
L |
i |
п |
||
|
I |
|
F |
-------- < |
|
. |
|||
|
1 |
|
|
р! |
А |
А |
А1 |
||
• = 5 ^ = ё г = г = 4 ► = Г ^ = Г = И |
► = г - , = п = |
|
|
т а а п ’И -- д а |
|
||||
Рис. 2. Пример |
определения последовательности |
|
|||||||
|
<Су', у ] >-</>,/> ,/=> |
|
|
|
|
|
|
||
2. |
к = О;%,{/г :=Sff ( L ~ индекс гонки в маршруте ЛЬ F . "=■ |
||||||||
3 . |
^m cn q |
|
|
|
|
|
|
|
mtn |
^: |
|
|
|
|
|
|
|
|
|
4 - •**■' ” л*«+/ГАЛП)'*?:*Узг«+гГ&-го ■ |
|
|
|
|
|||||
5. |
Определить координаты |
УС г ' и v * : |
|
|
|||||
|
Г * х ш |
,лц * 0 п \\^ ах ау<0, |
|
|
|||||
|
х'= I *ЛШ -*> АУ>0 " |
|
|
|
|
|
|||
|
l x g "/ * X, A f < 0' 1 * * " / J . |
|
|
||||||
|
Y jtooi |
■**<*" |
|
|
|
|
|
||
|
rj&a*,) |
>4 ^ |
л и б ° Ax-Ajf>o, |
|
|
||||
|
х и~ |
Ъа+О-* /4у>0И |
Axsff, |
|
|
||||
|
|
*2a*/)*1 / йУ<0и |
» 0} |
|
|
||||
|
|
t/ra+tj |
- ах=рппбо ал ау*о, |
|
|
||||
|
«Г = |
Уха+о-* j **<*«■ |
‘°? 44 |
|
|
||||
|
|
#F(t+u+zjAX>o\i |
л у *■о. |
|
|
||||
6. |
Если H3f?<ve *ти+о либо |
- |
yxw i)jT0 определить по |
||||||
следовательность «гfyJr*J>~<%,ajj'i>r2>,— , |
x ^ (fj> |
|
гце |
||||||
С( fnaXfax,Ay) + f; |
перейти к |
шагу |
9. Иначе - |
к ш. 7. |
89
7 . Определить координаты УС |
*"*и У 'у |
|
|
|||||
|
|
( * |
|
|
AA'4f>0, |
|
|
|
п |
= |
|
/ |
ДХ*0 мду<0/ |
|
|
||
|
ДХ<0 идд>0} |
|
|
|||||
|
|
1 |
|
|
|
|
||
|
|
Lх ? а + о - х |
/ |
Д*' A{f<Ot |
|
|
||
|
|
ГУ' |
|
|
||||
У |
- А |
1fr ((H )+ Z |
/ |
ДХ>0 мдy>Oj |
|
|
||
|
|
(. У*г((+о ~z |
у |
АХ<0 мД(/<0) |
|
|
||
|
|
АЛ ду< QJ |
|
|
||||
|
|
г Хт |
/ |
|
|
|||
У 1 ш 1 |
|
> |
дХ<{? и ду<0/ |
|
|
|||
|
ДХ>0 И &y>0j |
|
|
|||||
|
|
1 f * + r |
|
|
|
|||
у |
А |
г У** |
|
ДХ-Ду> OJ |
|
|
||
у*-/ |
|
Д Х > о |
м Д у < 0J |
|
|
|||
|
|
У ^ / |
|
ДХ<0 |
мду>0. |
|
|
|
|
|
|
|
|
|
|
||
8. |
Определить последовательности: |
|
|
|||||
где <?<$£*/ |
|
|
|
|
|
|
|
|
<CYj y uJ>*< |
fart)r J |
%€/сен)*%>Г*+*)' |
' |
|
||||
О. Если |
|
|
о, то перейти к ш. 14. Иначе - к щ. Ю, |
|||||
10. дЖ |
|
'£'<•/;}* crffyay&wJ |
|
|
|
|||
1 1 .4 |
|
, *а,C/JU |
|
fcuc2))+ "*& (tyci+ rty& ffottjt& rfojfi |
||||
,___bf*0t+ fiZAO. |
|
|
|
|
Л |
|||
12. r£ -~ |
|
c |
|
|
|
|
|
|
13. Если f |
|
|
|
|
|
|
v', ),'/>), |
|
14 . l;»L+f. |
|
|
|
|
|
|
|
|
15. Если L<-i+fj то перейти к ш. |
3.\ Иначе —к ш. 16. |
|||||||
16. Если /min= 099, |
то «Г: ~z+tj перейти к |
ш. |
19. Иначе - |
|||||
к ш, 17. |
|
|
|
|
|
|
|
|
17. Последовательность точек <iff&>включить в |
маршрут № |
|||||||
вслед за точно». |
fyc//ve_>: |
|
|
|
|
|||
CPC/+Sk*f):**Si(i+Oj$rti+fX) “Ж аЛ-'••j$r(MP+SX+f)'’$i’CMD+t)j |
||||||||
& (W |
|
Со(Ш }&Ш о*№~/):*=eo(SX-Oj -.jffe m |
+t)>-Ф (0 , |
18. i :=
19. Если /< J, то перейти к ш. 2. Иначе - к ш. 2 0 . 20. Конец.
9 0