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

книги из ГПНТБ / Скрыдлов, Н. В. Автоматизированные системы оперативного управления в строительстве

.pdf
Скачиваний:
10
Добавлен:
19.10.2023
Размер:
4.62 Mб
Скачать

 

т ■ М (1

-

М - 3

).

 

 

 

 

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

Нетрудно заметить,

что метод итераций при большинстве

 

зна­

чений параметров N ,

М , S

 

выгоднее, чем алгоритм Кана.

Алгоритм Адельсона-Вельского, не отличаясь от

алгоритма

Кана по числу обращений при подготовке к счету, требует

 

при

счете вдвое большего числа обращений, чем алгоритм Кана.

 

Это

происходит из-за необходимости считывать каждое

событие

дважды -

при ходе вперед и при ходе назад.

 

 

 

 

 

4 .4 . Расчет больших сетей при их

 

 

 

 

разбивке

на фрагменты

 

 

 

 

Представим себе, что граф,

изображающий

рассчитываемую

сеть, разбит на подграфы, каждый из которых содержит не

более

К работ (К = М - 5

),

и что любой путь исходного графа

 

раз­

бивается не более чем на

/П=\

N

1 + ^ частей,

 

каж-

 

 

 

 

 

Lm - 'S

J

 

 

 

дая из которых целиком принадлежит одному из подграфов.

 

Гра­

ничные события каждого подграфа (те события, которым

инци­

дентны работы других подграфов)

автоматически входят и в

эти

подграфы.

 

 

 

 

 

 

 

 

 

На первый взгляд такая разбивка кажется искусственной,

од­

нако сеть большого объема практически составляют из

сетей

малого объема, ибо исполнители сперва составляют сети

своих

участков, а потом уже объединяют их в большую сеть.

 

 

 

Расчет сети происходит по следующим правилам:

 

 

 

1) списьюается очередная

подсеть (фрагмент) и

рассчи­

тывается как самостоятельная сеть с учетом того, что ее

 

гра­

ничные события могли получить оценки времени при

расчете

других фрагментов;

 

 

 

 

 

 

 

 

 

2) после расчета последнего фрагмента проверяется,

изме­

нилась ли оценка времени какого-либо события, и если да,

 

то

процесс повторяется.

 

 

 

 

 

 

 

 

 

Поскольку при такой разбивке каждый путь делится

не

 

более

чем на

т частей,

этот процесс эквивалентен расчету по

 

ме­

тоду итераций с числом работ в самом длинном пути тАХ 1(^)~т и потому математическое ожидание числа обращений к внешней памяти при сегментации сетей /7. = — i — /77^ .

2

Однако, учитывая, что для каждого события i мы должны по-

70

лучать не только т /

, но и Т/1

, мы получим точное

 

число

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

п —М2

 

 

 

 

 

 

Как видно, при возможности деления сети на умеренное

число

подсетей число обращений к внешней памяти может быть

 

 

не

слишком велико,

 

 

 

 

 

 

 

 

 

 

 

4 .5 . Алгоритм, позволяющий резко

сократить

 

 

 

 

 

 

время

расчета

большой сети

 

 

 

 

 

Выделим в графе

G = (Х,Г) некоторый подграф (А,ГД).

 

Вы-

делим в этом подграфе множество граничных событий 1 гр,

кото-

рому инцидентны дуги, не принадлежащие подграфу (А ,Г д),

 

при­

соединим к нему также входы и выходы графа

G , если

 

 

они

вошли в подграф.

 

 

 

 

 

 

 

 

 

 

 

Срок свершения любого события К графа (Х,Г) определим

со­

гласно формуле

 

 

 

 

 

 

 

 

 

 

 

 

т. = max

max

т|>] .

 

 

 

 

 

 

 

*

j * k

K j,k ]

 

 

 

 

 

 

 

 

 

Из определения подграфа следует,

что ни одно из его

событий

J .

j £

1

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

 

одним

}

 

гр

 

 

 

 

 

 

 

 

 

 

 

событием К,

К ^

А,

минуя события,

принадлежавшие

множеству

1 , Поэтому если

и TJ°

определены для всех 1

,

^

они тем самым определены для всех

j £

А.

 

 

 

 

 

Для

I £

1

и для всех

г

4.

А разобьем множество

пу­

тей, идущих к ним от других событий, на два класса:

пути,

 

про­

ходящие через работы ( к , i ) £

,

и пути,не проходящие через

такие

работы.

 

 

 

 

 

 

 

 

 

 

 

Для событий, входящих в 1 гр и в дополнение от X до А,

 

не

существенна структура подграфа, значение имеют лишь

 

 

пути

максимальной длины, соединяющие точки 1

