![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Построение сетевого графика по заданной упорядоченности работ ⇐ ПредыдущаяСтр 4 из 4
Будем считать, что задан перечень работ, в совокупности составляющих некоторый проект:
(Работы пронумерованы и в дальнейшем ссылаемся на каждую работу по ее порядковому номеру). Предположим далее, что для каждой работы j (1≤ j ≤ n) указаны ее непосредственные предшественники, то есть множество работ, выполнение которых является необходимым условием для начала работы j. Пример.
Таблица 1
Требуется построить сетевой график, соответствующий заданной упорядоченности работ. Процедура построения сетевого графика распадается на несколько этапов. I. Транзитивное замыкание отношения предшествования. Если работа i предшествует работе j, а работа j предшествует работе k, то, очевидно, работа i должна завершиться до начала работы k. Множество работ называется замкнутым (по транзитивности), если вместе с каждой работой оно содержит и всех ее предшественников. Наименьшее замкнутое множество, содержащее множество работ М, называется транзитивным замыканием М. На этапе I для каждого множества предшественников работы j строится его транзитивное замыкание. Оно будет состоять из всех работ i, для которых можно найти цепочку работ j1, j2, … jp, такую, что i предшествует j1, j1 предшествует j2 , … jp предшествует j. Будем называть эти множества полными предшественниками работы j. Продолжение примера. Полные предшественники для 7 работ рассматриваемого выше примера приведены в таблице 2.
Таблица 2
Среди построенных множеств встречаются одинаковые. Найдем все различные множества полных предшественников и обозначим их
Продолжение примера. В рассматриваемом примере полагаем
Построением множеств (1) заканчивается этап I.Каждому из множеств II. Построение конституент для множеств полных предшественников. Пусть
будем называть разбиением на конституенты, если каждое из множеств (5) полных предшественников можно представить в виде объединения некоторых конституент. Продолжение примера. Пусть в рассматриваемом примере
Тогда
( Построением множеств (2) заканчивается этап II. Каждому из множеств Ш. Построение сетевого графика. а) Вершинами сетевого графика служат построенные множества б) Работа
![]() Рис. 1
в) Сетевой график содержит также пустые дуги, помогающие обеспечить требуемую упорядоченность работ. Эти дуги не соответствуют работам (или можно считать, что они изображают работы с нулевым временем выполнения) и называются фиктивными. Фиктивные дуги проводятся следующим образом: для каждого представления множеств проводятся фиктивные дуги из каждой вершины Продолжение примера. Фиктивные дуги, соответствующие представлениям (7) для рассматриваемого нами примера показаны на рис. 2.
Рис. 2
Чтобы выяснить роль фиктивных дуг, рассмотрим, например, работу 4. Изображающая ее дуга начинается в вершине IV. Упрощение графа. Граф, построенный на предыдущем этапе можно упростить, удаляя из него некоторые фиктивные дуги (иногда все). Для этого применяются следующие два правила. 1°. Если фиктивная дуга соединяет вершины, между которыми есть другой путь, то эту дугу следует удалить. 2°. Если единственная дуга, выходящая из вершины (входящая в вершину) является фиктивной, то эту дугу следует удалить и слить ее концы в одну вершину. Фактическое построение сетевого графика удобно совмещать с упрощениями 1°, 2°. Покажем как строится сетевой график в рассматриваемом примере. Работы помещаются на сетевой график в порядке их появления в исходной таблице, при этом одновременно производятся упрощения. Продолжение примера. Работы 1 и 2 начинаются в
Рис. 4. Этап 1
Так как фиктивная дуга является единственной входящей в
Рис. 5 В вершине (
Рис. 6
Дугу от
Рис. 7
|