Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bolshaya_Shpargalka.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
5.26 Mб
Скачать

Вопрос №6. Стохастические сетевые модели. Методы gert, caan, gaan

(много информации, читайте, пишите только необходимое)

Стохастическая (случайная) сеть.

Традиционно для данной сети используется модель АоА - входящие работы, событие, исходящие работы

Ее можно использовать для перераспределения средств в соответствии со сложившейся ситуацией в проекте (на каждой стадии реализации).

Ст. сети сложнее детерминированных (CPM, PERT), но позволяют рассматривать различные варианты зависимостей между событиями в одной сети, а также свободно выбирать в процессе реализации проекта пути его развития, отличающиеся от определенных заранее.

Стохастические сетевые технологии могут применяться везде, ге используется технология PERT. Они предоставляют гораздо большие и разнообразные возможности анализа реальности. Вводятся вероятностные типы событий в форме логических объединений работ операцией «ИЛИ», позволяющие рассматривать альтернативные решения.

Это событие «ИЛИ» впервые предложил Х. Эйснер в 1962г. До того различные варианты событий требовали отдельного планирования.

GERT (graphical evaluation and review technique)

  • GERT – это стохастическая сеть

  • По аналогии с PERT длительность работ является случайной величиной

  • В GERT не учитываются ограничения на ресурсы (напомню, что в CPM ограничения на ресурсы отсутствуют, в PERT ограничения не ресурсы не учитываются)

  • В GERT допускаются контуры и петли

В GERT событие разделено на две части. Одна часть отвечает за входящие события, другая часть отвечает за исходящие события.

Опыт показывает, что более эффективным является введение в сеть всеж вероятных альтернатив работ до начала реализации проекта, чем корректировка сетив процессе реализации.

Схема применения:

  1. Описание проекта стохастической сетью

  2. Сбор числовых данных, характеризующих каждую дугу сети

  3. Минимизация построенной сети

  4. Преобразование замещающей сети (функции) к форме, позволяющей определить длительности и вероятности реализации проекта, а также расчет длительностей и вероятностей.

  5. Анализ и оценка результатов упрощенной сети

В сети существует 2 типа событий: детерминированные (в виде окружности) и вероятностные (в виде «капли»). Дуги, выходящие из детерминированных событий имеют вероятность реализации р=1 (должны быть выполнены, чтобы проект был реализованным), но из всех ветвей, выходящих из вероятностного события только одна будет достаточной для доведения проекта до логического завершения.

Входы:

  • Вершины типа «И» - для событий, которые наступают, когда все предшествующие им работы окажутся выполненными

  • Вершины типа «ИЛИ» - для событий, которые наступают, когда хотя бы одна их предшествующих им работ окажется выполнена.

  • Вершина типа «исключающее ИЛИ» - для событий, которые наступают, когда будет выполнена ровно одна из предшествующих работ. Событию предшествуют взаимоисключающие события.

Выходы:

  • «И» - детерминированный выход, связанный с событиями, наступление которых означает выполнение всех следующих за такими событиями работ. (если событие наступает, то запускаются все работы которые из него выходят(данное событие наступает только тогда, когда все входящие работы выполняются)).

  • «ИЛИ» - вероятностный выход, связанный с событиями, наступление которых ведет за собой выполнение, как минимум, одной из следующих за ним работ. Сумма их вероятностей на выходе должна быть равна 1.

Описание стороны выхода может иметь характер решающей функции. После наступления события в соответствии с это функцией определяется судьба следующих за ним работ. Сумма вероятностей, соответствующих каждой ветви, выходящей из вероятностного события должна быть равна 1.

Альтернативные работы: это работа, кот. выходит из события и обратно в него входит, например НИОКР: если нуждаемся в доработке, то повторяем опытно-конструкторские работы и соответственно возвращаемся возвращаемся на начало события. р1,р2,р3 - вероятности того что работы будут выполняться. (только 1 из них будет выполняться на выходе из события).

CAAN: Combinatorial and Algorithmic Aspects of Networking.

