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

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

.pdf
Скачиваний:
5
Добавлен:
20.10.2023
Размер:
7.95 Mб
Скачать

t i = t i k= t z = 4 ) . Новое значение LX с учетом поправки tj равно

LX = ш а х {L%—I- I- —t i } —L* + £ 7+Д£4— —

к

= 0 + 3 0 + 5 -4 = 3 1

вместо прежнего значения L\ = 3 5 . Применяя затем алго­ ритм А для контурных работ г = 3 и 4 и учитывая новое значение LX = 3 1 , имеем

T (4-^3)=L 4+f4+m ax{L4; Ьз+£3}= 0 + 8 + + та х {3 1; 39+4}=51,

7Т(3 ^ 4 )= Ь з + ^ з + та х {Ь з ; LX + ? 4}= 0 + 4 +

+ тах {39; 31+8}=43.

Величина Ткр стала равной 43 и совпала со значением, полученным при визуальном просмотре графа (рис. 3.10, в). Далее заметим следующее. Если работа полного контура (г= 4 ) обладает резервом времени Att > 0 и при этом А?* >

> t i , то

-^ A + ^ fc+ A ^ i— t i > L % + t * .

В том случае, когда t7 > А tt, выполняется условие

L\ -\-tjt'^>Lk + t* + A fj—t j .

Это говорит о том, что значение L* , т. е. путь максималь­ ной длины от г-й работы до мажоранты, после вычитания fj может быть меньше суммарной продолжительности ра­ бот к, лежащих на пути от г до iM. Этого не должно быть, поэтому в формуле (3.10) выбираем максимальную из двух величин:

L%+£fc и L% +£fc+A£j—tj.

Для нашего примера (рис. 3.10, в) введем новую работу с продолжительностью t = 2 на пути io~*~h. В результате ре­

зерв времени работы г =

4 станет равным Д£4= ££,н — (££•“ +

+ £ 4) = 13— (2+ 8) = 3.

После

вычитания tI — tik = tz = 4

для LX получим

 

 

LX =max{max[L* + £ 7;

Vj + t 7+A t4—^3]}=

k

 

 

= max{max[0-1-304-3—4]}=тах{29; 30}=30. k

Теперь перейдем к следующему шагу.

Шаг 5. Определение оптимальной последовательности выполнения работ рассматриваемого полного контура 7. В результате действий шагов 3 и 4 найдены значения L* и Lt и, тем самым подготовлена информация для использо­ вания алгоритма А. В нашем примере в контуре 7 = 1 (рис. 3.9) должен быть установлен оптимальный порядок осуще­ ствления работ 3 и 4 при вычисленных значениях L3= 0,

П= 3 4 , L4= 2 и L\ = 2 5 .

Реализуя алгоритм А, получаем в полном контуре 7 = 1

порядок следования работ 3->4. Таким образом, вместо контура 7 = 1 окончательно имеем только одну дугу U3 .4. Внеся это изменение в граф, представленный на рисунке 3.9, синтезируем новый граф (рис. 3.11) с одним полным кон­ туром II. Граф на рисунке 3.11 служит объектом дальней­ ших действий алгоритма.

Шаг 6. Анализ условия: все ли полные контуры про­ смотрены. Если в графе на шаге 5 работы всех полных кон­ туров вытянуты в цепочку, то он и будет искомым сетевым графом. На этом шаге алгоритм заканчивается. Если же в графе имеется хотя бы один нерассмотренный полный кон­ тур, то повторяем действия алгоритма с шага 3.

Граф, полученный на шаге 5, принимаем за исходный и переходим к действиям шага 3, т. е. снова определяем ран­ ние начала работ сети, для чего временно контурные связи полного контура вычеркиваем.

В нашем примере шаг 3 выполняется относительно гра­ фа, представленного на рисунке 3.11. На следующей итера­ ции в качестве выбранного полного контура 7 берем контур II. На шаге 6 убеждаемся, что все полные контуры просмот­ рены. Оптимальный сетевой граф изображен на рисунке

71

3.12. Продолжительность критического пути 1->-3-»-6->9-»- -»-10->11->12 равна Ткр = 33. Ранние начала и продолжи тельность осуществления работ сети (рис. 3.12) показаны на

линейной диаграмме (рис. 3.13), где в кружочках простав­ лены номера работ, а по оси абсцисс — их продолжитель­ ность.

