Скачать презентацию Граф и орграф Граф G это совокупность Скачать презентацию Граф и орграф Граф G это совокупность

Сетевое планирование.ppt

  • Количество слайдов: 29

Граф и орграф Граф G – это совокупность двух множеств: множества точек-вершин V и Граф и орграф Граф G – это совокупность двух множеств: множества точек-вершин V и отрезков ребер E, между которыми определено отношение инцидентности. Под инцидентностью следует понимать «событийность» , т. е. точки-вершины графа – это некоторые события, а ребра – возможные пути их достижения, например, работы. Граф, состоящий из вершин и ориентированных дуг называется ориентированным или орграфом. Простой граф орграф

Виды графов Графы бывают: - мультиграфами, когда содержат кратные, т. е. проходящие через одну Виды графов Графы бывают: - мультиграфами, когда содержат кратные, т. е. проходящие через одну пару вершин ребра; - псевдографами, содержащими кратные ребра и петли, т. е. ребра, замкнутые на одну и ту же вершину; - конечными, т. е. содержащими конечное число вершин и ребер; - пустыми, т. е. не содержащими ребер; - полными, т. е. не содержащими петель и кратных ребер и каждая пара вершин которых соединена ребром. Если граф содержит n вершин и m дуг, то говорят, что граф имеет порядок n и размер m. Это записывается как G(n, m). Отношения между вершинами и ребрами в графе обычно записываются в матричной форме: матрицей смежности и матрицей инцидентности.

матрица смежности В матрице смежности D по горизонтали и вертикали перечисляются вершины. Каждый элемент матрица смежности В матрице смежности D по горизонтали и вертикали перечисляются вершины. Каждый элемент этой матрицы, dij - это число ребер, соединяющих вершины i и j. Для сетей, рассматриваемых в управлении проектами всегда либо dij = 1, либо. dij = 0. Это означает, что каждую пару вершин может связывать только одно ребро. v 1 v 2 v 3 v 4 v 5 v 6 v 7 v 2 1 1 v 4 v 5 1 1 v 3 1 1 1 1 1 v 6 v 7 1 1

Матрица инцидентности В матрице инцидентности A по вертикали перечисляются вершины, по горизонтали – ребра, Матрица инцидентности В матрице инцидентности A по вертикали перечисляются вершины, по горизонтали – ребра, а значения aij определяются так: aij = 1, если ребро j входит в вершину i; aij = -1, если ребро j выходит из вершины i; aij = 0, если вершина i и ребро j не инцидентны (не связаны). e 1 e 2 e 3 e 4 e 5 e 6 v 1 -1 0 0 0 v 2 1 -1 -1 -1 0 0 v 3 0 1 0 0 0 -1 v 4 0 0 1 0 -1 1 v 5 0 0 0 1 1 0

Некоторые определения теории графов Путь – это последовательность вершин орграфа, такая, что в этой Некоторые определения теории графов Путь – это последовательность вершин орграфа, такая, что в этой последовательности вершина v’ может следовать за вершиной v, только если существует дуга, следующая из v в v’. Цикл - путь, начинающийся в одной вершине и заканчивающийся в той же вершине. Ациклический граф - граф, в котором отсутствуют циклы. Из приведенных выше определений следует, что задача планирования проекта есть ациклический орграф. Ребра графа обладают весами, если с ними связаны некоторые численные значения, каким-либо образом характеризующими эти ребра в моделируемом объекте. Длина пути - сумма весов ребер какого-либо пути ациклического графа. Две вершины графа, в принципе, могут соединяться несколькими путями. В этом случае: путь, имеющий наименьшую длину называется кратчайшим; путь, имеющий наибольшую длину, называется критическим.

Пример кратчайшего и критического пути Кратчайший путь между v 1 и v 5 Критический Пример кратчайшего и критического пути Кратчайший путь между v 1 и v 5 Критический путь между v 1 и v 5

Граничные условия сетевой модели Сетевое планирование есть моделирование работ проекта, (протекающих во времени), и Граничные условия сетевой модели Сетевое планирование есть моделирование работ проекта, (протекающих во времени), и отношений между работами в форме графа. К сетевой модели применяются следующие граничные условия: - сеть не может содержать петель и циклов; - сеть не может содержать кратных дуг; - сеть должна содержать хотя бы одну вершину, не имеющую входящих дуг (начало проекта); - сеть должна содержать хотя бы одну вершину, не имеющую исходящих дуг (конец проекта). Задачами моделирования являются: - определение длины критического пути, между вершинами, являющимися началом и окончанием проекта; - определении множества вершин и ребер, принадлежащих критическому пути. Модель должна отражать две сущности: работы проекта и контрольные события. Существуют два различных подхода к данной задаче: - сеть с работами-дугами (сеть «Р-Д» ); - сеть с работами-вершинами (сеть «Р-В» ).