Автор: Дмитрий Голенко-Гинзбург (1973)

  • это гибрид DCPM и GERT . задача здесь сложно решается, т.к. идет перебор всех вариантов (алгоритм CAAN). данная модель является промежуточной.

  • Сетевой граф AoA с одним начальным событием и минимум 2-мя конечными

  • Основан на GERT и также включает в себя вершины:

  • Детерминированные

    • Событие наступает когда только предыдущие работы выполнены

    • Наступает, когда только 1 из работ выполнена

  • Стохастические

    • Инициирует запуск 1 из работ с некоторой вероятностью

    • Наступает тогда и только тогда, когда 1 из работ завершена и инициирует только 1 работу

  • Работы, выходящие из стохастических вершин, могут выбираться случайно (стохастические работы) или человеком (альтернативные работы)

  • Из одной вершины могут выходить работы только одного типа: либо детерминированные, либо стохастические, либо альтернативные

В модели CAAN целевой функцией является время выполнения проекта, а ограничением – его стоимость, либо наоборот. Принятие решений сводится к выбору направления хода работ по проекту в каждой из последовательно достигаемых вершин типа «И – ИЛИ» , поскольку вершины a носят неконтролируемый характер.

Таким образом, оптимальная задача решается на следующих этапах:

  1. Построение графа исходов

  2. Выделить из дерева исходов все совокупные варианты и допустимые планы. Процесс начинается при t = 0 , то есть до начала реализации проекта.

      • Формирование графа, содержащего только

      • стохастические вершины (α-frame)

      • Определение макс.путей в новом графе

      • Определение допустимого плана

  3. Определить для каждого из совокупных вариантов значения целевой функции и ограничений (обычно в виде математических ожиданий).

  4. Определить оптимальный совокупный вариант и управлять проектом по оптимальной траектории (то есть, по оптимальному направлению) до следующей ветвящейся вершины детерминированного типа. В этой вершине вновь решить оптимальную задачу для усеченной (обновленной) модели дерева исходов, начиная с этапа 1. Процесс управления повторяется до окончания реализации проекта.

Пример:

П редполагается редуцировать расчеты CAAN к модели GERT. В основном это делается перебором.

Применение:

  • Министерство авиации для планирования R&D проектов, система автоматизации – КОМПАС

  • Центральный ленинградский оптический институт

  • Проектирование химических заводов в Израиле

GAAN (generalized alternative activity network)

Автор: Дмитрий Голенко-Гинзбург (1997)

  • Модель GAAN является обобщением модели CAAN.

  • Это модель более общего вида, в частности, допускающая наличие вершин, из которых могут одновременно выходить несколько операций различных типов.

  • Cамая всеобъемлющая модель после SATM (СОВНЕТ). 

  • PERT, GERT являются частными случаями GAAN

Все вершины, входящие в CAAN, могут относиться либо к детерминированному, либо к стохастическому классу, но никогда не к нескольким классам одновременно. Именно последнее имеет место в модели GAAN.

Модель GAAN есть конечный, ориентированный, сетевой граф со следующими свойствами:

  1. GAAN имеет одну корневую вершину и не менее двух висячих вершин.

  2. Каждая операция класса GAAN относится к одному из трех типов, а именно:

  • Тип I. Операция (i, j) - операция сети PERT: «И» на выходе вершины i и на входе вершины j . (PA)

  • Тип II. Операция (i, j) - альтернативная стохастическая реализация: реализует «исключающее или» на выходе точки i . (ASA)

  • Тип III. Операция (i, j) - детерминированная альтернативная реализация с «исключающим или» в точке i . (ADA)

3. Операции всех трех типов могут выходить из одной и той же вершины. Именно это делает сеть GAAN не вполне разделимой.

Цель – обобщить в себе все существующие модели.

Отличия заключаются в логике построения:

- логика применяется не к входам и выходам, а к работам.

PA – обязательно для выполнения, но имеет случайную продолжительность.

ASA – выбирается компьютером

ADA – выбирается человеком.

Эта картина преобразовывается в :

РА – как активные работы с нулевой продолжительностью.

Всё это сводится к модели CAAN, а затем к GERT.

Билет № 7. Понятие критической работы в стохастических моделях и индексы критичности

Критическая работа в СРМ – та, которая лежит на критическом пути (т.е. самом длинном), и резерв которой равен нулю.

НО! В моделях стохастических такое определение критич. работы не подходит, т.к. любой путь может стать критическим, а как следствие, теоретически любая работа может быть критической.

CI (criticality index) – индекс (0 до 1), отражающий отношение количества попадания работы на критический путь к общему числу симуляций (монте-карло).

  • PCI (Path Criticality Index) – вероятность того, что путь является самым длинным в сети.