Блок-схема и описание программы на ЭВМ «Минск-22», реализующей рассмотренный алгоритм, даны в четвертом параграфе главы VI. В последующих главах алгоритм поло­ жен в основу синтеза сетевого графа при ограничениях на ресурсы и условно назван алгоритмом В.

Г л а в а IV

ОПТИМИЗАЦИЯ СЕТЕВЫХ ГРАФИКОВ ПО РЕСУРСАМ

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

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

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

73

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

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

Ниже рассматриваются алгоритмы для решения задачи распределения складируемых ресурсов на графе переменной топологии (с контурами).

§ 1. ПОСТАНОВКА ЗАДАЧИ

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

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

а) минимальная величина затрат (минимальный объем ресурсов) rmin , при которой работа производится за макси­ мальное время Dt;

б) максимальная величина затрат (максимальный объ­ ем ресурсов) rmax, при которой работа выполняется за ми­ нимальное время di.

Закон потребления ресурсов выражается линейной зави­

симостью затрат

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

[65]:

 

аг?{ ,

(4.1)

где и bt— заданные величины.

74

Из поставленных условий следует, что размер потребле­ ния ресурсов для i-й работы и ее продолжительность заклю­ чены в пределах

m i n ^ T * m a x »

(4.2)

(4.3)

Тогда время-ресурсная зависимость может

быть представ­

лена следующим образом:

(4.4)

T'i, min—

T'i, таx===bi &i

(4.5)

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

Ниже приводим эвристический алгоритм решения сфор­ мулированной задачи, в основу которого положена идея градиентного метода [33].

§ 2. АЛГОРИТМ СИНТЕЗА И ОПТИМИЗАЦИИ СЕТЕВОГО ГРАФИКА ПО СТОИМОСТИ

Опишем шаги алгоритма на конкретном примере. По пра­ вилам, изложенным в первом параграфе главы III, строим исходный граф G{X, U) с полными контурами (рис. 4.1). Чис­ ловые характеристики работ исходной сети приведены в таблице 4.1. Предположим, что объем имеющихся ресурсов составляет Во = 60. Требуется на основе этих данных уста­ новить в сетевом графике оптимальный порядок выполне­ ния контурных работ 3, 4 и 7, 8, 9 таким образом, чтобы длина критического пути Ткр была минимальной и объем используемых ресурсов на всех работах не превышал уровня i?o= 60 .

Шаг 1. Вводим фиктивную вершину г= 1 2 . Временную оценку работы 1 1 переносим на дугу (1 1 , 1 2 ).

Шаг 2. Полагаем все временные оценки работ — вершин графа (рис. 4.1) равными £г,тах = Di% Согласно формуле

75

(4.4), на каждую работу в этом случае будет направлено

—aiDi ресурсов. Значения г*, min приведены в таб­

лице 4.1.

Рис. 4.1.

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

12

£ < °)= 2 rf,min= 55. i=i

 

 

 

 

 

Таблица 4.1

i

a-i

di

Di

fit max

Tj, min

1

0

0

0

0

0

0

2

30

4

1

2

26

22

3

22

5

3

4

7

2

4

20

2

5

8

10

4

5

15

3

2

4

9

3

6

32

3

6

9

14

5

7

6

1

1

3

5

3

8

10

2

3

4

4

2

9

12

1

2

6

10

6

10

26

2

3

10

20

6

11

16

2

5

7

6

2

12

0

0

0

0

0

0

Эта величина является нижней границей потребности в ре­ сурсах для данного проекта. Следовательно, для завершения рассматриваемого комплекса работ необходимо, чтобы за­ пасы ресурсов Ro удовлетворяли условию Z (0)^i?o- Тогда задача имеет решение, в противном случае нужно увеличить запасы ограниченных ресурсов до величины Z (0). Все последу­

76

ющие шаги осуществляются при соблюдении этого условия.

В нашем случае Z (Q)=bb<iRQ==Q0.

Шаги 1 и 2 подготовительные. Они выполняются только один раз в начале алгоритма. Итерационный процесс начи­ нается с шага 3.

Шаг 3. Полагаем временные оценки tt для всех pa6oi i графа G(X, U) (рис. 4.1) равными нижней границе ti, min=

dt (табл. 4.1). К полученному графу применяем алгоритм