гр

друг с другом.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Этот результат, принадлежащий Адельсону-Вельскому1,

дает

возможность эффективно рассчитывать большие сети, не

 

 

вме­

щающиеся целиком в оперативную память ЭВМ.

 

 

 

 

Такие сети делятся на подсети, в каждой из которых

помеча­

ются граничные события, а также входы и выходы графа

G (X.Г).

* Изложен со ссылкой на автора алгоритма

в [У.1].

 

 

 

 

71

Затем для каждой пары те 1

, l e i

такой, что т<*1,

вычис­

ляется птах Т (у)

и каждтЙ? под<Зет?> заменяется набором фик-

тивных^раёот ( т, I

) с Tmi

= Л73Х

Т ( и )

 

Из таких работ всех подграфов составляется сеть

меньшего

объема, она рассчитывается и в граничные события всех

подсе­

тей подставляются значения

и Тд

, после чего

дальней­

ший счет происходит в сети каждого подграфа отдельно.

 

При расчете по такому алгоритму число обращений к

внешней

памяти не более 4 /77 , где /77 -

число подсетей.

 

4 .6 ., Сравнение вычислительных возможностей алгоритма Адельсона-Вельского с возможностями алгоритма

сегментации сетей

Сначала проведем сравнение алгоритмов по числу обращений к внешней памяти

 

 

псег =

/772

;

 

 

 

 

 

 

 

ПА,& =

4/77 .

 

 

 

 

Следовательно,

при /77 —: 4

выгоднее алгоритмы

сегментации,

при /77 = 4

они эквивалентны, при /77 > 4 выгоднее

 

алгоритм

Адельсона-Вельского.

 

 

 

 

 

 

Кроме того, на каждый из алгоритмов накладывает

ограниче­

ния объем оперативной памяти ЭВМ. При расчете сетей с

 

сег­

ментацией по методу полного расчета каждой подсети

предпо­

лагается, что массив событий лежит в оперативной памяти,

по­

этому ограничения возникают тем быстрее, чем меньше

отно­

шение

 

....■■■I -

числа работ к числу событий.

 

 

 

На алгоритм же Адельсона-Вельского объем оперативной

па­

мяти накладывает ограничения - ограничивается объем

общего

набора фиктивных работ по всем подсетям. Так, если

 

каждый

эквивалентный подграф окажется транзитивным

( что

впрочем

является не частым случаем), число эквивалентных работ

 

ока­

жется равным.

 

 

 

 

 

 

 

 

 

^экб = ~

Д*

(rf ~ 1) ,

 

 

 

 

где Р;

- число граничных событий подсети i , в

 

частности,

если все Р,-

равны друг другу, то

 

 

 

 

* В транзитивном графе для каждой пары точек х и у

справед­

ливо

х

е Г у

или у е Г х .

 

 

 

 

72

 

 

1

Р ( Р - 1 ),

 

 

 

 

т

 

 

т.е, Р =

£

+

1_

+

 

 

 

 

 

2

 

2

т

 

 

 

 

 

Как видно, на объем сетей накладываются ограничения

при

любом алгоритме расчета, однако при всех алгоритмах

расчета

разбивка на фрагменты позволяет ощутимо сэкономить

необхо­

димое для счета время и количество обращений к внешней памяти.

ГЛАВА У 1. РЕАЛИЗАЦИЯ ОПТИМИЗАЦИОННЫХ ЗАДАЧ НА СЕТЕВОЙ МОДЕЛИ

«о*

1 . Реализация задачи поиска минимального срока при

заданных ограничениях на ресурсы

При реализации* задачи использовался эвристический алгоритм

поиска наилучшего расписания при заданных ограничениях

на

ресурсы. Принципиально схему такого алгоритма

 

предложил

Келли

[У1.1] . В отечественной практике алгоритм,

 

анало­

гичный

предложенному Келли,

реализован В.И.

Садовским

[У 1. 2] .

 

 

 

 

Автором совместно с В В. Шафранским [У 1.3J

был на

основе

анализа алгоритма Кана построен более эффективный

алгоритм.

Сущность его работы описывается следующим образом.

 

Предположим, что каждая работа ( *»J ) потребляет в

едини­

цу времени постоянное количество

ресурса

единственного

вида и что для удовлетворения всех работ, которые могут выпол­

няться в любое время, имеется постоянное во времени

количе­

ство ресурса

Q . Эти предположения делаются для

упрощения

описания, ибо,

как будет ясно из дальнейшего, отказ от них при­

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

рядка.

 

 

 

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

и

освобождается связанное к ней количество ресурса

.

Тогда

в этот момент должно быть принято решение о направлении

ос­

вободившегося ресурса на одну или несколько работ ( к , t

).

 

Интересным является вопрос о выборе правил

приоритета.

Келли, равно как и Садовский, выбирал в качестве

приоритета

расстояние от начала каждой работы до конца сети.

Такой

прио­

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

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

74

Можно, как предлагалось автором в[У 1.4]

,

использовать

'рандомизированный' * приоритет, тем более,

что

оформление

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

Реализованная под руководством автора 1 ,5 ] программа