Пусть П={πh} – набор всех путей в сетевом графике, а L(πh) – случайная переменная, которая равна длительности пути πh. Тогда L(πh)=∑tϵ πhdi где di – случайная переменная, равная длительности работы i.

Тогда индекс критичности для пути πh будет равен

  • Activity criticality index (ACI) = вероятность, что конкретная работа попадет на критический путь

Для вычисления АСI, нужно (3 шага):

  1. Рассчитать PCI для всех путей

  2. Найти пути, содержащие данную работу

  3. Посчитать ACI путем сложения значений PCI всех путей, куда она входит.

Однако, 3ий шаг сложен в расчетах ввиду взаимосвязей путей, пересечений и проч. Поэтому умы современности придумали несколько методов:

  • Аналитические подходы (использовать приблизительные оценки;

  • использовать вероятностн.модели для нахождения «более приоритетного критического пути» и пр.), или использовать Монте-Карло.

Но некто Willams не был доволен индексом ACI по ряду причин:

- проджектменеджерам информация идекса ACI не очень понятна, т.к. они не мыслят в терминах «вероятностей»,

- индекс не может быть использован в условиях ограничений на ресурсы

- может давать результаты, которые противоположны интуитивным оценкам менеджеров (странный минус, ну да ладно).

Свои замечания он проиллюстрировал

Ниже – 2 независимые работы.

Получается, что работа 1 – ОЧЕНЬ критичная (ACI 1 = 99%). И если мы начнем корректировать длительность работы 1, то она (как всем ясно) станет более критичной, но от этого значение ACI не изменяется, а должно => ACI не годится, по мнению Willams, и он предложил индексы критичности.

Индекс критичности работы (SI, Significance index):

TF(ij) = tj(L) – ti(Е) – yij, yij – длительность реализации работы ij, TF – полный (свободный?) резерв? T – время завершения проекта, E[T] – ожидаемое время завершения проекта. Tj(E), Tj(L) – раннее возможное и позднее разрешенное время выполнения работы – события j.

Для приведенного примера выше, получаются след.результаты:

