
книги из ГПНТБ / Скрыдлов, Н. В. Автоматизированные системы оперативного управления в строительстве
.pdfДля оценки возможности |
эффективного решения |
отметим, |
||||
что в более простом случае задач динамического |
про |
|||||
граммирования (задача |
балансировки сборочной линии) было |
|||||
отмечено наличие |
~ 2 |
вариантов, |
которые должны |
под |
||
вергнуться рассмотрению при поиске оптимального |
решения |
|||||
[1 У .5 ]. |
Там отмечалось, |
что при |
2 7 операциях |
сборки |
||
рассматривается |
~ 1 3 0 0 0 |
вариантов. |
|
|||
Келли |
[1 У .6 ] |
предложил для решения задачи эвристичес |
кий алгоритм, заключающийся в следующем:
на первом шаге последовательно из множества исходящих
выбираются работы с ростом резерва времени от начала |
до |
||||||
тех пор, |
пока |
(О) |
86 |
для всех ресурсов S |
; |
|
|
анализируется |
£? |
(1 ), |
# (2) и т.д ., пока не |
окажет |
|||
ся возможным включить какую-либо еще работу; на |
|
этом |
|||||
этапе законченные работы исключаются из сети и |
произво |
||||||
дится |
пересчет; |
|
|
|
|
|
|
повторяются оба шага, пока не будет исчерпан весь |
спи |
||||||
сок работ. |
|
|
|
|
|
|
|
Здесь О (О) есть количество ресурсов, требуемых |
для |
||||||
выполнения выбранных нами работ, исходящих из начала |
се |
||||||
ти. При описании последующих шагов аналогичные |
величины |
||||||
обозначаются ф ( 1 ), |
Q { 2) и т.д. |
|
|
|
|||
Аналогичная процедура положена в основу системы RPZM, |
|||||||
(ЧССР), |
а также программы "Калибровка" В.И. |
Садовского |
|||||
[1 У .7 ]. |
Точное |
решение задачи достигается |
дорогостоя |
||||
щим методом динамического программирования, |
|
поэтому |
|||||
целесообразно разработать |
и исследовать хорошие |
эвристи |
ческие правила построения расписаний и разработать для них эффективные алгоритмы.
2 . Минимизация с реднего у р о в н я потребления |
ресурсов |
|
пои заданном сроке |
выполнения РЗ.бдг |
|
В то время как основной целью строительного |
производ |
|
ства является ввод в действие |
мощностей, интересы данной |
|
организации требуют наиболее полной загрузки |
имеющихся |
работникой и механизмов, поэтому возникает задача наиболее
равномерной загрузки ресурсов. |
|
|
|
В терминах, приведенных выше, она становится как |
по |
||
строение расширения графа с минимизацией функционала |
|
||
Ц Ql ( t ) d t |
или функционала |
gQJ t ) |
при |
неизменной длине критического пути. т
50
Задача минимизации J2t*T |
a |
( ^) |
|
|
является |
обрат |
|||||||||||||
ной задачей к описанной в разд. 1 данной главы (см . |
на |
||||||||||||||||||
пример, |
[1 У .8 ] ). |
|
|
|
|
|
|
|
|
|
|
|
|
Qg |
|||||
Действительно, пусть для некоторого уровня ресурсов |
|||||||||||||||||||
построено расписание, |
минимизирующее |
|
Тт |
. Если |
ука |
||||||||||||||
занное |
Тт |
превосходит |
Т° |
, полученное при |
расчете |
||||||||||||||
сетевого графика, то выполним предварительную |
процедуру: |
||||||||||||||||||
увеличим |
Q0 вдвое |
и повторим вычисление |
расписания, |
ми |
|||||||||||||||
нимизирующее |
|
Тт |
при новом значении |
Q0 , и будем |
про |
||||||||||||||
должать эту процедуру до тех пор, пока Тт |
не |
станет |
рав |
||||||||||||||||
ным |
Тда . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Если для начального Qg в полученном расписании |
Тт = |
||||||||||||||||||
то выполняется другая предварительная процедура, |
состоя |
||||||||||||||||||
щая в уменьшении |
Q0 |
вдвое до тех |
пор, |
пока: 1) Q0 |
ста |
||||||||||||||
нет |
равной rnax Ча, |
. В этом случае далее |
уменьшать |
|
0о |
||||||||||||||
нельзя, так как это сделает невозможным выполнение |
рабо |
||||||||||||||||||
ты |
<х |
|
; т .е . найденное Q уже есть |
оптимальное |
решение; |
2) |
|||||||||||||
при выбранном |
|
Q0 |
Тт стало |
больше |
|
|
. В этом случае, |
||||||||||||
как и после |
|
окончания предварительной процедуры, |
опи |
||||||||||||||||
санной выше, переходим к поиску уровня |
QB методом |
|
по |
||||||||||||||||
следовательных приближений. |
|
|
|
|
|
|
|
|
|
|
|||||||||
|
Суть метода заключается в следующем: |
Q0 + S0 ), |
|
|
|||||||||||||||
|
устанавливаем |
Q0 |
на уровне |
|
L |
|
( |
|
где |
||||||||||
Q0 - |
|
|
|
|
|
|
|
|
|
Q0 |
2 |
|
|
|
|
|
|
|
|
минимальный из уровней |
, |
для которого |
ТЛ |
= |
|||||||||||||||
Хя |
|
; |
|
Q0 - |
|
максимальный из уровней |
|
Q0 , |
для |
которо- |
|||||||||
го |
Хл |
> |
Тя7 |
' |
|
|
|
|
|
0 |
, |
то полученное |
0о |
||||||
|
вычисляем Тт : если Тт |
= Тт |
|||||||||||||||||
используем на следующем шаге в качестве |
Q0 |
, а если Тту |
|||||||||||||||||
>Т^ |
, |
то |
используем |
его |
в качестве |
Q0 ; |
|
|
|
_ |
|
|
|||||||
|
продолжаем |
|
процедуру |
до тех |
пор, |
пока |
разность Q0~ Q0 |
||||||||||||
не превзойдет наперед заданного |
&. |
|
Тогда в |
|
качестве |
||||||||||||||
решения выбираем |
Qg . |
|
|
|
|
|
|
|
|
1од2 |
|
||||||||
Всего для поиска заданного решения потребуется |
|
||||||||||||||||||
шагов, |
где &Qg - |
разность |
Q0 |
и |
Q0 |
на |
первом шаге про |
||||||||||||
цедуры. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Однако |
поскольку при практическом |
решении задачи |
|
ми |
|||||||||||||||
нимизации срока пользуются эвристическими методами, |
|
за |
|||||||||||||||||
дача оптимального |
использования ресурсов |
решается |
|
|
как |
самостоятельная. С ограничениями, оговоренными в разд. 1 , можно получить точное решение задачи.
Рассматривая фронты работ Гк , их продолжительности Тк и интенсивности Qk , получим
51
f Q 2[ T ] d t = Z Q*Tk ,
o* л
изадача формулируется следующим образом: минимизировать
форму Д ч1 тк при ограничениях: 2 |
= tn |
(для |
всех |
||||||||
( У |
’ )>. |
& т* |
= |
Т' |
5 » |
отличны от нуля лишь те |
Тк , |
||||
Ясно, что при |
Т |
= |
Т |
||||||||
которые содержат критические работы. |
|
|
|
|
|
||||||
Однако эта задача, как и изложенная в разд. |
1, |
сводятся |
|||||||||
в конечном |
счете |
к задаче динамического программирования, |
|||||||||
поэтому на практике пользуются алгоритмами |
|
эвристичес |
|||||||||
кого типа. |
|
|
|
|
|
|
|
|
|
|
|
Один из методов —направленный случайный поиск - пред |
|||||||||||
ложен в [1Y .9J . Метод состоит в следующем: |
|
|
|
|
|||||||
рассчитывается |
"исходное |
расписание" |
{ Т |
J, в |
котором |
||||||
резервы времени распределяются равномерно'", |
н |
и |
вычисля |
||||||||
ется |
функционал |
|
|
|
|
|
|
|
|
|
Ф= max Q ( t ) ; o*UTm
выбирается "шаг изменения" сроков начала работ |
0 |
; |
|||||||
при каждом розыгрыше в зависимости от значения |
соот |
||||||||
ветствующего случайного числа меняется |
Т |
и |
на |
ве |
|||||
личину |
+ в или О; |
|
|
|
|
|
|
|
|
проверяется совместимость полученного расписания с |
се |
||||||||
тевым графиком; |
|
|
|
|
|
|
|
|
|
в случае благополучного окончания проверки |
|
вычисля |
|||||||
ется |
функционал в новой точке- р ' • |
если ф'-*ф . |
осу- |
||||||
ществляется переход от | Т * | |
к | |
Тн |
|
|
|
противном |
|||
случае вновь делается шаг и з{*-т н * |
|
|
|
|
|
|
|
||
перечисленные операции продолжаются до тех |
пор, |
|
пока |
||||||
при очередном шаге Ф'-Р-^Е |
, которое |
задано |
заранее; |
||||||
считается, что тем самым достигнуто |
оптимальное |
распи |
|||||||
сание |
работ. |
|
|
|
|
|
|
|
|
Метод имеет определенный смысл, однако авторы ошибоч |
|||||||||
но полагали, что можно улучшить эффективность |
алгоритма, |
||||||||
уменьшая шаг по мере того, как продолжение поиска с |
пер |
||||||||
воначальным шагом не принесет в течение большого |
числа |
||||||||
испытаний улучшения результата. |
Вследствие |
|
существенно |
||||||
дискретного характера задачи упорядочения нельзя, |
вообще |
||||||||
говоря, предполагать, что улучшающие значения |
|
функцио |
|||||||
нала расписания близки друг |
к другу в смысле |
близости |Т н|. |
52
Другой |
алгоритм |
эвристического характера описан |
|
в |
||||||||||||
[ i y . 1 0 ] . |
Этот алгоритм применяется для минимизации уров |
|||||||||||||||
ня для |
г |
ресурсов |
одновременно. Практически не все |
|
ре |
|||||||||||
сурсы равноценны, поэтому мы должны учитывать их с |
ве |
|||||||||||||||
сом, пропорциональным важности. Введя индекс важности |
Л |
|||||||||||||||
ресурса ос , сделаем критерием равномерности |
|
|
|
|
||||||||||||
|
Алгоритм работает следующим образом. Предположим, что |
|||||||||||||||
сеть упорядочена в том смысле, что ни одна работа |
( / |
|
, j ) |
|||||||||||||
не может встретиться после работы (/77, |
к |
), |
если |
I |
|
т . |
||||||||||
Говоря другими словами, работы расположены в списке |
в та |
|||||||||||||||
ком порядке, что ни одна работа, предшествующая данной |
в |
|||||||||||||||
каком-либо пути, не |
может встретиться в списке |
|
работ |
|||||||||||||
раньше нее. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Предположим, |
что |
каждая работа начинается в момент 1^ = |
|||||||||||||
= Т/ |
, тогда |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
Q Jt>\ u , |
ъ А а « |
- ТГ ) - а и - т |
Г - % Я . |
|
|
||||||||
где |
|
. . . |
|
' |
|
|
. |
|
равная |
го , |
|
г ^ о |
|
|
|
|
сг ( / |
) |
- разрывная функция, |
J |
|
О |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
1.1, |
|
|
|
|
|
|
Возьмем в упорядоченном списке работ последнюю. |
|
За |
|||||||||||||
ней не следует в сети никаких других работ |
(по построению |
|||||||||||||||
списка), и ее можно, "никому не мешая", двигать на |
всю |
|||||||||||||||
величину ее полного запаса времени. |
|
|
|
|
|
|
||||||||||
|
Двигая |
ее от |
Т^н |
|
до т[.-н + Rn , |
на каждом |
|
шаге |
||||||||
вычисляем |
|
AQZ = Q2 (Т/*к |
) - |
Q2 ( т /’н |
+ |
A tu |
|
|
) |
|||||||
где |
О * ^ |
^ |
. |
|
|
A fmin |
|
|
|
|
max a Q . |
|||||
При этом |
запоминаем |
, соответствующее |
||||||||||||||
Когда мы для данной работы опробовали все возможные |
по |
|||||||||||||||
ложения, |
ставим ее |
в |
го, |
которое |
соответствует max A QZ* |
|
||||||||||
Теперь мы должны внести коррективы в запасы |
времени |
|||||||||||||||
предшествующих ей работ. Это объясняется тем, что |
двигая |
|||||||||||||||
их, мы не должны сдвигать уже опробованную и |
закреплен |
|||||||||||||||
ную работу. |
Это достигается пересчетом |
Tt : |
|
|
|
|
||||||||||
|
|
т-п |
=min |
*/ |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
lr |
|
|
|
|
|
min |
|
|
|
|
|
|
|
|
|
|
|
|
Т рм + л Г т. |
|
|
|
|
|
|
|
||||
|
|
|
|
|
L- |
v |
|
Ч |
|
|
|
|
|
|
|
|
Здесь |
Т *Л |
- существовавшее |
ранее время |
Т * |
; |
|
|
|||||||||
Т; Н + A |
|
- момент установленного начала работы |
( U |
|
). |
|||||||||||
Равенство означает, |
что ни одна работа, входящая в / |
, |
|
не |
53
может окончиться позже, чем начнется выходящая из |
него |
||||||
работа |
( |
j |
), начало которой мы уже установили. |
|
|||
Поскольку для работ ( к , L ), входящих в I |
, |
|
= |
||||
=Т; |
—Т^р |
—tki , то при изменении Тi |
соответственно из |
||||
меняются границы пробного сдвига работ, |
предшествующих |
||||||
событию L. |
|
|
|
|
|
||
Перебрав весь список работ от конца к началу, |
получим |
||||||
улучшенное |
A Q2 , ибо на каждом шаге алгоритма |
сдвиг |
оп |
||||
ределялся минимумом этой величины. |
|
|
|
|
|||
Существует ряд других эвристических алгоритмом |
для |
||||||
выравнивания уровня потребления ресурсов, однако |
вследст |
||||||
вие эвристического характера трудно указать |
преимущества |
||||||
каждого |
из них. |
|
|
|
|
3 . Минимизация .затрат для выполнения комплекса работ. в . заданный, срок
В результате увеличения затрачиваемых ресурсов, а так же ограничений, накладываемых технологией на фронт работ, затраты на выполнение интенсифицируемых работ возраста ют. Впрочем в роли затрат иногда выступают чисто органи
зационные факторы: ведение работ в две смены, |
необходи |
|
мость выполнения подготовительных мероприятий |
и |
т.д.; |
понятие затрат необязательно связано с раз и навсегда |
оп |
ределенным фактором, а может изменяться с изменением це
ли. |
|
|
|
|
|
|
|
|
|
|
Задача состоит в выборе таких работ и таких величин |
их |
|||||||||
интенсификации, которые обеспечили бы завершение работ |
к |
|||||||||
заданному сроку при минимальном увеличении так |
или иначе |
|||||||||
определенных затрат. |
|
|
|
|
( /, j |
|
|
|
||
Пусть продолжительность каждой работы |
) |
задается |
||||||||
в пределах О ^ с/ц ^^ Л . |
При всех |
tjj |
= |
получим Т |
= |
|||||
= т |
, при всех |
= |
Л^ |
получим |
Т |
= М; |
в |
этч?х |
||
предположениях для каждого Т |
£ |
[щ , М J |
|
существует |
||||||
свой оптимальный по стоимост&Р план. |
|
|
|
|
|
|||||
В |
частности, |
если учитываются только прямые затраты |
и |
стоимость каждой работы определяется как линейная функция
вида zij - —cty Ту +■Ь-j |
, получаем параметрическую зада |
чу линейного программирования минимизации |
|
при ограничениях для всех |
( *, J ) |
54
|
|
Т ; - Т ; |
- |
|
tLJ . |
^ |
0, |
|
|
|
|
|
|
|
|
|
|
dij ~ t-ij |
— B ij |
» |
|
|
|
|
|
|
|
|
|||
|
|
|
dij ^ ^ • |
|
|
|
|
|
|
|
|
|
|
||
T |
= 0 , |
T, |
= |
|
Л е{/77,м], где |
T означает |
момент свер- |
||||||||
шения начального, |
а Тл |
— конечного события сети, |
|
|
|
|
|||||||||
|
Келли f i y . l l j |
и Фулкерсон |
£1У .12] независимо |
друг |
|||||||||||
от |
друга |
разработали алгоритм сведения данной задачи |
|
|
к |
||||||||||
задаче |
|
|
поиска максимального потока в |
транспорт |
|||||||||||
ных сетях. Подробное описание метода приведено в |
[1У ,2,13] |
||||||||||||||
|
Отметим, что без ограничения общности метод |
|
можно |
||||||||||||
применять для выпуклых кусочно-линейных функций z.£j- ( |
t |
) |
; |
||||||||||||
для выпуклых функций произвольного вида могут быть |
|
при |
|||||||||||||
менены методы выпуклого программирования [1 У .1 3 ]. |
|
|
|
||||||||||||
|
Однако в случае более сложных зависимостей |
z£j |
|
( |
t |
) |
|||||||||
классическими методами пользоваться не удается. |
|
|
|
|
|||||||||||
|
В изложенных методах граф, изображающий |
|
производст |
||||||||||||
венный процесс, |
отождествляется с транспортной |
сетью. |
|
||||||||||||
|
Транспортной же сетью называется граф без |
|
контуров |
||||||||||||
& (X, |
U |
), каждой дуге которого и соотнесено |
целое |
число |
|||||||||||
С |
( U ), |
называемое пропускной способностью |
дуги и, |
для |
|||||||||||
которого: |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
существует одна |
и только одна такая вершина х. |
, |
|
что |
||||||||||
|
-1 |
, |
называемая входом |
сети; |
|
О |
|
|
|
||||||
ГХд= 0 |
|
z |
|
|
|
|
|||||||||
|
существует |
одна |
и только одна такая вершина |
, |
|
что |
|||||||||
|
= 0 , |
называемая выходом сети. |
|
|
|
|
|
|
|||||||
|
Пусть |
Ux |
- |
множество дуг, заходящих в х, |
a |
Ux |
|
— |
|||||||
множество дуг, исходящих из х. |
|
|
|
|
|
|
|
||||||||
|
Говорят, что if |
( и |
), определенная на U |
и |
принимаю |
||||||||||
щая целочисленные значения, представляет собой поток |
|
|
в |
||||||||||||
этой транспортной сети, если |
|
|
|
|
|
|
|
|
|||||||
|
а) |
0 ( U ) |
|
О и Ue U ; |
|
|
|
|
|
|
|
б) Z . i f (U)~ Z. i
\ueUx
вIf ( и ) * с ( и) , и £ и .
Отсюда следует, что uj^- |
^ (U) =tA . |
Эту величину |
||||
tfz |
назовем |
величиной потока |
if> .Величины |
С (М ), ог |
||
раничивающие поток |
1р ( ч ) по дугам графа, |
называются |
||||
пропускными способностями дуг. |
что х ф / , z e А • |
|
||||
Пусть А - такое множество, |
Мно |
|||||
жество дуг, заходящих в А, называют0разрезом |
сети. |
Про |
||||
пускной способностью |
разрезд U~ называют С |
( (J~ ) |
|
|||
- Л : |
С U |
). |
|
|
|
|
55
Физическим смыслом потока по дуге является |
интенсив |
|||||||||
ность перемещения по ней какого-либо вещества; |
|
физичес |
||||||||
ким смыслом пропускной способности дуги является |
|
макси |
||||||||
мально возможная интенсивность перемещения. |
|
|
|
|
||||||
Так как каждая частица вещества, движущаяся от |
х |
к z, |
||||||||
пройдет хотя бы один раз по какой-либо дуге разреза |
UA |
, то |
||||||||
всегда справедливо |
ifz * |
С |
( |
UA |
). |
if |
|
|
|
|
Следовательно, |
если для некоторого потока и |
|
и |
не |
||||||
которого |
разреза V имеем |
fz =С |
( V ), то мы можем быть |
|||||||
уверены, |
что поток |
ifz имеет |
наибольшую величину, |
а |
разрез |
|||||
У обладает наименьшей пропускной способностью. |
|
|
|
|||||||
Задаваясь линейной формой зависимости затрат |
от |
|
продол |
|||||||
жительности выполнения работы |
= — с(у ty + Д.у |
|
и |
|||||||
границами |
Uy |
, |
определим пропускную |
|
|
способ |
||||
ность дуги ( i , j ) |
как |
|
|
|
|
|
|
|
|
|
|
|
Г cij |
»hj |
^ d U |
|
|
|
|
|
|
|
|
СЧ |
[ |
, hj |
= dij |
|
|
|
|
|
|
|
Расписание, |
в которое |
все |
ijj |
= |
, |
заведомо |
оп |
|||
тимально по затратам. Определив разрез с |
минимальной про |
||||||||||
пускной способностью, сокращаем продолжительность |
работ, |
||||||||||
входящих в него, на единицу времени; если |
|
продолжитель |
|||||||||
ность хотя бы одной из работ разреза стала равной |
dy |
, |
|||||||||
заменяем |
с ^ |
на в‘=> . |
|
|
|
|
|
|
|
|
|
|
Так продолжаем процесс, пока не достигнем |
заданного |
|||||||||
значения |
Тт |
или пока |
не найдется цепь, |
все |
ребра |
кото |
|||||
рой |
имеют продолжительность не более dyj |
|
(т.е. поток че |
||||||||
рез |
сеть |
стал равным о о |
и не может быть увеличен |
или, в |
|||||||
терминах исходной задачи, заданная продолжительность |
|
не |
|||||||||
допустима). |
|
|
|
|
|
|
|
|
|
||
|
Алгоритм поиска максимального потока работает следую |
||||||||||
щим образом. |
|
|
|
|
|
if |
( и ) |
|
|
||
|
1 . |
Назовем дугу и насыщенной, когда |
= |
С ( Z |
|||||||
поток назовем полным, если каждый путь из х в z |
содер |
||||||||||
жит по крайней мере одну насыщенную дугу. й:ли поток |
не |
||||||||||
является полным, то можно найти путь f |
, |
все дуги |
кото |
||||||||
рого не насыщены. Если такой путь найден, |
то |
превращаем |
|||||||||
поток по |
пути в полный, |
добавив |
к величинам потока по ду |
||||||||
гам |
u e u m i n ( с ( и ) - i f ( и |
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|||||
|
|
J |
ueji |
|
|
|
|
|
|
|
|
56
Увеличиваем таким образом неполный поток, |
пока он |
не |
|||
станет полным. |
|
|
|
|
|
2 . Путь |
tf — полный поток.В этом |
случае |
помечаем |
||
вершину х |
индексом 'О '. Далее |
помечаем остальные |
вер |
||
шины по следующему правилу: если |
x t- |
уже |
помеченная |
||
вершина, то |
помечаем индексом' *1 |
' |
все те |
непомеченные |
вершины |
у |
, |
для которых |
|
(х; |
, y ) e ( J , |
if (xi, у ) |
|
|
|||||||||
-г c(Xi,y)\ |
|
помечаем индексом |
' - |
L |
' |
все |
те |
непомеченные |
||||||||||
вершины |
у , |
(y,X i ) е U , |
для которых |
l f ( y , Х^О. |
|
|
|
|
||||||||||
Процесс продолжаем до тех пор, пока не пометим |
верши |
|||||||||||||||||
ну z |
. Тем |
самым построена |
цепьf i |
, соединяющая |
х |
с |
2 , |
|||||||||||
в которой все дуги, проходимые от |
х |
к z |
в прямом4 |
|
на |
|||||||||||||
правлении, ненасыщены; во всех дугах, |
проходимых в обрат |
|||||||||||||||||
ном направлении, имеется ненулевой поток. |
|
|
|
|
|
|
||||||||||||
Взяв |
для |
первых дуг |
Л^= |
Win |
|
( с |
( и ) - |
(f (U) ) , дпя |
||||||||||
вторых |
Д 2 = тсп |
tf ( и ) |
и выбрав |
д = min ( |
л 1 , |
Л2 ) |
|
, |
||||||||||
можем |
увеличить |
|
на |
|
^ , прибавив д |
к потоку |
по |
|||||||||||
дугам первого типа и уменьшив на |
Д |
|
поток по |
|
|
дугам |
||||||||||||
второго типа. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
3 . Если этим способом невозможно увеличить поток |
|
(не |
||||||||||||||||
возможно |
пометить вершину |
z |
), |
то |
ipz |
имеет |
|
наи |
||||||||||
большую величину. Разрезом с минимальной пропускной |
спо |
|||||||||||||||||
собностью будет множество дуг, исходящих из |
|
помеченных |
||||||||||||||||
и заходящих в непомеченные вершины. |
|
|
|
|
|
|
|
|||||||||||
|
4 . Расчет |
сетевого |
графика с |
учетом |
точности |
|
|
|||||||||||
|
|
|
|
|
|
.Л№ШгеК.ДЙВ№К |
|
|
|
|
|
|
|
|||||
При формировании конкретного расписания работ хотя |
бы |
|||||||||||||||||
на непродолжительный период |
|
времени |
руководителю |
необ |
||||||||||||||
ходимо представлять точность, с которой он |
может |
предви |
||||||||||||||||
деть будущую ситуацию. |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Одним из вариантов является истолкование |
характеристик |
|||||||||||||||||
работ |
( и в |
первую очередь |
их продолжительность) |
как слу |
||||||||||||||
чайных величин с |
определенным законом |
распределения |
|
и |
расчет (или многократный розыгрыш) статистических оценок
для всех интересующих величин. |
|
||
В классической методике предполагают, что |
продол |
||
жительности tjj |
работ |
(х; , xj ) суть |
независимые |
случайные величины с одинаковым законом распределения. Формы распределения предполагаются различными: част
ные случаи бета-распределения, логарифмически - нормальное распределение и т.д.
Параметры распределения вычисляются на основе задания нескольких оценок продолжительности: пессимистической, оп тимистической и нормальной.
57
Существуют две различные методики вычисления харак теристик расчетных параметров:
прямой счет, при котором все пути рассматриваются как независимые, а оценки суммируются на основе центральной предельной теоремы о распределении суммы случайных ве личин;
статистическое моделирование по .методу Монте-Карло. На взгляд автора, предпочтительнее пользоваться статис
тическим моделированием. Наиболее сложным в данной зада
че является вопрос о получении оценок |
продолжительности, |
|
поэтому предпочтительнее пользоваться |
распределением |
с |
меньшим числом параметров, например предложенным Д.И.Го-
пенко |
[1 У .14]: |
|
|
|
|
|
|
|
Р ( м - |
T i Bh r . ( , - a ) i b - t ) \ |
|
|
|
где |
Ь |
- оценка продолжительности пессимистическая; |
||||
|
Ct |
—то же, |
оптимистическая; |
|
|
|
Р |
( t ) |
- плотность вероятности распределения |
t . |
|
||
Проводя такой анализ хотя бы выборочно по отдельным |
объ |
|||||
ектам, можно составить представление о точности |
|
состав |
||||
ляемых планов. |
|
|
|
|
||
Отметим, что вероятностный характер расчетных |
величин |
|||||
отражает тот факт, что исходные параметры задаются |
на |
|||||
основании экспертных оценок, основные управляющие |
реше |
|||||
ния |
принимаются оперативным путем, а, следовательно, |
до |
||||
стоверный прогноз |
их последствий охватывает |
|
сравни |
|||
тельно небольшой отрезок времени. Отсюда, в |
частности, |
|||||
распространенное представление об оперативном |
управлении |
|||||
как о задаче, требующей немедленной реакции на |
|
каждое |
||||
изменение ситуации. |
|
|
|
|
ГЛАВА У. |
ОСНОВНЫЕ АЛГОРИТМЫ |
|
|
РАСЧЕТА |
СЕТЕВЫХ ГРАФИКОВ |
|
|
Все сформулированные выше задачи включают в себя |
в |
||
гой или иной форме алгоритмы расчета и анализа |
сетевых |
||
графиков, поэтому необходимо исследовать различные |
алго |
||
ритмы и оценить их с точки зрения использования в |
пере |
||
численных задачах. |
|
|
|
Кроме того, разнообразие задач налагает на сами |
алго |
||
ритмы весьма жесткие требования по используемым |
машин |
||
ным ресурсам, в основном по требуемой оперативной |
памяти |
||
и времени счета, |
|
|
|
В данной главе проводится сопоставление трех |
основ |
||
ных алгоритмов: метода итераций, алгоритма Кана и |
алго |
ритма Адельсона-Вельского. |
|
|
|
|
1. Расчет сетевого графика |
итерациями. |
|
|
|
Упорядочение списка |
работ |
|
|
|
Расчет сетевого графика по методу итераций |
является |
|||
наиболее часто употребляемым и широко используется |
раз |
|||
работчиками. |
|
|
|
|
Исходными данными для расчета является перечень |
работ |
|||
с их продолжительностями. Рассмотрим интерпретацию |
сете |
|||
вого графика в терминах "узлов-событий". |
Перенумеровав |
произвольным образом узлы, зададим для каждой работы три
массива: |
|
I |
|
|
|
массив начальных событий |
[ l |
: /7 ] ; |
|
||
массив |
конечных событий |
j |
[1 |
: пу, |
|
массив |
продолжительностей |
ty |
[ 1 : /7J , где п число ра |
||
бот (дуг) в сети. |
|
|
|
|
|
Схема вычисления ранних и поздних сроков |
свершения |
||||
событий приводится на рис. 5 . |
|
|
|
|
|
Содержание алгоритма таково: очистив |
предварительно |
массив событий и перебирая массив работ от начала к концу, присваиваем каждому событию "моменты свершения".
59