предусматривает как случайный поиск, так и

возможность

включения специальных блоков вычисления приоритета.

По

мнению автора, необходимо систематически испытывать

ряд

правил приоритета для набора статистических данных.

Ниже

приводится алгоритм, позволяющий реализовать

некоторые

правила при ограничениях, накладываемых технологией

и

ресурсами.

 

 

Технологические ограничения допускают направление

ре­

сурсов лишь на те ( к , / ), для которых выполнены

все

( i , j )

{ к ,1 ). Ресурсные ограничения показывают,

что

ресурс можно направить лишь на ту работу, для которой

по­

требность

не превышает свободного ресурса.

 

Алгоритм представляет собой модификацию алгоритма Кана,

описанного выше. Сущность модификации заключается в

сле­

дующем:

 

работы { ( i , j j j с П-* = О попадают в 'очередь',

в

очереди работы выстраиваются в соответствии с вычисленным для них приоритером, определяющим порядок выбора работ для исполнения;

из очереди выбираются г первых работ, число которых зависит от требований на ресурс типа мощности и имеющегося ограничения Q0 наличного ресурса; по исчерпании ресурса выбор работ прекращается;

выбранным работам присваивается общее время начала Тн,

вычисляется время окончания каждой из них (Тн

+

t y

) и

они упорядочиваются по времени окончания;

 

 

 

из этой очереди выбирается первая работа; при этом

счет­

чик Тп

получает значение Т

выбранной работы,

количе­

ство свободного ресурса типа мощности увеличивается

на

высвободившуюся вместе с этой работой величину, и

 

прове­

ряется,

как и предусмотрено в

алгоритме Кана,

возможность

пополнения "очереди' работ, ожидающих выполнения.

 

Блок-

схема алгоритма приводится на рис. 8.

 

 

 

1

Этот термин бытует в литературе по 'теории расписаний^ и ему придается смысл эвристически выбранного приоритета, подвергаемого случайным изменениям (достаточно малым или достаточно редким).

75

Рис. 8 . Блок-схема модификации алгоритма Кана для определения порядка работ, совме­

стимого с ограничениями на ресурсы и заданным правилом приоритета

Модифицированный алгоритм Кана оказался весьма быстро­

действующим и позволил решать задачи методом

назначения

случайных приоритетов. Была сделана попытка

сопоставить

качество различных типов приоритетов на случайно

генери­

руемых сетях.

 

 

Для генерирования сетей были использованы

следующие

предпосылки:

 

 

а) в сети существуют параллельные цепочки работ,

идущие

от начала к концу, их число различно для различных сетей;

б) сети характеризуются отношением числа работ к

числу

событий; так, для строительных работ этот коэффициент равен 1 ,3 - 1 ,5 , для проектных 1 ,5 - 2 ,5 , для сложных конструк­ торских и проектных работ 2 - 4 . Это отношение может быть

выражено как отношение числа событий, из которых

выходит

более одной работы, к их общему числу и через

плотность

вероятности числа работ, исходящих из таких *Ьетвящихся' со­ бытий;

в) сети характеризуются распределением

продолжитель­

ностей работ;

 

г) сети характеризуются распределением

интенсивностей

ресурсов, корреляцией между ними и продолжительностями ра­

бот и взаимной корреляцией между видами ресурсов.

 

 

Предположения "а" и "б' относятся к структуре сети,

"в"

и ' г ' -

к количественным оценкам параметров работ.

 

 

Распределение продолжительностей работ

характеризуется

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

вы­

ходящих из событий по одной, и для работ, выходящих из

со­

бытий пучками. В первом случае практически

отсутствуют

работы длины ноль,

во втором случае их процент весьма велик.

Так, из-за предположения (не существенного для

работы

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

методи­

чески)

, что сеть не является мультиграфом, в реальных сетях

возникает до 3 0% работ нулевой длительности.

 

 

Корреляции между распределениями различных ресурсов

и

между

ресурсами

и

продолжительностями

работ

трудно

поддаются

учету.

В данной работе был

использован лишь

совершенно

очевидный

факт, что работа нулевой

продол­

жительности не нуждается в ресурсах.

 

 

 

Блок-схема алгоритма генерирования случайных сетей

ис­

пользовалась для сравнения эвристических алгоритмов