Но! Не тут-то было. Некто Elmaglharby раскритиковал индекс SI (т.к. опять получаются равные значения индекса для работ, очевидно разных по значимости для проекта (ex: 1 работа длительностью 100, 2я работа – 10 (вер-ть 0,5) или 20 (вер-ть 0,5), а SI1=SI2=1), и Willams решил доработать свой индекс, поэтому мы можем наслаждаться ещё одним:

Индекс критичности (CRICritically Index),который равен абсолютному значению корреляции между длительностью работы di и полной длительностью проекта T.

Где для 2 случ.пересенных корреляция и ковариация соответственно равны:

У CRI 2 больших плюса:

1. возможность использовать при наличии ограничений на ресурсы

2. может использоваться не только для длительности работ, но и для др.неопределенных аспектов проекта. В качестве примера – stochastic branches in generalized activity networks – понятия не имею, что это.

Однако не всё так хорошо. Упомянутый выше Elmaglharby нашел и в CRI ряд недостатков:

  1. Он измеряет только линейную зависимость м\д продолжительностью проекта и работы, но эта зависимость может быть и нелинейной

  2. Требует больших вычислительных возможностей, т.к. много работ и, соотв-но, много взаимосвязей

  3. что-то связанное с тем, что если продолжительность работы имеет малую вариацию, то CRI для нее близок к 0, даже если она на критическом пути.

Вопрос № 8. Классификация моделей с ограничениями на ресурсы.

Используются тогда, когда неприменим CPM, потому что в качестве ограничения еще добавляются ресурсы.

Перед моделями с ограничениями на ресурсы ставятся следующие цели:

  • RCPSP (Resource-Constrained Project Scheduling Problem). Минимизировать продолжительность проекта при ограничениях на ресурсы. Т.е. тут ресурсы фиксированы, а продолжительность проекта мы хотим сократить.

  • Минимизировать использование ресурсов при заданной продолжительности проекта (выравнивание ресурсов). Тут время проекта фиксировано, и мы хотим уменьшить использование ресурсов.

  • TCTP (Time Cost Tradeoff Problem). Задача нахождения компромисса между продолжительностью проекта и использованием ресурсов. Тут ничего не фиксировано, но мы хотим найти компромисс такой, чтобы мы потратили как можно меньше ресурсов и сделали проект как можно быстрее.

Ресурсы бывают:

  • Возобновляемые

  • Не возобновляемые

Классификация моделей и проблем

Не возобновляемые ресурсы: CPM-COST, DTCTP; PERT-COST; DTCTP; GERT_COST, TCTP

Возобновляемые ресурсы: RSPSP,TRTP; CC/BM; MRCPSP

RCPSP (Resource-Constrained Project Scheduling Problem) – занимается расчетом расписания проекта с ограничением на ресурсы.

RCPSP решает две задачи:

  1. Когда продолжительность работ не зависит от количества ресурсов

  2. Когда продолжительность работы зависит от количества ресурсов

При условиях если:

  • Ограничен только один возобновляемый ресурс

  • Ограничено m возобновляемых ресурсов, каждая работа может использовать только один ресурс

  • Ограничено m возобновляемых ресурсов, каждая работа может использовать несколько ресурсов

α | β | γ

ресурсы | работы | целевая функция

Точные методы решения RCPSP

  • Линейное программирование с использованием симплекс-метода для нахождения оптимального решения

  • Целочисленное линейное программирование с использованием метода ветвей и границ для нахождения оптимального решения

  • Решение нелинейной оптимизационной задачи

Постановка задачи ЦЛП

Целевая функция – минимизация даты завершения последней работы

Ограничения:

  • Отношения предшествования

  • Ограничения на ресурсы

TCTP

Ключевая проблема – нахождение компромисса между продолжительностью и стоимостью проекта.

Задачи для решения

    1. Нахождение такого расписания проекта с заданной продолжительностью (навязанный финиш), которое позволит минимизировать стоимость его исполнения.

    2. Нахождение такого расписания проекта с заданным бюджетным ограничением, которое позволит минимизировать продолжительность его выполнения.

Методы решения CPM-COST, Метод Гояла, ЗЛП

DTCTP

  • Работы имеют конечное число режимов выполнения (modes).

  • Задачи DTCTP могут быть сформулированы как задачи целочисленного линейного программирования (ЦЛП), которые могут быть решены методом ветвей и границ.

  • Точное решение проблемы занимает время, сравнимое с полным перебором всех возможных вариантов.

  • Для нахождения приемлемых решений следует применять эвристические методы, например, модель DCPM.

Расширенные задачи DTCTP

  • DTCTP-tsc (time-switch constraints)

  • DTCTP-wc (work continuity constraints)

  • Задача максимизации NPV

CPM-COST

Основная идея: Применение дополнительных средств и ресурсов может сократить продолжительность критического пути.

Основная цель: Ускорить время реализации проекта при минимальных затратах.

Алгоритм

  • Расчет модели и определение критического пути

  • Расчет градиента издержек для каждой работы критического пути

  • Исключение из полученного списка тех работ, у которых отсутствует градиент издержек

  • Начало процесса сокращения длительности работ с критической работы, которая имеет наименьший градиент издержек

  • Отслеживать возможное появление нового критического пути

  • Если в сети имеются два и более критических пути, то следует сокращать длительности на одну и ту же величину на всех параллельных критических путях.

TRTP

TRTP - основная задача - выбрать решение с минимальными временными и ресурсными затратами. Возникает тогда, когда есть один возобновляемый ресурс, например, мы рассчитываем расписание с указанием человеко-дней. проблема TRTP может решаться методом 1) ветвей и границ 2) местного поиска 3) самого резкого спуска (лучшее решение в окрестности) 4) быстрейшего спуска (поиск более подходящего решения среди соседей до первого найденного) 5) метод случайных итераций 6) поиск с запретами

Билет №9. Одновременная оптимизация проекта про времени и стоимости. Постановка задачи линейного программирования.

Значительный интерес представляет оптимизация сетевых графиков по времени и стоимости, в процессе которой решается вопрос, как уложиться в заданные ограничения по времени с минимальными дополнительными затратами. Оптимизация по времени и стоимости осуществляется с помощью PERT-COST.

Например, известно, что если сокращается продолжительность строительства, то при одновременном снижении накладных расходов прямые расходы возрастают. Функциональная зависимость между продолжительностью работ и их стоимостью пока точно не определена. Поэтому рассмотрим зависимость «время-стоимость» ( с учетом прямых затрат), которая может быть определена условно.