Сеть с работами на дугах. Задача - нахождение самого длинного пути. Для решения применяется Сеть с работами на дугах. Задача - нахождение самого длинного пути. Для решения применяется алгоритм Форда, заключающийся в выполнении прямого и обратного расчета сроков наступлений событий в сети. 1. Для всех вершин графа определим значение: tpj = max (tpi + tij), j = 2, 3, …n; tp 1 = 0, (i, j) Ui где tpj – ранний срок наступления j-го события; tpi – ранний срок наступления i-го события, предшествующего j-му, tij – длительность работы; Uj - множество ребер, входящих в вершину j.

Пример прямого расчета сети «Р-Д» Рядом с каждой из вершин размещается информационный блок. В Пример прямого расчета сети «Р-Д» Рядом с каждой из вершин размещается информационный блок. В них записываются результаты вычисления ранних сроков наступления событий Ранние сроки – результаты прямого расчета сети

Пример обратного расчета сети «Р-Д» Для всех вершин графа определим значение: tпi = min Пример обратного расчета сети «Р-Д» Для всех вершин графа определим значение: tпi = min (tпj - tij), i = n-1, n-2, … 1; tпn = tрn, (i, j) Uj где tпj - поздний срок наступления j-го события; tпi – поздний срок наступления i-го, предшествующего j-му, события; tij – длительность работы; Ui - множество ребер, иcходящих из вершины i. Расчет выполняется в цикле от последней вершины к первой. Отправным значением для расчета является поздний срок окончания проекта, совпадающий с ранним. Результаты расчета вписываются в блоки возле вершин Поздние сроки наступления событий – результат обратного расчета сети

Определение вершин с нулевым резервом времени в сети «Р-Д» Для всех вершин графа определим Определение вершин с нулевым резервом времени в сети «Р-Д» Для всех вершин графа определим значение: fi = tпi - tpi, i = 1, 2…. . n, где fi - резерв времени i-го события; tpi – ранний срок наступления i-го события; tпi – поздний срок наступления i-го, предшествующего j-му, события. Рассчитанное значение для каждой из вершин внесем в соответствующие информационные блоки. Критический путь проекта проходит через подмножество вершин с нулевым значением fi (1, 2, 4, 5 и 7)

Определение перечня ребер, принадлежащих критическому пути в сети «Р-Д» В треугольнике, образованном вершинами 1, Определение перечня ребер, принадлежащих критическому пути в сети «Р-Д» В треугольнике, образованном вершинами 1, 2 и 4 имеет место неопределенность – критический путь проходит через его вершины, но все три ребра (1 -2, 2 -4, 1 -4) одновременно ему принадлежать не могут. Здесь проявляется коллизия, свойственная сетям при работе с ребрами. Для разрешения этой коллизии необходимо ввести фиктивные работы, которые помогут корректно рассчитать параллельные пути графа.

