91 пара натуральных чисел (i, j). Первое число из этой пары задает частичный порядок выполнения шагов, второе число определяет уникальный номер шага проекта, на котором выполняется эта задача. Tasks — размеченное множество вершин графа, где множества меток, сопоставленных задачам, не пересекаются, т. е. V task-namelsl, task-name2S2GTasks (task-name 1 Ф task-name2 —>SlCS&S2CS&SlPlS2 = 0) Разметка вершин, соответствующих шагам проекта. 3 task-name2(l,K2) £ Tasks 3 task-name 1(1'1,К1) G Tasks (Project-steps (K2, task-name2,...) & Project-steps (Kl, task-name 1,...) & Previous (Kl, K2) & V task-name3(t,K3) Tasks (Project-steps (КЗ, task-name3,...) & Previous (КЗ, K2) —* i-1 > t)) . Вершина графа task-name2 помечена меткой (i,K2) тогда и только тогда, когда существует вершина графа task-name 1 (возможно, совпадающая с taskname2), помеченная меткой (i-l,Kl), и в реляционной модели плана проекта определены шаги с номерами К1 и К2, на которых выполняются задачи taskname 1 и task-name2 соответственно, причем установлено, что шаг с номером К1 должен выполняться перед шагом с номером К2 и для каждой вершины графа task-патеЗ, помеченной меткой (t,K3), определен шаг с номером КЗ, на котором выполняется задача task-патеЗ и который должен выполняться перед шагом с номером К2; при этом первый индекс метки (i-l,Kl) не меньше первого индекса метки (t,K3). Тем самым при построении разметки из всех меток вершин-задач предшествующих шагов выбирается метка с наибольшим первым индексом, указывающим на наиболее позднее выполнение задачи. |
71 чисел (i j). Первое число из этой пары задает частичный порядок выполнения шагов, второе число определяет уникальный номер шага проекта, на котором выполняется эта задача. Tasks — размеченное множество вершин графа, где множества меток, сопоставленных задачам, не пересекаются, т. е. V task-name 1S1, task-name2S2eTasks (task-name 1 task-name2 —> SlcS & S2c=S & SlnS2 = 0 ) Везде ниже шаг К, на котором выполняется задача task-name, и очередность выполнения которого задана числом t, обозначается task-name(,,K). Правило 1. Разметка вершины, соответствующей начальному шагу проекта. 3! task-name{0} е Tasks <-» 3 step (Project-steps (step, task-name,...) & Starting-step (step) ) Примечание. Здесь и далее символ "..." в отношении означает вхождение множества анонимных свободных переменных. Комментарий. Вершина графа task-name помечена множеством меток {0} и является начальной вершиной т. и тт., когда в реляционной модели плана проекта определен шаг, на котором выполняется задача с именем task-name, и этот шаг является первым. Правило 2. Разметка вершин, соответствующих остальным шагам проекта. 3 task-name2(l,K2) е Tasks <-> 3 task-namel(,'1,K1) е Tasks (Project-steps (К2, task-name2,...) & Project-steps (К 1, task-name 1,...) & Previous (Kl, K2) & V task-name3(t,K3) e Tasks (Project-steps (КЗ, task-name3,...) & Previous (КЗ, K2) -> i-1 > t) ) . 72 Комментарий. Вершина графа task-name2 помечена меткой (i,K2) т. и тт., когда существует вершина графа task-name 1 (возможно, совпадающая с taskname2), помеченная меткой (i-l,Kl), и в реляционной модели плана проекта определены шаги с номерами К.1 и К2, на которых выполняются задачи taskname 1 и task-name2 соответственно, причем установлено, что шаг с номером К1 должен выполняться перед шагом с номером К2 и для каждой вершины графа task-патеЗ, помеченной меткой (t,K3), определен шаг с номером КЗ, на котором выполняется задача task-патеЗ и который должен выполняться перед шагом с номером К2; при этом первый индекс метки (i-l,Kl) не меньше первого индекса метки (t,K3). Тем самым при построении разметки из всех меток вершин-задач предшествующих шагов выбирается метка с наибольшим первым индексом, указывающим на наиболее позднее выполнение задачи. 2.5.3. Пример разметки статического графа 1. Описание фрагмента плана как последовательности шагов (рис. 2.2). : Для каждого шага проекта указывается идентификатор шага и имя j выполняемой задачи. ! Step8 SteplOp—> SteP12 ~>^t~epl3 Step9 Stepll Step2 f-> Step5 Step3 [ Step6 Step4~j—>j Step7 Рис. 2.2. Графическое представление фрагмента плана как последовательности шагов Стрелки соответствуют отношению Previous (см. раздел 2.3.2.3), заданному на множестве шагов. Комментарий к рис. 2.2, Ниже представлен список шагов изображенного фрагмента плана проекта и соответствующих этим шагам задач. |