Файл: Цой, С. Синтез оптимальных сетей в системе управления горными предприятиями.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 21.10.2024

Просмотров: 113

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

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

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

Рассмотрим эвристический алгоритм, сущность которого состоит в следующем. В исходном графе G(X, U) все полные контуры анализируем в определенной последовательности. Работы полных контуров вытягиваем в цепочку по алгорит­ му А . В результате граф G(X, U) преобразуется в обычный сетевой, т. е. граф без контуров.

Считаем, что исходный граф G(X,U) построен на язы­ ке «работа — связь», содержит полные контуры и удовлет­ воряет всем условиям первого параграфа. Пусть дан сете­ вой граф с полными контурами (рис. 3.5). Продолжитель­ ность tj указана в квадратах возле соответствующих узлов. Номера узлов (работ) заданы произвольно. Рассмотрим сущность алгоритма построения оптимального сетевого гра­ фа по шагам.

Предварительный шаг. Упорядочение вершин исходно^

62


го графа. В заданном графе (рис. 3.5) временно вычеркива­ ем все дуги полных контуров. В нашем примере зачеркива­ ем дуги, соединяющие между собой работы 6 и 1, 8, 11 и 2. К полученному графу применяем метод нумерации вершин графа [27]. Для этого в преобразованном графе отыскиваем

вершину, куда не входят дуги. Такой вершиной будет ми­ норанта — начальная работа проекта с номером 5. Присво­ им этой вершине номер 1. Затем вычеркнем все дуги, выхо­ дящие из пронумерованной вершины 1. Вновь отыскиваем вершины, в которые не входят дуги. Такими вершинами яв­ ляются узлы 3 и 6. Дадим вершинам следующие порядко­ вые номера: вершине 3, например, — новый номер 2, а вер­ шине б — новый номер 3. Повторяем описанные действия до тех пор, пока у всех вершин графа не будут новые номе­ ра. Восстановив затем все вычеркнутые дуги и дуги, соеди­ няющие работы полных контуров, получаем граф, где все вершины (работы) имеют сквозную нумерацию, начиная с 1 (рис. 3.6). Теперь контурными стали работы 3, 4 и 7, 8, 9.

63

Граф G(X, U) будем считать исходным для последующих расчетов.

Шаг 1. Нумерация полных контуров. Пронумеровать полные контуры — это значит найти определенный порядок их анализа для дальнейшего построения сетевого графа. Для нумерации полных контуров выполняем следующие дейст­

вия. В исходном графе (рис. 3.6) все работы каждого полно­ го контура «сжимаем» в узел, т. е. полный контур представ­ ляем одной объединенной работой. Такой узел назовем кон­ тур-вершиной. В преобразованном графе (рис. 3.7) устанав­ ливаем порядок для анализа полных контуров. С этой целью к графу вновь применяем метод нумерации вершин [27]. В результате все вершины графа (рис. 3.7) приобрета­ ют новую нумерацию, включая и контур-вершины. Новый граф изображен на рисунке 3.8.

Просматривая у вершин новые номера, выясняем, что контур-вершина (3,4) получила порядковый номер 3, контурвершина (7, 8, 9) — номер 6. Выпишем эти номера в возра­

стающем порядке: 3 и 6. Номеру 3

приписываем число I,

а номеру 6 — число II. Это означает,

что полный контур,

соответствующий контур-вершине 3

и состоящий из работ

3 и 4 (рис. 3.6), при синтезе будет анализироваться первым, а полный контур, включающий работы 7, 8, 9,— вторым.

Шаг 2. Перенос временных оценок вершин на дуги. Для последней, замыкающей работы i = 11 исходного гра­

64


фа G(X, U) (рис.

3.6) вводим фиктивный узел г =

12

с нуле­

выми оценками,

который соединяем с работой i=

1 1

стрел­

кой (рис. 3.9).

 

 

 

Временные оценки t t работ i графа переносим на дуги, выходящие из узлов (работ). Исключение составляет фиктив­ ный узел — мажоранта i— 1 2 , нулевые оценки которой не переносятся. У всех дуг, выходящих из одного узла г, будут, таким образом, одинаковые значения £*. Полученный граф представлен на рисунке 3.9.

Все предыдущие шаги можно считать вспомогательны­ ми. По существу, синтез сетевого графа начинается с шага 3. Как уже отмечалось, синтез основан на использовании алго­ ритма А, в котором производится упорядочение работ одно­ го полного контура. Одним из основных параметров, влия­ ющих на порядок выполнения работ полного контура, бу­ дет величина L i , т. е. максимальная продолжительность внешних путей от миноранты го до работы г полного конту­ ра. Значения Ьг устанавливаем на следующем шаге. Как известно, максимальная продолжительность пути Ь-ь от ми­ норанты до вершины является ранним началом £?-н рабо­