Сети типа «Р-В» (с работами в вершинах) В сети данного вида вершинами являются работы Сети типа «Р-В» (с работами в вершинах) В сети данного вида вершинами являются работы проекта, а ребрами – технологические зависимости. В такой модели ребра не имеют веса, а длительности работы перемещаются в вершины. Технологические (организационные, логические или иные зависимости и связи между работами определяют отношения предшествования-последования. Направленность ребра определяет то, что работа 1 является предшественником работы 2, а работа 2, соответственно, является последователем работы 1. Граф должен быть ацикличным, то есть работы не могут ссылаться друг на друга одновременно (не могут быть соединены ребрами, имеющими встречные направления). Такая сеть не требует явного использования событий начала и окончания работ как элементов сети. Контрольные события могут вводиться по мере необходимости и рассматриваться как работы с нулевой длительностью. При построении сетевой модели нужно предусмотреть хотя бы два события – начало проекта (НП) и конец проекта (КП).

Информационные блоки сети «Р-В» Для отображения расчетных параметров в сети Р-В используются информационные блоки, Информационные блоки сети «Р-В» Для отображения расчетных параметров в сети Р-В используются информационные блоки, которые одновременно служат для обозначения вершин.

Преобразование сети «Р-Д» в сеть «Р-В» ID работы НП 1 -2 1 -4 1 Преобразование сети «Р-Д» в сеть «Р-В» ID работы НП 1 -2 1 -4 1 -3 2 -4 2 -6 3 -5 4 -6 5 -7 6 -7 Длит-ть 0 5 7 6 4 8 3 5 8 Предшест венники нет НП НП НП 1 -2 1 -3 1 -4, 2 -4 3 -5, 4 -5 2 -6, 4 -6

Прямой расчет сети «Р-В» Расчет раннего начала каждой из работ производится в цикле. Раннее Прямой расчет сети «Р-В» Расчет раннего начала каждой из работ производится в цикле. Раннее начало работы определяется как максимальное значение поля «ранний конец» среди множества работ-предшественников текущей работы: ESi+1 = max(EFi). Ранний конец для текущей работы, определяется как сумму ее раннего начала и длительности: EFi = ESi + Di. Дойдя в цикле до конца проекта, присваиваем следующие значения работе «КП» : LSКП = ESКП ; LFКП = EFКП.

Обратный расчет сети «Р-В» Обратный расчет выполняется в цикле по работам, начиная от конца Обратный расчет сети «Р-В» Обратный расчет выполняется в цикле по работам, начиная от конца проекта к его началу. На каждом шаге определяется срок позднего начала и позднего окончания работы по формулам: - позднее начало для текущей работы равно разности между поздним ее окончанием и длительностью или: LSi = LFi – Di. - поздний конец для текущей работы равен минимальному значению позднего начала среди работ-последователей: LFi-1 = min(LSi).

Определение временных резервов работ в сети «Р-В» Они определяются как разности между сроками позднего Определение временных резервов работ в сети «Р-В» Они определяются как разности между сроками позднего и раннего окончания работ: TFi = LFi - EFi. Критический путь в сети проекта определяется как множество работ, имеющих нулевой резерв времени (TFi = 0 )

Некоторые определения по итогам расчетов - раннее начало работы – наиболее ранний момент времени, Некоторые определения по итогам расчетов - раннее начало работы – наиболее ранний момент времени, в который работа может быть начата по условиям сети проекта; - ранний конец работы – наиболее ранний момент времени, в который работа может быть окончена по условиям сети проекта и длительности работы; - поздний конец работы - наиболее поздний момент времени, в который работа может быть закончена без задержки срока окончания проекта; - позднее начало работы - наиболее поздний момент времени, в который работа может быть начата без задержки срока окончания проекта; - резерв времени – время, на которое может быть задержано окончание работы относительно ее раннего окончания без задержки срока окончания проекта; - критическая работа – работа проекта, имеющая нулевой резерв времени; - критический путь – последовательность работ проекта, имеющих нулевой резерв времени и связанных отношением «предыдущий – последующий» .

Целевые даты целевое окончание - срок окончания проекта, заданный как цель, которую необходимо достигнуть Целевые даты целевое окончание - срок окончания проекта, заданный как цель, которую необходимо достигнуть при планировании и реализации проекта. Целевым образом может задаваться не только окончание, но и начало как проекта, так и работы. Пример 1: для рассмотренного проекта срок окончания – 20 -й день от его начала: LFКП = 20. Влияние целевой даты окончания проекта на расчет сети

Целевые даты. Пример 2 Внешние ограничения: -целевое окончание проекта не задано, - работа 2 Целевые даты. Пример 2 Внешние ограничения: -целевое окончание проекта не задано, - работа 2 -6 начинается не ранее 12 дня с начала проекта. Целевой срок начала работы 2 -6 должен быть учтен в соответствии с определением раннего начала работы как наиболее раннего из возможных по условиям сети и ограничениям проекта. Влияние целевой даты начала одной из работ на расчет сети

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

Уточнение определений - раннее начало работы – наиболее ранний момент времени, в который работа Уточнение определений - раннее начало работы – наиболее ранний момент времени, в который работа может быть начата по условиям сети проекта и с учетом всех ограничений проекта; - ранний конец работы - наиболее ранний момент времени, в который работа может быть окончена по условиям сети проекта, длительности работы и с учетом всех ограничений проекта; - критическая работа – работа проекта, имеющая нулевой или отрицательный резерв времени; - критический путь – подмножество работ проекта с нулевыми или отрицательными временными резервами.

Классификация целевых дат 1. Целевая дата «не раньше чем» : начало или конец работы Классификация целевых дат 1. Целевая дата «не раньше чем» : начало или конец работы не может наступить раньше указанной даты. Если расчет сети дает более ранний результат, работа будет задержана. Если расчет сети дает более поздний результат, целевая дата не окажет влияния. 2. Целевая дата «не позже чем» : начало или конец работы не может наступить позже указанной даты. Если расчет сети дает более ранний результат, целевая дата не окажет влияния. Если расчет сети дает более поздний результат, то целевая дата будет проигнорирована, а работа получит отрицательный резерв времени. 3. «Закрепленная» целевая дата: в данном случае условия «не раньше чем» и «не позже чем» применяются одновременно (но для одной указанной даты). Целевая дата данного вида оказывает влияние на сеть проекта во всех случаях. Если расчет сети дает более ранний результат, целевая дата задержит работу. Если расчет сети дает более поздний результат, целевая дата будет проигнорирована, но работа получит отрицательный резерв. 4. «Фиксированная» целевая дата жестко привязывает соответствующее событие проекта к указанной дате и не позволяет ему отклоняться от нее независимо от результатов расчета сети.

Типы связей между работами В сети типа «Р-В» протяженная во времени вершина имеет две Типы связей между работами В сети типа «Р-В» протяженная во времени вершина имеет две стороны - «начало» и «конец» . Ребра могут входить в вершину и выходить из нее как со стороны начала, так и со стороны конца. Связь типа «конец-начало» : Связь типа «конец-конец» : Моделируется требования, что работа 2 должна выполняться таким образом, чтобы закончиться вместе с работой 1. Такая связь применяется для выравнивания стартовых условий для работы 3, следующей за работами 1 и 2 и использующей результаты этих работ.

Типы связей между работами Связь типа «начало-начало» Работа 2 должна начаться одновременно с работой Типы связей между работами Связь типа «начало-начало» Работа 2 должна начаться одновременно с работой 1. Работа 2 может быть неким вспомогательным процессом, выполнение которого требуется в следствие выполнения работы 1, либо работа 2 требует специальных условий, выполнение которых обеспечивается работой 1. Связь типа «начало-конец» В момент начала работы 1 работа 2 должна закончиться. Предшественником в данной паре является по-прежнему работа 1, не зависящая от того закончилась ли работа 2. Таким образом, данный тип связи выражает некоторое сослагательное требование.

Лаги связей Связи между работами могут иметь ненулевую длительность, что отражает ситуацию необходимой или Лаги связей Связи между работами могут иметь ненулевую длительность, что отражает ситуацию необходимой или объективной технологической задержки между выполнением последовательных работ. Лагом в сети Р-В называется ненулевая длина ребра (дуги) Если работа 2 выполняется через 5 дней после окончания работы1, то говорят, что работы имеют связь типа «начало-конец» с лагом в 5 дней. Сочетание различных видов связей и лагов позволяет моделировать все мыслимые отношения между работами в проекте, но одновременно усложняет расчет длительности и критического пути. Пример1. Связь типа «конец-начало» с лагом: При прямом и обратном расчетах раннее и позднее начала текущей работы должны определяться с поправкой на лаг связи: ESi+1 = max(EFi + Li), LFi = min(LSi+1 – Li).

Лаги связей Пример2. Связь типа «начало-начало» с лагом ESi+1 = max(EFi + Li. КН), Лаги связей Пример2. Связь типа «начало-начало» с лагом ESi+1 = max(EFi + Li. КН), max(ESi+Li. НН)), где Li. КН – лаги связей типа конец-начало, Li. НН – лаги связей типа начало-начало. Таким образом, раннее начало i+1 работы определится как максимальное значение, определяемое входящими связями. При этом связи типа «начало-начало» учитываются суммированием лага с ранним началом предшествующей работы. Лаг учитывается со своим знаком. При обратном расчете связь типа «начало-начало» не определяет значения позднего окончания предшествующей работы, а определяет значение ее позднего начала: LSi = LSi+1 – Li.

Лаги связей Пример 3. Влияние одновременного сочетания разнотипных связей на расчет сроков выполнения работ Лаги связей Пример 3. Влияние одновременного сочетания разнотипных связей на расчет сроков выполнения работ Если i-ая работа имеет других последователей, расчет которых дает другие значения LSi и LFi, то окончательно должны быть приняты значения, наименьшие из возможных. : LFi = min(LSi+1 – Li. КН), min(LSi+Di)).