Расчет параметров сетевых графиков |
||
Важнейшим этапом сетевого планирования является анализ по критериям времени. С этой целью рассчитываются ранние и поздние сроки начала и окончания работ, полный резерв времени, критический путь. Для нахождения сроков раннего начала и позднего окончания каждой работы достаточно рассчитать ранние и поздние сроки наступления событий в сетевом графике. Событие совершается в тот момент, когда все предшествующие ей работы полностью выполнены, поэтому время раннего начала совпадает с ранним свершением события непосредственно предшествующего данной работе. Так как существует несколько путей из начального события, то время раннего наступления события характеризуется продолжительностью максимального пути, идущего из начального события. Время раннего наступления событий рассчитывается слева направо, начиная с начала. T1рнс=0 Сроки раннего свершения остальных событий определяются по формуле tj рнc=max(tiрнс+tij) tiрнс- время раннего свершения i- го события, непосредственно предшествующего j- му событию, tij- продолжительность работы. Время раннего свершения конечного события равно продолжительности max пути, идущего из начального события в конечное и этот путь называется критическим. Критическими называются и все события и работы , которые лежат на этом пути. Время раннего свершения конечного события определяет минимальный срок выполнения всего комплекса работ. Время позднего наступления события (пнс) рассчитывается в графике, начиная с конца?. Сроки позднего свершения остальных событий вычисляются по формуле ti пнс= min( tjпнс-tij) j Знание ранних и поздних свершения событий может определять ранние и поздние сроки начала и окончания работ, полный резерв времени для каждой работы и критический путь. Для каждой работы (i,j) определяются следующие параметры: ранний срок начала работы:tijрн=tiрнс ранний срок окончания работы: tijро=tijрн+tij поздний срок окончания работы: tij по=tij пнс поздний срок начала работы: tijпн=tij по-tij полный резерв времени работы:Rij=tijпо-tijрн-tij равен разнице Полный резерв времени работы показывает на сколько можно отодвинуть сроки начала работы или увеличить ее продолжительность, не нарушая минимального срока выполнения всего комплекса работ. Пример. Для графика критический путь будет состоять из работ (1,2), (2,3),(3,4),(4,6) и min срок выполнения работ =15. Критические работы резерва времени не имеют, поэтому чтобы не сорвать срок выполнения всего комплекса работ основное внимание уделяют выполнению критических работ, обеспечивая их материальными ресурсами. 10 'расчет параметров сетевого графика 20 dim x(300),y(300),t(300),l1(200),l2(200) 30 input"Введите два числа:кол-во событий сетевого графика<200 и кол-во работ<300";n,m 50 for r=1 to m 60 read x(r),y(r),t(r) 70 next 80 l1(1)=0:l2(n)=0 90 for j=2 to n 100 l1(j)=-100000:l2(j-1)=-100000 110 next j 120 k=0 130 for j=1 to m 140 i=r(r):j=y(r) 150 if l1(j)-l1(i)>=t(r) then 170 160 l1(j)=l1(i)+t(r):k=1'вычисление времени раннего наступления события 170 next 180 if k>0 then 120 190 k=0 200 for r=1 to m 210 i=y(r):j=x(r) 220 if l2(j)-l2(i)>=t(r) then 240 230 l2(j)=l2(i)+t(r):k=1 240 next r 250 if k>0 then 190 260 for i=2 to n 270 l2(i)=l1(n)-l2(i)'вычисление времени позднего наступления события 280 next i 290 print"параметры сетевого графика": print 300 print"шифр продол-сть РН РО ПН ПО полный резерв" 310 for r=1 to m 320 i=y(r):j=y(r) 330 b=l2(j)-t(r)'вычисление времени позднего начала (ПН) работы 340 s=l1(i)+t(r)'вычисление времени раннего окончания (РО) работы 350 p=l2(j)-l1(i)-t(r)'расчет полного резерва времени 360 print x(r);y(r);t(r);l1(r);c,b,l2(j);p 370 next r:print 380 print"min срок окончания всего комплекса работ Д=";l1(n) 390 'исходные данные(начало,конец,продолжительность) 400 data 1,2,5,1,3,2,2,1,4,4,2,5,1,3,5,6,3,4,4,4,6,5,5,6,2 410 end
Сетевые графики могут быть объединены с графиками Ганта
Рисунок 14. Объединение сетевых графиков с диаграммами Ганта
Особенности составления расписаний рассмотрим на примере: 5 девушек пошли в парикмахерскую делать прически. Длина волос у них разная, поэтому на обслуживание каждой тратится разное время в таблице1 Вид операции Оля1 Галя2 Наташа3 Лена4 Миля5 укладка 1 15 20 10 13 25 сушка 2 20 10 5 30 20 Общая длительность обслуживания будет зависеть от порядка обслуживания. Например, обслужим их в порядке 31254. Таблица N Очередь имя Укладка Сушка начало конец начало конец 3 Наташа 0 10 10 15 1 Оля 10 25 25 45 2 Галя 25 45 45 55 5 Миля 55 70 70 90 4 Лена 70 83 90 120 Все подружки будут сидеть 2 часа. Нарисуем график Ганта для этого случая Время 0 10 25 45 31 11 21 Укладка [-------[-----------[----------------[ 32 12 Сушка [---]прост[----------------[ 32- 3-я девушка,2-я операция Если решать задачу простым перебором, то придется просмотреть 5*4*3*2*1=5!=120 вариантов. Поручим это дело машине. Введем массивы О[1:5] - очередь А[1:5]- 1 строка табл 1-->время затраченное на укладку Б[1:5]- 2 строка табл 1 ->время затраченное на сушку У[1:2,0:5] - половинка табл 2 - укладка С[1:2,0:5] - вторая половинка табл 2 - сушка Например, у[1,3]-время начала укладки у Наташи,1-начало,2 -конец. P=1,2,3,4,5 номер девушки i=номер девушки в очереди Тогда О(i)=P Расчет времени ведется по следующим формулам Y(1,i)=Y(2,i-1) Y(2,i)=Y(1,i)+A(P) Y(1,0) Y(2,0) C(1,0) C(2,0)- C(1,i)=max( Y(2,i),C(1,i-1)) C(2,i)=C(1,i)+B(P) Алгоритм время обслуживания (цел таб О[1:5],вещтаб А[1:5],B[1:5], вещ Т) арг О,А,В рез Т начало цел i,r,вещтаб Y[1:2,0:5],C[1:2,0:5] i=1;Y(1,0)=0;y(2,0)=0;C(1,0)=0;C(2,0)=0; пока i<=5 нц P=O(i);Y(1,i)=y(2,i-1);Y(2,i)=Y(1,i)+A(P) если Y(2,i)>=C(1,i-1) то C(1,i)=y(2,i) иначе C(1,i)=C(1,i-1) все--определение max C(2,i)=C(1,i-1)+B(P); i=i+1; кц T=C(2,5) конец |
||