со­

ставления расписания работ по жестким правилам для

прио­

ритетов двух типов: длины максимального пути до конца сети;

трудоемкости непосредственно следующих работ,

77

Приводим описание техники сравнения.

 

 

 

Исходная сеть описывалась параметрами: 1)

число событий

1 2 8 ; 2 )

число выходов 2; 3 ) число информационных

связей

5 0 ; 4 )

число технологических линий 10 ; 5 ) число

испыта­

ний 5 0 (

П = 2 8 ) ; б ) ресурсы имеют одну и ту же

важ­

ность

Я/ = 1 ; / = 1 , 2 , 3 ; 7 )

длительности работ и связей

и их распределения задаются в табл. 4 и 5; 8)

распределение

интенсивности ресурсов на работах задаются табл. 6 .

 

 

 

 

 

Т а б л и ц а

4

 

 

Распределение продолжительности работ

 

 

Продолжительность работ

№ работ

 

 

 

 

 

1

0 0 2

 

 

 

 

 

2

0 0 3

 

 

 

 

 

4

0 0 5

 

 

 

 

 

5

0 5 0

 

 

 

 

 

6

0 2 0

 

 

 

 

 

3

0 0 3

 

 

 

 

 

•-7

0 0 2

 

 

 

 

 

1

 

 

 

 

 

8

0 0 5

 

 

 

 

 

9

0 0 2

 

 

 

 

 

1 0

0 0 2

 

 

 

 

 

11

0 0 2

 

 

 

 

 

12

0 0 4

 

 

 

 

 

 

Т а б л и ц а

5

 

 

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

 

 

Продолжительность работ

№ связей

 

 

 

 

0

0 5 0

 

 

 

 

 

1

0 0 2

 

 

 

 

 

2

0 0 3

 

 

 

 

 

4

0 0 1

 

 

 

 

 

5

0 2 5

 

 

 

 

 

6

0 1 0

 

 

 

 

 

3

0 0 1

 

 

 

 

 

7

0 0 2

 

 

 

 

 

8

0 0 1

 

 

 

 

 

9

0 01

 

 

 

 

 

1 0

00 1

 

 

 

 

 

11

001

 

 

 

 

 

1 2

0 0 2

 

 

 

78

 

 

Т а б л и ц а

6

Распределение интенсивности работ

 

Количество ресурса

% работ

 

0

0 6 0

 

 

1

0 3 0

 

 

2

0 1 0

 

 

Суммарный уровень ресурса

Q0 бьш принят равным 3 ,

а

число испытаний равно 5 0 .

 

 

 

Проверка состояла из двух этапов:

 

 

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

длины

по

каждому из приоритетов:

проверки значимости превосходства одного из приоритетов над другим.

Первый этап осуществлялся по критерию Колмогорова. Для

этого строилась эмпирическая функция Гп

( t

) и

вычисля­

лись отклонения от функции, соответствующей

нормальному

распределению

( t ).

 

 

 

 

 

 

Значения Т

(в единицах Т

, вычисленного без учета

ог­

раничений)

приведены в табл, 'ff

 

 

 

Т а б л и ц а

7

 

 

 

 

 

Т

 

 

 

 

 

 

 

 

 

 

Результаты испытаний величины

■.К£ -----

для приоритета

 

 

 

 

 

Ткр

 

 

 

 

по максимальной длине пути и по

максимальной

трудоем­

 

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

следующих

 

работ

 

 

№ п/п

Максимальная длина

 

Максимальная трудоем­

 

 

пути

 

кость

следующих работ

1

 

2 ,0 0 7 6 3 3

 

1 ,9 5 4 1 9 8

 

 

2

 

1 ,8 6 6 7 1 8 7

 

2 ,0 9 3 7 4 9

 

 

3

 

2 ,4 0 3 2 2 5

 

2 ,1 6 1 2 9

 

 

4

 

2 ,5 1 2 8 2

 

2 ,3 8 4 6 1 5

 

 

5

 

1 ,9 9 0 9 9

 

2 ,0 6 3 0 6 3

 

 

6

 

1 ,8 5 8 4 0 7

 

2 ,2 5 6 6 3 7

 

 

7

 

2 ,2 2 8 0 7

 

2 ,2 9 8 2 4 5

 

 

8

 

2 ,2 9 5 0 8 1

 

2 ,3 2 7 8 6 8

 

 

9

 

1 ,8 3 7 83 7

 

1 ,8 1 0 8 0 9

 

 

1 0

 

2 ,1 1 7

 

2 ,0 7 5

 

 

11

 

2 ,1 7

 

2 ,2 6 4

 

 

 

 

 

 

 

 

 

 

 

79

t

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