Файл: Цой, С. Синтез оптимальных сетей в системе управления горными предприятиями.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