
книги из ГПНТБ / Цой, С. Синтез оптимальных сетей в системе управления горными предприятиями
.pdfОстаток ресурсов -R /(0 распределяем по работам группы JJq так же, как и в случае 2 для работ группы П\.
Продолжительность фронта находим по формуле
© = [min{ab a2, a3}], |
(5.36) |
где
ai= 4 —t;
Vi
a2= m in — =£- при i e n x, П 2, . . . , П х и rt= p £.
ieF(t) ' 1Я 1
Величину a3 вычисляем следующим образом. Если бы ра ботам группы n q не были выделены ресурсы, то максималь но возможная величина 0 составляла бы At q, так как после этого отрезка времени резерв времени работ группы Пд ста новится равным нулю. Но так как, согласно (5.35), остаток -ft/1 ( 0 0 и часть объема работ группы Пд могут быть выпол нены, то продолжительность фронта можно увеличить. Обо значим через a i3 тот отрезок времени, по истечении которо го резерв времени работ группы Пд станет равным нулю:
(рjHj FjHi)tXi3 _ |
(5.37) |
||
PiHi |
~ |
||
|
|||
Отсюда |
|
|
|
Ш |
|
(5.38) |
|
|
|
||
Теперь а3 определим как |
|
|
|
a3=m in{ai3}, |
(5.39) |
||
iGIIg |
|
|
|
после чего переходим к шагу 6. |
|
Пт—Х задано |
|
Случай 4. Пусть работам групп П\, Пч, . . . , |
максимально возможное число комплектов р*. Для работ группы Пт остаток ресурсов недостаточен, чтобы назначить
Pi » |
т . |
|
|
|
Остаток ресурсов |
|
|
|
ш—1 |
|
|
|
Rj(t) - 2 |
B j(n p)=RjKt) |
(5.40) |
|
Р = |
1 |
|
распределяем по работам группы Пт аналогично действиям, описанным в случае 2 .
120
Работы групп Пт+1, П т+2, . . . , 27? не начинаются в дан ный момент t, и начала их отодвигаются. Продолжитель ность фронта и укажет тот отрезок времени, на который ото двигаются начала работ указанных групп.
Продолжительность фронта вычисляем по формуле
|
в = min{(Xi, а2, а3, а4}, |
(5.41) |
где |
& i= 4—t; |
|
у. |
для iG lI lt JI2, . . . , П т- г и г*=р*. |
|
a2= m in —-jz- |
|
iQF(t) rin i
Объясним сущность величин а3 и а4. а3 показывает тот отрезок времени, по истечении которого сравняются резер вы времени работ групп Пщ—х и II т , так как работы группы П т выполняются с меньшим числом комплектов, чем р*.
Составим соотношение для работ группы П т:
Д ,)аи =(Д *“ - Д Г - 1) •рtH it
откуда
а£3 = |
Pi#i-rtHi |
ИЛИ |
|
|
A t m — A t m ~ l |
В качестве a3 примем минимальную из ai3 , т. е.
a3=min(ai3) = |
min ' A t m — A tm ~ l |
J |
|
ien m |
iGIlm |
||
|
Это выражение перепишем в виде
A t m — А *771-1
«3 =
1—min
i6X7m' Pi
Для определения 04 составим соотношение
A£m+1—a4—Д£т —a4( l —min j — 1).
i e n m l Pi J
(5.42)
(5.43)
(5.44)
121
Здесь а4— отрезок времени, по истечении которого резервы времени работ групп П т + 1 и Пт с учетом гг^ 0, срав няются. Так как часть объема работ группы П т выполня ется, то резерв времени этой группы за отрезок сц уменыпа-
ется на величину 04(1 — m in— ).
^пт Н
Из выражения (5.44) находим
Atm+1—Atm |
(5.45) |
|
а4 |
П_ |
|
min |
|
|
пт Pi |
|
|
и переходим к шагу 6. |
минимальной продолжи |
|
Шаг 6. Установление объема, |
тельности и новой величины максимального комплекта для оставшейся части работ. Продолжительность фронта озна чает тот отрезок времени, в течение которого каждая рабо та фронта F(t) будет осуществляться с постоянным исполь зованием комплекта, равного Если для некоторых работ группы 74=0, то это говорит о том, что начало работ отодвигается на величину продолжительности фронта 0. В результате потребления ресурсов в количестве гг >>0 комп лектов объемы работ фронта уменьшатся. Оставшуюся часть объема подсчитываем по формуле
V t'^ V t - r tH r Q , |
(5.46) |
где V/ — оставшаяся часть объема работы I;
Vi— объем работы i перед рассматриваемым фронтом; 0 — продолжительность фронта.
Если Т У = 0, то работа i завершена. В исходном графе G0(X, U) удаляем вершину i вместе с выходящими из нее ду гами.
Определяем момент начала следующего фронта (следу
ющей итерации k): |
|
|
tk— |
1» |
(5.47) |
где 0 о = О, 0S — продолжительность фронта на s-й итерации. Зная величину £*, находим уровень ресурсов Rj(tk ). С по мощью tki V i и Hi пересчитываем максимально возможное число комплектов для каждой работы.
Пусть имеется неравенство
V i '< H t. |
(5.48) |
Тогда Hi принимаем равным V /.
Найдя по формуле (5.19) уровень ресурсов в момент tk,
122
вычислим скорректированные значения максимально воз можных чисел комплектов по формуле
где [я] — целая часть от числа х ;
Pi— скорректированное значение максимального чис ла комплектов.
Для последующей итерации введем обозначения р *= рЛ
Итак, действия шага 6 являются завершающими для одной итерации. На этом шаге подготавливается информа ция, которая служит исходной для следующей итерации.
После завершения шага 6 имеем: новые значения объе мов работ Vi ; уровни ресурсов Rj(tk ); пересчитанные вели чины Щ и р{ ; новый исходный граф, который получается в результате удаления вершин i, соответствующих закончен ным работам, и дуг, выходящих из них на графе, являвшем ся исходным на предыдущей итерации.
С помощью вычисленных величин Vi, рг, H t устанавли ваем кратчайшую продолжительность выполнения остав шихся работ по формуле (5.20), т. е.
____ Vi
§ 5. СИНТЕЗ СЕТЕВОГО ГРАФА ПРИ ПЕРЕМЕННЫХ УРОВНЯХ НЕСКОЛЬКИХ ВИДОВ НЕСКЛАДИРУЕМЫХ РЕСУРСОВ
С РАЗЛИЧНЫМИ ТИПАМИ ПОТРЕБЛЯЕМЫХ КОМПЛЕКТОВ
Рассмотрим задачу синтеза сетевого графа, которая от личается от аналогичной задачи, описанной в четвертом параграфе главы V. Основное отличие в формулировке — то, что одной работе поставлено в соответствие несколько возможных типов совокупности чисел Sij, т. е. комплектов. Например, для работы i= 1 запишем эти совокупности в виде
12 » * |
* |
* » |
|
12» ’ |
* |
•» |
(5.49) |
123
Обозначим через Sfj элемент одного из возможных ком
плектов для работы i относительно j-го вида ресурсов. Ин декс g для каждой работы принимает свое значение:
1 = 1 , * = 1 , 2 , . . . ,7(1)
i = 2, g — 1, 2, . . . , 2(2)
i = N , g = 1 , 2 , . . . , 7(2V)
Считается, что каждому типу комплекта поставлены в соответствие величины р£ и H tg.
Алгоритм решения сформулированной задачи основы вается на алгоритме задачи, рассмотренной в четвертом па раграфе данной главы. Отличие заключается в том, что при распределении ресурсов по работам фронта происходит вы бор не только величины комплекта rit но и типа комплекта из перечня (5.50).
Предполагается, что относительно каждой работы мож но найти такой комплект, для которого произведение р-Н максимально, т. е.
т а х р ^ .Я ^ = р £° .# А р |
(5. 51) |
l<g <I(i)
Соответствующие элементы комплекта обозначим через S°ij. Поэтому на каждой итерации кратчайшее время выпол нения работы будем вычислять по формуле
Vi |
(5.52) |
t.i0 Pi*- Hi о * |
Шаг 1. Построение текущего сетевого графа. Приняв вре менные оценки работ, найденные по формуле (5.52), синте зируем оптимальный сетевой граф G(Xl, U1). Все действия шага 1 полностью совпадают с действиями шага 1, рассмот ренными в четвертом параграфе.
Шаги 2, 3 и 4 аналогичны соответственно шагам 2, 3 и 4, описанным в четвертом параграфе.
Шаг 5. Выбор типов комплектов и вычисление величин комплектов используемых ресурсов, определение продолжи тельности фронта.
Разбиение на группы П\, П2, . . . , Tlq производится так же, как в шаге 5, изложенном в четвертом параграфе. Рас смотрим снова случаи 1— 4.
Случай 1 . |
|
2 Pi°-Я °у = Л ;(Я ,), К -1 ,2 , . . . , М ; |
(5.53) |
ienp |
|
124
9 |
|
(5.54) |
2 R j ( n p)K R j(t), 7=1, 2, . . |
M . |
|
P=1 |
|
|
Условие (5.54) означает, что любая работа фронта может быть выполнена комплектом рг°, при этом в единицу време ни производится Hi0 объема работы L
Продолжительность фронта находим по формуле
0 = min{ai; a2}, |
(5.55) |
где a i= t* — t;
a2= m in |
Vi |
|
Pi0-H i0 ‘ |
||
iGF(t) |
Переходим к шагу 6.
Случай 2. Пусть для работ группы Z7i выполняется нера венство
|
Д ;№ ) = |
2 |
Pi0S0i;>-Bj(t). |
|
(5.56) |
||
|
|
|
iQIl\ |
|
|
|
|
Предварительно выделим для каждой |
работы |
группы |
|||||
П\ комплекты |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(5.57) |
где [я] — целая часть от числа х. |
формулы (5.25)— (5.29) |
||||||
Для определения г*° применяем |
|||||||
относительно рг° и S°ij. Вычисляем остаток ресурсов: |
|
||||||
|
2 |
n°*S0ij, |
7=1, |
2..............М . |
(5.58) |
||
|
i6 Н1 |
|
|
|
|
|
|
Находим работу k, для которой |
|
|
|
||||
шах |
V j-n W j° . |
т* |
V k-rk°Hkо |
+ L h*. |
(5.59) |
||
iQlli |
?i°Hf> |
^ |
1 |
|
P°fe |
|
|
Постараемся распаковать |
комплекты |
rk° для работы k |
и назначить для нее новые величины комплектов, исполь зуя остаток ресурсов и заданные типы комплектов. Для это го проверяем неравенство
шах \Hkg |
min |
Rj'+rko-S°kj >г*°.Я *°. (5.60) |
l < g < I ( k ) { |
j |
S% |
Пусть неравенство (5.60) выполняется для g(k)-ro типа
125
комплектов относительно работы k. Тогда работе k назнача ем g(k)-й тип комплекта, величина которого равна
rg(k)~ |
|
■й/г+г*°* S°kj |
\ |
|
|
min |
W’ |
) |
(5.61) |
||
k |
|||||
|
} |
|
С учетом новой величины r|(ft) для работы k находим но
вый остаток ресурсов Rj2 и снова рассматриваем формулу (5.59). Затем проверяем неравенство (5.60). Если оно не со блюдается, то в левой части выражения (5.59) отыскиваем вторую максимальную величину.
Если для всех работ группы П\ неравенство (5.60) не удовлетворяется, то перераспределение типов и величин ком плектов заканчивается и переходим к шагу 6.
Продолжительность фронта равна
0 = [min {си, <х2, а3}],
где (Xi= ta — t;
Vi
02=min
ieF(f) riS'Hi8
a3 = At2— резерв времени работ группы Z72.
Если фронт состоит только из работ группы 27ь то а3= = оо. Переходим к шагу 6.
Случай 3. Пусть для работ групп П ь П2, . . . , Ilq—i на значены максимальные комплекты рД для которых выпол няются условия (5.51).
Остаток ресурсов
д—1
(7 = 1 .2 , . . . , М )
р=1
распределяем по работам последней группы П д так же, как и в случае 2 для группы П\.
Продолжительность фронта |
|
||||
|
|
|
0 = |
[min{си, а2, а3}], |
|
где а1= т Аг— |
|
|
|
|
|
02= m in |
Vt |
g при |
iGlT^ П 2 , . . . , Z7g_i и |
рД |
|
g |
„ |
||||
ieF(t) |
ri |
'n i |
|
|
|
Значение a3 выводим из выражений
(H°^l°-rt8.Ht8)ai3= д ^ ,
р
126
ai8 |
?1ощо_г.ё.щд ' * |
(5 .6 2 ) |
a3=m in(ai3). iei73
Переходим к шагу 6.
Случай 4. Пусть по работам групп П\, Пч, . . . » П т—\рас пределены комплекты р°. Для работ группы Пт остаток ре сурсов недостаточен, чтобы назначить р*°. Работы групп П т-ы » П т+2, . . . , П g не выполняются, и начала их отодвига ются.
Остаток ресурсов
R fi) - 2 R j W ^ R j 1
Р= 1
по работам группы 27т“ распределяем, как и в случае 2. Про должительность фронта вычисляем по формуле
0 = [min{ai, a2, a3, a4}],
где a i= T k — t;
«2= m in |
, Ylj g при гб n v П 2, • • •, П т - 1 и |
pt°. |
iGF(t) |
r i |
|
Относительно аз составим соотношение для работ груп пы Пт:
откуда
tem— Мт~г
Тогда |
|
a3= m in {ai3}. |
(5.63) |
ienm
Величину a4 определяем из соотношения
Mm+1— a4 = tem— a4 ^1—min \ ienm
откуда
127
СГ.л= |
Atm + 1 — At т |
(5.64) |
||
min |
Tie 'Hie |
|||
|
|
|||
|
?i9.Hi0 |
|
Переходим к шагу 6.
Шаг 6. Нахождение объема, новой величины максималь
ного комплекта, H tg и |
минимальной продолжительности |
оставшейся части работ. |
|
Оставшуюся часть объема работ фронта |
подсчитываем |
по формуле |
|
V ^ V t - r ^ H f - e , |
(5.65) |
где гIs— значение комплекта, вычисленное на шаге 5. Вычислим сумму продолжительностей фронтов:
?A= 0 o-r0i4 - . . . — —1, |
(5.66) |
где ©0 = 0, ©s — продолжительность фронта s-й итерации. Обозначим оставшуюся часть объема снова через Vi.
Пусть выполняется неравенство
Vi<iHig при g = g lf g2, • • •, Sk> |
(5.67) |
|
тогда значения H f для (5.67) принимаются равными V г. |
||
Зная tk, по формуле (5.19) находим |
уровень |
ресурсов |
на основе чего определяем новое |
значение макси |
|
мального комплекта каждого типа g : |
|
|
Rj(tk) |
|
(5.68) |
min ~S¥iT |
|
где [x ] — целая часть от числа х ;
р.^— скорректированное значение максимального ком плекта типа g для работы L
Таким образом, подготовлена исходная информация для следующей итерации. Остальные действия шага 6 полностью совпадают с действиями шага 6, описанными в четвертом параграфе.
Г л а в а VI
АВТОМАТИЗАЦИЯ ПРОЦЕССА СИНТЕЗА ОПТИМАЛЬНОГО СЕТЕВОГО ГРАФА
Ранее мы рассматривали вопросы синтеза сетевого гра фа, в частности алгоритм построения оптимального сетево го графа с минимальным значением критического пути, ме тоды распределения складируемых и нескладируемых ре сурсов на графе переменной топологии.
Алгоритм решения задачи не исчерпывает полностью проблемы отыскания наилучшего варианта решения. Сле дует всегда помнить об объеме проводимых вычислений. Он может оказаться таким большим, что затрачиваемое на вычисления время сделает полученную информацию прак тически бесполезной из-за ее «старения». Поэтому для ра дикального решения проблемы оптимизации кроме алго ритма отыскания оптимального варианта требуются еще и средства, реализующие этот алгоритм. В качестве таких средств успешно применяются ЭВМ. Их использование це лесообразно при решении задач больших размеров. Ниже излагаются алгоритмы реализации на ЭВМ «Минск-22» всех задач, поставленных в третьей, четвертой и пятой главах.
§ 1. АВТОМАТИЗАЦИЯ ПРОЦЕССА ПОДГОТОВКИ ИСХОДНОЙ ИНФОРМАЦИИ
Для реализации любой задачи на ЭВМ прежде всего сле дует выбрать способ задания (кодировку) исходной инфор мации, используемой в процессе решения. Как указывалось ранее, исходная сетевая модель представлена графом с пол ными контурами.
Условимся изображать граф на языке «работа — связь». При таком способе задания вершины графа i будем считать работами, а дуги иц графа — допустимыми связями между заданными работами i и у. Обозначим через продолжи тельность г-й работы (вершины графа). Тогда связь (дуга и )
9 -9 1 |
129 |