Математические методы и система поддержки принятия решений на основе неформализованных экспертных данны (1187401), страница 6
Текст из файла (страница 6)
Дисперсию, тем не менее,по-другому посчитать не получится, поскольку компоненты смеси являютсявзаимозависимыми случайными величинами, а значит, мы не можемвоспользоваться свойством линейности дисперсии (т.к. появляются слагаемыековариации компонент смеси).Просуммировавполученныевеличины,получимпараметрыраспределения суммы , . Зная параметры распределения , и величину –уровень доверия, несложно вычислить предполагаемые интервалы датокончания всего проекта.39Для этого можно воспользоваться подходом описанном в предыдущемпункте. Но поскольку мы имеем всего одну оценку и, кроме того, мы знаемточный вид распределения, то существует более простой и быстрый способнайти оценку.По сути нам нужно найти наикратчайший отрезок, интеграл по которомуот плотности распределения будет равен .Учитывая, что нормальноераспределение симметрично относительно ª и, что значение плотностираспределения монотонно убывает при удалении от ª , то искомый интервалбудет так же симметричен относительно ª .
Таким образом, мы можем искатьлишь половину интервала, например в сторону большую, чем ª .Нам достаточно численно решить следующее уравнение: − (ª ) = /2Рис. 2 Нахождение интервала дат из нормального распределенияОбозначив решение уравнения как ∗ и введя обозначение Δ = ∗ −ª , получим интересующий нас интервал дат всего проекта: ª − Δ, ª +Δ .Замечание: для того, чтобы выполнить расчеты, описанные в этомпункте, необходимо знать какие задачи реально влияют на длительностьпроекта. Такие задачи называются критическими, и они находятся припомощи Critical Path Method (Project Management Institute, Inc., 2008). Стоитотметить, что строго говоря, в нашем подходе оценки длительности задачявляются случайными величинами и CPM использовать нельзя.
Но поскольку40зачастую набор критических задач сильно выделяется среди остальных задач,мы можем в качестве оценок длительности задачи брать математическиеожидания полученных случайных величин, и выявить какие задачи являютсякритическими. Кроме того, для того, чтобы реализовалась ситуация, когдаCPM дал бы неверные результаты необходимо выполнение следующихусловий:• Сумма МО задач, вошедших в CP близка (немного больше) к сумме МОзадач, которые реально могут повлиять на проект, но не вошли в CP.
Этонеобходимо для того, чтобы влияние было максимальным: если МО этойгруппы задач много меньше, то она не сможет повлиять на срок проекта,а если больше – то они войдут в CP.• ª задач, не вошедших в CP намного больше, чем аналогичнаявеличина вошедших задач.Шанс, что выполнятся оба эти условия, достаточно мал. Даже если такоепроизойдет, то поправка будет небольшой (вследствие того, что самидисперсии достаточно маленькие).Классическим описанным CPM можно пользоваться, если выделитьгруппу задач не сложно (что верно для большинства проектов).Преимущество CPM заключается в том, что он достаточно быстрый, ноне гарантирует правильного результата.Существует более точный, и вместе с тем более затратный способпосчитать длительность проекта, честно учитывая неопределенности вдлительности задач.
Этот способ – Monte-Carlo Analysis. Суть его в том, чтозная распределения всех задач (они же являются СВ), мы совершаем большоеколичество итерации по подсчету суммарной длительности проекта методомCPM, беря в качестве длительности задач реализацию соответствующей СВ натекущей итерации. Таким образом мы получаем эмпирическое распределениедлительности всего проекта. Построив гистограмму несложно убедиться, что41это распределение очень похоже на нормальное распределение.
Теперь имеядоверительный интервал несложно из полученного распределения выделитьинтересующий нас интервал дат.Несмотря на то, что существенных различий на проверяемых реальныхпроектах между методами CPM по МО и Monte-Carlo Analysis обнаружить неудалось, последний способ используется по умолчанию в программе,поскольку честно учитывает все возможные варианты.
При проекте в 250задач, длине критического пути в 21 задачу и выполнив 10000 итераций, времявыполнения программы возрастает на 14 секунд. Учитывая, что данноевычисление проводится один раз, мы можем использовать Monte-CarloAnalysis даже несмотря на некоторые временные затраты.428. Описание работы программной реализации Как ранее уже было сказано достаточно много проектов ведутся в MSProject, а значит, нам будет удобно извлечь все необходимые данные попроекту (сделать экспорт в MS Excel).
При экспортировании проекта в форматxls следует выбрать отображение свойств проекта “Task ‘Export Table’ map”.При этом в excel будут перенесены все необходимые свойства.Название колонкиНазначениеIDИдентификатор задачиTask_NameИмя задачиDurationПосчитаннаядлительностьзадачиDuration1Duration2Duration3Duration4Distribution 3Вид распределения, которымоценивается задачаPredecessorsЗависимости задачиSummaryЯвляетсялизадачасуммирующейОбозначения в экспортированном xls файле3Поля Duration4 и Distribution не входят в стандартный экспортируемый файл, однако, могутбыть добавлены как непосредственно в MS Project-е, так и в уже экспортированном файле43Как и было сказано на текущий момент программная реализацияподдерживает 4 распределение (математическая модель не налагаетограничения на используемые распределения).Чтобы показать каким из четырех распределений оценивается задачадостаточно в колонке Distribution выставить одно из 4х значений:• U – для равномерного распределения• T – для треугольного распределения• Tr – для трапециевидного распределения• N – для нормального распределенияПараметры распределений считываются из файла следующим образом:• U (Duration1, Duration2)• T (Duration1, Duration2, Duration3)• Tr (Duration1, Duration2, Duration3, Duration4)• N4 (Duration2, (Duration2 – Duration1) / 3)Если распределение не было задано явно (либо отсутствует сама колонкаDistribution), то полагается что использовалось треугольное распределение дляоценки.
В случае если Duration1 = Duration2 = Duration3 = 0 они автоматическигенерируются из поля Duration по формулам (6) (см. далее).Как мы видим, непосредственной завязки на MS Project нет, то естьможно вручную создать xls файл с описанной структурой или сгенерироватьего из другой программы.4Здесь нормальное распределение задается как обычно (, ), при этом полагается, чтопользователь задал математическое ожидание в графе Duration2, а левую и правую границынормального распределения соответственно в Duration1 и Duration3.
«Границы» вычисляютсясогласно концепции 6, отсюда и формулы вычисления = 2 − 1 / 3.44Поле Summary необходимо для того чтобы фильтровать задачи, которыеявляются всего лишь агрегирующими сущностями и сами по себе не требуютвремени для выполнения.Поля Duration1, Duration2, Duration3 заполняются при выполненииPERT-анализа, либо вводятся экспертами вручную.Поле Predecessors необходимо для описания зависимостей междузадачами. Зная такие зависимости, можно определить какие из задачвыполняются последовательно, какие параллельно и, что важнее всего, какиезадачи влияют на длительность всего проекта.В соответствие с пунктами 7.1 и 7.2 программа рассчитываетдлительность каждой задачи с учетом оценок нескольких экспертов (при этом,если задана оценка только одного эксперта, программа корректно этообрабатывает), после этого вычисляет, какие задачи составляют критическийпуть и корректно вычисляет суммарную длительность проекта.
Все оценки,как оценки каждой задачи, так и оценка длительности проекта в итогепреобразуются в интервалы дат с учетом входного параметра – уровнядоверия.Как было сказано ранее на вход программе подаются файлы xls,имеющие определенный формат и число – уровень доверия. При этомпредполагается, что все файлы идентичны с точностью до оценок экспертов.То есть являются одним и тем же проектом (точнее его экспортом из MSProject в xls формат) и отличаются только значениями Duration(1, 2, 3).Каждый файл, таким образом, представляет оценки одного эксперта позадачам проекта.В качестве результата работы программы генерируется 2 xls файла: одинв точности повторяет проектный xls-файл с новыми вычисленными оценками(учтены мнения всех экспертов), а второй файл – имеет графикрезультирующегораспределениядлительностивсегопроектас45обозначенными границами дат, которые соответствуют заданному уровнюдоверия.Замечание 1: в качестве оценки длительности задачи по описаннойматематической модели является смешанное распределение или интервал дат,если учтен уровень доверия.
В первый xls файл выставляются математическиеожидания этих посчитанных случайных величин. Такой подход позволяетсделать импорт сгенерированного файла обратно в MS Project и работать в немуже с новыми оценками5.Замечание 2: генерировать файл с полученным распределением длякаждой задачи было бы расточительно, поэтому генерируется только файл сраспределением длительности проекта. Как было рассказано в теории такоераспределение является нормальным, если мы вычисляем сумму несколькихдлительностей работ. Однако если в проекте всего одна работа, т.е. мыспециально хотим оценить одну работу несколькими экспертами, торезультирующее распределение будет не нормальным, а честно посчитаннымсмешанным. При этом так же будут указаны интервалы дат соответствующиезаданномууровнюдоверия(примерытакихраспределенийбудутпредставлены далее).5При этом теряется весь смысл выработанной методики, суть которой в результирующихинтервалах дат, а не в числе, как это было изначально.