В— алгоритм построения оптимального сетевого графа. В результате синтезируется графбг1 (X , V), представленный на

рисунке 4.2. Значения ti,min= d i указаны в квадратах воз­

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

С помощью данных таблицы

а. ' 0

И

4.1 и формулы (4.1) легко подсчитать объем потребляемых ресурсов на всех работах проекта:

п

12

 

 

£ (1)= 2 Г1=

i=l

m a x =

l l l e

i=l

 

 

Критический путь 1 —>-3->6->-9—>-10—>-11->12

имеет длину

Ткр = 1 9 . Топология графа Gl(X, V)

будет искомой, если со­

блюдается условие

 

 

 

z m =

 

 

(4-6)

I G O ' I X . V )

 

 

 

В противном случае переходим к следующему шагу. Так как Z (1) = 1 1 1 60, то выполняем шаг 4.

Шаг 4. Вычисление резервов времени работ и пересчет ресурсов. Действиями шага 4 попытаемся уменьшить объем используемых ресурсов Z1. Чтобы сократить объем ресурсов на некоторой работе, согласно формуле (4.1), необходимо

77

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

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

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

пути. Полный резерв времени Att

для любой работы i нахо­

дится по формуле

 

 

 

 

 

 

 

A f i = = f n . o _ f P . H

_

t i

 

(4.7)

 

 

 

 

 

 

 

где tf-° — позднее окончание работы i,

£Р-Н— раннее нача­

ло i-й работы,

tt— ее продолжительность.

 

Напомним, что раннее начало означает промежуток вре­

мени, по истечении которого может быть начата работа L

На сетевом графике раннее начало

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

длине пути от миноранты до узла L Позднее окончание — это

момент окончания работы i, который

представляется как

разность Ткр—

где

Т кр— продолжительность крити­

ческого пути,

lt — максимальная длина пути от г-й работы

до мажоранты,

tt — продолжительность

рассматриваемой

работы.

?Р*Н и tЧ‘°

рассчитываются по формулам

Величины

 

 

ffp-H=max{fg-H4-f*}

 

 

 

 

 

k

 

 

 

(4.8)

 

 

£?•»=О

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

Чтобы найти

 

на графе G'(X,

V)

определяем все узлы

k, из которых выходят дуги, оканчивающиеся в вершине г. В вершинах k должны быть известны значения Ц-Нл Ран­

нее начало работы i = i o = l полагаем равным нулю. Позднее окончание tp-° находим по формуле

(4.9)

78

Для вычисления tf-° по этой формуле необходимо, чтобы величины *у*° в вершинах j, где оканчиваются дуги, выхо­

дящие из i, были уже определены. Позднее окончание по­ следней работы проекта — мажоранты считаем равным !ГКр.

Рассчитаем *Р-Н и Щ‘° для работ, представленных на

графе Gl(X, V) (рис. 4.2). Найдем сначала ранние начала ра­ бот по формуле (4.8), согласно которой раннее начало работы io= l — миноранты — принимается равным нулю. Зная эту величину, определяем ранние начала работ 2 и 3:

fP.H= *P.H_j_Ji==()-M )=0,

*з=*Гн+ * 1 = 0 + 0 = 0 .

На основе этих расчетов вычислим

£P*H=max{£P-H-H 2; ^•H+ ? 3}= n ia x {0 + l; 0 + 3 }= 3 .

Аналогично устанавливаем ранние

начала

остальных

работ:

 

 

 

*р-н= 1 , *р-н= 3 , *р-н=11,

tр-н==3,

?р-н= 9,

tP6H= l l ,

*£н=14,

*12=19.

 

 

По формуле (4.9) находим поздние окончания работ на гра­

фе Gl(X, V) (рис.

4.2). Позднее окончание работы i = 12, как

уже отмечалось,

станет равным Ткр — 19. Зная *12-° = 1 9 ,

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

^11°=^Г2°—*12=3 9—0—19,

*5-°—t?!0—tii= i9 —5—14*

t£-o=*”-°—*n= 1 9 —5=14.

Позднее окончание работы г = 8 пока нельзя определить, так как неизвестно позднее окончание работы г = 9:

*£-°=min{*™—*t0; f?'°—M =m in{14—3; 14—1}=11.

Аналогично находим поздние окончания для следующих работ:

*£-о=9, *”-°=9,

6, *4"-°=13, *£-°=3,

79

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