ты г.

Шаг 3. Определение ранних начал работ. Для графа G(X, U) (рис. 3.9) применяем известный алгоритм Л. Р. Фор­ да [27, 61], с помощью которого вычисляем ранние начала работ tf-H. При этом контурные связи не учитываем, т. е.

контурные связи — дуги считаем временно вычеркнутыми. Расчеты проводим по формуле

tf-H=max{fP-H-Kft},

(3.8)

к

 

5 -9 1

65

где k — номера вершин (работ), от которых непосредственно зависит выполнение рассматриваемой г-й работы;

— раннее начало k-x работ, т. е. максимальная про­

должительность пути от миноранты io до k-x работ; tk — продолжительность k-x работ.

Раннее начало первой работы (миноранты) принимаем равным нулю: fP-H= 0 . Для остальных работ ранние нача­

ла, вычисленные по формуле (3.8), имеют следующие зна­ чения :

*р-н= 0 , *р-н= 0 , *р-н= 2, Ц-«=2, £Р-Н= 4 , *р-н=13, *р-н= 6,

*р-н= 13, ^1(5Н=16, *£н=26,

Полученные ранние начала определяют величины L ис­ пользуемые в алгоритме А при анализе полных контуров. Возьмем полный контур I. Для работ 1= 3 и 4 этого контура

величины L3 и 1 ц, т. е.

ранние начала

и £|,н, найдены

по формуле (3.8): L3 =

О, L^= 2.

определяем значения

На следующем, четвертом шаге

L *,которые в алгоритме А используются при анализе работ полных контуров. Напомним, что £г*есть продолжительность максимального пути от момента окончания контурной рабо­ ты г до мажоранты (конечной работы). Суммарная продол­ жительность работ, лежащих на этом пути, составляет Li*. Поскольку мы рассматриваем путь максимальной продол­ жительности после i-й работы, то в значение Lt* не должна входить ее временная оценка t-t .

Далее заметим, что контурная работа г и работа k, в ко­ торую входит дуга (г, k) из г-й вершины, могут принадлежать к различным путям, оканчивающимся в вершине k. Если продолжительность этих путей неодинакова по величине, то, как известно, работа г обладает частным резервом времени Дti первого рода. Отрезок времени Д£г есть величина от мо­ мента окончания работы г до момента начала k-й работы.

На рисунке 3.9 работы г = 4 и k = 7 лежат на разных путях. Через работу k = 7 проходит путь от вершин 5, 6 и 4. Если продолжительность путей, оканчивающихся в вершине 7, различна, то работы г = 4, 5, 6 будут иметь различные ре­ зервы АЦ относительно работы k = 7. Резерв можно вычис­ лить по формуле

Д * г = * Г -(ф н+**)‘

(3.9)

Эта величина определит момент ожидания, который пред­ шествует началу работы k = 7 после окончания г-й работы.

66


Для работы i = 4, например, резерв времени будет равен

At4 = 13— (2—[—8) = 3.

Величина At4 = 3 означает, что после окончания работы i = 4 в течение трех дней работа k = 7 будет ожидать своего начала, так как шестая работа, через которую проходит максимальный путь, будет выполнена за 13 дней.

Таким образом, продолжительность L** максимального пути от i-й работы до мажоранты на графе G(X, U) (рис. 3.9) включает не только временные оценки работ, лежащих на пути Ц*, но и дополнительно величину Att. Действительно, для работы г = 4 максимальный путь Ы состоит не только из суммарной продолжительности работ внешнего пути 1 4 , но и отрезка времени At4 = 3 .

Перейдем к четвертому шагу.

Шаг 4. Определение длины максимального пути L * от i-й вершины полного контура до мажоранты. Анализируем вершины k полного контура 7=1, в которые входят дуги

из L В нашем случае для вершины 3

fe =

6, а для вершины

4 k = 7. Вершины k не принадлежат

к

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

контуру 7=1.

 

 

 

Значение Li вычисляем по формуле

 

L* = тах{тах [(7 Л

tj);

(L%+£*)]}> (3.10)

k

 

 

 

где L% — максимальная длина пути от k-й вершины до ма­ жоранты, не включая продолжительность k-й работы;

tk— продолжительность работы k ;

Ati— резерв времени для работы г, определяемый по формуле (3.9);

ti — продолжительность работы ц полного контура 7, от которой зависит раннее начало k-й работы (i* Ф

фт).

Поясним формулу (3.10) на условном примере (рис. 3.10).

Пусть на

графе полный контур

состоит из двух вершин

i = 3 и 4.

Временные оценки работ

проставлены в прямо­

угольниках. Выберем такой порядок выполнения работ 3 и 4, чтобы продолжительность критического пути от мино­ ранты г'0 до мажоранты iM была минимальной. Чтобы ис­ пользовать алгоритм А, рассчитаем для работ полного контура (рис. 3.10, а) значения Lt и L*i . По формуле (3.8) най­

дем ранние

начала Ц-* , т. е.

Lt : L2= L 3= L 4=

0, L&=

= fP-H-{-£4=

8, L7=t|*H +^ 2= 2

0 . Контурные связи

работ

г = 3 и 4 при этом не учитываем.

Перейдем к вычислению L\. Из вершины г = 3 дуга вхо­ дит в k = 7 , вершина i = 4 связана дугой с k = 6 . После окон­ чания работы i = 3 работа k = 7 не может начинаться ера*

67


зу, так как не закончена работа i= 2 (максимальный путь до fe-й вершины проходит через вершину 2). Поэтому макси­ мальное время для всех работ, следуемых после i-й работы,

ш

будет включать еще время ожидания, т. е. резерв времени Д?з, определяемый по формуле (3.9):

д?з= ?р.я_ (^ р.н+ ? з)==2 0 -(0 -| -4 )= 1 6 ,

д^ = ?р.н_ ( ?р.н+ ^ ) = 8 - (0 4 - 8 )= 0 .

Таким образом,

L3* = L 7* + t7+A£3= 0 - f 30-{-16=46,

L 4* = L 0* -}-1в - } - Л14 = 0 - }30- - j -0= 30.

Применяя алгоритм А для полного контура, состоящего из работ г = 3 и 4 (рис. 3.10, б), получим

T(4->3)=L 4-f? 4-fm ax{L4*;

Z 3* + t 3}= 0 + 8 +

-rmax{30; 46-J-4}=58,

T (3 ->4)=Z 3+ ? 3-fm ax{L3*;

L4*4-?4}= 0 - 4 ^ -

-fmax{46; 30-f-8}=50.

Следовательно, общая продолжительность Т(3->-4) = 50 бу­

63

дет соответствовать наилучшему порядку (3->-4) следования работ г = 3 и 4; при этом Т кр = 5 0 .

Как видно из рисунка 3.10, а,

раннее

начало

работы

fe = 6 не зависит от i = 3, а раннее начало работы k =

7 — от

i = 4.

 

 

 

 

 

 

Разберем другой случай (рис. 3.10, в, г) с подобной зави­

симостью. Пусть k-я работа (k = 7 ), в которую входит

дута

из контурной

работы г = 4, зависит

от выполнения

другой

работы i этого

же полного контура,

например ik=

3.

Про­

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

 

 

 

*p-h= L 3= 0 ,

*p-h= Z ,4= 0 , L6= 4,

Lr=13,

At.=0, Af4= 5 ,

L3*= Z,6* + t 6+ A f3= 3 0 + 9 + 0 = 3 9 ,

Z,4* = L 7* + t7+ A t4= 0 + 3 0 + 5 = 3 5 .

Используя затем алгоритм А, имеем

T (4 -*3)=L 4+ f 4+m ax{L4*; L3*

+ ?3}=0+8+m ax{35:;

39+4}=51,

 

T(3->4)=L3+ £ 3+m ax{L 3*; L4*+if4}=0 -f4+m ax{39;

35+8}=47.

 

Как видно из расчетов, минимальная продолжительность завершения всех работ равна 47. При этом порядок следо­ вания работ полного контура будет 3-^-4.

С помощью визуального просмотра графа (рис. 3.10, в) убеждаемся в том, что критический путь на графе для вы­ бранного порядка 3->-4, т. е. путь io—^3—^6—^7, имеет продол­

жительность Ткр = 43, что на четыре единицы

меньше Т

(3—>-4) = 47. Это объясняется тем,

что общая продолжитель­

ность найденного пути T(3->4) =

L3+ £ 3-f £4- г .7,4 =

47 вклю­

чает в качестве слагаемого значение Ы , которое определяет­ ся как L*4 = 1,7 -j-£7+A£4, где А£4 = —Z/P-h+ ? 4. В свою

очередь, 1,р-н есть продолжительность максимального пути

от i0 до k = 7. Этот путь проходит через вершины io, 3 и 6 и длина его равна ti0+ £ 3+£б = 0+ 4 + 9 = 1 3 . Таким образом, резерв времени А£4 для i= 4 зависит от продолжительности работы i = 3 и входит как слагаемое в L I .

Учитывая сказанное, необходимо при вычислении вели­ чин Li в формуле (3.10) сделать поправку на значение t j , которое является продолжительностью контурной работы iki отличной от рассматриваемой i (в нашем случае i = 4,

69