Как видно из рисунка, точка А соответствует наикратчайшему сроку выполнения данного проекта, то есть сроку, при котором все работы проводятся в предельно сжатые сроки.

Точка В соответствует нормальной продолжительности работ.

Затраты в точке А, так же как срок, считаются предельными: их дальнейшее увеличение лишь в очень незначительной степени повлияет на сокращение сроков. Затраты в точке В являются нормальными.

Прямая линия, соединяющая точки Аи В, точнее степень наклона этой прямой, и является характеристикой изменения величины прямых затрат при изменении продолжительности работ на единицу времени. Величина наклона для каждой единицы времени является величиной постоянной, так как мы приняли линейную зависимость между продолжительностью и стоимостью работ.

Величина наклона прямой определяется дробью, в числителе которой- разность между затратами в предельном и нормальном режимах, а в знаменателе- разность между продолжительностью работы в нормальном и предельном режимах. Для прямой, изображенной на рис. Эта величина составит:

(70-60): (24-16)= 1, 25 (тыс. Руб./день)

Также формулу можно записать так:

𝑔𝑟𝑎𝑑𝑖=𝑐𝑖−𝑐𝑖𝑑𝑖−𝑑𝑖>0

Для проведения оптимизации необходимо по каждой работе определить предельные и нормальные сроки выполнения, а также предельные и нормальные величины затрат. После этого методом последовательного приближения достичь заданного предельного срока за счет сокращения продолжительности критических работ, имеющих наименьшую величину удорожания.

Задачи для решения

  1. Нахождение такого расписания проекта с заданной продолжительностью (навязанный финиш), которое позволит минимизировать стоимость его исполнения.

  2. Нахождение такого расписания проекта с заданным бюджетным ограничением, которое позволит минимизировать продолжительность его выполнения.

Другие варианты решения

Эвристический метод CPM-COST

  • Основная идея: Применение дополнительных средств и ресурсов может сократить продолжительность критического пути

  • Основная цель: Ускорить время реализации проекта при минимальных затратах.

Алгоритм

  • Расчет модели и определение критического пути

  • Расчет градиента издержек для каждой работы критического пути

  • Исключение из полученного списка тех работ, у которых отсутствует градиент издержек

  • Начало процесса сокращения длительности работ с критической работы, которая имеет наименьший градиент издержек

  • Отслеживать возможное появление нового критического пути

  • Если в сети имеются два и более критических пути, то следует сокращать длительности на одну и ту же величину на всех параллельных критических путях.

Усовершенствованный метод (Goyal, 1996)

  1. Определение всех полных путей, которые нужно сократить (длина которых более требуемой продолжительности проекта)

  2. Расчет градиента для всех работ (которые входят хотя бы в один путь, найденный выше)

  3. Принятие решения о сокращении той работы, у которой наименьшее соотношение градиента и количества путей выбранных для сокращения, в которой присутствует эта работа

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

  5. Повторять с шага 3 до тех пор, пока не сократятся все выбранные пути. Отношение градиента к количеству путей из шага 3 необходимо пересчитывать, когда сокращается общее количество путей к сокращению в результате работы алгоритма.

Задача линейного программирования №1

𝐶 (𝑑1, …, 𝑑𝑛, 𝑠𝑛) = сумма (𝑏𝑖𝑎𝑖𝑑𝑖) +𝑐0∙𝑠𝑛min

  1. 𝑠𝑖+𝑑𝑖≤𝑠𝑗 если работа i предшествует работе j

  2. 𝑠1=0 ограничение на начало проекта

  3. 𝑠𝑖≥0 для каждой работы i

  4. 𝑑𝑖≤𝑑𝑖≤𝑑𝑖 для каждой работы i

  5. 𝑠𝑛≤𝛿𝑛 – дата навязанного финиша

Задача линейного программирования №2

𝒔𝒏→𝐦𝐢𝐧

  1. 𝑠𝑖+𝑑𝑖≤𝑠𝑗 если работа i предшествует работе j

  2. 𝑠1= 0 ограничение на начало проекта

  3. 𝑠𝑖≥0 для каждой работы i

  4. 𝑑𝑖≤𝑑𝑖≤𝑑𝑖 для каждой работы i

  5. 𝐶𝑑1,…,𝑑𝑛,𝑠𝑛≤𝐶𝑚𝑎𝑥 – бюджетное ограничение

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]