Text
                    Статистические
методы
сетевого
планирования
и управления


ЭКОНОМИКО-МАТЕМАТИЧЕСКАЯ БИБЛИОТЕКА Д. И. ГОЛЕНКО (ГШ ъ^у Статистические методы сетевого планирования и управления ИЗДАТЕЛЬСТВО «НАУКА» ГЛАВНАЯ РЕДАКЦИЯ ФИЗИКО-МАТЕМАТИЧЕСКОЙ ЛИТЕРАТУРЫ Москва 1968
518 Г60 УДК 519.95 Статистические методы сетевого планирования и управления. Голенко Д. И., Главная редакция физико- математической литературы изд-ва «Наука», М., 1968. Монография посвящена применению теоретико-вероятностных н статистических методов как составной части математического аппарата систем сетевого планирования и управления (СПУ). Монография состоит из семи глав. В первой главе излагаются общие вопросы состава, структуры и основных этапов функционирования системы СПУ. Вторая глава посвящена разработке вероятностной модели продолжительности выполнения работ в сетевом проекте. Главы третья, четвертая и пятая посвящены различным методам оценки параметров сетевой модели в целом, если составляющие эту модель работы и ее топология носят случайный характер (аналитические методы, метод Монте-Карло). В шестой и седьмой главах монографин описываются статистические методы на этапе оперативного управления системой СПУ, в частности оптимизационные методы. Монография может оказаться полезной широкому кругу математиков и экономистов, проектирующих системы сетевого планирования и управления в различных отраслях народного хозяйства. Табл. 21. Илл. 26. Библ. 94 назв. Дмитрий Исаакович Голенко Статистические методы сетевого планирования и управления (Серия «Экономико-математическая библиотека») M.j 1968 г., 400 стр. с илл. Редакторы: В. М. Гринберг и И. Е. Майзлин Техн. редактор К. Ф. Брудно Корректоры: Л. Н. Боровика и Т. С. Плетнева Сдано в набор 22/1И 196S г. Подписано к печати 30/Х 1969 г. Бумага 84x108'/,,. Физ. печ. л. 12,5. Условн. печ. л. 21. Уч.-нзд. л. 20,45. Тираж' 15000 экз. Т-14868. Цена книги 1 р. 43 к. Заказ 1163. ■ i Издательство «Наука» Главная редакция физико-математической литературы Москва, В-71, Ленинский проспект, 15 Ленинградская типография N° 2 имени Евгении Соколовой Главполнграфпрома Комитета по печати при Совете Министров СССР. Измайловский проспект. 29. 2-2-4 87-68
ОГЛАВЛЕНИЕ Предисловие 6 ГЛАВА I ХАРАКТЕРИСТИКА СИСТЕМ СЕТЕВОГО ПЛАНИРОВАНИЯ И УПРАВЛЕНИЯ § 1. Классификация систем СПУ 13 § 2. Состав систем сетевого планирования и управления ... 17 § 3. Основные параметры сетевой модели систем СПУ .... 26 § 4. Этапы функционирования систем СПУ 43 § 5. Некоторые алгоритмы расчета параметров в детерминированных сетях 58 ГЛАВА II РАСПРЕДЕЛЕНИЕ ВЕРОЯТНОСТЕЙ ВРЕМЕННЫХ ОЦЕНОК РАБОТ В СЕТЕВЫХ МОДЕЛЯХ § 1. Обоснование закона распределения временных оценок, принятого в системах СПУ 68 § 2. Оценка параметров закона распределения в системе ПЕРТ 73 § 3. Некоторые модификации вероятностного аппарата системы ПЕРТ 80 § 4. Вероятностная сетевая модель на основе двух оценок . . 92 § 5. Статистические методы построения оценок в системах СПУ 102 ГЛАВА III АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА ВРЕМЕННЫХ ПАРАМЕТРОВ СЕТЕВОЙ МОДЕЛИ В ЦЕЛОМ § 1. Методы, применяемые в системе ПЕРТ 109 § 2. Аналитические методы Фулкерсона—Клингена 124 § 3. Метод С. Я- Внленкина аппроксимации закона распределения времени выполнения сетевого проекта 132 I*
4 ОГЛАВЛЕНИЕ § 4. Аналитический метод Мартина, основанный на преобразовании сетей 137 § 5. Метод А. А. Мешкова, основанный на анализе наиболее существенных путей 143 ГЛАВА IV ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ В СИСТЕМАХ СПУ § 1. Общая блок-схема алгоритма статистического моделирования 159 § 2. Вероятностные параметры в сетевой модели со случайными оценками работ 177 § 3. Оценка точности определения вероятностных параметров сетевой модели методом статистических испытаний .... 182 § 4. Моделирование коррелированных работ в сети 196 § 5. Применение статистического моделирования для оценки стоимостных параметров в системах СПУ 203 § 6. Статистическое моделирование сетей большого объема фрагментарными методами 212 § 7. Статистическое моделирование больших сетей методом эквивалентных преобразований 219 § 8. Некоторые машинные алгоритмы статистического моделирования 225 § 9. Применение статистического моделирования в реальных системах СПУ 233 ГЛАВА V СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ § 1. Математическое описание стохастической сетевой модели комплекса операций 242 § 2. Стохастическая сетевая модель как вероятностный ветвящийся процесс 251 § 3. Определение на ЭВМ параметров стохастической сетевой модели 274 § 4. Стохастическая сетевая модель, основанная на алгебраическом преобразовании сетей 283 ГЛАВА VI СТАТИСТИЧЕСКИЕ МЕТОДЫ В УПРАВЛЕНИИ СИСТЕМОЙ СПУ § 1. Некоторые вопросы динамики процесса производства в системах СПУ 292 § 2. Определение частоты опроса на стадии оперативного управления системой СПУ 302
ОГЛАВЛЕНИЕ 5 § 3. Вопросы иерархической структуры сетевой модели на стадии оперативного управления 309 § 4. Статистические методы на стадии разработки исходного плана в системах СПУ 313 § 5. Оперативно-календарное управление системой СПУ . . . 320 § 6. Оперативное управление многосетевой системой СПУ на основе теории массового обслуживания 330 ГЛАВА VII СТАТИСТИЧЕСКИЕ МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ § 1. Эвристический алгоритм оптимизации сетевых моделей со случайными временными оценками работ 345 § 2. Оптимизация сетевых моделей с детерминированными оценками работ 358 § 3. Оптимизация продолжительности выполнения многосетевых проектов при ограниченности ресурсов 375 § 4. Некоторые полуэвристические методы оптимизации детерминированных сетевых моделей 390 Литература 396
ПРЕДИСЛОВИЕ В настоящее время научно-технический прогресс во всех отраслях народного хозяйства ведет к усложнению конструкций и увеличению количества создаваемых объектов новой техники. Большая часть современных объектов новой техники представляет собой сложные комплексы агрегатов, механизмов, приборов, средств автоматики и связи и т. д., объединенных в единую систему, которая часто называется большой или сложной системой. Последняя в свою очередь сама состоит из совокупности сложных технических подсистем, функционирующих в тесном взаимодействии друг с другом, К сложным системам относятся, например, космические летательные аппараты, турбины, блюминги-автоматы, гидроэлектростанции, крупные серийные или опытные заводы и ряд других современных объектов новой техники. В последнее время усилиями советских и зарубежных ученых, в частности В. М. Глушкова [17], Б. Н. Петрова [47], Н. П. Бусленко [И, 12] и ряда других, разрабатывается теория сложных систем, объектом изучения которой являются не только чисто технические системы, но и целые отрасли народного хозяйства и экономика в целом. Одной из главных проблем теории сложных систем является проблема построения математических моделей этих систем, которые, с одной стороны, достаточно полно отражали бы протекание процессов в реальной системе и в этом смысле были бы достаточно сложными, а с другой стороны, были бы достаточно просты, чтобы их можно было описать и исследовать с целью получения результатов в обозримое время. Другими словами, проблема состоит в создании со« держательной и адекватной модели сложной
ПРЕДИСЛОВИЕ 7 системы, позволяющей ставить и решать различного рода задачи, возникающие при разработке и управлении этими системами. Это тем более важно, что для управления сложной системой необходимо знать ее свойства — такие, как надежность, устойчивость, точность, помехозащищенность, — в зависимости от структуры и параметров этой системы. А последнее может быть достигнуто лишь на основе построения и исследования адекватных математических моделей, в том числе моделей различных отраслей народного хозяйства и экономики в целом. Большинство современных сложных систем содержит большое количество различных случайных параметров, а эффективность их функционирования зависит от ряда случайных факторов. Нет нужды говорить о том, что исследование таких систем имеет большое научное и прикладное значение, ибо практически любая современная сложная система (например, различные системы, проектируемые методами исследования операций) содержит ряд случайных характеристик (параметров). В настоящее время можно весьма часто наблюдать положение, когда при исследовании сложных случайных систем входящие в них случайные параметры заменяются фиксированными значениями (обычно средними), после чего исследуют уже детерминированную модель. Такие замены случайных величин фиксированными средними нередко приводят к существенным погрешностям и, более того, могут повлечь за собой снижение эффективности работы всей системы в целом. На наш взгляд, в подобных случаях необходимо применять аппарат статистического моделирования, причем не только для алгоритмизации оценки параметров сложных случайных систем, но и в качестве составной части самой системы, ее блока управления. Возникает задача разработки статистических принципов управления в сложных случайных системах современного типа, задача, решение которой изменит характер функционирования системы в целом, сделает ее работу более обоснованной и надежной. Попытка частичного решения такого рода задачи сделана автором на примере одной из наиболее сложных
и ПРЕДИСЛОВИЕ современных систем из области технической кибернетики — на примере системы сетевого планирования и управления новыми разработками (СПУ). В течение последних лет системы сетевого планирования и управления бурно развиваются, а их сфера применения непрерывно расширяется. Особенно широкое распространение эти системы получили за рубежом, в частности в США. В США наиболее часто используются система ПЕРТ и ряд других систем, позволяющих осуществить автоматизацию планирования и управления новыми разработками. В настоящее время система ПЕРТ и ее разновидности получили весьма широкое распространение в самых различных отраслях промышленности и строительства: в машиностроении (особенно в ра- кето-, самолето- и двигателестроении), в разработках и производстве вычислительных машин, сложных электронных устройств и систем, крупных энергетических установок, в строительстве электростанций, химических заводов и других объектов. В настоящее время разработка сложной системы состоит из сотен, а нередко из тысяч отдельных этапов, многие из которых в свою очередь включают исследования и разработку и носят случайный характер. Задержка или невыполнение работы по созданию какого-либо из элементов системы, мало обозримые в масштабе всего проекта в целом, могут вызвать задержку или сорвать сроки реализации этого проекта. Таким образом, сама разработка сложной системы в свою очередь также является сложной системой, объем и функционирование которой ставят ряд важных теоретических и практических задач. Решение последних является невозможным без достаточной формализации процесса разработки и построения его математической модели, на основе которой могут быть сформулированы операционные и функциональные задачи для различных отрезков времени разработки, а также определена структура управляющей и управляемой подсистем. Системы сетевого планирования и управления отличают следующие основные особенности: 1. Системный подход к вопросу планирования и. управления процессом разработки новой сложной си-
ПРЕДИСЛОВИЕ 9 стемы (нового сложного комплекса). Такой процесс рассматривается как единый, неразрывный процесс взаимосвязанных операций, направленных на достижение конечной цели, а коллективы исполнителей, участвующие в этом процессе, — как звенья единой сложной системы. 2. Использование в качестве математической модели специальных, так называемых сетевых моделей, построенных на основе представления процесса проектирования и создания нового объекта в виде направленных сетей с заданными характеристиками. Это дает возможность получить логико-математическое описание процесса создания нового объекта и алгоритмизировать расчет основных параметров этого процесса: его продолжительность, трудоемкость, стоимость и т. д. Системы сетевого планирования и управления позволяют периодически получать оперативную информацию по всем этапам разработки и составляющим проект элементам с указанием их возможного влияния на ход выполнения всей программы в целом. Применение системы СПУ позволяет также заранее предусмотреть возможные срывы или нарушения графика выполнения программы проекта, а также получить сведения о влиянии вносимых в проект изменений на выполнение программы. Применение этих систем особенно эффективно в случае большого количества работ, которые должны быть выполнены в целях реализации всей программы, а также большого количества исполнителей, работу которых необходимо координировать и кооперировать с тем, чтобы обеспечить осуществление программы в заданные сроки. Настоящая монография посвящена описанию математических моделей систем сетевого планирования и управления, характеристики которых содержат случайные параметры. В этом случае аппарат анализа и расчета параметров сетевых моделей существенно усложняется. Однако именно такого рода модели строятся при планировании и управлении разработками новых сложных комплексов, включающих проведение научно-исследовательских или опытно-конструкторских работ и содержащих множество случайных факторов,
II) ПРЕДИСЛОВИЕ воздействующих на процесс разработки в течение длительного времени. Первая глава книги носит вводный характер и посвящена описанию структуры и классификации систем СПУ, а также основных этапов функционирования этих систем на стадиях разработки исходного плана и оперативного управления. Основой содержания этой главы является проект отраслевой системы СПУ, разработанный под руководством Ч. Г. Найдова-Железова [52] с участием автора. В первой главе приводится также описание некоторых известных параметров, используемых в детерминированных сетевых моделях, а также алгоритмов оценки этих параметров (для случая, когда значения времени выполнения входящих в сетевую модель работ являются детерминированными и задаются в виде одной фиксированной оценки). Вторая глава посвящена описанию распределения вероятностей временных оценок для входящих в сетевую модель работ и соответствующих методов оценки основных характеристик этих работ. Иными словами, излагается методика задания информации для сетевой модели со случайными временными оценками работ и исследуется адекватность этой модели. В третьей главе книги рассматриваются аналитические методы расчета параметров сетевой модели в целом, если временные оценки составляющих модель работ носят случайный характер. Следующая глава посвящена решению аналогичной задачи с помощью методов статистического моделирования. В пятой главе рассматривается стохастическая сетевая модель — одна из важных разновидностей сетевых моделей. Ее построение обусловлено случайным характером наличия отдельных элементов в процессе проектирования и создания нового объекта и, как следствие, случайным характером топологии сетевой модели. Шестая глава посвящена исследованию применения стохастических методов оперативного управления системой СПУ и ряда важных задач, возникающих на этой стадии: определения частоты опроса системы в зависимости от иерархии, построения календарного плана-графика и т. д.
ПРЕДИСЛОВИЕ 11 В седьмой, заключительной главе рассматриваются статистические методы оптимизации сетевых моделей в системах СПУ на стадиях разработки исходного плана и оперативного управления. Критерием оптимизации, как правило, являются временные параметры при наличии ограниченных материальных или стоимостных ресурсов. В основе алгоритма оптимизации лежит сочетание методов Монте-Карло и локального случайного поиска. Рассматриваемая методика позволяет получить оптимальную область пространства решений, близкую к глобальной. Описывается также ряд «гибридных» алгоритмов, объединяющих эвристические (либо полуэвристические) и точные методы оптимизации. В заключительной главе рассматривается также ряд важных и перспективных проблем применения статистических методов в системах СПУ и некоторых модификациях этих систем. Заметим, что в настоящее время в различных системах СПУ разработан и практически используется ряд математических методов, нередко почти не связанных друг с другом. Это особенно касается методов, относящихся к различным этапам функционирования систем СПУ. Вследствие этого материал книги расположен таким образом, что ряд глав монографии (III, V, VI, VII) можно читать независимо друг от друга и в произвольной последовательности. Материал каждой из этих глав требует лишь знания содержания глав I, II и отчасти IV. В отличие от ряда традиционных математических монографий по сетевому планированию и управлению, автор ставил своей целью описать применение статистических методов не только на сетевой модели, но и в других аспектах функционирования систем СПУ (организационная часть, нормативные оценки, управление и др.). Вследствие этого в монографию включен ряд сведений по организационной структуре и этапам функционирования систем СПУ, хотя последнее в ряде случаев приводит к разностилыюсти изложения. По мнению автора, настоящая монография может оказаться полезной как ученым, разрабатывающим математический аппарат систем СПУ, так и специалистам,
!_> ПРЕДИСЛОВИЕ осуществляющим проектирование системы СПУ в целом, а также ее экспериментальное внедрение и эксплуатацию. Пользуюсь случаем выразить глубокую признательность Н. Е. Архангельскому, М. К. Бабунашвили, С. Я. Виленкину, Н. А. Левину, И. Е. Майзлину, А. А. Мешкову, В. С. Попову и В. И. Рыбальскому за ценную помощь при написании книги. Выражаю благодарность Н. М. Орловой за сбор и обработку информационного материала в процессе подготовки рукописи. Д. Голенко
ГЛАВА I ХАРАКТЕРИСТИКА СИСТЕМ СЕТЕВОГО ПЛАНИРОВАНИЯ И УПРАВЛЕНИЯ § !. Классификация систем СПУ Системы сетевого планирования и управления представляют собой автоматизированные кибернетические человеко-машинные системы управления, в которых объектом управления является коллектив исполнителей, располагающий определенными ресурсами и выполняющий комплекс операций, призванный обеспечить достижение намеченного конечного результата. Функции управления в системах сетевого планирования и управления обычно выполняет специальный орган — руководящая группа — на основе машинно-информационных систем анализа исходных данных о состоянии объекта управления. По сути дела, системы сетевого планирования и управления содержат все основные признаки динамической самонастраивающейся системы, использующей прямые и обратные связи, и построены на использовании теоретико-информационного и вычислительного аппарата, как и все современные системы автоматизированного управления производством. Системы сетевого планирования и управления имеют в своей основе информационную динамическую сетевую модель. Последняя отображает в наглядной форме процесс выполнения комплекса операций и его конечные цели, а также позволяет алгоритмизировать процесс управления этим комплексом. Областями наиболее рационального применения систем сетевого планирования и управления является планирование, контроль и оперативное руководство такими видами деятельности, как: а) целевые разработки (включая научно-исследовательские и опытно-конструкторские работы, а также
11 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ. Г опытное производство, испытания и т. д.) сложных систем новой техники, в создании которых принимают участие различные организации и предприятия; б) основная деятельность отдельных разрабатывающих организаций и предприятий (СКВ, НИИ, проектные институты и др.); в) комплексы работ по подготовке и освоению производства новых видов промышленной продукции; г) строительство и монтаж новых промышленных и гражданских объектов, а также капитальный ремонт и реконструкция действующих промышленных и гражданских объектов. Укрупненную классификацию систем сетевого планирования и управления можно провести по следующим классификационным признакам: I. Масштаб разработки (или комплекса операций), являющейся объектом управления. Этот классификационный признак позволяет расчленить системы сетевого планирования и управления на три группы: а) системы сетевого планирования и управления большими разработками, охватывающие совокупность работ, описываемых сетью с числом событий более 10—20 тысяч; б) системы сетевого планирования и управления средними разработками, охватывающие совокупность работ, описываемых сетью с числом событий от 1,5 до 10—20 тысяч; в) системы сетевого планирования и управления небольшими разработками, охватывающие совокупность работ, описываемых сетью до 1,0—1,5 тысячи событий. II. Уровень руководства, использующего данную систему сетевого планирования и управления (например, Госкомитет, Министерство, разрабатывающее предприятие и т. д.). III. Количество сетей, описывающих объект управления. Этот классификационный признак позволяет расчленить используемые системы сетевого планирования и управления на а) односетевые системы сетевого планирования а управления, охватывающие совокупность взаимосвязан-
§ IJ КЛАССИФИКАЦИЯ СИСТЕМ СПУ 15 ных работ, направленных на достижение одной или нескольких конечных целей и описываемых единой сетью; б) многосетевые системы сетевого планирования и управления, охватывающие совокупность работ, описываемых несколькими отдельными сетями, и обеспечивающие взаимную увязку сроков выполнения и других показателей работ, принадлежащих различным сетям. IV. Число конечных целей разработки систем сетевого планирования и управления позволяет расчленить последние на а) одноцелевые системы сетевого планирования и управления, охватывающие совокупность взаимосвязанных работ, направленных на достижение одной конечной цели (сеть заканчивается одним событием); б) многоцелевые системы сетевого планирования и управления, охватывающие совокупность взаимосвязанных работ, направленных на достижение ряда конечных целей (сеть заканчивается несколькими событиями). V. Планируемые и'контролируемые параметры разработки систем сетевого планирования и управления. Этот классификационный признак позволяет осуществить разбиение систем на а) системы сетевого планирования и управления с контролем сроков, использующие в качестве главного планируемого и контролируемого показателя сроки проведения работ (календарные даты начала и окончания, продолжительность работ и всей разработки в целом); б) системы сетевого планирования и управления с контролем сроков и затрат, использующие в качестве главных планируемых и контролируемых показателей не только сроки выполнения работ, но и затраты на их выполнение; в) системы сетевого планирования и управления с контролем сроков, затрат и технических характеристик, использующие в качестве планируемых и контролируемых показателей, помимо сроков выполнения и затрат на проведение работ, также и технические характеристики создаваемого объекта (например, показатели надежности).
It) ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ. I VI. Огр а н ичен и я по ресурсам позволяют расчленить системы планирования и управления на а) системы сетевого планирования и управления без учета ресурсов, осуществляющие планирование и контроль параметров разработки без их увязки с имеющимися ресурсами (людскими, материальными и др.); б) системы сетевого планирования и управления с учетом ресурсов, осуществляющие планирование и контроль параметров разработки в увязке с имеющимися ресурсами, а также перераспределение этих ресурсов с целью оптимизации планируемых параметров (сроков, затрат и т. д.). VII. Степень неопределенности сетевой модели систем сетевого планирования и управления позволяет разбить последние на системы, использующие а) детерминированные модели, б) стохастические сетевые модели. При составлении детерминированной сети принимается, что на данный момент однозначно определена структура создаваемого объекта, конечная и промежуточные цели разработки и известны основные конструктивные и технологические методы их достижения. Для этого выбирается наиболее вероятный вариант осуществления комплекса операций. В связи с этим в детерминированных сетях отсутствуют альтернативные операции, то есть разные пути достижения поставленной цели. Детерминированная сеть однозначно описывает конечную цель, объем и взаимосвязи работ, ведущих к ее выполнению, то есть топологию сети. Если фактический ход процесса меняется по сравнению с тем, как он описан сетью, в сеть вносятся изменения (вводятся или исключаются отдельные работы или комплексы работ) и этот вариант сети вновь принимается как однозначный. При построении стохастической сети учитываются возможные альтернативные варианты хода выполнения работ, учитывается возможность получения конечной цели несколько отличного содержания, чем это запланировано (например, создание объекта с несколько измененными в ту или иную сторону техническими характеристиками). В стохастической сети оценивается вероятность всех возможных вариантов достижения конечной
§ 21 СОСТАВ СИСТЕМ СПУ 17 цели путем задания, например, вероятности каждого из путей (каждого из решений), ведущих к достижению конечной цели. Таким образом, характерной чертой построения стохастических сетей является необходимость учитывать возможность и вероятность принятия на определенных этапах осуществления разработки альтернативных решений, за каждым из которых стоит свой вариант достижения конечной цели, с присущими этому варианту структурой комплекса операций, составом и соответствующими оценками работ. Такие сети, помимо событий, являющихся эквивалентами логических элементов И, включают также события, которые являются эквивалентами логических элементов ИЛИ. Стохастическая сетевая модель как бы представляет собой графическое «дерево» с отдельными случайными «ветвями». Как стохастические, так и детерминированные сетевые модели в свою очередь подразделяются на сети с детерминированными и случайными оценками параметров входящих в них работ. Различные сочетания приведенных выше классификационных признаков определяют виды систем сетевого планирования и управления. Заметим, что в настоящей работе мы будем главным образом исследовать односе- тевые, одноцелевые системы среднего масштаба с контролем сроков и ресурсов для разрабатывающего предприятия, причем сетевые модели будут носить либо стохастический характер, либо содержать детерминированные работы со случайными оценками их параметров. § 2. Состав систем сетевого планирования и управления Система сетевого планирования и управления, как и любая другая система, имеет своей главной целью оптимальную деятельность объекта управления. Последняя направлена на реализацию поданных на вход объекта управления заданий (команд управления) при наличии различного рода внешних воздействий и помех. 2 Д. И. Голенко
18 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ. Г В системах СПУ выполняются все свойственные современным автоматизированным системам стандартные процессы управления: а) получение (сбор) информации о состоянии объекта управления, б) преобразование информации, в) сохранение (запоминание) информации, г) формирование команд управления, д) исполнение команд управления (путем подачи на вход объекта управления управляющих воздействий). Система сетевого планирования и управления (см. рис. 1) состоит из следующих основных блоков: Блок I — блок сбора и оценки информации — осуществляет периодический сбор и оценку (измерение)', информации о состоянии объекта управления. Последнее достигается с помощью ответственных исполнителей — части коллектива исполнителей, выполняющего данный комплекс операций. Ответственные исполнители являются одной из наиболее существенных частей системы сетевого планирования и управления. Ими могут являться только специалисты, непосредственно руководящие выполнением работ, составляющих законченный элемент структурной схемы разработки, и несущие персональную ответственность за качество и состояние выполнения этих работ. Ответственными исполнителями в системах сетевого планирования и управления могут быть руководители структурных подразделений (отделов, лабораторий, цехов) или входящих в эти подразделения участков (групп, бригад) головных организаций или предприятий-смежников. С этой точки зрения ответственные исполнители должны рассматриваться как часть объекта управления. Однако они выполняют функции также и системы управления, оценивая состояние выполнения закрепленного за ними элемента разработки (части комплекса операций) и представляя необходимую входную информацию для системы управления. Ответственные исполнители, являясь датчиками информации, непосредственно участвуют в выполнении процесса, получения информации — составной части процесса управления. Блок II — блок передачи входной информации — осуществляет с помощью различных технических средств
СОСТАВ СИСТЕМ СПУ 19 Внешние воздействия Блок VI Управляющие воздействия (ответственные исполнители) Блок V Передача выходной информации (технические средства связи) ос S * К 5 а 6 Объект управления (коллектив исполнителей комплекса операций) Блок I Сбор и оценка информации (ответственные исполнители) ■ ^ ыи о*ЧЕ «1*1 1*85* «а * ?Е >5з»°г л* 2° 11!! :$;** Блок III Преобразование и запоминание информации (технические средства переработки и отображения информации; сетевая модель комплекса операций; службы СПУ) Блок II Передача входной информации (технические средства связи) §1 ii >■ !§§ sens E :Gi.co * &1 if Блок IV Орган управления (руководство различных уровней; службы СПУ) Ж 3 а а- « « Рис. 1.
20 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ. I (средств вычислительной техники, средств оргатехники, средств связи и др.) передачу входной информации (документации) на вход блока III — одного из наиболее важных составных частей системы сетевого планировав ния и управления. Блок III — блок преобразования и запоминания информации— осуществляет по специальной программе переработку поступающей на его вход информации и сравнивает последнюю с хранящейся в «памяти» блока III информацией о состоянии объекта управления в предыдущем периоде времени, а также сопоставляет полученные результаты с командами управления, отражающими заданный (плановый) режим деятельности объекта управления. Указанное сравнение производится с целью оценки динамики деятельности объекта управления и меры возникшего разногласия между действительным его состоянием и запланированным. Результаты сравнения в виде преобразованной по заданной программе информации подаются на вход блока IV. Функции блока III в системах сетевого планирования и управления выполняют следующие структурные части системы: 1. Специальный орган системы сетевого планирования и управления при вычислительном центре. Этот орган в основном обеспечивает выполнение процессов преобразования и обработки информации, а также ее сохранение. Процессы машинной обработки информации реализуются с помощью соответствующих математических алгоритмов. 2. Технические средства переработки и отображения информации (например, электронные вычислительные универсальные или специализированные машины). 3. Специальная служба системы сетевого планирования и управления выполняет основную часть работы по созданию сетевой модели процесса разработки и постоянной ее корректировке в соответствии с изменением фактического состояния хода разработки. 4. Сетевая модель комплекса операций выполняет в системах сетевого планирования и управления роль особого инструмента преобразования и запоминания ин-
§ 2) СОСТАВ СИСТЕМ СПУ 21 формации, с помощью которого алгоритмизируется управление процессом создания нового комплекса, а также оптимизация этого процесса по заданному критерию. Сетевая модель в наглядной форме отображает взаимосвязь и технологическую последовательность выполнения операций. С ее помощью производится оценка различных параметров разработки (в основном временных графиков выполнения работ), анализ различных вариантов управления ходом разработки и поиск наиболее оптимального из них (исходя из принятого критерия оптимальности). Блок IV—орган управления — производит анализ преобразованной информации и вырабатывает такие команды управления, которые сводят к минимуму возникшее разногласие (см. блок III), а также обеспечивают оптимизацию параметров деятельности объекта управления по заданному критерию (времени, надежности и т. д.). Процесс выработки оптимальных команд управления может носить итерационный характер, то есть осуществляться в виде выработки вариантов предполагаемых команд управления, последовательно приближающих объект управления к оптимальному состоянию. Такому характеру процесса соответствует замкнутый контур, нанесенный на рис. 1 пунктирной линией. Управление осуществляется путем корректировки план-графика работ, перераспределения ресурсов, изменения технического задания и т. д. с целью оптимизации какого-либо параметра разработки или минимизации возникшего рассогласования между запланированным и действительным состоянием хода разработки. Функции блока IV в системах сетевого планирования и управления выполняют: 1. Группы руководства различных уровней, отвечающие за выполнение всего или отдельных составных частей комплекса операций; они осуществляют управление коллективом исполнителей по некоторому алгоритму. Руководство определенного уровня на основе анализа преобразованной информации о состоянии объекта управления принимает оперативные решения (формирует команды управления) и проводит их в жизнь,
22 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ. t воздействуя на объект управления через ответственных исполнителей. 2. Служба системы сетевого планирования и управления, описанная ранее в качестве составной части блока III*), играет важную роль в качестве структурной части органа управления. Являясь рабочим органом при руководителях различного уровня, служба СПУ анализирует информацию о состоянии хода разработки и помогает принимать оперативные решения, а также претворять эти решения в жизнь. Она непосредственно участвует в процессе формирования команд управления. 3. Ответственные исполнители также участвуют совместно с отделом координации и анализа разработки в формировании команд управления. Как уже указывалось выше, они одновременно являются участниками процесса разработки (объекта управления) и составной частью системы сетевого планирования и управления Хблоки I, IV, VI). Блок V — блок передачи выходной информации — осуществляет с помощью средств связи передачу команд управления с выхода блока IV на вход блока VI. Блок VI — блок управляющих воздействий — осуществляет преобразование полученных с блока IV команд управления в управляющие воздействия на объект управления с целью регулирования его деятельности в желаемом направлении. Основой этого блока являются ответственные исполнители, которые исполняют команды управления, формируемые блоком IV, непосредственно воздействуя на подчиненный им коллектив исполнителей, то есть на объект управления. Следует особо отметить, что в большинстве современных систем сетевого планирования и управления передача информации между отдельными блоками (в том числе и команд управления) осуществляется с помощью соответствующих форм документации (например, носителем команд управления служит плановая и распорядительная документация). Таким образом, в отличие от традиционных систем управления, в которых носителем *) В различных системах СПУ она имеет различные нанмено ванна
§ 2] СОСТАВ СИСТЕМ СПУ 23 информации служат механические, электрические и другие импульсы, в системах сетевого планирования и управления эти функции выполняет, как правило, соответствующим образом организованный поток документации. Как правило, системы СПУ предназначены для планирования, оперативного контроля и управления процессом создания новых сложных комплексов в разработках трех типов: а) в крупных разработках (темах) межотраслевого характера, осуществляемых с привлечением большого количества предприятий и организаций различных министерств и ведомств; б) в крупных разработках (темах) отраслевого характера, осуществляемых в основном силами предприятий и организаций отрасли; в) в научно-исследовательских и опытно-конструкторских работах отдельного разрабатывающего предприятия (например, НИИ или ОКБ). В заключение параграфа рассмотрим организационную структуру системы сетевого планирования и управления, изображенную на рис. 2. В состав такой системы СПУ входят: а) звенья (части) ее организационной структуры (руководители всех уровней, ответственные исполнители работ, службы сетевого планирования и управления); б) части ее материально-технической основы, то есть информационно-вычислительной системы обработки данных (сетевая модель процесса разработки, технические средства системы, документальные носители информации). Структура органов управления разработкой построена по следующим уровням: оперативная руководящая группа — руководитель головной организации по разрабатываемому объекту техники (генеральный разработчик) — руководители организации-соисполнителей и их структурных подразделений — ответственные исполнители работ. Оперативная руководящая группа создается из ответственных представителей основных ведомств и организаций, принимающих участие в создании данного
■ Оперативная руководящая группа - -1 J ': ,i >. п Генеральный разработчик Центральная служба СПУ Служба координации и анализа работ Вычислительный центр и It Пункт связи п Организации-соисполнители работ Рис. 2. Головное министерство ■ Министерства Комитеты Ведомства Структурные звенья системы СПУ в организациях-соисполнителях Руководитель организации Служба СПУ и Пункт связи х > ■о > я: -i m •о К О н S я > о S о н в 2 В[ I I Ответственные исполнители работ
§ 21 СОСТАВ СИСТЕМ СПУ 25 объекта техники, и является административным и производственно-техническим центром управления разработкой данного объекта. Службы сетевого планирования и управления (службы СПУ) организуются при руководителях второго и третьего уровней, то есть при генеральном разработчике и руководителях организаций-соисполнителей. Службы СПУ являются важнейшими звеньями организационной структуры системы, обеспечивающими установление прямых и обратных связей между всеми участниками разработки, бесперебойное функционирование и анализ потоков информации, необходимой для планирования и оперативного управления работами по созданию данного объекта техники. В состав информационно-вычислительной системы обработки данных, являющейся материально-технической основой системы СПУ, входят: 1. Сетевая модель процесса разработки данного объекта (темы), реализуемая в виде а) сводного, частных и первичных сетевых графиков, представляющих графическое описание процесса разработки данного объекта и его отдельных частей; б) системы записанных в специальных кодах исходных данных по работам и событиям, представляющей собой математическое описание процесса разработки. 2. Технические средства системы, подразделяющиеся на а) средства вычислительной техники; б) средства связи и передачи информации; в) средства отображения сетевой модели; г) средства хранения информации. 3. Документальные носители информации, в том числе: а) входные документы, определяющие состав исходной и оперативной информации по работам и событиям сетевой модели; б) выходные документы, определяющие состав плановой, сводно-отчетной и аналитической информации, получаемой в результате обработки исходных и оперативных данных.
26 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ. I Сетевая модель (сеть) процесса разработки выполняет роль специфического инструмента преобразования и запоминания информации. На основе сети в системе СПУ осуществляется увязка в единый комплекс операций всех работ по созданию нового объекта, анализи* руется взаимосвязь этих работ, алгоритмизируется расчет показателей, используемых для оптимизации планирования процесса выполнения данного комплекса, для контроля хода этого процесса и для оперативного управления им. § 3. Основные параметры сетевой модели систем СПУ*) В качестве информационной динамической модели, отображающей процесс выполнения комплекса операций и его конечные цели, используется сетевая модель, в которой весь комплекс операций расчленяется на отдельные, четко определенные операции (работы), располагаемые в строгой технологической последовательности. Сетевой график представляет собой изображение на плоскости хода выполнения проекта. Ход выполнения проекта можно изобразить па плоскости благодаря использованию двух основных элементов сетевого графика: стрелок, которыми на плоскости изображаются работы, и кружочков или квадратов, которыми на плоскости изображаются события, являющиеся результатом выполнения одной или нескольких работ (см. рис. 3). Заметим, что события являются понятиями, не имеющими протяженности во времени, в то время как работы имеют во времени определенную продолжительность. Работа может, например, изображать и проектирование рабочих чертежей какого-либо узла, и процесс его изготовления, расчет кинематической схемы этого узла, процесс его испытаний или составление спецификации материалов, необходимых для изготовления входящих в него деталей. *) Содержание этого параграфа в значительной степени посвящено изложению результатов, полученных Ч. Г. Н а и до в ы м - Ж е- лезовым в [45].
§3] ОСНОВНЫЕ ПАРАМЕТРЫ СЕТЕВОЙ МОДЕЛИ СИСТЕМ СПУ 27 Термин работа может иметь следующие значения: а) действительная работа в прямом смысле слова, то есть трудовой процесс, требующий затрат времени и ресурсов; б) ожидание, не требующее затрат труда, но занимающее некоторое время (например, процесс затвердения бетона); в) «фиктивная» работа, то есть логическая связь между двумя или несколькими операциями, не требующая ни затрат времени, ни ресурсов, но указывающая, что возможность начала одной работы непосредственно зависит от результатов другой работы. Обычно действительные работы изображаются на сетевом графике сплошными стрелками, а фиктивные работы — пунктирными. Отметим, что важно различать частные результаты отдельных работ и суммарный результат нескольких работ, стрелки которых сходятся в одной точке. Дело в том, что конечный результат любой работы важен для пас не только сам по себе, как факт, удостоверяющий окончание данной работы, но и как необходимое условие для возможности начать следующую за ней работу. Очевидно, что если какая-либо работа может быть начата только после окончания нескольких определенных работ, то необходимым и достаточным исходным
28 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ. X условием для ее начала являются лишь сумма частных результатов этих работ, то есть их суммарный результат. Этот суммарный результат и принято называть термином событие. В отдельных случаях событие может совпадать с частным результатом какой-либо одной работы (см. рис. 3). Любая стрелка (/, /) сетевого графика опирается своими концами на два кружочка: основанием — на кружок, изображающий событие i, непосредственно предшествующее данной работе, а заостренным концом—■ на кружок, изображающий событие /, непосредственно следующее за этой работой. Всем событиям присваивается определенный цифровой шифр. Таким образом, всякая работа на сетевом графике может быть закодирована шифрами непосредственно ей предшествующего и следующего за ней события. Любое событие не может наступить прежде, чем свершатся все события, непосредственно ему предшествующие, и не будут выполнены все работы, обозначенные стрелками, соединяющими его с этими событиями. В сети всегда существуют по крайней мере одно исходное и одно завершающее события. Определение исходного события представляет собой формулировку условия для начала работ по выполнению данного комплекса операций. Особенность исходного события состоит в том, что оно не является следствием или результатом ни одной из работ, входящих в данную сеть, то есть в данной сети оно не имеет предшествующих работ и событий. Поэтому на сетевом графике в него не входит ни одной стрелки. Исходное событие принято обозначать буквой /. Определение завершающего события представляет собой формулировку конечной цели данного комплекса операций. Особенность завершающего события состоит в том, что оно не является условием начала ни одной из работ, входящих в данную сеть, то есть в данной сети оно не имеет последующих за ним работ и событий. Поэтому на сетевом графике из него не выходит ни одной стрелки. Завершающее событие обозначается буквой С. У каждого события сети, кроме исходного и завершающего, имеется по крайней мере по одной непосред-
§ 3) ОСНОВНЫЕ ПАРАМЕТРЫ СЕТЕВОЙ МОДЕЛИ СИСТЕМ СПУ 29 ственно предшествующей работе и по одной непосредственно за ним следующей. В составленном сетевом графике каждая работа, помимо определения, характеризующего ее содержание, должна иметь также количественные оценки или показатели, характеризующие ее длительность, объем, стоимость и т. д. Круг необходимых показателей работ устанавливается в зависимости от того, какой параметр разработки является объектом планирования и контроля. Так, например, в системе сетевого планирования и управления, имеющей целью планирование и контроль лишь календарных сроков работ по созданию нового объекта, используется только показатель продолжительности работ. Выше мы уже отмечали, что все сетевые модели (или просто сети, как их обычно называют) подразделяются на детерминированные и стохастические. В детерминированной модели все работы имеют фиксированные оценки, которые при определении параметров сети остаются неизменными. Если же некоторые входящие в сеть работы носят случайный характер, то такие оценки в детерминированной сети называются случайными. Расчет параметров стохастических сетей существенно усложняется по сравнению с детерминированными. Ниже будет показано, что расчет параметров стохастической сети можно свести к расчету параметров детерминированных сетей, получаемых из рассматриваемой стохастической с помощью метода статистических испытаний. Мы остановимся поэтому вначале на анализе детерминированных сетей с детерминированными оценками, а в дальнейшем перейдем к анализу сетей со случайными оценками и стохастических сетей. Если в сети имеется работа (/, /), то мы говорим, что вершина i непосредственно предшествует вершине /, а вершина / непосредственно следует за вершиной /. Последовательность работ в сети (U, i*), (/2, d),..'! ..., (ik-u h), в которой конечное событие каждой работы совпадает с начальным событием следующей за ней работы, называется путем.
30 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ. I Так как путь полностью определяется событиями, через которые он проходит, для краткости будем обозначать его перечислением событий, которые лежат на этом пути (/,, i2, is, • •-. ih-u k)- Стрелки на чертеже располагаются в таком порядке, что они изображают логическую последовательность выполнения отдельных работ, тем самым определяя направление перехода от одного события к другому или очередность свершения событий на данном пути. Следует различать пути четырех видов: а) путь, начало которого совпадает с исходным событием сети, а конец — с завершающим событием сети, является полным путем и обозначается буквой L (для краткости его называют просто путь); б) путь, ведущий к какому-либо событию i от исходного события сети, называется путем, предшествующим событию i, и обозначается через L(I — ('); в) путь, ведущий от какого-либо события i к завершающему событию сети, называется путем, следующим за событием I, и обозначается через L(i — С); г) путь, соединяющий какие-либо два события /„ и /„„ не являющиеся исходным и завершающим событиями сети, называется путем между событиями 1„ и 1т и обозначается через L(i„, im). При построении сетевых графиков необходимо соблюдать следующие правила: 1. В сети не должно быть тупиков, то есть событий, из которых не выходит ни одной работы, если только эти события не являются для данной сети завершающими. Наличие тупиков в сети, как правило, указывает на то, что либо связь отсутствует ошибочно, либо результат работы или работ, непосредственно предшествующих этому событию, никому из исполнителен данного комплекса операций не нужен. Следовательно, такие работы являются лишними и могут быть аннулированы. 2. В сети не должно быть событий, в которые не входит ни одной работы, если только эти события не являются для данной сети исходными.
S3] ОСНОВНЫЕ ПАРАМЕТРЫ СЕТЕВОЙ МОДЕЛИ СИСТЕМ СПУ 31 3. В сети не должно быть замкнутых контуров, то есть не должно быть путей, соединяющих некоторое событие с ним же самим. Наличие замкнутых контуров указывает на случайную или логическую ошибку, допущенную при построении сети. При обнаружении подобной ошибки сеть после соответствующей проверки должна быть исправлена. 4. В сети не должно быть работ, имеющих одинаковые шифры, то есть работ с общими начальным и конечным событиями. Обозначим через /((', /) продолжительность работы !('. /). Продолжительность любого пути равна сумме про- должительностей работ, составляющих его, и обозначается через i(L). Например, в графике на рис. 3 продолжительность пути Li=(0, 1, 4, 5, 11, 13) равна ЦЦ)=1(0, 1)+./(1, 4)+/(4, 5)+/(5, 11)+/(11, 13) = ! =18 + 22 + 30 + 22 + 48 = 140 дням. Всего в рассматриваемом сетевом графике девять путей. В табл. 1 для каждого из путей указаны перечень составляющих его работ и продолжительность. Как видно из таблицы 1, пути в сетевом графике имеют неодинаковую продолжительность. Таблица 1 Обозначение пути ц Перечень работ, составляющих путь (0. 1), (1, 4), (4, 5), (5, 11), (11, 13) (0, 1), (1, 5), (5, 11), (11, 13) (0, 1), (1, 4), (4, 5), (5, 12), (12, 13) (0, 1), (1, 5), (5, 12), (12, 13) (0, 2), (2,7), (7,10), (10,11), (11,13) (0, 2), (2, 10), (10, 11), (11, 13) (0, 3), (3, 6), (6, 7), (7, 10), (10, 11), (П. 13) (0, 3), (3, 6), (6, 9), (9, 11), (11, 13) (0, 3), (3, 8), (8, 9), (9, И), (11, 13) жительность пути t(L) 140 100 120 80 170 140 159 119 145 Резерв времени пути Р(Ц 30 70 50 90 0 30 11 51 25
32 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [гл. X Путь, имеющий наибольшую продолжительность, называется критическим. Продолжительность критического пути обозначается через гкр. В рассматриваемом примере критическим является путь L5, имеющий продолжительность 170 дней. Все остальные пути меньше, чем L5. Поэтому , tup = t(Ls) =» = /(0, 2) + r(2, 7)+/(7, 10)+г(10, 11)+ф1, 13) = 170. В сети может быть несколько критических путей. Заметим, что критический путь определяет общую продолжительность работ по созданию нового объекта в целом. Поэтому для того, чтобы сократить сроки создания этого объекта, необходимо, прежде всего, принять меры, позволяющие сократить сроки выполнения работ, находящихся на критическом пути. Для любого события i сетевая модель позволяет рассчитать наиболее ранний из возможных сроков его свершения tp(i) и наиболее поздний из допустимых сроков его свершения ta(i) (или для краткости: ранний и поздний сроки свершения события i). Ранний срок свершения любого события i равен суммарной продолжительности работ, лежащих на максимальном из путей, ведущих к данному событию от исходного события сети, то есть на максимальном из предшествующих событию I путей. Обозначив максимальный предшествующий событию i путь через L(/ — /)тах. получим tp(i)=t[L(I-i)max]. (1-3.1) Поздний срок свершения любого события i, to есть t„(i), равен разности между продолжительностью критического пути и суммарной продолжительностью работ, лежащих на максимальном из путей, ведущих от данного события к завершающему событию сети, то есть на максимальном из следующих за событием i путей. Обозначим максимальный следующий за событием / путь через L(i— С)таь получим *п (0 = *кр - t[L (i-C) та J. ( 1 -3.2 J.
Таблица 2 Шифр события i 1 2 3 4 5 6 7 8 9 10 11 12 13 Перечень работ, лежащих на максимальном предшествующем пути £(/-« (0, 1) (0, 2) (0. 3) (0. 1), (1, 4) (0. 1), (1, 4), (4, 5) (0, 3), (3, 6) (0, 2), (2, 7) (0. 3), (3, 8) (0, 3), (3, 8), (8, 9) (0, 2), (2, 7), (7, 10) (0, 2), (2, 7), (7, 10), (10. 11) (0, 1), (1, 4). (4, 5), (5, 12) (0,2), (2, 7), (7, 10), (10, 11), (11, 13) Перечень работ, лежащих на максимальном слеоующем за событием пути Щ-С) (1, 4), (4, 5), (5, 11), (11, 13) (2, 7), (7, 10), (10, 11), (11, 13) (3,6), (6,7), (7, 10), (10,11), (11, 13) (4, 5), (5. 11), (И, 13) (5, 11), (11, 13) (6, 7), (7, 10). (10, 11), (11, 13) (7, 10), (10, И), (11. 13) (8, 9). (9, 11), (И, 13) (9, 11), (11, 13) (10, 11), (11, 13) (П. 13) (12, 13) Сроки свершения события уо IS 30 15 40 70 24 55 40 55 90 122 ПО 170 •'п «> 48 30 26 70 100 35 55 65 80 90 122 160 170 Резерв времени события РЦ) 30 0 11 30 30 11 0 25 25 0 0 50 0
34 ХАРАКТЕРИСТИКА СИСТЕМ СПУ ГГЛ. Г В таблице 2 по каждому событию сетевого графика, представленного на рис. 3, приводятся ранний и поздний сроки свершения и перечень работ, лежащих на путях, определяющих указанные сроки. Зная /р({) и ta(i) для всех событий сети, можно для любой работы (/, /) определить: а) самый ранний из возможных сроков начала работы (/, /'), или, кратко, ранний срок начала /р.„(;', /); б) самый поздний из допустимых сроков начала работы, или поздний срок начала ta.u(h /'); в) самый ранний из возможных сроков окончания работы (/, /'), или ранний срок окончания /р. 0(i, /'); г) самый поздний из допустимых сроков окончания работы, или поздний срок окончания t„.0(i, j). Ранние сроки начала работ определяются ранними сроками свершения их начальных событий, а поздние сроки окончания работ — поздними сроками свершения их конечных событий. Поэтому, зная продолжительность работы t(i, /'), указанные выше параметры можно определить по следующим формулам: W. /)-М0. (1.3.3) ***('./)-*п (/)—<('./). (1.3.4) 'р.о(/, /)=/Р(/)+/(/, /■), (1.3.5) tn.o(i, /)=*„(/)• (1-3.6) Для всех работ критического пути tv.B(i, j)=tn.n(i, j) и tp.0(i, j)=(a.0(i, /), так как начальное и конечное события этих работ находятся на критическом пути, а следовательно, tp(i)=ta(i)=tn(j)-i(i, j) и f„(/)-/p(/)-/p</)+<(/, /)• В качестве примера в таблице 3 приведены ранние и поздние сроки начала и окончания для всех работ сетевого графика, изображенного на рис. 3. Разница между продолжительностью критического пути /,,р и любого другого пути сети t(L) называется полным резервом времени пути и обозначается через РЩ: P{L)=thV-l(L). (1.3.7);
5 3] ОСНОВНЫЕ ПАРАМЕТРЫ СЕТЕВОЙ МОДЕЛИ СИСТЕМ СПУ 35 Коэффициент свобоОы Коэффициент напряженности Резервы времени работ Сроки окончания работ Сроки начала работ а, с; 0, а," «5 о о X а X а. Й|Ч 1 1 1 1 1 1 ° 1 М 1 II5 1 II 1 1 1 ю ото оооюю — ооо оо — о" -i' о" о" о" —" о* о" о" о" о' о" о* о •—' о" о" —Г .-Г о" оооооооооооо-юооюооо -Ч" СО СО г-CS СЧ Ю ОО — OQOOO'fOOOOOOOOOOO оооооооооооооюоооооо со — ОО—<0000 — ЮООО—II-■ © ЮЮ О О О СО — СОО СО — CSC0 СОЮ — Ю CNCN Ю ОООЮООЮОЮЮООЮЮОООСЧСЧОО M,cocst^.oi-Ow>cotoo<MyDiocoa>ooc4CNt--.t^ COOiOOOiOOfOOINOfOOiOSrlOO — со — tnio:oc4'*^oi'-'^гсчслюоэсмг-сч ООнМооООЮООООЮПЮЮООИО СО i-i^00C0tOCN^r^O<MC0f~iO<ciC0CJ(MtO ООО051»ООЮЮОООЧ,Ч'ЛО1ПОМО — |—icocoi—i — ■чч-^с-смсяю'З'юсл^ — Т—* Т—1 ,—ч*—.-—ч/-^^—,*~чО >-ч.у-чу—.—• CN у—>лО у—м—1 »—1 СО СО — МСО^Ю^-icOOOiO—ii—ic^Oli—iOIi—ii—i'— —i о" о" о — — (м"оГ со'со'^'ю" ю"«з id t— afci"©"— cn 3*
36 ХАРАКТЕРИСТИКА СИСТЕМ СПУ (ГЛ. Г Величина P(L) показывает, насколько в сумме мр-> жет быть увеличена продолжительность всех работ, принадлежащих пути L, чтобы при этом не изменилась продолжительность критического пути tl!p. В четвертой графе таблицы 1 даны величины резервов времени для всех путей сетевого графика, представленного на рис. 3. Резерв времени события i обозначается через P(i) и определяется как разница между поздним и ранним сроками свершения данного события, то есть P(i)=(n(i)-tP(i); (.1.3.8) легко показать, что P(i)=P[L(i)mU (1.3.9) то есть резерв времени свершения события определяется резервом времени у максимального из путей, проходящих через это событие. Резерв времени события показывает, на какой предельно допустимый период времени можно задержать свершение этого события, не вызывая при этом увеличения /кр. События критического пути.не имеют резервов времени, так как у них fn(')=M0- Значения резервов времени события сетевого графика, изображенного на рис. 3, помещены в графе 6 таблицы 2. Одним из центральных понятий системы СПУ является понятие резерва времени работы, входящей в сетевую модель. В системах СПУ используются четыре вида резервов времени работ: полный, свободный и два вида частных резервов времени*). Полным резервом времени работ (/, /) называется резерв времени, равный величине резерва времени максимального из путей, проходящих через данную работу. Обозначается он через Pa(i, /). *) Теоретические принципы резервов времени в системах СПУ разработаны Ч. Г. Найдовым-Железовым в ряде работ,в том числе в [45].
§ 3] ОСНОВНЫЕ ПАРАМЕТРЫ СЕТЕВОЙ МОДЕЛИ СИСТЕМ СПУ 37 Легко видеть, что для всех работ критического пути Pn(i, /)=0. Величина полного резерва времени может быть оценена по следующей формуле: Л,(/, i)=tn(j)-tp(i)-t(i, /). (1.3.10) Следует отметить, что 1) работы, лежащие на одном пути, могут иметь разные по величине полные резервы времени, меньшие, чем резерв времени данного пути; 2) резерв времени P(L) пути L может быть распределен между отдельными работами, лежащими на данном пути, без увеличения длины критического пути, только в пределах полных резервов времени этих работ. Частные резервы времени образуются в местах пересечения путей различной продолжительности у работ, принадлежащих меньшему пути. Следует различать два вида частных резервов: 1) частный резерв первого вида Pn(i, у) образуется у работ, непосредственно следующих за событием, в котором пересекаются пути различной продолжительности; 2) частный резерв второго вида Ра (/, у) образуется у работ, непосредственно предшествующих событию, в котором пересекаются пути различной продолжительности. Величина Р„(/, у) показывает, какая часть полного резерва времени работы (I, /) может быть использована для увеличения ее продолжительности при условии, что это увеличение не вызовет изменения позднего срока свершения ее начального события и, следовательно, сокращения резервов времени ни у одной из предшествующих этому событию работ. Величина Р„(/, у) показывает, какая часть полного резерва времени работы (i, j) может быть использована для увеличения ее продолжительности при условии, что это увеличение не вызовет изменения раннего срока свершения ее конечного события и, следовательно, сокращения резервов времени ни у одной из последующих за этим событием работ. Значения частных резервов времени работы оп-> редел я юте я по следующим формулам, полученным
38 ХАРАКТЕРИСТИКА СИСТЕМ СПУ (ГЛ. Г Ч. Г. Найдовым-Железовым [45]: Яп(/. J) = Pn(i, J)-P(i), (1-3.11) P'a(l, j) = P«(i, J)-P(J) (1-3.12) либо Яп(/, У) = Л, (у) -/„(/)-/(/, у), (1.3.13) /Л(/, у) = /Р (у) — /Р (/) — /" (/, у). (1.3.14) Отдельные работы, обладающие частными резервами обоих видов, могут также иметь так называемый свободный резерв времени, обозначаемый символом Pc(i,/). Свободным резервом времени работы (I, /) называется та часть ее полного резерва, которая сохраняется у нее при условии, что начальное событие данной работы свершится в самый поздний срок tB(i), а конечное — в самый ранний /р(/): Pc('.i) = /p(/)-U')-'(w] (1-3.15) или />с(*. Л-ЛС J)-P(i)-PU)- (1-3.16) Величина свободного резерва времени Pc(i, }) показывает, на какой период времени можно увеличить продолжительность данной работы (/, /), чтобы при этом сохранилась возможность свершения ее конечного события в самый ранний срок, а начального события в самый поздний срок. Значения резервов времени работ, изображенных на сетевой модели рис. 3, приведены в графах 6—9 таблицы 3. Хотя резервы времени относятся к одним из важнейших параметров сетевой модели, они все же не исчерпывают информацию об этой модели. В частности, с их помощью недостаточно полно характеризуется напряженность сроков выполнения работ. Это обстоятельство было впервые установлено Ч. Г. Найдовым- Железовым [45], который ввел понятие коэффициента напряженности работ и путей и предложил соответствующие формулы. Рассмотрим сеть на рис. 3 и определим полные резервы времени работ (0, 1), (1, 4), (4, 5), (5, 11). Пол-
§•31 ОСНОВНЫЕ ПАРАМЕТРЫ СЕТЕВОП МОДЕЛИ СИСТЕМ СПУ 39 ный резерв времени у каждой из этих работ равен 30 дням, причем суммарная продолжительность этих работ составляет 92 дня. Между тем работа (2, 10), продолжительность которой составляет всего 30 дней, также имеет полный резерв времени, равный 30 дням, причем Ра (2, 10) может быть целиком передан работе (2, 10). Мы видим, таким образом, что, хотя значения полного резерва времени у работ (0, 1), (1, 4), (4, 5), (5, 11) и (2, 10) равны, фактическая напряженность сроков выполнения первых четырех работ намного больше, нежели у работы (2, 10). В ряде систем СПУ, разработанных в СССР, напряженность сроков выполнения работ измеряется отношением продолжительностей несовпадающих отрезков максимального пути, проходящего через данную работу, и критического пути*). Это отношение называется коэффициентом напряженности работы и обозначается через kB(i, /). Обозначив через t'Kp(i, y')max и tKV(i, y')max соответственно продолжительности отрезков критического пути, совпадающего и не совпадающего с L(i, /)max — максимальным путем, проходящим через работу (/, /), получим м*. л= <^(/'д:"!~^р(<,Дп". (1-3.17) кр ''' -"max Таким образом, коэффициент напряженности работы '(/, /) характеризует напряженность сроков через относительную продолжительность не совпадающего с критическим путем отрезка максимального из проходящих через данную работу путей, измеренную в долях продолжительности отрезка критического пути, не совпадающего с этим путем. После несложных преобразований формула (1.3.17) может быть представлена в виде м<.л-1-/;Лл • (1-з.18) *) Если максимум достигается на нескольких путях, то берем тот путь, для которого максимально указанное отношение.
40 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ. Г Другими словами, коэффициент напряженности работы характеризует напряженность сроков ее выполнения с помощью относительной, а не абсолютной величины ее полного резерва времени. Величина коэффициента напряженности у разных работ в сети лежит в пределах 0-^/en(i, /') ^>1, причем у работ критического пути &„(/, /) = 1. В примере на рис. 3 коэффициент напряженности работ (0, 1), (1, 4), (4, 5) и (5, 11) равен 0,75, а работы (2, 10)—всего 0,5, что вполне соответствует предыдущим рассуждениям. Это подтверждает сделанный ранее вывод, что сроки выполнения работ (0, 1), (1, 4), (4, 5) и (5, 11) значительно более жесткие, чем у работы (2, 10), несмотря на равенство полных резервов времени у этих работ. В табл. 3 приведены значения коэффициентов напряженности для всех работ сетевого графика, изображенного на рис. 3. В системах СПУ коэффициент напряженности ku(i,j) рассматривается в качестве одного из важнейших параметров сетевой модели. При анализе и контроле фактического состояния работ коэффициент ka(i, j) позволяет выявить все требующие особо пристального внимания руководства работы, в число которых входят работы не только критического, но и близких к нему по напряженности так называемых подкритических путей. Фиксируя некоторые допустимые значения коэффициента напряженности, мы в состоянии разбить все входящие в сетевой проект работы на следующие зоны: 1) критическую зону, к которой относятся все работы, с ku(i, /), близким к единице (ku(i, j)^ku где kt ^0,8 * 0,9); 2) зону резервов, которая объединяет работы с наименьшими значениями ku(i, /) (kn(i, j) ^Ck2, где &2~ ^0,5+0,6); 3) промежуточную зону, объединяющую работы со средними значениями kn(i, /) (k2<ka(i, /)<&i). Мы вправе считать, что если бы путем соответствующей перегруппировки материальных и людских ресурсов удалось построить такой сетевой график, в котором все работы были бы равнонапряженны (с коэффициен-
§ 31 ОСНОВНЫЕ ПАРАМЕТРЫ СЕТЕВОЙ МОДЕЛИ СИСТЕМ СПУ 41 том напряженности, равным единице), то такого рода сетевой проект был бы оптимальным. Разумеется, практически оптимизация сетевого проекта является (особенно в случае сложных комплексов, состоящих из большого количества работ) весьма трудным делом. Однако общий принцип оптимизации сетевого проекта остается прежним. Перераспределение ресурсов, как правило, должно идти в одном направлении: из зон, менее напряженных, к зонам, наиболее напряженным. Дополнительные ресурсы также должны в первую очередь направляться в зоны, объединяющие наиболее напряженные работы, с целью сокращения циклов этих работ. Чем меньше будет объем критической и резервной зон, тем лучше будет составлен план хода разработки на основании сетевого графика. В ряде систем СПУ, помимо коэффициента напряжен* ности работ, используются коэффициенты резервов времени, введенные Ч. Г. Найдовым-Железо- вым [45]. Коэффициент резерва времени равен отношению аб- солютной величины резерва к продолжительности пути, на котором он распределен. Используются следующие три разновидности коэффициентов резервов времени: 1) коэффициент полного резерва, обозначаемый через kp(i, /); 2) коэффициент частного резерва первого вида, обозначаемый через kp(i, у); 3) коэффициент частного резерва второго вида, обозначаемый через kp (/, у). Коэффициент полного резерва kp(i, /) равен отношению полного резерва времени работы (i, /) к продол» жительности не совпадающего с критическим путем отрезка максимального из путей*), проходящих через данную работу: kJt, Л = -ч Р\(1, Л, . (1.3.19) *) См. сноску на стр. 39.
42 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ. Г Величина kp(i, j) показывает, во сколько раз в сред* нем могут быть увеличены продолжительности данной работы (i, j) и других работ максимального из проходящих через работу (г, /) путей на его отрезке, не со* впадающем с критическим путем, чтобы при этом суммарное приращение продолжительности этого пути не превысило его резерва времени. Коэффициент частного резерва первого вида kp(i, j) равен отношению частного резерва P„{i, у) работы (i, /)/ к продолжительности отрезка максимального из проходящих через нее путей, заключенного между начальным событием i данной работы и ближайшим последующим за нею событием, в котором этот путь пересекается с путями большей продолжительности: где ("к — следующее за работой (<', /) событие, в котором путь L(i, /)max пересекается с путями большей продолжительности. Величина kv(i, j) показывает, во сколько раз в среднем могут быть увеличены продолжительности данной работы (/, /) и других работ, лежащих на указанном выше отрезке пути, чтобы при этом суммарное приращение продолжительности этого отрезка не превысило величины P„(i, у). Коэффициент частного резерва второго вида kp (/, j) равен отношению частного резерва Ра (£ у) работы (I, /) к продолжительности отрезка максимального из проходящих через нее путей, заключенного между конечным событием / данной работы и ближайшим предшествующим ей событием, в котором этот путь пересекается с путями большей продолжительности: <('-;>=,[Mw!.,r <'-3-2l> где «1 — предшествующее работе (/, /) событие, в котором путь L(i, /)max пересекается с путями большей продолжительности. Величина kp (/, у) показывает, во
5 4] ЭТАПЫ ФУНКЦИОНИРОВАНИЯ СИСТЕМ СПУ 43 сколько раз в среднем могут быть увеличены продолжительности данной работы (/, /) и других работ, лежащих на указанном выше отрезке пути, чтобы при этом суммарное приращение продолжительности этого отрезка не превысило величины ЯП(Л /)• Коэффициенты kp (/, j), kp (/, j) и kv (/, j) в основном применяются при установлении плановых сроков выполнения работ и при анализе сетей, имеющем целью более рациональное распределение ресурсов. В заключение параграфа отметим, что в соответствии с иерархической структурой руководства работами, входящими в общий комплекс, различаются сети следующих уровней: а) сводная сеть— сетевой график, охватывающий весь комплекс операций по созданию нового объекта и составленный на основе частных и первичных сетевых графиков; б) частные сети, каждая из которых охватывает комплекс работ, выполняемых отдельной организацией или подразделением; в) первичные сети, которые охватывают комплексы работ, выполняемых отдельными ответственными исполнителями (первичная сеть является частью частной сети). Для того чтобы определить взаимное соотношение отдельных сетей, различают граничные события и работы. Граничные события разделяют работы, выполняемые разными организациями (для граничных событии частных сетей) или разными ответственными исполнителями (для граничных событий первичных сетей). Соединение первичных сетевых графиков в частные, а частных в сводные (так называемое сшивание сетей) осуществляется посредством связывания их граничных событий граничными работами. § 4. Этапы функционирования систем СПУ Процесс создания любой сложной системы — нового объекта техники, — как правило, проходит несколько последовательно осуществляемых этапов, реализуемых на двух стадиях — стадии разработки исходного плана
44 ХАРАКТЕРИСТИКА СИСТЕМ СПУ (ГЛ. I (исходного планирования) и стадии оперативного контроля и оперативного управления. Целью стадии исходного планирования является разработка сводного сетевого графика и исходных плановых показателей процесса создания нового объекта техники. От качества установленных на стадии исходного планирования плановых показателей зависит весь дальнейший ход создания нового объекта. Процесс исходного планирования составляют восемь последовательно выполняемых этапов: 1) проведение структурного анализа создаваемого объекта и выдача заданий ответственным исполнителям и организациям-соисполнителям; 2) представление ответственными исполнителями исходных данных для составления и расчета сетевой модели (сводного сетевого графика); 3) разработка сводного сетевого графика; 4) поверочный расчет сетевой модели; 5) оптимизация параметров сетевой модели; 6) расчет показателей исходного плана; 7) утверждение показателей исходного плана; 8) доведение показателей исходного плана до исполнителей. Стадия разработки исходного плана создания нового комплекса начинается, как правило, с разработки структурной схемы данного комплекса операций и выдачи заданий ответственным исполнителям. Основной задачей, решаемой на этом этапе, таким образом, является расчленение всего объема работ по созданию нового объекта на элементы, за каждым из которых закрепляется определенный ответственный исполнитель. Любая сложная система, состоящая из большого количества элементов, может быть представлена в виде иерархического дерева. Такое графическое изображение системы и называется структурной схемой процесса создания нового объекта. Чем сложнее создаваемый объект, тем более сложной будет его структурная схема, тем большее количество уровней она включает. Составление структурной схемы проводится непосредственно руководителем разработки с привлечением веду-
§ 4! ЭТАПЫ ФУНКЦИОНИРОВАНИЯ СИСТЕМ СПУ 45 щих специалистов и преследует две цели: 1) получение возможно более полного представления о создаваемом новом объекте, составе его основных агрегатов, устройств, блоков и узлов; 2) расчленение всего объема работ по созданию нового объекта на такие составные элементы, за каждым из которых можно было бы закрепить определенного ответственного исполнителя. Объект (система) новой техники I I I Подсистемы, изделия 1-й уровень членения I Отсеки, агрегаты 2-й уровень членения II I I Устройства I I I I I I Узлы I I Рис. 4. 3-й уровень членения 4-й уровень членения Во всех случаях необходимо дойти до такой степени членения, чтобы за каждым конечным элементом схемы можно было закрепить только одного ответственного исполнителя. После составления структурной схемы и утверждения ответственных исполнителей каждому элементу схемы и каждому ответственному исполнителю присваиваются шифры.
46 ХАРАКТЕРИСТИКА СИСТЕМ СПУ (ГЛ. I Структурная схема, с одной стороны, должна строиться в соответствии со схемой конструктивно-технологического членения создаваемого объекта, а с другой стороны, должна учитывать организационную структуру предприятия, а также предполагаемую внутреннюю и внешнюю кооперацию разработки. Принцип построения схемы конструктивного членения изображен на рис. 4. Процесс создания новой техники обычно распадается на следующие этапы: 1) научно-исследовательские и опытно-конструкторские работы, 2) изготовление опытных образцов, 3) испытание, доводка и передача в серийное производство, 4) подготовка и освоение серийного производства, дальнейшее совершенствование конструкции изделия. В свою очередь каждый этап может быть разделен на следующие работы: 1-й эта п: а) научно-исследовательские работы, б) разработка аванпроекта, в) разработка план-графиков и выпуск постановления о разработке системы, г) эскизное проектирование, д) техническое проектирование, изготовление макетов, отдельных узлов, агрегатов и устройств, е) рабочее проектирование. 2-й этап: а) технологическая подготовка производства, б) материально-техническое обеспечение, в) изготовление деталей и узлов, г) сборка. 3-й этап: а) заводские испытания и доводка изделия, б) государственные испытания, в) подготовка технической документации, г) передача документации на серийные заводы. (Таким же образом расчленяется на составляющие работы и 4-й этап.)
§ 4) ЭТАПЫ ФУНКЦИОНИРОВАНИЯ СИСТЕМ СПУ 47 Перечисленные выше этапы создания новой техники не идут строго один за другим, а на некоторых участках могут выполняться параллельно-последовательно, однако, с некоторой мерой условности, можно считать каждый из этих этапов в какой-то степени обособленным. В связи со спецификой каждого этапа на каждом из них закрепление элементов системы за исполнителями будет различным. Кроме того, это закрепление может быть произведено только на определенной стадии разработки (например, для этапа изготовления, когда будут определены детали и узлы будущей системы, то есть когда завершена определенная часть конструкторских работ). Поэтому целесообразно строить две структурные схемы — отдельно по научно-исследовательским и опытно-конструкторским работам и отдельно по изготовлению и испытаниям. Несмотря на раздельное построение структурных схем, они имеют взаимосвязь и взаимозависимость, так как все они разрабатываются для создания определенной системы новой техники, и результаты предыдущего этапа определяют структуру, последовательность и продолжительность работ последующего этапа. Этап разработки структурной схемы завершается выдачей каждому ответственному исполнителю технических заданий на закрепленный за ним элемент, в которых должно быть указано: а) наименование и общая характеристика данного элемента, б) исходные данные и перечень результатов других ответственных исполнителей, которые должны быть использованы при выполнении данного элемента, в) возможно более точная формулировка результатов, которые должны быть получены в итоге выполнения закрепленного за ответственным исполнителем элемента, г) шифр разработки, в которую входит данный элемент, шифр данного элемента и шифр ответственного исполнителя. При выполнении этапа исходного планирования должны соблюдаться следующие важнейшие принципы: 1. Планирование должно носить «сквозной» характер, то есть вестись относительно заданной конечной цели
48 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ. f планируемого комплекса операций (разработки, строительства и т. д.). 2. Определение конечной цели должно быть предельно четким, конкретным и полным, то есть должно исчерпывающим образом описывать, какой именно результат и в каком виде должен быть получен (в том числе назначение, состав, заданные свойства, технико- экономические показатели и другие задаваемые параметры создаваемого объекта). Предельно четко и полно должны быть также сформулированы конечные результаты по каждому элементу, закрепляемому за тем или иным ответственным исполнителем. 3. Планирование должно быть комплексным, то есть в структурную схему разработки (а следовательно, и в будущую сетевую модель) должны включаться все работы, выполнение которых необходимо для достижения конечной цели, независимо от характера этих работ и ведомственной принадлежности их исполнителей. 4. Должна быть предусмотрена четкая персональная ответственность за выполнение любого элемента планируемого комплекса операций. За каждым элементом структурной схемы может быть закреплен только один ответственный исполнитель. Вторым, весьма ответственным этапом стадии разработки исходного плана является разработка ответственными исполнителями исходной информации для составления первоначального сводного варианта сетевого графика и расчета его параметров. Получив техническое задание на выполнение закрепленного за ним элемента (или элементов) структурной схемы, ответственный исполнитель представляет следующие исходные данные: а) первичный сетевой график работ по данному элементу, б) краткое описание каждого события, каждой работы и ее частных результатов, в) исходные показатели работ. Первичные сетевые графики работ по отдельным элементам являются детализированными составными ча-
§ 4] ЭТАПЫ ФУНКЦИОНИРОВАНИЯ СИСТЕМ СПУ 49 стями будущей сетевой модели и потому должны составляться ответственными исполнителями в строгом соответствии со сформулированными правилами. После того, как исходный сетевой график построен, сформулировано описание всех работ, их результатов и событий, ответственный исполнитель определяет исходные показатели работ. По каждой работе, включенной в первичный сетевой график, ответственный исполнитель обязан определить временные оценки, то есть продолжительность работ. Для работ, часто повторяющихся или имеющих достаточно близкий прототип (типовых), может быть однозначно установлена весьма точная продолжительность. Однако для значительной части работ по созданию новых объектов это сделать чрезвычайно трудно (например, для научно-исследовательских, экспериментальных и опытно-конструкторских работ, работ по изготовлению и испытаниям новых опытных образцов). Выполнение таких работ объективно всегда связано с элементами неопределенности, случайности. В таких случаях применяется вероятностный метод оценки показателей продолжительности работ. Для каждой работы ответственный исполнитель определяет: а) минимальную продолжительность работы tm\n, под которой понимается предполагаемая ее продолжительность при наиболее благоприятном стечении обстоятельств; б) максимальную продолжительность работы /тах, под которой понимается ее предполагаемая продолжительность при самом неблагоприятном стечении обстоятельств, то есть при возникновении в процессе ее выполнения значительно большего, чем обычно, количества непредвиденных трудностей. Для ряда советских и почти всех зарубежных си* стем СПУ ответственные исполнители, наряду с оценками fmin и ?шах. задают еще третью оценку т — наиболее вероятную продолжительность (моду) выполнения работы. Величина m устанавливается ответственным исполнителем на основании своих знаний, научного и производственного опыта и является его априорной оценкой. В дальнейшем, 4 Д- И. Голенко
50 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ: Г описывая системы СПУ, мы почти всюду будем следо< вать двухоценочной методике, о преимуществах которой перед трехоценочной подробно будет сказано ниже. В дальнейших расчетах при определении вероятностных сроков выполнения работ по проекту, а также вероятности выполнения работ в установленные сроки ис-. пользуются обе вероятностные оценки продолжительности. При расчете все остальных показателей используется ожидаемая продолжительность работ (г, /)., которая определяется в соответствии с принятым законом распределения по следующей формуле (см. § 4 главы II) Заметим, что, определяя продолжительность работы, ответственный исполнитель должен задаться определенным количеством исполнителей п. В ряде систем сетевого планирования и управления существует следующий принцип оценки этой величины. Для каждой работы существует максимальное количество исполнителей («max), которые могут одновременно производительно (то есть без потерь времени) участвовать в процессе ее выполнения, а также минимально необходимое количество исполнителей («mm). При этом «шах названо максимальным фронтом производительной работы. По принятому правилу все ответственные исполнители определяют значения /mtn и /тах> соответствующие «max- Однако с целью более реальной оценки циклов ра-. бот установлено ограничение, согласно которому птах, принимаемое ответственным исполнителем для определения ^mln и ^тах. не должно превышать численности исполнителей соответствующей квалификации, находящихся в его подчинении. В системах сетевого планирования и управления с контролем сроков и с перераспределением ресурсов, помимо оценок продолжительиостей работ, ответствен-^ ный исполнитель указывает трудоемкость работы в человеко-часах с разбивкой по видам специальностей. Первичные сетевые графики и исходные данные по отдельным элементам структурной схемы ответственные исполнители представляют в специальную службу СПУ,
§ 4] ЭТАПЫ ФУНКЦИОНИРОВАНИЯ СИСТЕМ СПУ 51 которая осуществляет контроль правильности формулировки определений всех событий, работ и их шифровки на основе сформулированных правил. После уточнения всех первичных графиков происходит построение (на основе структурной схемы) сводного сетевого графика работ по объекту — третий этап разработки исходного плана. Построение сводного сетевого графика включает в себя следующие операции: а) проверка правильности составления первичных сетевых графиков, которая заключается в анализе их соответствия формальным правилам составления сетей, проверке правильности определения отдельных работ и событий, а также соблюдении установленных правил ко- дирования информации; б) сшивание сводного сетевого графика, которое заключается в объединении всех первичных сетевых гра-. фиков, полученных от ответственных исполнителей, в одну общую сеть, конечное событие которой соответствует заданной конечной цели разработки; в) подготовка массива форм исходных данных и его передача на вычислительный центр для поверочного расчета сводной сети. После окончания работ по построению сводной сети приступают к четвертому этапу разработки исходного плана — к первому поверочному расчету сетевого графика на электронной вычислительной машине (для случаев сетей небольшого объема — до 200 событий — такой расчет может быть произведен вручную). Основными задачами этого этапа являются: а) проверка правильности сшивания сводного сетевого графика; б) расчет параметров сводного сетевого графика, необходимых для его анализа и оптимизации. Проверка правильности сшивания сводного сетевого графика осуществляется по специальной программе, которая выявляет случаи нарушения формальных правил построения сетей. Расчет параметров сводного сетевого графика позволяет получить следующие данные: а) ожидаемые сроки создания нового объекта и вероятность выполнения соответствующих директивных 4'"
52 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ Г сроков (Либо методом статистического моделирования, подробно описываемым ниже, либо аналитико-вероят- ностными методами); б) перечень работ критической зоны, сроки их начала и окончания; в) ранние и поздние календарные сроки начала и окончания всех остальных входящих в сетевой график работ с указанием имеющихся у них резервов времени и коэффициентов напряженности. В отдельных системах, учитывающих ограничения а ресурсах, на этапе поверочного расчета определяются показатели степени использования этих ресурсов (ожидаемый объем трудоемкости работ по календарным периодам, загрузка исполнителей и оборудования и т.д.). Для сетей с детерминированными (нормативными) оценками продолжительностей работ расчетный календарный срок свершения события определяется путем прибавления к дате начального события сети величины самого раннего срока свершения этого события в календарной шкале времени. Для случая сетей со случайными оценками применяется специальный теоретико-вероятностный аппарат статистического моделирования. Следующий, пятый этап разработки исходного плана начинается с анализа первоначального варианта сетевого графика и результатов поверочного расчета с целью установления соответствия расчетных параметров сетевого графика заданным директивным показателям. Если первоначальный вариант сетевого графика не обеспечивает соблюдения директивного срока гд,1Р, производится оптимизация сетевого графика. Оптимизация сетевого графика может быть произведена путем 1) пересмотра топологии сети, то есть изменения состава или последовательности выполнения отдельных работ, а также взаимосвязей между ними с целью сокращения общей длительности критического пути (в детерминированных сетях);
5 4] ЭТАПЫ ФУНКЦИОНИРОВАНИЯ СИСТЕМ СПУ 53 2) сокращения продолжительностей отдельных работ критической зоны за счет уточнения временных оценок либо перераспределения или добавления дополнительных ресурсов; 3) варьирования сроков выполнения работ резервных зон в пределах имеющихся у них резервов времени. Оптимизация осуществляется путем последовательного многократного улучшения первоначального варианта плана и отбора при «проигрывании» этих вариантов на ЭВМ наилучшего из них. Если расчетные показатели оптимального варианта все же превышают директивные, вся процедура повторяется вновь до тех пор, пока не будет получен удовлетворительный результат. Если, несмотря на все мероприятия, расчетный срок не удается сократить до уровня директивного, необходимо либо пересмотреть технические характеристики объекта, либо изменить директивные сроки. После принятия окончательного решения утверждается окончательный оптимизированный вариант сети и составляется календарный план-график проведения всех входящих в сетевой проект работ. Расчет календарных план-графиков и составляет шестой этап стадии разработки исходного плана. Вычислительным центром для каждого события i и всех работ (i, j) сетевой модели рассчитываются сначала МО и tn(i), а также величины Pn(i, j), kH(i, j), P'n(i, j) и P» (/, у). Расчет плановых сроков производится исходя из сравнения директивно заданного срока /д„р со сроком свершения завершающего события, рассчитанного по критическому пути. Для этого определяется величина отклонения 'от = 'кр 'дир- Отрицательное значение величины /0т означает, что рассчитанный по критическому пути срок окончания раз-, работки опережает директивно заданный. В этом случае плановые сроки *Пл(»\ /) работы (i, j) определяются по формулам *пл.н(«, j)=tn.u(i, j) И tB„.a(i, j)=tn.o(i, /)•
54 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ. Г В случае, когда расчетный срок больше директивного (то есть при положительном значении /от). плановые сроки рассчитываются таким образом, чтобы а) «пролеживание» результатов работ, то есть время между их окончанием и началом последующих работ, было минимальным; б) сохранялась возможность завершения разработки в директивный срок, если в будущем удастся в результате принятых мер сократить продолжительность критического пути; в) плановые сроки во всех случаях были реальными, то есть равными или большими, чем расчетные ранние сроки. Таким образом, при гОт>0, то есть при /кР>гДцр, плановые сроки выполнения работ определяются следующим образом: 1) для работ, у которых полный резерв времени больше величины отставания от директивного срока (то есть Pn(i, /) >/ от/ > *пл. о (', /) =*п. о(', 1) — 'от. Wh(', |)-Wott i)—t{ii /); 2) для работ, у которых полный резерв времени меньше или равен величине отставания от директивного срока (то есть P„(i, /)<гот), Wo(t, /) ='p.o(i, /)■ Wn(f, j)=tP.n(i, /). Отметим, что в ряде систем сетевого планирования и управления одновременно с определением календарных сроков по специальному алгоритму проводится поверочный расчет ожидаемой трудоемкости работ по объекту с разбивкой по подразделениям, по основным видам ра-. бот и календарным периодам. Ожидаемая трудоемкость разработки и производства нового объекта сопоставляется с наличными производственными мощностями соответствующих отделов и цехов организации. Если ожидаемая трудоемкость превышает наличные ресурсы, производится выравнивание загрузки соответствующих подразделений.
§4] ЭТАПЫ ФУНКЦИОНИРОВАНИЯ СИСТЕМ СПУ 55 После проведения указанных расчетов окончательные сроки выполнения работ утверждаются (седьмой этап) и доводятся до ответственных исполнителей в качестве планового задания. При этом по работам, которые должны выполняться в ближайшем квартале, задаются дифференцированные сроки, а по работам более отдаленным указывается лишь месяц или квартал, в котором должна быть начата и завершена данная работа. Доведение плановых сроков до ответственных исполнителей составляет последний этап разработки исходного плана. Одновременно со сроками до ответственных исполнителей и руководителей подразделений доводятся данные о коэффициенте напряженности закрепленных за ними работ, а также данные о плановой трудоемкости и коэффициенте загрузки с разбивкой по видам работ. Чем выше уровень руководства, которому представляются плановые параметры сетевого проекта, тем более укрупненными должны быть эти параметры. Наиболее детализированные план-графики с указанием сроков начала и окончания всех работ, входящих в сетевой проект, доводятся до руководителей отдельных структурных подразделений и ответственных исполнителей. Важной стадией функционирования систем сетевого планирования и управления является стадия оперативного управления, которая охватывает период времени, начиная с момента утверждения оптимизированного исходного плана и кончая моментом завершения всех работ по созданию нового объекта. Процесс оперативного управления ходом новой разработки включает периодический анализ фактического состояния выполнения работ, выявление и установление причин несоответствия между фактическим и запланированным ходом разработки, разработку мероприятий и рекомендаций по минимизации установленного несоответствия. Стадия оперативного управления, подобно стадии составления исходного плана, может быть разбита на последовательно реализуемые этапы, с той лишь разницей, что этапы стадии составления исходного плана реализуются однократно, а этапы оперативного управления —« периодически, не реже одного-двух раз в месяц.
56 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ. Г Первым этапом оперативного управления является сбор и передача ответственными исполнителями первичной оперативной информации о ходе работ. Ответственные исполнители являются в системах сетевого планирования и управления единственным источником входной оперативной информации. Процесс создания нового объекта, как правило, связан с большим количеством изменений и отклонений от принятого оптимального варианта исходного плана. По мере развертывания работ, например, при переходе от эскизного проекта машины к техническому, а затем к рабочему проекту, конструкции и принципиальные схемы ее отдельных устройств, агрегатов, узлов могут существенно меняться. Эти изменения непрерывно продолжают возникать в процессе изготовления опытного образца, его испытания и внедрения. Эти изменения вносят существенные коррективы в первоначально определенный состав работ, закрепленных за отдельными ответственными исполнителями, в показатели, характеризующие цикл, трудоемкость и другие параметры этих работ. Однако введение новых работ или изменение результатов и показателей работ у одного из ответственных исполнителей может вызвать целую цепочку изменений в составе, сроках и иных показателях работ других исполнителей или организаций- смежников. Чтобы это решающим образом не сказалось на общих сроках создания нового объекта, необходимо оперативно зарегистрировать указанные изменения, а главное, достаточно точно и своевременно оценить их возможное влияние на весь ход разработки и изготовления объекта. Представляемая ответственными исполнителями входная оперативная информация о ходе работ должна удовлетворять следующим требованиям: 1) охватывать все работы и события хода разработки, в том числе введение в сетевой график новых работ и событий и исключение из сети ранее предусмотренных работ и событий; 2) оперативно отражать все возникающие изменения состояния и исходных показателей работ и событий, а также количественных оценок последних;
§ 41 ЭТАПЫ ФУНКЦИОНИРОВАНИЯ СИСТЕМ СПУ 57 3) оперативная информация о ходе разработки должна содержать необходимое прогнозирование дальнейшего хода этой разработки, в том числе наличие «узких мест»; например, если в соответствии с изменившимися условиями, по мнению ответственного исполнителя, возникает необходимость проведения в будущем какой-либо новой работы, ответственный исполнитель обязан представить все исходные данные по этой работе, а также предполагаемую последовательность и взаимосвязь работ. Таким образом, вся оперативная входная информация о ходе работ в системах сетевого планирования и управления строится по принципу учета как фактически произошедших, так и предполагаемых отклонений от плана. Вторым этапом оперативного управления является обработка полученной первичной оперативной информации, получение сводной информации и ее доведение в соответствующей степени детализации до руководства различного уровня и ответственных исполнителей. Получаемая сводная информация должна позволить руководителю каждого уровня сосредоточить свое внимание на наиболее напряженных участках закрепленного за этим руководителем комплекса работ, а также принять соответствующие оперативные решения. Третьим, весьма ответственным этапом стадии оперативного управления является обновление сетевой модели, анализ фактического хода разработки и формиро-. вание оперативных решений с целью оптимизации сетевого графика хода разработки. Процедура обновления сетевой модели включает в себя одновременную корректировку сетевых графиков всех уровней — от первичного до сводного. Исключаются аннулированные и добавляются новые работы, корректируются формулировки отдельных работ и событий и т. д. Тем самым обеспечивается постоянное соответствие сетевой модели процессу создания нового объекта, а также соответствие между сетями низших уровней и сводной сетью. В дальнейшем вычислительный центр проводит перерасчет всей обновленной сети. Вновь, с учетом фактического состояния и изменений, рассчитывается ожидаемый срок свершения входящих в сетевой график событий и работ, определяется состав работ критической и
58 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ. Т резервной зон и т. д. При этом может случиться, что в критическую зону попадут новые работы или что ожидаемый срок окажется больше планового. В этом случае вновь повторяется процедура корректировки сетевого графика, подобная той, которая проводилась ранее при оптимизации составления исходного плана. Необходимые варианты решений «проигрываются» на ЭВМ путем проведения необходимого количества повторных поверочных расчетов. Важно отметить, что большое внимание при этом уделяется «проигрыванию» будущего хода работ с целью заблаговременного выявления узких мест. Таким образом, сетевая модель хода разработки все время уточняется и развивается, отражая динамику процесса создания нового объекта. Последним этапом оперативного управления является разработка оперативно-календарных планов и их доведение до руководства соответствующего уровня и до ответственных исполнителей. Чем выше уровень руководства, тем меньшую по объему и более укрупненную информацию оно получает. Руководитель организации, например, получает следующие отчетные сведения: а) ожидаемые сроки свершения и процент технической готовности по этапам и основным элементам разработки; б) сводку о нарушении сроков окончания работ по граничным событиям разработки; в) анализ состава и показателей работ критической зоны. Выше уже было отмечено, что все этапы оперативного управления периодически повторяются на всем протяжении хода разработки. Функционирование этих эта-! пов обеспечивается работой службы СПУ, службы вы-, числительного центра и ответственных исполнителей. § 5. Некоторые алгоритмы расчета параметров в детерминированных сетях В настоящем параграфе мы приведем краткое описа-. ние известных методов расчета различных параметров сетевого графика, введенных в § 3 настоящей главы.
§ 51 НЕКОТОРЫЕ АЛГОРИТМЫ РАСЧЕТА ПАРАМЕТРОВ 59 Примем в качестве условий, что все временные оценки составляющих сетевой проект работ задаются в виде фиксированных значений, то есть имеется однозначным образом определенная детерминированная сеть с детерминированными оценками. Расчет аналогичных характеристик сетевой модели при случайных оценках составляющих сеть работ представляет гораздо более трудную задачу. Соответствующая методика решения этой задачи рассматривается в главах II—V настоящей книги. Мы будем говорить, что сеть правильно занумерована, если для всех входящих в нее работ (i, j) выполняется неравенство /</. Изложим некоторые алгоритмы перенумерации (то есть перехода от неправильной к правильной нумерации) и алгоритмы вычисления tp и /п для правильно занумерованных сетей. Описанный в ряде работ (например, в [70—72]) алгоритм перенумерации сети состоит в следующем. Обозначим через At множество номеров вершин, непосредственно предшествующих вершине L Например, для сети, представленной на рис. 5, получаем следующие множества: Л,= (5, 8); Л2=(5, 12); Л3=(4, 11, 13); Л4=(2); Л5=(0); Л6=(ГВ); Л7=(1,П); Аа=(Ъ); Л9=(3,6,7); Лю=(5); Аи = (1, 2, 8); Л12= (5, 10); Л13= (2, 10, Щ. Множество Л5 — пустое, так как в сети нет вершин, непосредственно предшествующих вершине 5.
60 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ. I Множествами At мы будем пользоваться для перехода к правильной нумерации вершин. Применяя алгоритм перенумерации, мы последовательно будем находить вершину, которая в новой нумерации должна иметь номер 1, вершину, которая должна иметь номер 2, и т. д. до п. По мере нахождения этих вершин мы будем последовательно записывать их старые номера в таблицу очередности, где порядковый номер вершины и будет означать тот новый номер, которым эта вершина должна быть занумерована. Старые номера вершин вносят в таблицу очередности поэтапно. Обозначим через а,- число элементов множества А{. Если на каком-нибудь этапе мы внесли несколько элементов множества А{ в таблицу очередности, то уменьшаем число а,- на соответствующее количество единиц. Таким образом, число а, показывает на каждом этапе количество элементов /4,-, не внесенных еще в «таблицу очередности». Алгоритм перенумерации сети состоит из шести этапов. Этап I. Образуем множество 0, состоящее из всех чисел аха2, .... а„. (1.5.1) Этап II. Рассмотрим числа ait a/fc, оставшиеся к данному моменту в множестве 0, и отберем из них все числа, равные нулю. Пусть это будут числа а., •■■> Oj{. Выпишем индексы этих чисел: h J,- (1-5.2) Этап III. Среди множеств Аи А2, ..., Ап рассмотрим такие, которые содержат хотя бы один из отобранных на предыдущем шаге индексов Д, 1<^-</. Пусть это будут А,, А2 А,„. (1.5.3) Для каждого множества Аг подсчитаем количество сГг его элементов, совпадающих с отобранными. Уменьшим числа аг. на величины сг,. Этап IV. Запишем в таблицу очередности индексы /i, ..., ji, отобранные при выполнении этапа II, а числа aj Л..., Qjt исключим из множества 8.
§51 НЕКОТОРЫЕ АЛГОРИТМЫ РАСЧЕТА ПАРАМЕТРОВ 61 Этап V. Проверим, записаны ли в таблице очередности номера (старые) всех п вершин. Если в таблицу еще не занесены все вершины, то переходим к повторному выполнению этапа II. Если в таблице записаны номера всех вершин, то переходим к выполнению этапа VI. Этап VI. В соответствии с таблицей очередности перенумеровываем заданную сеть. Если применить приведенный выше алгоритм к сети, изображенной на рис. 5, получим таблицу очередности, приведенную ниже (см. табл. 4). Таблица 4 Порядковые номера (новые номера) Старые номера 1 5 9 8 3 10 4 1 5 6 б| 12 7 2 8 4 9 11 10 13 11 3 12 7 13 9 Если на основании этой таблицы все старые номера вершин сети на рис. 5 заменить новыми, то получим сеть, показанную на рис. 6. На этой сети видно, что мы Рис. 6. действительно получили правильную нумерацию вершин, то есть каждая стрелка начинается вершимой с номером меньшим, чем номер вершины, которым оканчивается эта стрелка.
62 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ. Г Приведенный алгоритм всегда позволяет получить правильную нумерацию произвольной сети, если в каждом цикле при выполнении этапа II найдутся новые о,-, равные нулю. Действительно, чтобы получить правильную нумерацию, мы должны число i занести в таблицу очередности только после того, как в таблицу занесены числа /ь ..., /й, входящие в Л,; тогда число i будет заменено большим числом, чем любое из чисел Д, а это означает, что все вершины будут правильно занумерованы. Легко проверить, что при действии рассмотренного алгоритма это правило выполняется: а) число а,- показывает, сколько чисел из множества Ai еще не включено в таблицу; б) когда а* становится равным нулю (это означает, что все числа из множества Ai включены в таблицу), мы включаем число i в таблицу на следующем цикле. Алгоритм перенумерации сети можно несколько усложнить, чтобы по мере составления таблицы очередности проверять, выполняются ли следующие формальные условия, обязательные для сетевых графиков (см. §§ 3, 4 главы I): 1) Сеть имеет только одну исходную вершину. 2) Сеть имеет только одну завершающую (конечную) вершину. 3) Сеть не имеет контуров. 4) Любые две смежные вершины соединяются только одной стрелкой. Если в сети имеется контур или несколько конечных или начальных вершин, то на основании алгоритма перенумерации программа ЭВМ указывает на это, и машина останавливается, сигнализируя о необходимости устранения ошибок. Переходим к разработанному Фордом и Фулкерсо- ном [70, 71] алгоритму расчета самых ранних ^р и самых поздних сроков tn свершения событий в сетевом проекте, вершины которого имеют упорядоченные номера. Рассмотрим связь между tv(i) и tn(i) и критическими путями от какой-либо вершины сети i до исходной и за-> вершающей вершин сети. Событие i может свершиться, как только будут выполнены все последовательности работ, начинающиеся с исходного события и оканчиваю-
§5] НЕКОТОРЫЕ АЛГОРИТМЫ РАСЧЕТА ПАРАМЕТРОВ 63 щиеся событием г, поэтому tP(i)=K(i), (1.5.4) где K(i) —длина критического пути от г-й вершины до исходной. Легко показать, что tn(i)=tp(n)-K(i), . (1.5.5) где tv(n) —наиболее_ранний срок свершения завершающего события С, a K(i) —длина критического пути от г-й вершины сети до завершающей вершины. Таким образом, вычисление самых ранних и самых поздних сроков сводится к определению для каждого события длины критического пути от этого события до исходного и завершающего событий сети. Из соотношения (1.5.4) видно, что самый ранний возможный срок свершения события i равен длине критического пути от исходного события до /-го. Для определения K(i) рассмотрим множество Л,= = {/ь ..., г',}. Пусть мы уже определили K{i%) для 1<|</. Тогда K(i)= max [К Vi) +1 (1Ъ, /)], (1.5.6) поэтому /„(/)= max ft, (/5)+ *(/*. /)]• (1.5.7) Из этого соотношения видно, что наиболее ранний возможный срок свершения события i можно определить, если мы уже вычислили наиболее ранние возможные сроки свершения событий, непосредственно ему предшествующих. Если сеть правильно занумерована, то номер любого события больше номера предшествующего ему события. Поэтому числа tp(i) определяются при переходе от одного события к другому в порядке возрастания их номеров, причем берем гр(1)=0. Если при определении наиболее ранних сроков свершения событий мы двигались при помощи таблицы очередности в порядке возрастания новых номеров вершин, то при определении /п(0 мы начинаем с завершающей
64 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ. I вершины, двигаясь к исходной в порядке убывания номеров вершин. Для этого рассмотрим множество Bi = {ii, ..., i\, ..., ih}, , где /| — номера вершин, непосредственно следующих за вершиной L Так как мы рассматриваем вершины в порядке убывания их новых номеров, то мы переходим к рассмотрению вершины i только после определения наиболее поздних сроков свершения событий i^^Bi. Тогда *„(*)= min [/„('*)-'('. h)\- (1-5.8) Вместо приведенной формулы можно пользоваться следующей: *(/) = max [*(/*) + /(/. h)}, (1.5.9) при помощи которой можно определять длину критического пути от /-й вершины до завершающей, а тогда по формуле (1.5.5) находить/п(0- На основании полученных оценок tp(i) и t„(i) для всех вершин i, входящих в сетевой проект, по формулам § 3 настоящей главы определяются полный и свободный резервы времени для каждой из работ (/, /'), а также резервы времени для каждой из вершин сети. Опишем алгоритмы оценки коэффициентов напря-1 женности ka(i, /), разработанные В. С. Михельсоном [29]. Коэффициент напряженности для работы (i, /) вычисляется по формуле (1.3.18), где Рп(', /)—полный резерв времени работы (»', у), a tKp(i, /)max— суммарная продолжительность работ, находящихся на критическом пути сети и не совпадающих с наидлиннейшим путем L(i, /)max, проходящим через работу (i, f). Число 'кр(^> Лтах равно продолжительности работ критиче-. ского пути, находящихся на максимальном пути, проходящем через работу (/, /). Пусть а и b— события, в ко-, торых максимальный путь, проходящий через работу (t, /), пересекает критический путь. Легко показать, что при правильной нумерации вершин l<!a^i, j^Cb-Cn и
5 5] НЕКОТОРЫЕ АЛГОРИТМЫ РАСЧЕТА ПАРАМЕТРОВ 65 часть критического пути от исходного события до а-го полностью совпадает с частью пути /кр ('» j)max между этими же событиями. Аналогично часть критического пути между событием Ь и завершающим полностью совпадает с частью пути (кр (/, /)тлх между этими же событиями. Из сказанного следует, что величина /кр — — ^кр(/. ДПахРавна разности между длиной критического пути от исходного события до b и длиной критического пути между исходным событием и а, то есть г*р — 4 (1< Дш, = h (Ь) — (Р (а). (1.5.10) Максимальный путь L(i, j) max СОСТОИТ ИЗ МаКСИМЗЛЬ- ного пути между исходным событием и /-м, работы (/, /) и максимального пути между /-м событием и завершающим. Если между исходным событием и г'-м проходит один максимальный путь, то событие а однозначно определяется по событию I, вне зависимости от события /. Аналогично, если завершающее и /-е события соединяются одним максимальным путем, то событие b однозначно определяется событием /, вне зависимости от события /. События а и Ьу найденные для заданных i и /, называются соответственно опорными событиями для i и /. Пусть событие ( соединяется с исходным несколькими максимальными путями Lu L2 Lh одинаковой длины, которые пересекаются с критическим путем сети соответственно в событиях аи а2, • • •, «л- В этом случае за опорное событие к событию i берется такое событие ah \*CljCk, которое наиболее близко расположено от исходного события, то есть для которого имеет место равенство tp(al)= min Лр(а?). (1.5.11) Если событие / соединяется с завершающим событием несколькими максимальными путями 7\, ..., 7\, которые пересекают критический путь сети в событиях bu b2, ... ..., bh, то за опорное событие к событию / выбирается такое Ь[, что /р(6,)= max /p(fts). (1.5.12) 5 Д. И. Голенко
66 ХАРАКТЕРИСТИКА СИСТЕМ СПУ [ГЛ. t В заключение несколько слов относительно расчета параметров сетевого графика в неупорядоченных сетях. Для вычисления самых ранних сроков tv{i) (иными словами, длины K.(i) критического пути от исходного до г'-го события) обычно применяется известный алгоритм Форда — Фулкерсона [70, 71]. Обозначим через п0 исходную вершину сети, а через п — завершающую. Каждой вершине сети сопоставим некоторое число. Число, которое сопоставляется вершине k, обозначим через //, (вначале /;f = 0 для всех k). Алгоритм нахождения К{1) состоит из нескольких этапов, на каждом из которых для всех работ (i, j) подсчитаем разность /;- — /,•: а) если lj — h<t(i, j), то число lj заменяем числом li+t(i, /); б) если [j — li^-t{i, /), то число lj оставляем без изменения. Просматриваем все работы (i, j) и делаем указанные замены_чисел 13_ столько раз, пока не получим такие числа /„„ /,,, при которых для всех работ (г, /) имеет место неравенство Г, — li^-t(i, j). Можно доказать, что полученные числа Ц определяют длину критического пути K(i) от исходной вершины до t'-й, то есть значение /Р(0- Аналогичный принцип может быть положен в основу определения длины критического (максимального) пути от г'-й вершины до завершающей, с той лишь разницей, что а) вместо разностей lj—U составляются разности U-к, б) вместо замены чисел /j числами li + t(i, /) мы увеличиваем числа U до lj + t(i, j). Выше уже подчеркивалось, что все приведенные в настоящем параграфе рассуждения относятся исключительно к случаю сетей с детерминированными оценками. Сети вероятностные (для которых сами работы или их характеристики задаются в виде случайных величин) анализируются с помощью теоретико-вероятностного аппарата. В последующих главах книги будет показано,
§ 5] НЕКОТОРЫЕ АЛГОРИТМЫ РАСЧЕТА ПАРАМЕТРОВ 67 что применяемый в зарубежных (и части отечественных)' системах сетевого планирования и управления вероят- постный аппарат не является вполне корректным. Полу*, чаемые с его помощью оценки не являются достовер-. ными и в ряде случаев могут существенно понизить ка-, чество работы системы СПУ в целом. На наш взгляд, весьма эффективным является математический аппарат, основанный на статистическом моделировании и ряде других статистических методах, подробно рассматриваемый в последующих главах.
ГЛАВА II РАСПРЕДЕЛЕНИЕ ВЕРОЯТНОСТЕЙ ВРЕМЕННЫХ ОЦЕНОК РАБОТ В СЕТЕВЫХ МОДЕЛЯХ § 1. Обоснование закона распределения временных оценок, принятого в системах СПУ Во всех без исключения системах СПУ, применяемых для планирования и управления созданием нового комплекса с неопределенностью временных параметров составляющих его операций, принимается, что продолжительность работ сетевой модели является случайной величиной. Предполагается, что случайные величины про- должнтельности работ подчинены принятому для данной системы СПУ закону распределения, причем тип распределения принимается одинаковым для всех работ. Что касается параметров распределения, то последние задаются для каждой работы их ответственными исполнителями на основе либо нормативных данных, либо априорных соображений, либо своего производственного опыта. В предыдущей главе нами уже отмечалось, что в системах СПУ типа ПЕРТ, например, задаются три параметра: нижняя грань а области определения (оптимистическое время), верхняя грань Ь (пессимистическое время) и мода распределения m (наиболее вероятное время). В других системах СПУ (например, в некоторых отечественных) задаются всего два Параметра — оценки а и Ь. Практически во всех системах СПУ априорно принимается, что плотность распределения временных оценок продолжительности работ обладает тремя свойствами: а) непрерывностью, б) унимодальностью, в) двумя неотрицательными точками пересечения этой плотности с осью абсцисс. Простейшим распределением с подобными свойствами является бета-распределение, которое обычно постулируется на практике. Общий вид бета-распределения характеризуется, помимо наличия большого количества случайных факто-
§ I] ОБОСНОВАНИЕ ЗАКОНА РАСПРЕДЕЛЕНИЯ 69 ров,'каждый из которых в отдельности оказывает незначительное, несущественное влияние, наличием нескольких также случайных факторов, число которых невелико, а влияние существенно. В результате воздействия существенных факторов распределение вероятностей обычно делается асимметричным. Именно такого рода обстоятельство имеет место при реализации подавляющего большинства входящих в сетевой проект работ. Отсюда вытекает возможность выбора бета-распределения в качестве априорного типового. Анализ большого количества статистических данных (хронометражи времен реализации отдельных работ, нормативные данные и т. д.) также подтверждает возможность использования бета-распределения в качестве априорного. Формула плотности бета-распределения имеет следующий вид: 1 „Р-1/1 ..\Ч (\-xf~1 при 0<х<1, В(р, q, х) = \ В<Л Л О при х <0, х > 1, (2.1.1) где В(р, q) — бета-функция, причем В (р. Я)=\х^{\-хГ'с1х=ЩШ-, (2.1.2) о а гамма-функция Г (г) определяется по формуле го-J e-'t2'1 dt, причем для целых z функция Г(г) = 1 • 2 . . .(г— 1) = = (2—1)! Начальный момент г-ro порядка определяется формулой 1 При г—1 получаем математическое ожидание Мл: _L_ f V+'-'o -Xf-Vdx= Bl£ + r\g) . (2-1.3) i (P. я) J B (p. я) ' 0 B(p+1, Я) _ Т(р+1)Г(д)Г(р + д) _ __p_ fa . .. B(p,q) T(p + q+\)V(p)V(q) p + q ' ** ' >
70 РАСПРЕДЕЛЕНИЕ ВЕРОЯТ. ВРЕМЕННЫХ ОЦЕНОК РАБОТ [ГЛ. 1[ Для дисперсии (г = 2) имеем иЛ~ В (/?,<?) \p + q) ~ _ Р(Р+1) £l_ РЯ /9 1 ел (P + q)(P + q+l) (P + q)2 (P+ q)2 (P + q + D ' ^ ' Вид функции (2.1.1) зависит от показателей р и q, причем для р>2 (и соответственно для д>2) функция распределения обращается в 0 в левой (или правой) конечной точке вместе с ее первой производной. Для 1<р<2 (и соответственно 1<<7<2) кривая имеет вертикальную касательную в левой (правой) конечной точке. Для 0<р<1 (и соответственно 0<q<\) функция уходит в бесконечность, если значения х соответствуют левой (правой) конечной точке, причем вертикальная прямая, проведенная из левой крайней точки, будет ее асимптотой. Для р4^.0 (и соответственно ^-^0) интеграл равен бесконечности, так что функция распределения перестает существовать. Рассмотрим оригинальное обоснование целесообразности принятия закона бета-распределения, предложенное Ю. П. Кривенковым [37] и основанное на построении модели случайной величины времени окончания ра-. боты в сетевом проекте. Пусть начало выполнения работы относится к моменту То, а ее окончание представляет, собой случайную величину, изменяющуюся в интервале (Т\, Т2). Величина Tt представляет собой время -окончания работы, которое определяется причинами, лежащими в существе данной работы, и называется [37] 1-м технологическим временем для данной работы. Аналогично величина Т2 носит название 2-го технологического вре-. мени для работы. Плотность распределения случайной величины окончания работы определим, исходя из следующих предположений: 1. Весь интервал времени выполнения работы (Го, т) состоит из интервалов, относящихся к собственно работе, и интервалов, относящихся к задержкам.
§ 1] ОБОСНОВАНИЕ ЗАКОНА РАСПРЕДЕЛЕНИЯ 71 2. Длительность времени, равная 7\ — Го, относится к собственно работе, а длительность т — 7\ относится к задержкам. 3. Отрезок времени 7"i—Т0 разбит на п одинаковых частей длительностью (7\—Т0)/п. Если на первом интервале (7'0, 7'0-| ! -1 возникает задержка, то после момента tx—T0-\ ! работа прекращается, и в последующий интервал времени от ц до t\ = ti-+- &, где Д=(Т2— Ti)/n, происходит устранение возникшей задержки, и работа снова возобновляется только с момента t\- Если на интервале (7"0, ti) не возникает задержек, то после tt работа продолжается. Затем учитывается возможность затруднений на следующем этапе работы и[, t[-\ 1——-] в первом случае и (/ь t2) Г — Т \ где t2 = tl-\ ! -1— во втором и т. д. Очевидно, что если на каждом этапе задержек не возникнет, то работа закончится в момент 7\, а если задержки возникнут на каждом этапе, то работа окончится в момент Т2. Если в общей сложности возникает m затруднении, то работа окончится в момент v=Ti+m£i = Ti+. 7-2-7-, п 4. Событие, заключающееся в том, что на i-ta этапе возникло затруднение, определяется i'-й выборкой из некоторой генеральной совокупности. 5. Единичный элемент генеральной совокупности содержит долю р «благоприятствия затруднениям». 6. С каждым этапом генеральная совокупность увеличивается на величину •&, причем если на предыдущем этапе возникли задержки, то 0 благоприятствовало за-, держкам и не благоприятствовало в противном случае. Если через Д- обозначить событие, заключающееся в том, что на (г'-Ы)-м этапе возникла задержка при условии, что на предыдущих i этапах возникло k задержек, то вероятность события А будет иметь вид р№=тупг 0 <*<'"<*)■ (2-1-6)
72 РАСПРЕДЕЛЕНИЕ ВЕРОЯ'Г. ВРЕМЕННЫХ ОЦЕНОК РАБОТ [ГЛ. И 7. Составляется разность вероятностей задержек на /-м этапе при наличии k+l и k задержек на предыдущих этапах и относится к вероятности задержек на i-м этапе при полном отсутствии задержек на предыдущих этапах. В результате получается соотношение р(а\+у)-р(аЧ) ф гЩ "7" Из этой формулы видно, что Ю. П. Кривенковым рассматривается такой закон задержек, для которого относительная величина задержек постоянна. При этом можно показать, что распределение вероятностей для случайной величины т имеет вид га—1 п—т—1 П </»+/v> П <*—*+*о Рт,п = С:— 7^ • (2-1.7) П c+'v) /-о Действительно, число последовательностей из п этапов, на которых возникло т задержек, равно числу сочетаний С™. Каждая последовательность имеет одну и ту же вероятность га-1 п -га-1 J (p + iv) (l-p + ну Г-о 1=о л-1 ибо после того, как на h этапах затруднения возникли, а на k этапах не возникли, вероятность задержек и вероятность отсутствия задержек на следующем этапе выражаются соответственно числами р -\- hv 1 — р + kv l + (k+h)v и 1 -f (* + л) v " Отсюда вытекает утверждение Ю. П. Кривенкова. Отметим, что отсутствие зависимости вероятности задержек от предыдущего этапа является частным случаем (v = 0) написанного выражения для рт,п и представляет собой известное биномиальное распределение. В дальнейшем в работе [37] находится предельное выражение для вероятности рп< т при условии, что п неограниченно воз*
I 2] ОЦЕНКА ПАРАМЕТРОВ ЗАКОНА РАСПРЕДЕЛЕНИЯ 73 растает. Из формулы (2.1.7) имеем Рт+\.п _ п — т p-fmv (l) , Rv Рт.п ~ т + \ l-p + (n-m-\)v • V4'1'? откуда, обозначая -^- — а, -^-1 —— 1) = Р> будем иметь Pm + i,„ — Рт.п _ («— 1)я + (2 — « — Р) W — РЧ-1 _ />m,/i (m + l)(P + n —m —1) (а-1) + (2-а-р)-£-+-Цр£ и V ' п ' я / Полагая mjn = x, (m-\-l)ln — x-{-Ax, pm,n = y, pm+u„= = (/-)-Дг/, устремляя л->оо или Дл—>0и интегрируя, получим £/^Сха_1(1— х)р_1. (2.1.9) откуда видно, что плотность вероятности случайной величины £ = Нт — выражается формулой п-»оо " в которой 13(а, р) есть функция Эйлера и которая совпадает с (2.1.1). Таким образом, | является случайной величиной, распределенной по закону бета-распределения (2.1.1). Замена переменных x=(t — a) j(b — а) приводит к хорошо известной формуле бета-распределения с плотностью */Л ( ;^тгт (< —а)а_1(6 —0Р"'приа</<6, О в противном случае. (2.1.11) § 2. Оценка параметров закона распределения в системе ПЕРТ Информацией, которая служит основой для построения теоретико-вероятностного аппарата систем СПУ, является вероятностная сетевая модель процесса создания нового комплекса, а также оценки некоторых параметров
74 РАСПРЕДЕЛЕНИЕ ВЕРОЯТ. ВРЕМЕННЫХ ОЦЕНОК РАБОТ [ГЛ. П распределения продолжительности работ t(i, /) в сетевой модели. В настоящем параграфе мы опишем главным образом вероятностную модель систем типа ПЕРТ. Основой исследования и построения теоретико-вероятностного аппарата в системе ПЕРТ являются следующие допущения: 1. Продолжительность произвольной работы t(i, /) есть случайная величина, распределенная по закону бета-распределения на отрезке [а, Ь] с плотностью ф(*)=С(/ — а)Р-1(Ь — /)'/-'. (2.2.1) 2. Параметры закона распределения ф(/)—математическое ожидание М (/, /) и дисперсия а2(г, /) —определяются по формулам М (/, у) = "^ 6';^ и , (2.2.2) °4i.fi={b,J~^*j)S . (2-2.3) где ctij, bij и niij — соответственно оптимистическая, пессимистическая и наиболее вероятная (мода) оценки, задаваемые ответственными исполнителями работы (»', /"). Ряд других допущений относится к методике расчета параметров сети в целом и будет рассмотрен в следующей главе. Как будет показано ниже, формулы (2.2.2) — (2.2.3) носят полуэмпирический характер. Рассмотрим функцию плотности <р(/) при значениях р — 1=<х, q — 1=у. й = 0, b=\. При этом ф(/) = аа(1 — /)Y. (2.2.4) где г_ Г(а+у + 2) " Г(а + 1)Г(у + 1) • Параметры М, т', а2 в этом случае примут значения *-^$йт. (2-2-5) (2.2.6) a-f-Y Т2 _ (a-r-l)(V+l) /о 9 7^ (u-|-Y + 2)4« + Y4 3) ' *•*•')
§ 2] ОЦЕНКА ПАРАМЕТРОВ ЗАКОНА РАСПРЕДЕЛЕНИЯ 75 причем мода т' связана с оценками продолжительности , , , т—а работы а, о и т соотношением т =-г . г о — а Значение т (и соответственно т') задается ответственными исполнителями и является фиксированной величиной, а из уравнения (2.2.6) следует, что параметры а и y распределения связаны между собой соотношением V = a l~f . • (2.2.8) Поскольку для конкретной работы (/, /) величина ■——,—- постоянна, то удобно записать следующую формулу: ф (t) = Cta (1 — tf V»r" 0, (2.2.9) в которой свободный параметр а определяет семейство кривых этой плотности. При уменьшении а кривая плотности становится более пологой и стремится к равномер- 2 ' ному закону распределения с дисперсией ° — w и М =0,5. При больших значениях а кривая плотности характеризуется уменьшением асимметрии и стремится к форме кривой плотности нормального распределения. При т'—*\ распределение (2.2.9) стремится к степенной функции Cta, при т'-+0 <р(0 стремится к б-функ- ции Дирака. Резкие колебания т' ведут к существенным изменениям величины коэффициента асимметрии. Таким образом, кривая плотности (2.2.9) обладает свойством унимодальности, непрерывности и имеет две неотрицательные точки пересечения с абсциссой, то есть удовлетворяет постулированным свойствам закона распределения продолжительности работ в сети, описанным в предыдущем параграфе. Положим t=(x — a)/(b — а) и перейдем к ненормированному распределению f(x) = N(x — a)a (b — xf V~ 0, (2.2.10) где N = [{b — a)e+vMB(a+l. V-H)]"*- 3Десь V =» = а(—т—И- Мода т легко определяется из
76 РАСПРЕДЕЛЕНИЕ ВЕРОЯТ. ВРЕМЕННЫХ ОЦЕНОК РАБОТ [ГЛ. II уравнения а{Ь—т) = у(т — а). (2.2.11) Нетрудно установить [22], что для первого и второго моментов—математического ожидания М и дисперсии D (обозначаемых Ki и /Сг) — существуют следующие соотношения: (а-\-у-\-2)К1=(а-\-\ + 2)т-\-(а + Ь)—2т, (a + у + 3) Кг = (а + Ь) Кх - ab — К\. Центральные моменты высшего порядка определяются по следующей формуле: (a + Y + 2 + «)K„M = = п(а + Ь)Кя-п[КхКп + (п-\)К7Кп-х + ... +КпКх\. (2.2.12) Эта формула действительна при п = 2, 3, ... Формулу для К\ можно написать в виде Отсюда получаем M = Kl = ia + yJ^a2+b) , (2.2.13) На основе детального статистического анализа, проведенного эмпирико-экспериментальным путем, разработчиками математического аппарата системы ПЕРТ было установлено, что ос+у~4. Отсюда немедленно вытекает следующая модификация формулы (2.2.12): 6Я,=(л-И)-И«, 7Кг = (а + Ь)Кг-аЬ-К\, АКг = {а-\-Ь)К2-2КхК2, ЗК4 = (а + Ь)Кз — 2(К1Кз-\-К1) и т. д. Дисперсия D при а+у=4 определяется исходя из формулы (2.2.14) следующим образом: (b-g)i 4 \а + Ь и ~' 28 63 [Ч1-™]2- <2-2-15)
5 21 ОЦЕНКА ПАРАМЕТРОВ ЗАКОНА РАСПРЕДЕЛЕНИЯ 77 Если мода соответствует средней арифметической (а + Ь)/2, значение о = ■ ,— ; если мода лежит возле а, дисперсия о2 = 5(Ь — а)2/252. Мы видим, таким образом, что в зависимости от положения моды среднее квадрати- ческое отклонение колеблется в интервале у (Ь — а). -^(Ь — а) . Это и позволило разработчикам системы ПЕРТ вместо громоздкой, хотя и более точной формулы (2.2.15) принять приближенное равенство а^(Ь — а)16. (2.2.16) Что касается математического ожидания М, то первая из формул (2.2.14) приводит к известному в литературе о системе ПЕРТ соотношению М=(а + & + 4/и)/6. (2.2.17) В ряде зарубежных источников (например, в [73]) приводится несколько другое обоснование вывода формул (2.2.16) — (2.2.17). На основании полученных Э. С. Пирсоном соотношений a = 2-j-j/'2, y — 2 — Y2 или а=2 — У*2, у = 2-г-\^2 можно получить формулы (2.2.16), (2.2.17), исходя из ранее полученных соотношений (2.2.11) и (2.2.12). Однако в этом случае мы жестко закрепляем значение оценки т' (или величины т, поскольку т = = т'(Ь — а)+а), что противоречит принципу задания оценки т ответственным исполнителем на основании его субъективного опыта. Мы видим, таким образом, что теоретико-вероятностный аппарат системы ПЕРТ содержит ряд неустранимых противоречий, критика которых будет рассмотрена ниже. Их причина в основном кроется в невозможности точного вывода формул (2.2.16) и (2.2.17) на основе уравнения (2.2.10), поскольку три параметра из четырех в этом уравнении определены заданием ответственными исполнителями оценок а, Ь и т, а какие-либо дополнительные допущения немедленно влекут за собой противоречия в методике задания этих трех оценок.
78 РАСПРЕДЕЛЕНИЕ ВЕРОЯТ. ВРЕМЕННЫХ ОЦЕНОК РАБОТ [ГЛ. П Рассмотрим некоторые погрешности оценок для математического ожидания Мх и дисперсии Dx, вызванные допущениями, принятыми в теоретико-вероятностном аппарате системы ПЕРТ. Эти погрешности можно разделить на три группы: а) группа ошибок, вызванная допущением бета-распределения в качестве стандартного закона, которые мы назовем ошибками первого рода; б)группа ошибок, вызванная применением формул (2.2.16) и (2.2.17) для оценки Мх и а* при условии объективной достоверности плотности (2.2.1) в качестве закона распределения временных оценок, — ошибки второго рода; в) группа ошибок (третьего рода), вызванная неточностью экспертных оценок параметров a, b и т в предположении, что плотность распределения (2.2.1) и формулы (2.2.16) и (2.2.17) объективно верны. Опишем проведенное в [84] исследование возможных ошибок в оценке математического ожидания Мх и среднего квадратического отклонения ох, вытекающих из допущения о принятии бета-распределения в качестве единого стандартного закона (то есть ошибки первого рода), при условии задания трех параметров а, b и т. В целях упрощения рассмотрим нормированный диапазон распределения « = 0, b = \, 0<;m' = (m — a)l{b — a)<-j. Сравнивая различные виды законов распределения, обладающих аналогичными параметрами (квазиравномерный закон распределения со средним, близким к 0,5, и квазидельта-закон распределения со средним, совпадающим с модой т), получим следующие предельные абсолютные погрешности: а) для нормированного математического ожидания Мх погрешность Ai равна Ах = -д- (1 —2т'); б) для значения нормированного среднего квадратического отклонения ах максимальная ошибка достигает А2=1/6. Значение Ai как функции нормированной моды т' при приближении последней к границам диапазона может достигать 33%, величина же Дг не зависит от моды.
§ 2] ОЦЕНКА ПАРАМЕТРОВ ЗАКОНА РАСПРЕДЕЛЕНИЯ 79 Оценка Д4 была в дальнейшем исправлена Лукашевичем [79], который показал, что максимальная абсолютная погрешность для унимодального непрерывного распределения в интервале (0, 1) A, = -g-(l ~?г)- Таким образом, формулы Мак-Криммона — Ривека и Лукашевича дают близкие значения для величин т, близких к 1 нулю, но существенно разнятся для т — наиболее часто встречающегося на практике случая. Исследуем (см. [84]) максимальные значения абсолютных ошибок оценок математического ожидания Мл: и среднего квадратического отклонения ох для класса бета-распределения, обусловленные допущением ох = — !к(Ь — а) и аппроксимацией Мх= (а + Ь+4т)/6, то есть ошибки второго рода. Используя формулы оценки моды (2.2.6), среднего значения Мх (2.2.5) и среднего квадратического отклонения ох (2.2.7) и, сравнивая их с соответствующими оценками, применяемыми в системе ПЕРТ, получим следующие значения Д4 и До (при а = 0, 6 = 1): А, 4т'+ 1 w'(a-t-l) a-(-2/n max Д1 = 33%, л/ «"(« + 1)(а — ат' + т') + 2т')*(а-\-Зт') тахД2 = 17%. (2.2.18) Наконец, исследуем погрешности третьего рода At и Д2 в предположении, что формулы (2.2.17) и (2.2.16) для расчета значений Мх и ах, а также закон бета-распределения объективно верны, однако экспертные оценки для значений a, b и т могут содержать ошибку. Следуя [84], примем, что величины a, b и m являются истинными значениями нижнего предела, моды и верхнего предела бета-распределения, а задаваемые экспертами приближенные оценки этих величин t„, tm и tb лежат в пределах 0,8а </„< 1,1а; 0,9m < tmK 1,1m; 0,9b<tb<. •^ 1,26. Для этого случая при дополнительном условии
80 РАСПРЕДЕЛЕНИЕ ВЕРОЯТ. ВРЕМЕННЫХ ОЦЕНОК РАБОТ [ГЛ. И а-^.т<С 2 наихудшая абсолютная оценка Д -= l Г[(0.8а + 3.6т+0,96)-(а + 4/к +6) I 1 b — a LI 6 I* | (1,1а + 4,4/и + 1,26) — (а + 4т + Ъ) I ] _ I 6 IJ — Аналогичная оценка Д2 для ах составляет 1 Г 0,96 — 1,1а — (6 — а) I (1,26 — 0,8а) — (Ь— а) I "I г ГПЭХ ,, » ^ I —— 6 —а L 6 6 | J -ife* <2-2-20) и поэтому значение моды т не влияет на оценку Да. Противоречия в разработанном авторами системы ПЕРТ методе расчета параметров распределения временных оценок привели -к критике этого метода со стороны ряда ученых, занимающихся разработкой и внедрением систем СПУ [50, 73, 93, 94]. В ряде работ содержатся рекомендации по модификации этого метода, которые будут рассмотрены в следующих параграфах настоящей главы. § 3. Некоторые модификации вероятностного аппарата системы ПЕРТ По-видимому, ни одна составная часть математического аппарата системы ПЕРТ не подвергалась столь многочисленной и резкой критике (нередко вполне справедливой), как методы анализа и расчета параметров вероятностных законов распределения. Неустранимость противоречий, порожденных допущениями системы ПЕРТ, вызвала к жизни создание ряда модификаций этих методов, в том числе разработку некоторых оригинальных рекомендаций и методов применительно к конкретным системам СПУ. В настоящем параграфе мы рассмотрим группу рекомендаций, сохраняющую в своей основе трехоценочную методику задания закона распределения, а в последующем — некоторые вероятностные
§ 3] МОДИФИКАЦИИ ВЕРОЯТНОСТНОГО АППАРАТА 81 модели, основанные на задании ответственными исполнителями закона распределения работ с помощью лишь двух оценок. Принятые в методе ПЕРТ допущения основаны в основном на следующих априорных предположениях: 1. Распределение вероятностей продолжительности выполнения любой работы является бета-распределением, определенным на интервале от оптимистической (а) до пессимистической (Ь) оценки продолжительности данной работы. 2. Среднее квадратическое отклонение этого бета- распределения равно 1/6 размаха, то есть (6 — а)/6. Допущение 1 существенно в силу того, что оно ограничивает распределение вероятностей продолжительности операций конечным размахом (то обстоятельство, что принимается бета-распределение, играет менее важную роль, так как свойства этого распределения используются лишь в малой степени). Исходя из принятого конечного размаха, некоторые авторы (например, [86]) делают вывод, что среднее квадратическое отклонение одномодального распределения можно грубо аппроксимировать 1/6 размаха. Таким образом, допущение 1 повлекло допущение 2. Однако допущение 2 в математической статистике часто оказывается ложным. Так, например, среднее квадратическое отклонение равномерного распределения, определенного на интервале (а, Ь), равно (Ь — а)/2]ЛЗ. При небольшом искажении плотности вероятности это распределение можно сделать одномо- дальным так, чтобы величина среднего квадратического отклонения при этом не изменилась. Если предположить, что две независимые случайные величины определены на интервале (а, Ь) каждая, то в силу допущения 2 среднее квадратическое отклонение каждой из этих величин равно (Ь — а)/6. В соответствии с известной теоремой математической статистики среднее квадратическое отклонение суммы этих двух случайных величин равно 1^2(6 — а)/6. Однако сумма определена на интервале (2а, 2Ь) и в силу допущения 2 ее среднее квадратическое отклонение должно быть равно (2Ь— 2а)/6. Таким образом, в этом случае допущение 2 также не выполняется. 6 Д. И. Голенко
82 РАСПРЕДЕЛЕНИЕ ВЕРОЯТ. ВРЕМЕННЫХ ОЦЕНОК РАБОТ [ГЛ. It Вместо соотношения а= (Ъ — а)/6 можно использовать [86] оценки математического ожидания или медианы, поскольку при этом можно охватить более широкий класс бета-распределений. Однако получение отдельных экспертных оценок для математического ожидания, медианы и моды является весьма нелегким делом. Более целесообразно во многих случаях использовать другой набор оценок, состоящий из пределов диапазона распределения (то есть а и Ь) и двух промежуточных квантилей распределения, в качестве которых можно взять оценки квартилей (1-й и 3-ей). Другой метод устранения противоречий между допущениями 1 и 2 сводится к использованию другого закона распределения, в частности гамма-распределения, плотность вероятности которого определяется формулой f^J^TW- (0<^<оо;6, Х>0), 1 о t < о. Эта функция почти полностью сохраняет универсальность бета-распределения, обладая тем преимуществом, что для определения ее параметров требуются только две временные оценки, которые можно оценить, например, двумя промежуточными квантилями. Другой подход к устранению описанных выше противоречий, обусловленных принятыми в классической модели ПЕРТ допущениями, сводится [86] к тому, чтобы не считать а и b абсолютными границами интервала бета-распределения, а относить их к некоторым внутренним р-квантилям распределения, например /? = 0,001 и р = 0,999. Однако при этом возникают две существенные трудности: а) трудность оценки полного размаха бета-распределения по оценкам двух внутренних /^-квантилей; б) трудность для эксперта различить два рядом лежащих внутренних р-квантиля, которые могут незначительно отличаться коэффициентами доверия р и весьма существенно — своими значениями Wp (например, в случае р! = 0,001 и £2 = 0,025 для нормального распределения W0,m — l^o.ooi = 1>5 (№0,975— WW)). В ряде систем
§ 31 МОДИФИКАЦИИ ВЕРОЯТНОСТНОГО АППАРАТА 83 СПУ [86] принято, что определение р-квантильных оценок должно производиться только специалистами по математической статистике, имеющими весьма высокую квалификацию и знающими свойства распределения, которому подчиняется продолжительность операций. Нетрудно видеть, что это требование в условиях действующей системы СПУ носит весьма нереалистический характер ввиду трудности различения двух р-квантильных оценок с близко отстоящими друг от друга значениями р. Можно использовать в качестве принятого закона гамма-распределение, но с тремя оценками [37]. Рассматривая формулу плотности для бета-распределения в интервале (Ти Т2) (см. § 1 настоящей главы) f(t) = - * , -((—T.f'iT. — tf-1 (2.3.1) и полагая при этом J-~— = # = const, в предельном слу- * 2 чае (при Тг—► оо и р —*оо) получаем гамма-распределение с плотностью Р^= ^йаУ1 e-B{t-Tl)> (2-3-2) которое, как легко видеть, имеет только три параметра: а, В и Г). В случае гамма-распределения можно более свободно выбирать характеризующие распределения оценки. Например, возможны следующие наборы [37]: 1) технологическое время 7*1, мода ш, пессимистическое время Ь; 2) технологическое время Tit оптимистическое время а, мода т\ 3) технологическое время Ти мода ш, квантиль при Р = 2/3; 4) оптимистическое время а, мода ш, квантиль при Р = 2/3; 5) мода т, квантиль при р = 2/3, пессимистическое время Ь. Иногда удобно [94] заменить бета-распределение на треугольное распределение с плотностью p(t), причем ъ*
84 РАСПРЕДЕЛЕНИЕ ВЕРОЯТ. ВРЕМЕННЫХ ОЦЕНОК РАБОТ [ГЛ. It p(t) определяется интервалом (а, Ь) и модой т 2(t — a) Pit)- (b — а) (т — а) 2(ft-Q (b — a)(b — m) 0. если t £[a, m\, если t £ [т, Ь\, если t(fc\a, b\. (2.3.3) Основанием для такого предложения является тот факт, что вероятностный анализ погрешностей (см. § 2 настоящей главы) для бета-распределения и треугольного распределения приводит к примерно одинаковым результатам. В треугольном распределении для параметров Мх и ох не требуется приближенных вычислений или каких-либо допущений, а само распределение p(t) однозначно определяется тремя параметрами, например а, b и т. В частности, из формулы для функции треугольного распределения F(t). <■*■ 0, ■ в)* (6 — а) (т — а) ' 1 — (х-ЬУ (Ь- ■ а) (т - 1. в) если если если если д:<а, а < х < т, т < х <^Ь, х> Ь, (2.3.4) получим, что распределенная по закону p(t) случайная величина | следующим образом связана со случайной величиной г) с равномерным распределением на отрезке [0, 1]: Л). с' если г] < d, если ц > d, .(Ь — а)(Ь — т); (2.3.5) где c=(b — a) (m — а); ■=(/л — а)1(Ь — а). Математическое ожидание и дисперсия случайной величины | равны: М£ = (а + ю + *)/3, (2.3.6) D& = -tV (а2 + W2 + Р — am - ab -- /и&). (2.3.7)
§ 3] МОДИФИКАЦИИ ВЕРОЯТНОСТНОГО АППАРАТА 85 Таким образом, треугольный закон распределения столь же правомерно использовать для сетевых моделей со случайными оценками работ, как и закон бета-распределения. Заметим, что треугольное распределение используется и в некоторых отечественных системах СПУ, например в [10]. Вместо оценки моды т для бета-распределения продолжительности работ можно задавать оценку математического ожидания Мл\ При этом предполагаем, что кривая бета-распределения касается оси абсцисс в точках а и Ь. Построенный на этой основе Дональдсоном [67] математический аппарат оценки параметров распределения частично устраняет описанные в § 2 настоящей главы противоречивые положения аппарата системы ПЕРТ (фиксированность коэффициента асимметрии и свобода положения точки т относительно а и Ь). Таким образом, задаются три оценки а, Ь и Мх, причем последнюю оценку можно получить столь же обоснованно, как и моду. Учитывая уравнение (2.2.8), нетрудно определить отношение q\p = (b— Мх)/(Мл:— а), а затем получить формулу расчета дисперсии о£ = = (6 — Мл) (Мл: — a)l{p-{-q-\- 1). Используя условие касания оси абсцисс, легко прийти к выводу, что наименьшая величина p + q, удовлетворяющая этому условию и формуле для отношения q/p, составляет 2 + 2^ + 6, где 6>0 , . г(6 —M.v) (Мх — а)-\ „ и близко к нулю, а к = max[ тх_а) • {Ь-Мх)\- 0т' сюда можно оценить дисперсию а2х по формуле о£ = — {Ь — Мл:) (Мл: — a)(3-\-2k), которая несколько завышает истинное значение дисперсии, если считать, что кривая бета-распределения имеет минимальный наклон к оси абсцисс. Сравнивая эту оценку с принятой в классической модели ПЕРТ, получим отношение ^ = L l72— ПРИ 0<Мх —а<6 —Мх, (2.3.8) где о</;<1 Ъ-а " "^"-^.а Следует отметить, что описанный метод не отличается существенно от метода, применяемого в системе ПЕРТ
В6 РАСПРЕДЕЛЕНИЕ ВЕРОЯТ. ВРЕМЕННЫХ ОЦЕНОК РАБОТ [ГЛ. II [66], хотя допущение о касании кривой бета-распределения оси абсцисс является правомерным. В самом деле, при вычислении о2х величина б берется равной нулю, что жестко фиксирует значения р и q даже при наличии оценки Мл- вместо моды т. Действительно, если b — Мл'>Мх—а, то берем /7 = 2 и q = 2(b — Мх)/(Мх — а). Если Мх — а>Ь —Мх, то 9 = 2 и р = 2(Мх — а)/(Ь — Мх). Фактически метод Дональдсона позволяет принимать р = 2 для всех кривых, где среднее меньше половины диапазона распределения, после чего оценивать q, исходя из отношения qjp = (b— Mx)l(Mx — а). (2.3.9) С другой стороны, если среднее больше половины диапазона, то <7 = 2 и р аналогично определяется исходя из формулы для отношения qlp. Следовательно, мы и в этом случае имеем дело с ограниченным классом бета- распределений, хотя ограничения значительно ослаблены возможностью выбора кривых бета-распределения для различных значений асимметрии по сравнению с жесткими ограничениями, налагаемыми классической моделью ПЕРТ. Сказанное выше позволяет сделать вывод о том, что большинство рассмотренных выше предложений по модификации вероятностного аппарата системы ПЕРТ не устраняет полностью содержащихся в этом аппарате противоречий. Описываемая ниже вероятностная сетевая модель времени выполнения операций, разработанная В. С. Поповым, в значительной степени свободна от недостатков, присущих этим модификациям, хотя и связана с весьма громоздкой и сложной формой записи, затрудняющей ее моделирование. В основе этой модели лежит предположение, что функция плотности вида (2.2.10) 4{t) = Cta(\ — tf\~™r~> может служить достаточно хорошей аппроксимацией действительного закона распределения продолжительности работ с различными модами, если параметр а выбрать как некоторую
§ 3] МОДИФИКАЦИИ ВЕРОЯТНОСТНОГО АППАРАТА 87 функцию от моды а = а(т'); тогда ф(0 = Лв(Щ,,(1 -tflm'ytmr-t\. (2.3.10) Анализируя зависимость у = а(1 — т')/т', можно сделать вывод, что стабильность параметра о как функции а и у будет тем больше, чем меньше будет изменяться значение суммы а+у. Иными словами, необходимо, чтобы сумма показателей степени а и у была максимально близка к постоянной, которая обозначается символом р. Тогда из формулы (2.2.10) и представления последней в виде (2.3.10) вытекает, что а (т0+ «(/»')-Ц^ = Р (2-3.11) или а(/п') = Р«', . (2.3.12) после чего функция (2.2.10) принимает следующий вид: Ф(0 = С/ря,'(1 -*f(1-"0. (2.3.13) Отсюда можно легко получить формулы для оценки математического ожидания и дисперсии: М.^-^1, (2.3.14) __ 1 + Р + Р'И'-Р'Д!'' **- (р + 2)2(Р + 3) ' (^Л5) Для выбора свободного значения р в выражениях (2.3.11) — (2.3.15) используем допущение системы ПЕРТ о2 = —36 и выбираем коэффициент р таким, чтобы среднее (по различным т') значение дисперсии равня* 1 лось gg-, то есть f о2(р, т!) dm' = 1 (2.3.16) о Подставляя вместо а2(р, иг') в выражение (2.3.16) формулу (2.3.15) и выполняя интегрирование,
88 РАСПРЕДЕЛЕНИЕ ВЕРОЯТ. ВРЕМЕННЫХ ОЦЕНОК РАБОТ [ГЛ. II получаем (1+р)+^-р2 I <р+2)»<0 + 3) Ж- -(2.3.17) Решая уравнение (2.3.17) относительно р, получим значение (5 — 4,55, которое В. С. Попов округляет до целого числа (5 = 5. Подставляя (5 = 5 в формулу плотности (2.3.13), получаем плотность распределения <f>(t) = Cfm'{\ — tf{1-m') (2.3.18) с параметрами 'Мх=5т' + 1 , (2.3.19) о\ = -^ (6 + 25т' — 25т'*). (2.3.20) Анализ функции а2(т') показывает, что в достаточно широком диапазоне изменения величины моды т' —■ интервале [0,15, 0,85] — дисперсия распределения (2.3.20) незначительно отличается от постулируемой. Для плотности распределения (2.3.18) нормирующий множитель С принимает вид г Г (7) 720 sin Ът'л /9091ч С— Г(5т' + 1)Г(6-5„,') "Г \JAUl} я Д (ft —5m') fc-0 и плотность (2.3.18) окончательно сводится к виду ф(/)в 725°8"15,"'л ;5"''(1 _ ff (1-'"''. (2.3.22) я П (ft - 5т') й-о Функция же плотности ненормированного значения продолжительности, задаваемого тремя оценками а, Ь и т, легко приводится к виду . т-а Ь-т 1{х) = С{х — а) ь~а{Ь-х) »-а . (2.3.23)
S 3] МОДИФИКАЦИИ ВЕРОЯТНОСТНОГО АППАРАТА 89 Некоторые трудности представляет определение коэффициента С* в формуле (2.3.23). Величина С* равна 720з1пГ5я-£^-1 С* = з " ~:=L±J • (2.3.24) 31 Й [к{.Ь — а) — Ь(т — а)] А = 0 причем в точках m = a-\-k—g— (k = 0, 1, ...,5) нормирующий коэффициент С* не определен. Применяя предельный переход, окончательно получаем следующую весьма громоздкую формулу для плотности распределения: т — а . Ь—т f(x) = C*(x — a) b-a{b — x) »-«, (2.3.25) где С — С — 720 sin [&я ть~а] 5 я JJ [Л (6 — а) — 5 (от — а)] А-0 , т — а 720 (—1) *-" для тф а-\- j-(b—a), где / = 0, 1, .... 5, (2.3.26) — п па in — п—1 lh — /i\ (b-a)l' [ft(»-e)-5(m-a)J А-0 **5H где/ = 0, 1 5. (2.3.27) Параметры бета-распределения (2.3.25) выражаются следующими формулами (для математического ожидания Мх и дисперсии о*): Мл= ?+У+* , (2.3.28) °^i^i9#i[6+25-?^-25(-S-)2]- (2-3-29)
90 РАСПРЕДЕЛЕНИЕ ВЕРОЯТ. ВРЕМЕННЫХ ОЦЕНОК РАБОТ [ГЛ. II причем, как утверждается в [48], дисперсия а\ может быть с достаточной точностью аппроксимирована выра- 2 (Ь — аУ женмем огх = -—-^J- . Таким образом, вышеизложенная модель, несмотря на свою сложность, не содержит противоречивых утверждений и может аппроксимировать распределение про- должителыюстей работ в сетевых моделях для реальных систем СПУ. К недостатку этой модели, как уже указывалось выше, следует отнести ее громоздкость и большой объем вычислений при расчете плотности (2.3.25). В ряде случаев, например при моделировании на ЭВМ сетевых проектов методом статистических испытаний, то есть при многократной реализации «розыгрышей», использование плотности распределения (2.3.25), по-видимому, приведет к большим затратам машинного времени. В заключение рассмотрим погрешность вычислений основных параметров распределения продолжительно- стей работ в сети — математического ожидания Мх 2 и дисперсии сь- — при использовании распределения (2.3.25) и формул оценки (2.3.28) —(2.3.29). Погрешности первого рода, связанные с принятием гипотетического предположения о верности бета-распределения (2.3.25), приводят к следующему значению максимально возможной ошибки нормированного математического ожидания Мл' (для а = 0, Ь=\, т' = = (т-а)/(Ь-а)): Л | i-f 5т' 1 I 1+5/»' ,П 1 , R г ,, Aj = maxj —*-я -j , —-Ц= т > =у\ 6—5т |. (2.3.30) Последнее вытекает из предположения, что произвольные плотности распределения, заданные на интервале [0, 1], в зависимости от величины дисперсии могут находиться между двумя экстремальными: 1) плотностью равномерного распределения с параметрами С/2, Via), 2) плотностью дельта-функции с дисперсией нуль и математическим ожиданием ЬЛх = т\
§ 3] МОДИФИКАЦИИ ВЕРОЯТНОСТНОГО АППАРАТА 91 Максимальная ошибка в вычислении среднего квад- ратического отклонения для (2.3.25) достигает величины До: max /- 1Л2 / 6 +25m'—2577!'" 392 6 4-25m'—25m' 392 \w 6-j-2577i' — 2577Z'" 392 (2.3.31) Следующая группа ошибок, связанная с погрешностью задания ответственными исполнителями оценок a, b, m (при условии объективной достоверности принятого распределения (2.3.25) и, соответственно, расчетных формул (2.3.28) —(2.3.29)), может быть определена следующим образом. Пусть а*, Ь*, т*—действительные значения параметров, а оценки a, b, m задаются ответственными исполнителями, причем а* — 0,1 ф* — а*)*Са^ 0,2 ф* — а*) + а*, | т* — 0,1 ф* — а*) < т < 0,2 (** — а") + т\ (2.3.32) У — 0,2(6* — а*)<6<0,2(£* — a*) + b*. J Максимальная относительная погрешность вычислений математического ожидания Мх будет равна Д1 = max [Мх (max a, max b, max 771) — Мх (a*, b*, m*)] Мх (а*, *«, т*) что составляет для случая (2.3.32) величину (2.3.33) 1,4(6» —а*) 1 Я*+577!*+** ' Для определения максимальной абсолютной погрешности Д2 среднего квадратического отклонения ох, оцениваемого по формуле (2.3.29), используем дифференциальную формулу оценки ошибок \ Да, дах да* а*-а b'-b т* -т д«+ дах ~дт* а*-а Ь*-Ь 771* -Ш дт+ дах дЬ* а* —а Ь*-Ь Положив Д„ (2.3.34) •■ Ат = Аь = 0,2 ф — а) и учитывая, что ах ъ 0,05 Yb ф* — а*)'- + 25 {т*-а*)ф* — а*)-25(т*-а*)2, !
92 РАСПРЕДЕЛЕНИЕ ВЕРОЯТ. ВРЕМЕННЫХ ОЦЕНОК РАБОТ [ГЛ. II применяя формулу (2.3.34), получаем Д2 =, Ш*. [25т + 12а — 376] ^~- + ■ 0,625(Ь — 2т + а) Ь — а . 0,025/0 г , 10«. от \Ь — a Н —р—J—L —5— Ч—у- (25/В-+ 12ft — 37а)—5—, (2.3.35) где р = 0,05 ]/б (6 — а)2+25 (/и — а) (ft — а) — 25 (т — а)2. Можно показать, что max Д2яь:-у=- Ю-2 (ft — а), то есть максимальная абсолютная погрешность среднего квадратического отклонения может достигать 13% размаха распределения. ■ § 4. Вероятностная сетевая модель на основе двух оценок В предыдущих параграфах главы нами было установлено, что принятые в системе ПЕРТ допущения относительно закона распределения временных оценок в сетевых моделях приводят к неустранимым противоречиям. Что касается различных модификаций системы ПЕРТ с сохранением трехоценочной методики (например, распределение с плотностью (2.3.25)), то они отличаются большой сложностью и громоздкостью вычисле- • ний. В ряде отечественных работ [22, 20, 51] поэтому было высказано мнение, что теоретико-вероятностный аппарат системы ПЕРТ и ее модификаций, не отличаясь высокой точностью и сохраняя противоречивые суждения, является излишне сложным и нуждается в упрощении. В частности, отмечается, что требование к исполнителям работ относительно задания трех временных оценок является весьма жестким, причем особые трудности вызывает необходимость задания моды распределения, особенно в случае работ, по которым не накоплена достаточная статистика. В работах [20, 22] автором книги построен теоретико- вероятностный аппарат, использующий меньшее число задаваемых оценок, и разработаны формулы расчета
i 41 ВЕРОЯТНОСТНАЯ СЕТЕВАЯ МОДЕЛЬ 93 параметров распределения продолжительностей выполнения работ. В основу проведенного исследования было положено требование построения для любой конкретной сетевой модели такого обобщенного распределения времени выполнения входящих в нее работ, которое требовало бы задания меньшего количества оценок, нежели система ПЕРТ, и которое в принятом нами смысле было бы оптимальным по отношению к заданной с помощью трех оценок ответственными исполнителями работ информации. Будем считать, что сетевая модель состоит из N работ Ri (l^Ci^N), для каждой из которых ответственными исполнителями задаются три оценки a,-, bi и т*. Искомое оптимальное распределение мы будем искать среди класса бета-распределений, задаваемых в общем виде по известной формуле плотности (2.2.1), где а и Y — неизвестные и подлежащие оценке показатели, на которые накладывается весьма существенное ограничение: они не должны меняться от работы к работе. Поскольку распределение pi{x) должно в некотором смысле оптимально аппроксимировать заданную числовую информацию а,-, &,-, /л,- (1-^i^.N), необходимо установить критерии этой оптимальности, на основании которых можно оценить степенные показатели а и у- Разумеется, такого рода критерии будут установлены априорно. Во-первых, распределение Pi(x) для каждой из работ Ri формирует соответствующую моду Li. Необходимо таким образом оценить параметры распределения Рг(х), чтобы множество значений {Li} оптимально аппроксимировало множество заданных значений {т;}, полученных от ответственных исполнителей. Такого рода аппроксимация может быть построена аналитическим путем, в частности с помощью известного метода наименьших квадратов. Необходимо подобрать такие значения показателей а и у. чтобы сумма квадратов отклонений У-^-т^^Щ^-тУ (2ЛЛ)
94 РАСПРЕДЕЛЕНИЕ ВЕРОЯТ. ВРЕМЕННЫХ ОЦЕНОК РАБОТ [ГЛ. И была минимальной. Таким образом, N Р1—^)a, + ^,-/«,]2==min. (2.4.2) Обозначим отношение —?— через к. Тогда « +Y v N 2 \kbi 4- 0 — k) Я/ — miY = min- Значение k может быть легко получено из соотноше- ния -зт- = 0- Получаем N 2 2 Ш, + (1 — k) at — т,\ (t>, — а,) = 0. (-1 Отсюда N 2 (6; — a,) (от, — в/) A = i^l__ . (2.4.3) 2 (^ - л,)2 Соотношение (2.4.3), как легко видеть, не определяет однозначно степенные показатели а и у. Необходимо ввести второй критерий соответствия распределения pt(x) эмпирическим значениям. Как известно (см. § 1 главы III), методика системы ПЕРТ предусматривает так называемую усредненную модель. Для всех входящих в сетевой проект работ определяется математическое ожидание Мх времени выполнения соответствующей работы (по формуле (2.2.2)), после чего все параметры сети оцениваются исходя из средних значений. Ниже будет показано, что для достаточно широкого класса сетевых проектов такого рода методика не является обоснованной. Однако в случае, когда разброс значений параметров работ невелик (диапазон изменений незначителен), или, иными словами, уровень неопределенности случайных величин продолжительности работ сетевой модели близок к детерминированному, такого рода алгоритмы могут применяться. Нел
Ml ВЕРОЯТНОСТНАЯ СЕТЕВАЯ МОДЕЛЬ 95 обходима разработка такой универсальной методики, которая, в зависимости от характеристики сетевой модели, могла бы быть использована как для расчета с помощью усредненного метода, так и для оценки параметров сети другими методами (например, методом статистического моделирования). Отсюда вытекает второе налагаемое на параметры распределения pi(x) требование: вычисленное на основе закона pi{x) множество теоретических значений {Мх{\ должно оптимальным образом (в смысле метода наименьших квадратов) совпадать с множеством средних {£*}, оцениваемых по формуле (2.2.2). Выполнение этого требования дает возможность однозначно оценить значения степенных показателей а и у таким образом, чтобы заменить трехоце- ночную методику на двухоценочную и одновременно сохранить полноту объема информации, полученной с помощью трехоценочной методики. Задаем второе условие: *Л1 a-f-Y + 2 6 J Отсюда получаем (2.4.4) Z-1 а1 + Ь1 + 4пцГ- G I =min. (2.4.5) Обозначим —4^-1-0-==<7. Тогда (-1 mm. Из соотношения -т— = 0 значение а можно легко dq v определить. Получаем N
96 РАСПРЕДЕЛЕНИЕ ВЕРОЯТ, ВРЕМЕННЫХ ОЦЕНОК РАБОТ [ГЛ. II Отсюда N Я= "' J, • (2-4.6) i-l Полученные соотношения (2.4.3) и (2.4.6) однозначно определяют значения а и у и тем самым однозначно формируют закон распределения Pi(x) для любой работы, входящей в данный сетевой проект. Таким образом, в формулу Pt(x) параметрами входят области определения времени выполнения работ а,- и bi, задаваемые ответственными исполнителями, и вычисляемые на основании соотношений (2.4.3) и (2.4.6) степенные показатели а и у. В отличие от параметров а* и bi значения а и у неизменны для всех работ, входящих в данный сетевой проект. Мы как бы переводим информацию о сетевой модели, задаваемую тремя оценками, в эквивалентную информацию об этой же модели, задаваемую лишь двумя оценками. Аналогичные законы распределения были построены для большого количества сетевых проектов, после чего была поставлена задача выбора такого обобщенного распределения, которое зависело бы только от двух параметров а и Ь и было бы справедливо практически для любого сетевого проекта. Многочисленные эмпирические исследования показали, что величины а и v. определенные для большого количества сетевых проектов, концентрируются около постоянных значений oc^l, у**2. Последние были приняты в качестве стандартных степенных показателей, и тем самым был построен закон распределения с плотностью, зависящей лишь от двух параметров: р(х) = С(х — a){b — xf. (2.4.6') Здесь С — константа, которая легко определяется из условия b J p (x) dx = 1.
5 4) ВЕРОЯТНОСТНАЯ СЕТЕВАЯ МОДЕЛЬ 97 Окончательно получаем плотность распределения в интервале от а до Ь: Р И = lb=W <* -«)(*- х)1- (2.4.7) Распределение (2.4.7) относится к классу бета-распределений и имеет следующие параметры: 1) математическое ожидание » Мх = J a:/? (jc) dx — 3д + 2<>; (2.4.8) а 2) моду »-£}±. (2-4.9) причем можно показать, что всегда т<х\ 3) дисперсию Djc =» J x-> (jc) rf* - [3a + 2ft]2 = 0,04 {b - а)2. (2.4.10) Подставив в формулу плотности распределения (2.2.10) определенное по формуле (2.4.9) значение т'=(т — а)/(Ь — а) = 1/3 и значение а=1, получим плотность (2.4.7) как частный случай плотности (2.2.10). Следовательно, плотность распределения (2.4.7) отвечает всем требованиям: унимодальности, непрерывности и наличию двух неотрицательных точек пересечения с осью абсцисс. Таким образом, изложенная выше методика оценки параметров распределения на основании двух задаваемых временных оценок отличается рядом преимуществ по сравнению с методикой системы ПЕРТ. Существенно уменьшается объем информации, который требуется от исполнителя работы: он должен задавать только два параметра — оптимистическую и пессимистическую оценку продолжительности выполнения этой работы. Важно отметить, что применение двухоценочной методики носнт универсальный характер. Эту методику можно с одинаковым успехом использовать как при расчете детерминированных (или близких к ним) сетей, так 7 Д. И. Голенко
Э8 РАСПРЕДЕЛЕНИЕ ВЕРОЯТ. ВРЕМЕННЫХ ОЦЕНОК РАБОТ [ГЛ. it и при моделировании стохастических сетевых проектов (используя заложенный в этой методике закон распределения). К недостатку двухоценочной методики следует отнести сужение класса бета-распределений по сравнению с используемым в системе ПЕРТ. Отказ от использования наиболее вероятной оценки (моды т) для некоторых видов работ может деформировать закон распределения в сторону большего отклонения от действительного. Однако статистические свойства проекта в целом, как это показывают результаты статистического анализа, не претерпевают существенных изменений. Рассмотрим более подробно методику статистического анализа соответствия эмпирического распределения времени выполнения входящих в сетевую модель работ, задаваемых ответственными исполнителями этих работ, распределению (2.4.7). При этом используем следующую методику сопоставления. Для каждой из входящих в сетевую модель работ на основании оптимистического и пессимистического времени а и b по формуле (2.4.9) определим значение моды т. Одновременно исполнители работ задают значение т, исходя из производственного опыта, в соответствии с методикой, принятой в системе ПЕРТ. Заметим, что исполнители работ не должны быть знакомы с применяемой методикой, основанной на двух оценках, и, таким образом, на их решение ничего не влияет. По каждой работе, следовательно, имеются две оценки значения т—вычисляемая по формуле (2.4.9) и задаваемая исполнителем работ. Объединив полученные данные по всем входящим в сеть работам, мы получаем две эмпирические совокупности. Предстоит определить, принадлежат ли обе сравниваемые эмпирические совокупности к одной генеральной или расхождения настолько существенны, что эту гипотезу следует отбросить. В последнем случае необходимо еде-, лать вывод, что формула (2.4.7) недостаточно точно аппроксимирует распределение вероятностей временных оценок для работ. Для проверки указанной гипотезы на практике использовался [22] критерий Вилькоксона, основанный на числе инверсий, причем исследованию подвергалось не-.
S 4) ВЕРОЯТНОСТНАЯ СЕТЕВАЯ МОДЕЛЬ 99 сколько сетевых моделей различных объемов. Случаев существенности расхождения эмпирических совокупностей, по данным критерия, не наблюдалось ни разу. Аналогичный статистический анализ двух эмпирических совокупностей проводился для средних значений (оцениваемых соответственно по формулам (2.4.8) и (2.2.2)). Результаты сопоставления также подтвердили несущественность расхождения. Помимо изложенного выше статистического анализа для ряда сетевых проектов производилось [22] сравнение эмпирического распределения реальных продолжи- тельностей выполнения входящих в сетевой проект работ с распределением (2.4.7). Для каждой из уже завершен-, ных работ ее фактическая продолжительность нормиро-. валась относительно установленных для этой работы оптимистического и пессимистического времени, после чего эмпирическое распределение нормированной про* должительности сопоставлялось по аналогичной мето- днке с распределением (2.4.7), для которого области определения были соответственно равны нулю и единице. Заметим, что такого рода сопоставление производилось на основе системы статистических критериев согласия — критериев %2, А. Н. Колмогорова и со2. Результаты сопоставления также оказались вполне удовлетворительными. Отметим, что бета-распределение не является един», ственпым вероятностным законом, удачно аппроксимирующим распределение временных оценок для входящих в сетевую модель работ. На основе эмпирического анализа статистических данных доказана пригодность [20, 22] логарифмически нормального закона распределения. Функция плотности логарифмически нормального распределения имеет следующий вид (для общего случая): р{х)-. 1 ехр (ln(x_^_r)2_Lj v{x —1{) Y2n при x > tv О при x^tv (2.4.11) 7»
100 РАСПРЕДЕЛЕНИЕ ВЕРОЯТ. ВРЕМЕННЫХ ОЦЕНОК РАБОТ [ГЛ. 1Г Иными словами, это есть плотность распределения случайной величины х при условии, что случайная величина г = 1п (х — ti) распределена по нормальному закону со средним г и дисперсией о2. На основании статистического анализа сетевых моделей было установлено, что для значений r = \n (t2—^1) — 1 и а = 0,5 логарифмически нормальное распределение р{х)=У1 e-4b*-U-b(h-t,Y*V при х>а (2.4.12) у я (х — а) хорошо аппроксимирует распределение времени выполнения работ, основано лишь на двух задаваемых исполнителями работ оценках tt и t2 и, наряду с бета-распределением, может быть использовано в качестве стандартного. Кривая плотности логарифмически нормального распределения, как и для случая бета-распределения, унимодальна и положительно асимметрична, причем J p (x) dx =5^ 1. а Приведем вычисленные для этого распределения основные параметры. Мода т — /,-f- exp [In (ti — *,) — 1 — 0,25] = =/1 + g"7(^-A)^2^s"/<' (2-4.13) Математическое ожидание М = /, + exp [In(f2-/,)-l +0,125] ъЩ±±. (2.4.14) Дисперсия D={t2 — /,)2(*~1,8 — e-t,n)**0,04(t2—ф (2.4.15) Заметим, что формулы (2.4.13) —(2.4.15) легко получаются из соответствующих формул для общего случая формулы (2.4.11). Так, для формулы плотности распре-
§41 ВЕРОЯТНОСТНАЯ СЕТЕВАЯ МОДЕЛЬ 101 деления (2.4.11) можно вычислить основные параметры: m = tlr\- ехр{г — о2}, (2.4.16) М,= Л-Ьехр{г + -£}, (2.4.17) Dx = ехр (2г f 2о2) — ехр (2г + о2]. (2.4.18) Задавая r — \n(t> — (,) — 1, о = 0,5, получаем формулы (2.4.13) — (2.4.15). Отсюда распределения (2.4.7) и (2.4.12) практически мало отличны друг от друга, и каждое из них может быть с успехом использовано в качестве типового. Отметим, что, как будет показано ниже, моделирование одномерного закона распределения (2.4.7) легче реализовать на электронных вычислительных машинах, нежели для случая применения формулы (2.4.12). Поэтому, если входящие в сетевой проект работы (/, /) независимы, целесообразнее пользоваться распределением (2.4.7). Для случая коррелированных (связанных) работ использование формулы (2.4.12) при генерировании многомерного распределения является более предпочтительным. В заключение параграфа рассмотрим погрешности оценок математического ожидания Мл; и среднего квад- ратического отклонения ах для случая двухоценочной методики. Погрешность, вызванную допущением о том, что распределение продолжительностей работ подчиняется бета-распределению, можно оценить, исходя из предположения, что действительная плотность распределения находится между двумя экстремальными — равномерным с Mx = ij и D-v —-г., " дельта-распределением с Мх = т и Dx—0. Отсюда максимальная абсолютная погрешность А для математического ожидания (при а = 0, 0=1, т =-т составляет о — а } А, = тах{|-5~~ , | т! — -||} = |»*' —4|' (2-4.19)
102 РАСПРЕДЕЛЕНИЕ ВЕРОЯТ. ВРЕМЕННЫХ ОЦЕНОК РЛГ.ОТ [ГЛ. II Для среднего квадратического отклонения ах мальная погрешность составляет макси- Д2 = max 1 1 У12 0 — 1 -. (2.4.20) Погрешности второго рода (при условии достоверности закона бета-распределения в качестве стандартного) составляют для максимальной относительной погрешности оценки Мх значение Ai = 40%, а для ах— величину Д2=20%. Погрешность третьего рода (при условии достоверности закона распределения (2.4.7) в качестве стандартного) для аналогичных работе [67] ошибок экспертов 0,8а <аа ^С \,1а и 0,96 ^/^ ^ 1,26 составляет для математического ожидания Мх максимальную абсолютную погрешность А1 = шах 2,4а +1,86 За+26 3,3а+ 2,46 За — 26 ]= = ^J -^ max [(6а+ 26), (За+ 46)], (2.4.21) а для среднего квадратического отклонения ах— погрешность . 1 1 Г 0,96 —1,1а —(6 —а) ., пе , л А2 = т^-ь[ i— ' (Ь26-0,8а-6 + а)] = 6 + а 25(6 —а) " (2.4.22) § 5. Статистические методы построения оценок в системах СПУ Помимо качества математического аппарата системы СПУ, важную роль в обеспечении достоверной и эффективной работы системы в целом играет качество информационных данных, задаваемых ответственными исполнителями. Ведь даже самая совершенная система не в состоянии обеспечить объективного планирования и уп«
щ § 5] СТАТИСТИЧЕСКИЕ МЕТОДЫ ПОСТРОЕНИЯ ОЦЕНОК 103 равленпя деятельностью коллектива исполнителей, если она основана на недостоверном материале. При установлении показателей трудоемкости и продолжительности работ, входящих в сетевые проекты для систем СПУ, весьма существенную помощь ответственным исполнителям этих работ могли бы оказать детализированные справочно-нормативные материалы, отражающие зависимость показателей от влияния различных факторов. Нет никакого сомнения, что степень достоверности такого рода информации намного выше по сравнению с оценками, полученными экспертным путем. Эффективность систем СПУ в значительной мере зависит от создания научно обоснованных нормативов для составляющих сетевой график работ, основанных на статистической обработке экспериментального материала. Характеристики же работ, как правило, являются случайными величинами, зависящими от ряда факторов. Возникает задача построения статистического аппарата анализа влияния различных факторов на эти величины и создания соответствующих математических моделей. Нетрудно видеть, что задача построения статистических моделей является частным случаем более широкой задачи анализа и управления процессами с помощью математического моделирования на основе статистической обработки наблюдений. Как известно, в зависимости от способа сбора и обработки информации экспериментально-статистические методы подразделяются на пассивное наблюдение и активный эксперимент. Сбор информационного материала посредством пас-. сивного наблюдения состоит в регистрации контролируемых условий в режиме нормальной работы объекта без внесения в него каких-либо преднамеренных изменений (возмущений). Сбор исходных данных путем активного эксперимента основан на введении в процесс искусственных изменений по заранее спланированной программе. Второй способ имеет существенное преимущество, так как позволяет экспериментально проверить область оптимальной работы объекта. Однако в условиях действующего предприятия этот способ не всегда доступен, поскольку он требует изменения режимных условий и управляемости объекта. Описываемые ниже
104 РАСПРЕДЕЛЕНИЕ ВЕРОЯТ. ВРЕМЕННЫХ ОЦЕНОК РАБОТ (ГЛ. II статистические методы основаны главным образом на теории пассивного эксперимента. Статистический анализ производственного процесса, как правило, включает следующие этапы: I. Выбор факторов (параметров) процесса и отбор наиболее значимых из них. II. Составление математической модели процесса. III. Оптимизация построенной модели. IV. Контроль хода процесса и управление этим процессом (в частности, фиксация отклонения хода процесса от оптимального режима). На первом этапе статистического анализа, после выбора выходной функции процесса и логического выбора факторов, а также составления таблицы наблюдений, необходимо отобрать наиболее влияющие на выходную функцию факторы. Описываемый ниже метод дает возможность отобрать существенные факторы с одновременным построением статистической модели. Будем считать, что, помимо переменных параметров, на значение функции оказывает влияние большое количество не поддающихся учету случайных факторов, и примем линейную математическую модель исследуемого процесса W = A0+^Aixi+^. (2.5.1) Здесь W — выходная функция процесса, Л< — численные значения коэффициентов, xt — переменные параметры (факторы), определяющие значения W, Д — нормальная случайная величина с параметрами (а, а2), причем эти параметры можно без ограничения общности свести к (0, а2). Пусть имеется таблица N наблюдений исследуемого процесса Ww х\1> ... хУ Wm x[N) ... x{nN) Здесь индекс снизу означает номер параметра, а индекс сверху — номер наблюдения. Обозначив Л/-мерпый
5 5) СТАТИСТИЧЕСКИЕ МЕТОДЫ ПОСТРОЕНИЯ ОЦЕНОК 105 вектор {W<1)} знаком W, а jV-мерные векторы наблюдении параметров xt через Хи получаем /-.1 Перейдем к системе векторов г{: N ■ xt J-2* I, после чего ортогоиализируем систему векторов zt и получаем новую систему взаимно ортогональных векто« ров |4| причем S<' 'о (I/. */) ii) I,, i>\. Отсюда получаем Построим TV-мерный вектор (2.5.2) (2.5.3) ; и Аналогично известной теореме 1С В. Линийка можно показать, что M{-#i?Jr} = °2 (2.5.4) и, следовательно, для достаточно большого TV (р, р) N — n а-. Отсюда вытекает простая и удобная с вычислитель-. ной точки зрения методика отбора значимых параметров, существенно влияющих на выходное значение
106 РАСПРЕДЕЛЕНИЕ ВЕРОЯТ. ВРЕМЕННЫХ ОЦЕНОК РАБОТ [ГЛ. II производственного процесса. Строим п дисперсий где N— I 1 < / < п, (2.5.5) (>' W jU (Ь, Ы ?'; Если при переходе от i к i+1 факторам (добавляется (/+1)-н фактор) величины o'j+1 и о? несущественно отличаются друг от друга (существенность отклонения можно оценить с помощью различных критериев согласия, например /-"-критерия Фишера), то это означает, что (t-f-l)-fl фактор не оказывает на выходное значение непосредственного влияния и может быть отброшен. Оценивая изменения дисперсии °< от t=* Д° г = "' можно отобрать все значимые параметры xt. Предлагаемая методика отбора параметров xt отличается от способа отбора параметров при известном методе наименьших квадратов тем, что нужно только один раз ортогонализировать систему векторов Хи а не обращать п раз матрицу соответственно для 1, 2, . . ., п параметров. После получения несмещенных оценок коэффициентов Ai можно простым линейным преобразованием перейти к итоговым А{ (то есть одновременно с отбором факторов построить линейную математическую модель) по следующим формулам: А]=МА- (/ = 0, 1, 2 п), (2.5.6) Ап ■— A,i, An-ll = A„-f; Y A (la-k.Z,) ^ J (ln-*,ln-k) ' j = n-k I 1 tl > k > 1 N л _ J V WU) V A 1-Х (-1 /V A' У-1 (2.5.7)
5 5] СТАТИСТИЧЕСКИЕ МЕТОДЫ ПОСТРОЕНИЯ ОЦЕНОК 107 Таким образом, отбор влияющих факторов методом сравнения остаточных дисперсий позволяет на основе достаточно убедительных критериев объективно оценить значимость факторов с помощью имеющейся статистики, причем трудоемкость вычислений окупается уменьшением времени на решение всей корреляционной задачи. Основным недостатком метода сравнения остаточных дисперсий является иногда отсутствие должной объективной оценки взаимозависимости факторов между собой. Вследствие этого при отборе значимых факторов этим методом взаимно обусловленные характеристики нередко приходится выяснять, используя логически- априорный анализ с помощью коэффициентов корреляции. В практике работы практически любого разрабаты-. вающего предприятия встречается большое количество работ, трудоемкость которых зависит от ряда факторов. Они могут быть объединены в классы, которые включают аналогичные работы, выполняемые, например, для изделий одного назначения, имеющих различные конструктивные или электрические характеристики. Как правило, для каждого класса работ может быть получена статистика, вытекающая из отчетных данных или полученная экспертным путем. Эта статистика может быть представлена в виде описанной выше матрицы наблюдений, пользуясь которой можно рассчитать статистическую модель зависимости выходной функции —■ норматива трудоемкости — от влияющих на нее факторов. Такие зависимости необходимо иметь для возможно большего числа классов работ с тем, чтобы в первую очередь повышать точность оценок, использующихся в системах СПУ. Для расчета таких моделей естественно применить рассмотренный выше метод определения норматива времени как функции отклика, зависящей от существенно влияющих факторов. В дальнейшем, в случае необходимости оценки продолжительности какой-либо предстоящей опытно-конструкторской работы, сначала определяют, к какому классу работ она относится. После этого подставляют в соответствующую этому классу
108 РАСПРЕДЕЛЕНИЕ ВЕРОЯТ. ВРЕМЕННЫХ ОЦЕНОК РАБОТ [ГЛ. ТГ модель значения факторов для исследуемой разработки, в результате чего определяется оценка продолжительности выполнения последней. Иллюстрируем применение этой методики на примере определения статистической модели трудоемкости конструирования монтажных схем для стативов телефонных станций в зависимости от влияющих факторов [28]. Для построения математической модели была собрана статистика для 82 стативов телефонных станций, разработанных на заводе «ВЭФ». В качестве основных влияющих на трудоемкость факторов были отобраны следующие: количество плат на стативе (xt), количество типов плат на стативе (х2), количество элементов в среднем на плате (х3), количество концов для пайки (#4), количество концов для вязки (х5). С помощью изложенного выше метода отбора факторов удалось установить, что фактор (х5) практически на точность модели не влияет. В результате обработки матрицы наблюдений была построена линейная математическая модель W= 18,98 + 7- 10"8.*i + 2. 10~2х,+ + 1.1 ■ 1(Г2х, + 1,3- 10"3x4, причем среднее квадратическое отклонение равно 4,1. Полученный результат позволяет считать точность модели вполне удовлетворительной. Что касается методов построения оптимистической и пессимистической оценок, то последние можно определить по приближенным формулам fl= W — 2о, Ь= V7 +Зо, исходя из формулы (2.4.8) и приближенного равенства W« M.v. J } (2.5.8)
ГЛАВА III АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА ВРЕМЕННЫХ ПАРАМЕТРОВ СЕТЕВОЙ МОДЕЛИ В ЦЕЛОМ § 1. Методы, применяемые в системе ПЕРТ Для анализа сетевых графиков со случайными оценками работ система ПЕРТ использует следующие вероятностные характеристики: 1. Ожидаемое время свершения события (в том числе завершающего). 2. Дисперсию времени свершения события (в том числе завершающего). 3. Дисперсию времени окончания работы. 4. Среднее квадратическое отклонение времени окончания работы. 5. Вероятность свершения событий сетевой модели в установленные сроки. 6. Вероятность отсутствия резерва времени для момента окончания заданной работы. Расчет этих характеристик основан на следующих основных допущениях: а) если частный путь в сети L состоит из п работ (iy-i, /v), v=l, 2, . . ., /г, со случайными продолжительно- стями их выполнения, то длина пути t(L) считается распределенной по нормальному закону со средним Mt(L) и дисперсией Dt(L), где m*(Z)=2m/(/v_„ g, (зал) D*(£)=SD/(/v_„ /v); (3.1.2) v = l б) распределение самого раннего срока t(i)=tp(i) свершения события / сетевой модели, в которое входит к работ (iv, /), v=l, 2, ..., k, со случайными временами tv их окончания, приравнивается распределению длины
ПО АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА |ГЛ. III такого пути L, соединяющего исходное событие и событие /, у которого среднее значение длины, определенное по формуле (3.1.1), будет максимальным. Иными словами, делается допущение max(/1, U tk) = t0, где max [M/VJ = M/D. (3.1.3) Ожидаемое время М/(г') = М(/) свершения /-го события определяется как сумма математических ожиданий (в терминологии ПЕРТ они носят название ожидаемых продолжительностей) времени выполнения работ, лежа* щих на максимальном пути L между исходным (С) и г-м событиями: Mt(L)=yiMt(iv.l, iv), (3.1.4) v-l если L — Ci0->i1->i,->... ->/„ = / и W(L) > Ш{Ь'), где Z/ также соединяет исходное и 1-е события. Величина M/(iv, i'v+i) определяется по формуле (2.2.17). Дисперсия времени свершения t-ro события определяется как сумма дисперсий работ, лежащих на максимальном (по средним значениям) пути L между исходным и t'-м событиями: п D (/) = Ш (<) = 2 D/ (/v_,, /v), (3.1.5) V-l где величина D/('v-i> 'v) определяется по формуле (2.2.16). Дисперсия самого раннего срока окончания работы (t, /) оценивается по формуле DtP. о (/. Л = D/ (/) + D/ (/, J), (3.1.6) а стандартное отклонение а/Р. о. (', /) — но формуле о/р.оV. Л = VblW+ЩП)- (З-1 -7) Алгоритм расчета среднего значения наиболее позднего срока Mtn(i) свершения события i и его дисперсии D/n(0 отличается от только что изложенного тем, что формулы (3.1.4) — (3.1.5) осуществляют переход от более ранних событий к более поздним, а алгоритм рас-
§ 1] МЕТОДЫ, ПРИМЕНЯЕМЫЕ В СИСТЕМЕ ПЕРТ \\[ чета значений М/п(/) и Dt„(i), —наоборот, от более поздних к более ранним. Формула расчета значения Мгп(г) имеет следующий вид: Mtn(i) = Mta{I) — Mt(L), (3.1.8) где / — завершающее событие, М/п(/) = М/ра„(/), a L есть максимальный путь (по средним значениям), соединяющий события ( и /. Что касается величины Drn(0> T0 последняя оценивается по формуле DU0 = DU7) + D/(/, Д (ЗЛ.9) где работа (£,/) лежит на пути L, определенном формулой (3.1.8), причем Dtn(I) в (3.1.9) полагаем равной нулю. Одним из основных показателей, который используется при вероятностном анализе сетевой модели, является оценка вероятности pi свершения t'-ro события в запла- нированный срок /цЛ(0- Эта оценка сводится к опреде-^ лению вероятности попадания случайной величины t(i) в интервал [0, tan(i)]: 'плО Р[^(0<^пл(0]= J 4>i(x)dx. (3.1.10) где (fi(x)—плотность распределения случайной велш чины t(i). Как уже указывалось выше, в качестве функ- ции q>i(x) используется нормальное распределение вероятностей с параметрами М (/) и D (i), определяемы-, ми по формулам (3.1.4) — (3.1.5): i \ ! Г [x—M(i)]2 ) /о 1 их ФЛ*)= „^ехр -' " . (3.1.11) a (i) У 2л [ 2D (i) J Выбор нормального распределения основан на следствии из центральной предельной теоремы и является одним из основных допущений метода ПЕРТ. Подставляя (3.1.11) в формулу (3.1.10), получаем рио«»ю}—йот I expf-tvTnM?]2)^- a(i)Y 2я J { 2D (<) J
112 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА """ [ГЛ Ш Вводя переменную t — (x— М(/))/<*(/) и используя фуик- X цию Лапласа Ф(х) — —?= \ exp [e~m}dt, получим Р('(0<*пл(Ц)=|{ф['"%М (0]-Н}. (3-1.12) В ряде случаев интегральную функцию распределения Р [t{i)^tnn{i)\ целесообразно аппроксимировать полиномом пятой степени: Р{'(''Х'пл(Л) 0,5 -4- 0,357л: — 0,033л"3 + 0,00132л:5 при — 3,0 < л: < 3,0, гдел=.^(')-М(') о(0 0 при л:< —3, 1 при л;> + 3. (3.1.13) Одной из главных задач на стадии разработки исходного плана является получение достоверной оценки времени выполнения сетевого проекта в целом согласно следующей методике системы ПЕРТ. Каждой работе (*',/) сетевой модели приписывается детерминированная временная оценка Mt(i, /), определенная по формуле (2.2.17). Находится последовательность работ, принадлежащих критическому пути, после чего производится оценка параметров распределения длины критического пути К — его математического ожидания М/< и дисперсии D/C. Обозначая критический путь через получаем [tol1 ё2 Ь/1» /-I Dff=2D/G,. 1м)- /=i (3.1.14) (3.1.15)
§ 1] МЕТОДЫ. ПРИМЕНЯЕМЫЕ В СИСТЕМЕ ПЕРТ ИЗ причем значения bM(\t, |/+1) и Dt(\t, bi+i) оцениваются по формулам (2.2.16)—(2.2.17). Пусть вероятность того, что действительная продолжительность выполнения всего проекта не превысит запланированную величину tBX{I) = Knn (/ — завершающее событие), равна р, то есть Р{К<Квя}=р. . (3.1.16) Плотность распределения длины критического пути имеет вид ф(/0 = _1 expf-i£=Mq. (3.1.17) KV ; a(K)f2n 'I 2DK ) ' Для величины К можно написать, уравнение Р{К<Кил} = U» Г ехр(-(К~МК)2 \(1К. (3.1.18) Обозначив получим или х wdt, а (К) yph КПЯ = МК + 0(К)Ф-1(Р)- (3-1.19) Например, для случая р = 0,7 (£-'(/,) = 0,5, М/С+0,5о(/С) = МЛ'+0,5/Б7С. Для р = 0,95 ф-'^^Ьбб, ^пл = МЛ--г-1,65о(/С). Соотношение (3.1.19) используется авторами системы ПЕРТ для нахождения оптимальных сроков планирования времени критического пути. 8 Д. И. Голенко
114 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА ГГЛ. III Вероятность отсутствия резерва времени для момента окончания работы (I, /) обычно оценивается по формуле inU)-tvU) Р.(У)«1-Ф (3.1.20) о (У) где o{j) определяется из формулы (3.1.5), причем Pt(j) одновременно есть вероятность выполнения неравенства Расчет этой вероятности обычно проводится на основании известного положения, что если случайная величина | распределена по нормальному закону с параметрами {а, а), то Полагая Р =/„(Л a = t9U),- o = o(J) и учитывая, что Ф!-!^—) может быть принято равным нулю, получаем формулу (3.1.20). Принятые в системе ПЕРТ допущения в отношении вероятностной сетевой модели и связанной с ней методики расчета параметров сети в целом вызвали резкую критику со стороны ряда советских и зарубежных ученых [20, 22, 50, 51, 84, 86, 93]. В работе [20], в частности, критикуется то обстоятельство, что, определяя на основании формулы (3.1.19) величину Кпл, авторы методики фиксируют её значение в качестве /^-процентной доверительной оценки (или р-квантиля, как ее иначе называют) для времени выполнения всего про* екта в целом. Однако последнее совершенно необоснованно. Действительно, если такого рода утверждение на самом деле имеет место, то вероятность выполнения последовательности работ, лежащих на любом (в том числе и на некритическом) пути, за время, большее Кип, не превышает 1—р*). *) Мы покажем ниже, что распределение времени выполнения работ, лежащих па любом из путей, соединяющих начальную и конечную вершины, отличается от нормального. Таким образом, мето< дика авторов системы ПЕРТ принципиально неверна.
i I) МЕТОДЫ, ПРИМЕНЯЕМЫЕ В СИСТЕМЕ ПЕРТ Ц5 Иными словами, если обозначить критический путь через (|i, |г, ..., &), а какой-либо некритический путь — через (r]i, т)2, ..., г)г), время выполнения работ, лежащих на критическом пути, — через К, а на некритическом — через L, то Р{£>АГпл}<1-/>. Однако последнее неравенство имеет место далеко не всегда. Действительно, если вычислять математическое ожидание и дисперсию длины L по формулам (3.1.14) — (3.1.15): ML = L = 2 t(i\j, Луи). т-\ D£=2D^(t1;, Лун). /-1 и применять, как это делают авторы системы ПЕРТ, центральную предельную теорему, то АГ_ _ IX-Lf P\L>К„Л = 1 — * е 20L dx-. — ОО Kn»~L a(L) /2л Но ввиду (3.1.18) J' 0 (Л „ 1—р=1 —_J_ f в »"л. ^ /2я J Если же то ~T(Zj < а (К) ' (6Л.2\) Р{Ь>Кпл}>1-р. Неравенство (3.1.21) имеет место в том случае, когда o{L)>q(K)*^=*. (3.1.22) Кпд —А 8*
116 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. III Учитывая, что L </C (L лежит на некритическом пути) получаем, что величина ^пл L- v^ 1 ^пл — К. Таким образом, хотя L < К, в случае DZ.^> D/C неравенство Р (£>/(пл) > 1 —Р будет иметь место. Покажем далее, что время выполнения работ, лежа* щих на любом из путей, соединяющих исходную и за-» вершающую вершины сети, не подчиняется нормальному закону распределения и, таким образом, употребляемые авторами системы ПЕРТ формулы (3.1.14) — (3.1.15) не являются достоверными. Мы не вправе применять предельную теорему Ляпунова по той причине, что нельзя отождествлять распределение времени окончания работы (/, у) с распределением самого раннего свершения события /, которое имеет место в том случае, когда окончатся все работы, имеющие своим концом вершину у (а не только работа (i, /)). Поскольку работа, имеющая своим началом вершину / (например, работа (/, k)), может начаться только после свершения события /, ясно, что распределение пути i-*j-*k не есть простая суперпозиция распределений циклов работ (г, у) и (у, k). Отсюда немедленно вытекает неправомочность формул (3.1.14) — (3.1.15). Мы здесь как раз и сталкиваемся с допущением методики ПЕРТ, согласно которой оценка р-квантиля случайной величины (времени свершения события у) — максимальной из нескольких случайных величин (времен окончания работ, имеющих своим концом событие /)—есть величина р-квантиля одной из этих величин. При оценке параметров случайной величины т), являющейся максимальной из нескольких случайных величин т)ь ..., rjft, можно легко показать, что параметры распределения случайной величины ц не равны ни одному из соответствующих параметров величин r\i, ..., r|ft, независимо от того, принимают ли эти параметры у величин r|t tjft одинаковые значения или резко отличаются друг от друга. В частности, если гц и rjo — нор-
§ 1] МЕТОДЫ, ПРИМЕНЯЕМЫЕ В СИСТЕМЕ ПЕРТ 117 мальные случайные величины со средними соответственно ах и а2 и дисперсиями а\ и о2,, a r) = max (ль^г), то случайная величина г| распределена по нормальному закону со средним значением а, равным в1Ф (Jfi&U-afi /-йвЦ-UV3 (3.1.23) причем дисперсия а2 равна значению + (а1+ а2) УЦ+Щ Ф f^'-f^l - а2- (3- > -24) Здесь Ф(а;) = -^= fe-Wdt, <р(л) >^2я J w >А2я -ДГ-/2 Можно показать, что для случая параллельных работ (или путей) ошибка в оценке (согласно методике ПЕРТ) математического ожидания или дисперсии срока свершения события, в которое входят эти работы, может стать весьма существенной. Сначала рассмотрим случай двух параллельных работ (путей) с одинаковыми параметрами, сопоставляя методику системы ПЕРТ с результатами применения формул (3.1.23) — (3.1.24). Если 111 = 112. то а = ал-\——: =& ах -f- 0,56а, и разность Дя = У я — a — cii может стать весьма существенной. Условием, при котором методика ПЕРТ дает удовлетворительные результаты при вычислении математического ожидания продолжительности наибольшего из двух путей, является равенство Ya\ ~\~ °1 Ф ( ClSZ^=,) — 0 или .Vof+Ч/ / а, — а ■ О. Учитывая, чтоф(З) =&0 или °l Voi+ol "2 I V°i + < ==3, получаем а2 — ах « 3 Y°'i + °2 или, в случае о,= = 02 = а, я2 — ах *=& 3 |^2 а *s= 4а.
118 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. Ш Таким образом, можно сделать вывод, что если среднее значение одного из путей отличается более чем на 4оог среднего значения параллельного ему пути, то влиянием последнего на распределение конечного события, в которое они входят, можно пренебречь. Максимальное значение среднего квадратического отклонения практически ограничено значением maxo==s «=^-a, или, с учетом равенства Да = -=• ~0,56а, полу- •* у я чаем максимальную абсолютную погрешность вычисляемого математического ожидания At~0,2a. Иными словами, максимальная погрешность Ai продолжительности максимального из двух параллельных путей не может превышать 20% величины математического ожидания каждого из них. При этом нужно учитывать, что вычислительная процедура системы ПЕРТ всегда дает заниженные значения математического ожидания, поскольку для набора случайных величин £ь £2, • • •. In всегда имеет место соотношение М{тах(|,, |2, .... U)>max[M|P М£2> .... М|я}. (3.1.25) Рассмотрим ошибки при вычислении среднего квадратического отклонения двух параллельных путей согласно методике ПЕРТ. При ai = a2 = a 2а Va'i + а2, I 1 . \2 ' 1 \ 2л \ ' /2л ' ' 2/ а? 4- а, = °I"-i2n-1- (ЗЛ-26) Учитывая, что методика системы ПЕРТ приводит к значению в2 = о2, получим абсолютную погрешность вычислений Да2: °1+°2 2л (3.1.27) Из только что приведенной формулы вытекает, что действительное значение дисперсии максимума двух случайных величин меньше величины дисперсии, вычисляемой согласно методике ПЕРТ. Для случая 04 = 02 будет
» I] МЕТОДЫ, ПРИМЕНЯЕМЫЕ В СИСТЕМЕ ПЕРТ 119 иметь место °?=°\ (1 -4-)^о'ш°1- (зл-28) Для случая трех параллельных путей максимальное значение абсолютной ошибки математического ожидания Д^О.За, то есть при наличии третьего пути максимальная ошибка возрастает до 30% среднего значения отдельных путей. При увеличении числа параллельных путей ошибка в вычислениях согласно методике ПЕРТ возрастает, как это наглядно вытекает из приводимой ниже таблицы. Таблица 5 Количество параллельных работ с одинаковыми случайными величинами времени их выполнения, распределенными по закону бета-распределения с плотностью (2.3.25) при а = 0, т = 12, b = 12 1 2 3 4 5 6 7 8 9 10 Математическое ожидание максимальной из работ 12,817 13,735 14,265 14,578 14,800 15,000 15,140 15,285 15,403 15,503 Среднее квадратическое отклонение максимальной из работ 1,6 1,497 1,438 1,350 1,285 1,237 1,180 1,127 1,090 1,067 Таким образом, оценки самых ранних сроков, полученные с помощью формул (3.1.4) и (3.1.14), всегда являются «оптимистичными», то есть заниженными, причем наличие параллельных путей увеличивает ошибку, а наличие пересекающихся — ее уменьшает. Что касается самых поздних сроков, оцениваемых по формуле (3.1.8), то может иметь место как занижение, так и завышение действительного результата. Мы пришли к выводу, что значение Кал, определенное по формуле (3.1.19), не есть верхний р-процентный
120 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. HI доверительный предел для времени прохождения критического пути и тем более не может служить в качестве /э-квантиля для времени выполнения всего проекта в целом. Более того, покажем, что не существует вообще такого пути в сети, р-квантильная оценка длины которого являлась бы искомым р-кваитилем для всей сетевой модели. Обозначим всевозможные пути, соединяющие исходную и завершающую вершины сети, через г|/ (/=1, 2, ..., т). Предположим, что суммарное время выполнения работ, лежащих на любом из путей t)j (обозначим это время через/(t]j)_), распределено по нормальному закону*) со средним /(r)j) и дисперсией D<(rjj). Вводим случайную величину t(r\) =max/(t|j), ее /?-кван- тиль (это и будет р-квантиль для всего проекта) обозначим через Wp, р-квантили случайных величин t(x\j) — через W^.. Нетрудно видеть, что Wp Ф max Wv. = W (1 </<m). Действительно, если считать значения t(t\j) независимыми **), то Р {'(Л) <У)=Р {тах*(т|У) <у) °Дф(^)(3.1Д9) и значение случайной величины /(г|) распределено не по нормальному, а скорее по экспоненциальному закону. Отсюда вытекает, что метод перебора всевозможных путей и отыскания максимального р-квантиля не является приемлемым, так как значение Wp не соответствует какому-либо пути в сети. Ряд проведенных автором книги расчетов моделирования экспериментальных сетевых проектов сравнительно небольшого объема показывает, что определенное по формуле (3.1.19) значение Кпл в качестве оценки ожидаемого времени (с различными коэффициентами доверия р) для всего проекта в целом на 15—25% меньше истинной оценки (полученной с помощью метода статистического моделирования), о чем подробно будет сказано ниже, в главе IV. *) В общем случае это неверно. **) Если, например, все пути i]j не имеют общих работ.
5 II МЕТОДЫ. ПРИМЕНЯЕМЫЕ В СИСТЕМЕ ПЕРГ 121 Таким образом, методика оценки параметров сетевой модели со случайными продолжителыюстями работ, применяемая в системе ПЕРТ, не является обоснованной, так как минимальное глобальное время Wp для всей сети вообще не соответствует какому-либо определенному «критическому» пути в сети (оно скорее соответствует множеству «критических» путей в сети). Следовательно, сопоставление множества всевозможных путей в сети одному определенному пути, у которого (для набора оценок по средним значениям) длина будет больше, нежели у всех остальных, не является допустимым. Если плотности распределения продолжительности выполнения работ в сети заданы, то аналитический метод получения корректных /?-квантильных оценок Wp случайной величины r(n) =max /(г)3), 1 ^</ •< т, сводится к построению многомерного случайного вектора V(r\i), ..., t(r\m)] со средним [F(r|t), ..., Т(цт)] п снммет- ричной дисперсионной матрицей В: В = 01 (л,) <\2KD'C.)D'(42) ЦтУО'Оч)0'^) pt2V0'Vh)D'Vh) • 01 (\) Р-2ГП V °< СЪ) D' (%,) ■ • Pi«,VD'0ii)D'<4«i • f>tmVot(S)DtPm •• D'("m) где pij — коэффициент корреляции между ^(rj^) и t(r\,). Практически построение функции распределения такого вектора сводится к реализации рекуррентного процесса применения оператора свертки. Действительно, пусть случайная величина W(i, j) =t(i) + t(i,j) имеет плотность распределения Wirj(t), причем функции плотности случайных величин t(i) и t(i,j) известны и равны соответственно v((t) и vu(t). Тогда функция Witj(t) выражается формулой СП WVy'W— \vi{z)vil{t-z)dz. (3.1.31) — GO Время выполнения полного комплекса работ в упорядоченной сетевой модели t* — t(I) (/ — завершающее событие) определяется равенством t * = max{/(/) + *('. /)}■
122 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. ПТ где 1 ^/-<^u — события, непосредственно предшествующие событию /. Для получения функции плотности распределения времени выполнения всего комплекса работ рассмотрим последовательность kn случайных величин /f, 1 <1 р <С kc, где tf= max |/(/) + /(/, /)). Кр (3.1.32) Иными словами, *} = <(1)-М(1, /), // = гаах{*(1)-И(1, /), t(2) + t(2I)}, tf = max {*(!) + *(!, /), .... t(p) + t{p, I)), t,"= max {/(/) + /(/, /)). (3.1.33) Алгоритм вычисления случайной величины t,a можно представить в рекуррентной форме. Обозначив t(k) + t(k,I) = Wui, получим t)=Wu, ti = max{t}, Wv), tj = max {t2f, W-n), (3.1.34) if = max [tlr\ Wu). #■ = max {/,*"-', Wk.,). Пусть F\p .(t)—функция распределения случайной величины W(i,j) с плотностью распределения Ц7^;(/), вычисляемой по формуле (3.1.31). Тогда FWiJ(t)= jWttJ(z)dz. (3.1.35)
МЕТОДЫ, ПРИМЕНЯЕМЫЕ В СИСТЕМЕ ПЕРТ 123 Для случайных величин t\ можно записать с!/. Л>(0= f Wul{z)dzt ч * — оо Fti{t) = Fti^{t)Fw (0= J Qi^.Wt \ WltI(t) v '/ wi, i J • •' — 00 —ОЭ (3.1.36) Здесь Qi,i(t)—условная плотность распределения случайной величины //, a Fti (() — функция распределения. Функция плотности Qi,i(t) случайной величины t\l) будет иметь следующий вид: t — оо Ч-^.ЛО $ Qt-uAVdt. (3.1.37) — со Функция плотности времени свершения конечного события / запишется в виде i Q*n./(0=Q*n-i,/(0 \ WkatI(z)dz+ — оо / H-^/W jQ*n-.,/(^)^- (3-1.38) Свертывая рекуррентное соотношение (3.1.36), получим общую формулу распределения вероятностей Vj(t) времени выполнения всего комплекса работ: *п Р-1 t *„ t (3.1.39)
124 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА 1ГЛ III Таким образом, аналитические методы расчета «в лоб» параметров вероятностной сетевой модели для случая сетей среднего и крупного объема приводят к расчету интегралов столь большой размерности, что время вычисления приобретает поистине астрономические масштабы и вычислительные формулы практически нерса- лизуемы. В последующих параграфах главы мы опишем ряд приближенных модификаций прямого аналитического метода, сводящихся к более простой вычислительной процедуре. § 2. Аналитические методы Фулкерсона — Клингена В предыдущем параграфе было показано, что методика оценки математического ожидания времени выполнения сетевого проекта, а также других р-кваитильпых доверительных оценок, применяемая в системе ПЕРТ, приводит к систематической погрешности, причем оценки, как правило, оказываются заниженными. Если зафиксировать коэффициент доверия р, близкий к единице, то полученная с помощью формулы (3.1.19) оценка К$ <С Wp(i), где Wp — точное значение р-квантиля самого раннего срока свершения события i. Иными словами, методика системы ПЕРТ приводит к занижению практически всех представительных оценок самых ранних сроков свершения как завершающего события, так и событий внутри сети. Описываемый ниже математический аппарат является попыткой уточнения оценки математического ожидания самых ранних сроков свершения событий, входящих в сетевую модель, с помощью аналитических методов. Д. Фулкерсоиом предложен [72] метод получения нижней оценки /,- математического ожидания ц; самого раннего срока свершения события i и показано, что эта оценка имеет меньшую систематическую погрешность, нежели классическая оценка g;, то есть g i-^ f i-^ щ (gi — оценка для р,-, полученная по методике ПЕРТ). Приводимый ниже алгоритм Фулкерсона работает на основе предположения, что продолжительность каждой отдельной, работы есть случайная величина с дискретным распределением. Задается совместное распределс-
§2] АНАЛИТИЧЕСКИЕ МЕТОДЫ ФУЛКЕРСОНА — КЛИНГЕНА 125 ние длительностей работ, предшествующих данному событию, но предполагается независимость работ, у которых конечные события различны. Обозначим через В, совокупность работ, непосредственно предшествующих событию i, а символом *в.= (« #) этих работ. Пусть •случайный ой, .. 1 а., а/ .1 вектор длительностей номера событий, предшествующих событию /, причем а/<г (/= 1,...,/?,). Иными словами, сетевая модель считается топологически упорядоченной (см. § 5 главы I). Полагаем fi = 0 (исходное событие) и для 1=2, 3, ... , п (п — номер завершающего события) вычисляем по рекуррентной формуле и I 2/>('*/)шах {/.} + <! '<■+#}• (3-21) причем значение /< дает искомую нижнюю оценку для (г(. Покажем, что для любой сетевой модели имеет место неравенство g,<Cft^щ-, 1-<л<Сп. Правомерность этого неравенства для случая /=1 не вызывает сомнений, поэтому продолжим доказательство па основе индуктивного метода. Принимаем неравенство верным для значений 1, 2, 3, ..., i и рассмотрим оценки gi+i, f,+i, \ищ. Сначала покажем, что gi+i^-fi+i- Учитывая формулу (3.2.1) и топологическую упорядоченность сети, мы вправе записать '*u, I 'I' «4-1 i Jl + l 2 'B: «{'(4+,)(/.j+1+'!+i)-- -I (3.2.2) Поменяв в равенстве (3.2.2) местами операции суммирования и взятия максимума, получаем fi«>"»xrS^(4+J(^+1+M ■-^'М'*'**'). (3.2.3)
126 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. III Заметим, что { \ , f 2 ....,/*. не зависят от tR. , вследствие чего имеем неравенство 71 4) f,+i>maxfb + *\+v-f% +t%V\ (3.2. где t{ (y'=l. .... £,-)— математическое ожидание длительности работы (у, t). Учитывая, что методика оценки величины gi может быть записана в виде рекуррентного соотношения £, = 0, ) ^ = тах/£в1-М]ч..., £„?<-ММ. />1. I (3-2'5) и применяя индуктивный метод, получаем искомое неравенство (3.2.6) '< + Г L г+i г+i Переходим к доказательству последнего неравенства /YnOi+r Обозначим li(tA) самый длинный путь от исходного события до события i, проходящий через множество А. i /+I Вводим обозначения A = {jBk и C — [jBk, причем, как легко видеть, Vi = '2iP(tA)li(tA), a p(tA) = Пр(tB). tA *-1 v w Заметив, что справедливо равенство /,+1(*с) = тах{/а,+1(/л)+*)+1, .... /a^i(^) + ^rj, имеем Рт=2 2 />(/л)/>(/д )тах(/ , (/л)+/)+1, ... •••>/0*|v(^) + ^t1} (3-27) .
§ 2] АНАЛИТИЧЕСКИЕ МЕТОДЫ ФУЛКЕРСОНА - КЛИНГЕНА 127 или, преобразуя, IVh=,2 /'(^,,,)2maxj/J(g[/a, + i(^) + /(!M], ... Из последнего равенства вытекает, что ^+i>2 />(fB,.M) max [2/>(/„)/! (tA)+t) , ... •••- S/^'.^.M + '/'tt'l- (3-2-8) ■4 ( + 1 Используя равенство [i; = 2 /?(^л) ^(^л)> получаем 'л ц,+1> S />(Ч-н)тах 1 М-Г !'■ «fit1 '+Ч (3.2.9) Учитывая равенство (3.2.1) и применяя индуктивный метод, окончательно получаем искомое неравенство H<+i> S '(£/4-i)max["/i +*J+1, ... ■••.■/.»|+1 + <Й«1-/|+1- (3-2.1(9 Последнее доказывает, что g,- <Cfi -^ ц* для всех 1 -^ i-Cn. Следует особо отметить, что в случае коррелированных работ с различными конечными событиями соотношение gi ^С \x.i остается в силе, однако неравенство fifC^-i мо-< жет уже не иметь места. Метод, разработанный Д. Фулкерсоном для случая дискретных распределений, был в дальнейшем обобщен Клингеном [65] для случая непрерывных исходных функций распределения с получением соответствующего вычислительного алгоритма. Вместо формулы (3.2.1) Клин- ген предлагает использовать формулы с1=0, j с>= Jp(*e,)maxfca,-Wl cjt+tyUB,, [(3-2.11)
128 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА |ГЛ. III где интегрирование по Стилтьесу выполняется для случая дискретных или непрерывных распределений. Приняв, что для случайного вектора tB — (^-, . .•• /f') его составляющие t\ (1 <&<;£/) статистически независимы, преобразуем распределение t(Bt) в произведение простых распределений /ЧЧИД/>('?)• (3-2-12) В результате введения формулы (3.2.12) соотноше- ния (3.2.11) приобретают следующий вид: с, = j ... J max fc, +/j, ..., c^-f #) X «=f ... f max/c , +/J....,c *. + /?')П^*(Л. '>*• ■J j l "«• v /*-* (3.2.13) где р\(Т) определяется исходя из уравнения />*(7>=Р{^<Г). (3.2.14) Расчет значений с{ по формулам (3.2.13) практически не представляется возможным ввиду необходимости выполнения многомерного интегрирования. Соотношения (3.2.13) можно свести к следующему весьма простому и удобному с точки зрения вычислений виду. Исходя из (3.2.14), имеем для 1 <;£<£, Р{Са*+*'<Т} = РЦТ-Са*} <3-2Л5) Вводим символ шах (с \-\-t, с »,-)- tk.l\ = z. и по- \at V J лучаем с учетом (3.2.15) Р[^<Л=-И/>?(Т-'„*)• (3.2.16)
§2) АНАЛИТИЧЕСКИЕ МЕТОДЫ ФУЛКЕРСОНА - КЛИНГЕНА 129 Поскольку ct равно nt — математическому ожиданию самого раннего срока свершения события /, то можно записать с учетом (3.2.13) г k, \i,=?cl = E\zl\= jzd (/>?(« — «,*) , (3.2.17) где г{ лежит в интервале [at, bi\, пределы которого определяются ниже. Вычисляя интеграл Стилтьеса по частям, получаем Vi = Ci =гП^(г~ч)Г-Ш^(г-с«?)^ ft = l ч iJ ai at k-l 4 J (3.2.18) Что касается пределов аи Ьи то последние определяются следующим образом: bt = max \c i + b ь ..., с к.-\- Ь * 1 , [ а/ ai V ai'\ (3.2.19) причем a k и £ * (1 <&<£,) берутся так, чтобы соответственно P{/*<aefj=p?(aa?)=0 В результате уравнение (3.2.18) приобретает следующий весьма простой вид: cl — bi — J Jpft/-2 — eaij(/2 (i = 2, 3, ..., л). (3.2.20) 9 Д. И. Голенко
130 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. III В уравнении (3.2.20) распределения pkJz — ck\ можно определить как PUZ-C^)= J ^?(*)=/ KW]'^' (3-2-21) "и "к Приведенный алгоритм легко реализуем вычислительными средствами, поскольку для дискретных значений 4 он сокращается до простых конечных сумм, а для непрерывных значений th требует лишь однократного интегрирования. В заключение параграфа рассмотрим некоторые другие, хотя и менее эффективные, аналитические методы оценки математического ожидания самых ранних сроков свершения событий. Самый ранний срок свершения завершающего события, обозначаемый г, можно трактовать [28] как функцию продолжительности работ, обозначаемых Xj, 1^/^rt. Введем понятие матрицы ац путей сети, причем индекс ац—\, если /-я работа лежит на г'-м пути между исходным и завершающим событиями (пути занумерованы), и а^ = 0 в противном случае. Время выполнения проекта z=z{xu ..,, х„) =* ■= max I 2 ацхп> а геометрически изображается много- \<i<p\i~i 7 гранником в (п+ 1)-мерном пространстве, грани которо- л го лежат в гиперплоскостях г, = ^ аих, (1 ^ г <; р). /-1 При z=t этот многогранник есть совокупность Rt всех точек пространства, которым отвечает продолжительность t выполнения сетевого проекта. Математическое ожидание этой продолжительности определяется тогда выражением оо Мг = г— | t J" f(xl x„)dodt, -00 R( где / — плотность распределения n-мерного случайного вектора X.
5 2] АНАЛИТИЧЕСКИЕ МЕТОДЫ ФУЛКЕРСОИА — КЛИПГЕНА 131 Кларком [64] предложен аналитический мегод оценок первых двух моментов распределения самых ранних сроков свершения событий для топологически упорядоченной сети в предположении, что продолжительность выполнения работ распределена по нормальному закону. Вычисление средних значений самых ранних сроков при этом осуществляется последовательной процедурой, на каждом шаге которой необходимо определить среднее значение максимума конечного числа случайных величин. Пусть х{ (O^-i-^-п)—случайная продолжительность входящих в сетевую модель работ, распределенная по закону Гаусса со средним т,- и дисперсией а], а Pij — попарные коэффициенты корреляции. Тогда, исходя из соотношения max [max (х0, Xi), лгг] = тах (х0, хь х2), осуществляем рекуррентную процедуру оценки параметра распределения самых ранних сроков свершения событий. При этом предполагаем, что у = max (xu х,) также имеет нормальное распределение. Основой рекуррентного процесса является применение следующих двух расчетных формул для моментов первого и второго порядков ui и р,2 случайных величин y = max (x,-, Xj): ц, = My = mt<X> (со) + riiju) (— со) + kp (со), | 1'2 = 0// = (й; + а|) + ФИт (3.2.22) + К+°))ф (- ш)+(mi+mj) kP И-1 mi — m, где со = , k = a] + o2j— 2ap](ft}. В формулах (3.2.22) Ф(х)—функция Лапласа, определяемая по формуле X Ф(х) = -£= f er*dt\ (3.2.23) У я > р(х) определяется по формуле p(x) = yLre-^, (3.2.24) a cp,-j — смешанный момент второго порядка. Для определения моментов распределения максимумов, когда число переменных больше двух, применяется 9*
132 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. НЕ следующая формула для коэффициента корреляции: Р = Р С**, У) = ? С**, max (х,. х/)) = . У(И2 —Hi) Можно поставить задачу определения такого оптимального набора сроков начала выполнения работ в сетевой модели, при котором вероятность выполнения любой работы Xi к заданному директивному сроку была бы не меньше заранее заданной величины Pj— значения гарантированного риска. Поставленная задача сводится [62] к отысканию зна- т чений U{, минимизирующих функционал 2 uiai при ог- раничениях Р j 2 w<e*y>*./1 >/>;• где 1^/-</г и 0< <Pj<l. После соответствующего преобразования левой части каждого из вероятностных ограничений, приходим [62] к следующему эквивалентному выражению: Fj\ 2 W/e/_/ [ ^> Pj> где Fj — функция распределения /,-. После этого решается двойственная задача отыскания т т /=min2«f«/ при ограничениях 2i UtEij ~^>FJl(p<), i-i) ' l-Q l</<rt. § 3. Метод С. Я. Виленкина аппроксимации закона распределения времени выполнения сетевого проекта Изложенные в предыдущем параграфе аналитические методы расчета параметров сетевой модели со случайными оценками работ могут быть применены лишь для оценки средних значений самых ранних сроков свершения событий. Однако они не могут использоваться для получения какой-либо информации о законе распределения ранних сроков /рап(()< в частности законе распределения самого раннего срока свершения завершающего события сети (то есть времени выполнения сетевого проекта в целом). Опишем один аналити-
$3) МЕТОД С. Я. ВИЛЕНКИИА 133 ческий метод решения этой задачи, предложенный С. Я. Виленкиным [15]. Рассмотрим сетевую модель, состоящую из л + 1 события i (O^t'-^n), причем времена выполнения входящих в нее работ (», /) считаются независимыми и распределенными каждое по одномерному закону с математическим ожиданием а« и дисперсией а2и. Рассмотрим последовательности % — _ hjk' где индекс k указывает, что времена tij лежат на /г-й последовательности событий от 0 до п. Примем, что закон распределения времени выполнения сетевого проекта X при случайном выборе величин (ц будет совпадать с законом распределения величины т)тах. Пусть X=i = {/(0, 1), /(1, 2), ..., t(n—1, п)} — случайный вектор выполнения работ в сетевой модели. Введение величии r\ii = ^iiijk является линейным преобразованием с матрицей т X п, где т^-п. Это преобразование определяет новую случайную величину г с /и-мерным распределением, однозначно определенным данным распределением величины X, Моменты распределения величины г связаны с моментами распределения величины X соотношением л Р/* = 2 clrlricks. (3.3.1) г, s-\ В силу независимости величин /,j распределение величины z имеет первые моменты fy —2fl/y " Н0РМИ" рованную матрицу коэффициентов корреляции Pll Pl2 ••• Plm Р21 Р22 • • • P2m f Pml Pm2 • • • 9mm где t
134 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. III и o)kl— дисперсия времени выполнения работы, принадлежащей как 6-й, так и 1-й последовательности. Ранг матрицы моментов г-*Ст. Отсюда делаем вывод, что величины г); могут быть с вероятностью, равной единице, представлены в виде линейных функций г некоррелированных случайных величин £. Нетрудно видеть, что если распределение каждой из этих величин будет близко к нормальному, то и вектор г будет иметь распределение, близкое к нормальному, а совместное распределение величин т]; также можно рассматривать как нормальное. Тогда функцию ( 1 V х1~ ai х>>~ аь 1 (3.3.2) где pjtk — алгебраическое дополнение элементов pj^, a p = det llpjftll, можно принять за плотность совместного распределения величии r\t. Характеристическая функция этого распределения равна Ф(<1- <2 *п) = = ехр | - V, 2 РУ, kojojjtb + i 2 ajtj]. (3.3.3) Вероятность того, что ни один из путей не будет иметь максимального времени более х, Р(П1<х, .... т]т<х) = X X = I ... I f (*р .... *«) flfJfi ^ ... fi?xm. (3.3.4) — оо —оо Функцию f(x\, ..., хт) разложим в многомерный ряд Грамма — Шарлье типа А. В одномерном случае М*)-адС*)+-Й-ч*Ч*)+ ••• H-^^WH-.... (3-3.5) где ф(дг)—плотность нормального распределения,
§3] МЕТОД С. Я. ВИЛЕНКИНА 135 ф(")(л:)==(—\)"Н„ (лг)ср(лг), Нп (х) — полином Эрмита сте- со пени п, с„ = (—1)" J" Нп (х)/ (л:)dx — суммы соответ- — ОО ствующих моментов функции плотности. Для многомерного случая получаем формулу f(xv ..., x„) = c0(f(xv ..., лг„) + т,+ .. V Ч ••■»'„ d ' "" "v(xi хп) ■amJ т,\ ... ГП г дх11 ... дхпп (3.3.6) В этом разложении О ' "ф(л-„ .... х„) __ = (-1)м1+-+я*Нт-...т(х1 xn)4>(xt х„), где Нт ...,„ (л*,, ..., А"„) — полиномы Эрмита, порожденные функцией ф(л'1, ..., хп)', ф(а-р ..., хп)=> >= ^2"ехР{ ^их) 1 — плотность нормального рас- пределения. Величины с,„ ...,„ являются суммами моментов функции плотности f(xt, ..., х„). Таким образом, вычисление вероятности Р(ц1 'СД',.., ,.., г),„<^л:) сводится к отысканию значений интегралов вероятности и функций плотности в одномерном пространстве (эти функции табулированы) и к вычислению значений полиномов Эрмита. В частности, разложение [(хи х2, х3) в многомерный ряд Грамма — Шарлье типа А будет следующим: f(xv х2, х3) = у(х1, х,, х3) 1 -f Р^Л+Р^Л + 9-гх2хз + + ^31*2*3 (Х\ - 1)+P12P23^1X3 И - 1) + Pl3P23JClf 2 (4 - !)+ О ьфн-1)(4-1) I- + *W-i)(*8-i)+...l -ь^И - i)M - 0+4-W ~ ])И -»)+
136 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. III Что касается оценки многомерной функции распределения, то окончательный результат следующий: P{^<x, .... т1л<*) = (*-в,)/о, (*-%)/% = J ... f(xx xn)dxx ... dxn = — сю — со 1 = 1 (-1 т, > О У~2п га.=0 где Ф(у) —интеграл вероятности (см. стр. 117). 7/Я . ;// Рис. 7. В приводимом на рис. 7 примере [15] сеть состоит из восьми работ, времена выполнения которых распределены по закону бета-распределения со следующими параметрами: #01 = 4, #12 = Ь, й]з = О, Д24=:'> ^34 г== ^*» «35 == "» ^46 == ' «56 =:7' ат = 2' % = /2, о13 = 2, 024 = У"3, о3| = 1- о35==У2, о46=1, а56 = УЗ. В этой системе три пути со следующими характеристиками: .аг = 19, of ==10, р12 = 1/2, а2=18. о* =10, рц = 4/130, а,6 = 2\, 0^=13, р23=-8/130.
$4] АНАЛИТИЧЕСКИЙ МЕТОД МАРТИНА 137 Закон распределения максимального времени выполнения сетевого проекта имеет вид Р*<4-.(-р)Ф(--).(^)+ Н(,_,9И,_18)ф(^)£еХр{-Лр^>Ч Хехр{-^[!£^+!£^.']}+1|5(,-18)(,-21)Х По-видимому, для случая сетевых моделей большого объема приведенный метод столкнется с существенными вычислительными трудностями. § 4. Аналитический метод Мартина, основанный на преобразовании сетей Для ряда сетевых моделей со случайными оценками работ описанные выше принципы расчета параметров распределения времени выполнения проекта не являются эффективными, особенно для сетей большого объема. В этих случаях хорошие результаты может дать приведение исходной сети к другой, эквивалентной сети (как правило, меньшего объема), для которой распределение вероятностей срока ее выполнения совпадает с аналогичным распределением первоначальной сети. Вычислительная процедура при этом сводится к оценке распределения суммы и максимума конечного числа случайных величин (свертка и умножение распределений) до тех пор, пока сетевая модель не сведется к одной эквивалентной «работе». Распределение вероятностей продолжительности ее выполнения совпадает с распределением самого раннего срока свершения завершающего события в исходной сети. Опишем принадлежащий
138 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. Ill Мартину [81] алгоритм сведения сети к эквивалентной и соответствующую вычислительную процедуру. Основная идея алгоритма состоит в следующем. В терминах теории графов сеть изображается символом (N, А), где N—множество вершин в сети, а А — множество ее работ. Введем понятие последовательной подсети (NitAi) — направленной сети без контуров, обладающей следующими свойствами: 1. Всего одна вершина Ss€.Nl имеет точно одну работу а^Аи выходящую из нее, в то время как любые работы, входящие в Ss, не принадлежат At. Вершина 5S называется входом последовательной подсети. 2. Всего одна вершина Z^N^ имеет точно одну работу am6i4i, входящую в нее, в то время как любые работы, выходящие из Zs, не принадлежат Ль Вершина Zs есть выход последовательной подсети. 3. В любую другую вершину п 6 Л^ входит точно одна работа а;6^ь и из нее выходит также всего одна работа flj €Ль Параллельная подсеть (N2, А2) есть направленная сеть без контуров, обладающая следующими свойствами: 1. Точно одна вершина SP£N имеет множество выходящих из нее работ {аи . . ., ah}(zA2 содержащее более одной работы, в то время как любая работа, входящая в Sp, не принадлежит А2. Вершина Sp и есть вход параллельной подсети. 2. Точно одна вершина ZP€.N2 имеет множество входящих в нее работ {а,, . . ., ат}£А2, содержащее более одной работы, в то время как любая работа, выходящая из Zp, не принадлежит А2. Вершина Zp называется выходом параллельной подсети. 3. Вершины Sp и Zp связаны двумя или более последовательными подсетями, имеющими общие вход Sp и выход Zp. Таким образом, в последовательной подсети имеется единственный путь между входом и выходом, а в параллельной подсети существуют два или более непересекающихся путей между входом и выходом (см. рис. 8,1 и 2).
§ ч АНАЛИТИЧЕСКИЙ МЕТОД МАРТИНА 139 Назовем последовательно-параллельной сетью последовательную подсеть, параллельную подсеть или две последовательные или параллельные подсети, соединенные последовательно или параллельно. Таким образом, последовательно-параллельная сеть есть направленная сеть без контуров с одним входом и выходом. Можно считать, что любая направленная сеть без контуров состоит из последовательно-параллельного ядра и пересекающих подсетей (см. рис. 8,3 и 4). Ss ° »— ozs / Z S Рис. 8. Введем операции последовательного и параллельного приведения. Время выполнения последовательной подсети, со-- стоящей из п работ, определяется выражением Тп = = ti+ ... +tn, где U — случайное время выполнения г'-й работы с плотностью распределения fi(t). Операция последовательного приведения преобразует последовательную подсеть в одну эквивалентную дугу, время выполнения которой имеет плотность распределения, получаемую путем многократного применения оператора свертки. Плотность gn(t) распределения случайной величины Тп вычисляется с помощью следующего
140 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. III рекуррентного процесса: со Л(0- J/*Wft-i«-t)rft, *=2, 3 п. (3'4Л) -00 Операция последовательного приведения преобразует параллельную подсеть, состоящую из п путей, в одну эквивалентную дугу. Сначала последовательные подсети, образующие каждый путь, преобразуются с помощью операции последовательного приведения в эквивалентные работы, среди которых i'-я работа характеризуется случайным временем выполнения U с функцией распределения Fi(t). После этого время выполнения параллельной подсети определяется выражением Т„~ = max[^i, ..., tn], причем функция распределения этой П величины имеет вид G„{t) = P\Tn^t\ = Yl^i (0> a плот- ность распределения gn{t) = G'n{t)- Приведем алгоритм [81], который, используя операции последовательного и параллельного приведения, преобразует любую последовательно-параллельную сеть (N, А), имеющую независимые времена выполнения работ, в одну эквивалентную работу с плотностью распределения, характеризующей время выполнения исходной сети. Начиная от входа сети, алгоритм работает, переходя от вершины к вершине, реализуя приведение последовательных и параллельных подсетей и останавливаясь, когда достигается выход подсети. Плотность распределения времени выполнения работы (/, /) 6 А обозначим символом fij. На каждом шаге вычислений число работ, выходящих из рассматриваемой на этом шаге вершины N[, обозначим символом v. Рассмотрим алгоритм поэтапно: Этап I. Перейти к этапу II, приняв вход сети за рассматриваемую на данном шаге вершину. Этап II. Если v = 0, то перейти к этапу V; если v=l, то перейти к этапу III; если v>l, то перейти к этапу IV.
S 4] АНАЛИТИЧЕСКИЙ МЕТОД МАРТИНА Ш Этап III. Из рассматриваемой вершины Ni выходит единственная работа («', /). Принять N; за новую рассматриваемую вершину. Если Ni — вход сети, то плотность распределения самого раннего срока свершения события Nj есть /,3-. В противном случае вычислить свертку fa с плотностью распределения раннего срока свершения события Niy в результате чего получается плотность распределения раннего срока свершения события Nj. Вернуться к этапу II. Этап IV. Из рассматриваемой вершины iV,- выходит более одной работы. 1. Привести первый путь, выходящий из вершины jV< и заканчивающийся в вершине Nj, к одной эквивалентной дуге следующим образом. Рассматривая Nt как вход новой сети, для которой v = l, применить последовательно-параллельный алгоритм, останавливающийся, когда достигается выход Nj этой новой сети. Предполагая, что каждая последовательно-параллельная подсеть, принадлежащая данному пути, приведена путем рекуррентного применения последовательно-параллельного алгоритма к единственной работе, вершину Nj определить как первую вершину, в которую входит более одной работы. 2. Повторить IV, 1 для каждого пути, выходящего из Nj. 3. Применить операцию параллельного приведения для преобразования полученной параллельной подсети с входом Nt и выходом Nj в одну работу a*j с плотностью распределения f* ,. 4. Принять Nj за новую рассматриваемую вершину. Если Ni — вход сети, то f]j есть плотность распределения самого раннего срока свершения события Nj. В противном случае вычислить свертку \\. с плотностью распределения самого раннего срока свершения события Ni, в результате чего получается плотность распределения раннего срока свершения события Nj. Вернуться к этапу II. Этап V. Из вершины Nt не выходит ни одной работы. Прекратить вычисления, поскольку эта вершина является выходом сети.
142 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. III Можно доказать [81], что работа алгоритма протекает однозначно и исходная сеть редуцируется всегда к одной и той же эквивалентной работе. Алгоритм сходится за конечное число итераций, каждая из которых ведет к образованию эквивалентной сети, содержащей меньшее число работ и вершин, нежели исходная сеть. Описанный алгоритм целесообразно применять для ограниченного количества видов закона распределения времени выполнения работ. В частности, плотность распределения этих работ желательно описывать конечным числом параметров, например, полиномами п U (х) = li atxl. Алгоритм приведения в случае использования полиномов оказывается относительно простым, ибо операции свертки, сложения и умножения плотностей вероятностей не встречают существенных вычислительных трудностей. Любую направленную сеть без контуров можно подвергнуть последовательно-параллельному преобразованию, но уже модифицированному. Последнее достигается преобразованием исходной сети в последовательно- параллельную форму, в которой уже не все времена выполнения работ являются взаимно независимыми, и соответствующим изменением самого алгоритма путем введения специальной процедуры. Эта процедура обеспечивается за счет изображения сети (N, А) в виде иерархического дерева. В этом дереве число ветвей равно числу путей между исходным и завершающим событиями сети. Поскольку пути могут иметь общие работы, то их продолжительности являются зависимыми случайными величинами. Поэтому сначала вычисляются условные распределения при фиксированных общих работах, а затем производится интегрирование по этим условиям. При этом описанный выше алгоритм терпит ряд изменений, в частности, существенно усложняется процедура этапа IV. Особенно усложняется алгоритм для случая существования в сети двойственных дуг, в частности, модифицируется
t 5] МЕТОД А, А. МЕШКОВА [43 операция параллельного приведения. Представление сети в виде иерархического дерева также используется для оценки вероятности попадания работы в процессе ее реализации на критический путь и вероятности принадлежности фиксированного пути (или части его) к критическому. Однако соответствующие вычислительные процедуры делаются весьма громоздкими и их реализация связана с большими трудностями. § 5. Метод А. А. Мешкова, основанный на анализе наиболее существенных путей Рассмотрим аналитический метод, описанный в работе [43] и представляющий, на наш взгляд, существенный интерес. Этот метод применим для анализа распределения самого раннего срока свершения произвольно выбранного события k сетевой модели (в том числе, разумеется, и завершающего события). Сущность метода состоит в выделении из всего множества путей, подходящих к рассматриваемому событию k, наиболее значимых путей, которые и опреде-< ляют закон распределения Fk(t) самого раннего срока свершения данного события. Необходимо отметить, что этот метод предъявляет менее «жесткие» требования к знанию законов распределения продолжительности работ, нежели ряд других методов, в том числе метод статистического моделирования. Если для моделирования сети необходимо знать функцию плотности распределения продолжительности каждой из работ сетевого гра- фика, то для описываемого метода достаточно знания математического ожидания t и дисперсии Dt продолжительности этих работ. Отсюда следует, что можно с одинаковым успехом использовать в качестве формул для определения математического ожидания и дисперсии л. 7ТГ-П-ГГ а4-4т-{-Ь Ь — а как формулы метода ЛЬРТ: t=—!—~ , ot =—g— при трех оценках, так и соответствующие формулы двух- т За -4- 2b b — а оценочной методики: t= н—. ot = —g—• Любое событие k сетевой модели может быть представлено в качестве завершающего по отношению
144 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. Ill к некоторому фрагменту этой модели. Поэтому в дальнейшем все рассуждения проводятся относительно завершающего события, поскольку это не накладывает на метод никаких принципиальных ограничений. Самый ранний срок свершения завершающего события k сетевой модели определяется следующим выражением: 7*ft= max (/(£,). t(L2) t(Ln)}, (3.5.1) где ((L{), t(L2), .... t(Ln)—случайные величины, соот- ветствукадие длинам всех путей сетевой модели, соединяющим исходное и завершающее события. Естественно, что 7\ также является случайной величиной, а вероятность свершения завершающего события к некоторому моменту времени t выражается формулой F{t) = P{Th^t) = P{t{Ll)^t, t{L2)<t t(Ln)<t). (3.5.2) Длина {(L^) пути L^ определяется как сумма продолжительности работ, принадлежащих этому пути, то есть <(4) = 2 t(i,j), (3.5.3) ft Mip где t(i, /^—продолжительность работы (i, /). Поскольку сетепые модели обычно имеют одинаковую степень детализации работ, величины t(i, /) можно принять [43] сравнимыми по порядку своего влияния на случайные изменения величины суммы (3.5.3). Согласно предельной теореме Ляпунова и учитывая предположение о независимости продолжительностей работ сетевой модели, распределение случайной величины /(L^) при числе слагаемых порядка 5—7 можно считать приближенно нормальным с математическим ожиданием *) ГЦ=2*(М (3-5.4) и дисперсией DI„= 2D* (/./), (3-5.5) __ *) Здесь 11 всюду далее, где это не вызовет недоразумений, вместо t(L) пишется просто L.
§5] МЕТОД А. А. МЕШКОВА 145 где суммирование проводится по работам, принадлежащим пути L^. Совместное распределение случайных величин Llt Lo, ..., Ln также полагается многомерным нормальным распределением. Тогда выражение (3.5.2) можно записать в виде t 1 F(t)= J ... Jfo(/„ /2, .... ln)dlxdl2....dln, (3.5.6) где fyv(^i> ^2 hi) — многомерная нормальная плотность распределения с математическим ожиданием ц . Ln . , дисперсией DL, DL„ корреляции Pl2 1 и матрицей коэффициентов Здесь pst — коэффициент -Pi« Рйя ••• ! _ корреляции Ls и L,, который определяется по формуле Pst (3.5.7) Условие под знаком суммы означает, что суммирование проводится по работам, общим для Ls и Lt. Если все пути сетевого графика не имеют общих работ, то величины t(Li), t(L2), . . ., t(Ln) являются независимыми (в вероятностном смысле). В таком случае '»-±НК££)+ (3.5.Ы где Ф (а-) V 2я J <?-"2/2 du — функция Лапласа. 10 Д- И. Голенко
146 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. III Однако пути сетевого графика обычно имеют общие работы, и поэтому формула (3.5.8) для определения F(t) в общем случае непригодна. Кроме этого, трудность определения F(t) заключается в том, что число путей сетевой модели даже сравнительно небольшого объема составляет значительную величину. Реализация на ЭВМ алгоритмов, позволяющих «перебрать» все множество путей сетевой модели, установить степень их зависимости (корреляции), а также решить «-кратный интеграл (3.5.6), является весьма громоздкой задачей и требует больших затрат машинного времени. Изучение распределений случайных величин типа (3.5.1) показывает [43], что при п—>■ оо они обладают некоторыми асимптотическими свойствами, которые существенно проявляются уже при «=15—20. Это позволяет из всего множества путей сетевой модели выделить 15—20 определяющих путей, оказывающих наибольшее влияние на параметры функции распределения. Как показывают исследования реальных сетевых проектов, наибольшее влияние на параметры функции распределения оказывают пути L, сетевой модели, имеющие большие значения математического ожидания L; их продолжительности и наименее коррелированные со всеми остальными путями Lit L2, ..., Ln сетевого графика. Таким образом, для нахождения функции распределения F(i) и ее параметров необходимо выбрать 15^20 определяющих путей сетевого графика и сформировать из них случайную величину Tt, = max [t {L\), t (L2), . ■. .,., t(Lm)], m= 15^-20, которая с достаточной точностью аппроксимирует F(t). Опишем алгоритмы [43], позволяющие на заданном сетевом графике построить необходимое количество определяющих путей, математическое ожидание и дисперсия продолжительности которых определяются по формулам (3.5.4), (3.5.5). Предполагаем заранее известными следующие параметры сетевой модели: математическое ожидание t (1, /) и дисперсию Dt(i,j) продолжительности всех работ; полные резервы времени Pn(i, j) всех работ сетевой модели, продолжительность которых t(i, j) определена
§ 5] МЕТОД А. Л. МЕШКОВА 147 ио их математическим ожиданиям; следует отметить, что величина полного резерва времени работы (i, }) в этом случае равна разности математического ожидания Ькр критического пути и наибольшего из математических ожиданий путей Lv, проходящих через эту работу, то есть Pn(i, /) = ZKp— max {Zv); математическое ожидание LKV и дисперсию D^i,P продолжительности критического пути. Под критическим путем здесь также понимается путь, имеющий наибольшее значение при /(/,/) =t(i, }). Алгоритм поиска определяющих путей При работе этого алгоритма просматривается не все множество G работ сетевой модели, а лишь подмножество G', включающее работы, полный резерв времени которых меньше заданного допустимого резерва. Количество работ, включаемых в множество С, увеличивается по мере роста их полных резервов времени от минимального до допустимого. Значение допустимого резерва для заданной сетевой модели можно вычислить, исходя из следующей зависимости, полученной эмпирическим путем: R^ou^ = (1,5-+-2,0)1ЛКкр. Алгоритм поиска определяющих путей состоит из следующих основных операций: 1. Для каждой работы (i, /) определяется значение Xif. \ 1, если работа (/, у)6/.кр. х- ■ = { 11 { 0 в противном случае. 2. Для всех событий /€L*p вычисляется значением/, равное сумме дисперсий работ критического пути от начального события до /: 1-1 м,= 2 Dt(k,l). k = 0 <*.06£кр 3. Если для работы (/, /) значение Хц—1, переходим к п. 7в, а если Хц = 0, переходим к п. 4. 10*
148 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. Ш 4. Если событие j€Lkp, то переходим к п. 5. В противном случае переходим к п. 6. 5. Определяется, принадлежит ли работа (i,j) хотя бы одному из уже проложенных определяющих путей, исключая критический путь. Если «да», переходим к п. 7а, если «нет» — к п. 76. 6. Эта операция аналогична операции п. 5, с той лишь разницей, что в первом случае переходим к п. 7в, а во втором — к п. 7г. 7. Вычисляется значение ощ: а) щ, = со, + D/ (/, у). б) аи = а,. в) аи = v, + Dt (/, /). г) atJ = vt. Порядок вычисления и< определен ниже, в п. 9. Для исходного события /=0 значение v0=0. 8. Определяется, для всех ли работ (/, /), непосредственно предшествующих событию /, вычислено значение a,j. Если «да», переходим к п. 9. Если «нет», возвращаемся к п. 3. 9. Вычисляется значение функции vy. Vj= min(a^). Работа (/, /), для которой ац минимально, отмечается маркером (ft,j = l). 10. Если для всех событий /' вычислено значение и,-, то переходим к алгоритму прокладывания пути. Если «нет», возвращаемся к п. 3. В результате работы алгоритма поиска определяющих путей для каждого события сетевой модели вычисляется значение функции Vj. Как следует из приведенного выше алгоритма, Vj представляет собой минимальную сумму дисперсий работ, являющихся общими для некоторого пути Lv и множества уже проложенных на сетевом графике определяющих путей. Минимизация проводится по всем путям Lv (v=l, 2, ..., k), подходящим к /-му событию.
§5] МЕТОД А. Л. МЕШКОВА МО Алгоритм прокладывания пути Искомый определяющий путь Lv прокладывается по событиям сетевой модели, имеющим наименьшее значение Vj, начиная с завершающего события. Алгоритм прокладывания пути состоит из следующих основных операций: 1. Определяется множество событий {i}, непосредственно предшествующих событию /, и соответствующее множество работ {(', /}. Если множество событий {i} непустое, переходим к п. 2. В противном случае переходим к п. 3. 2. Находится событие i из множества {/}, непосредственно предшествующее работе (/,/), для которой /z,j = l. Далее возвращаемся к п. 1, присваивая / индекс if. 3. Последовательность событий, определяемых в п. 2 (и соответствующее им множество работ), и составляет искомый определяющий путь Lv. На этапе 3 определяется значение математического ожидания и дисперсии продолжительности пути Z.v: D£v=2D/(/,y). Алгоритм определения взаимной корреляции путей Алгоритм предназначен для определения коэффициента взаимной корреляции найденного пути Lv с каждым из путей, принадлежащих множеству [L^ уже проложенных определяющих путей сетевого гра-> фика. Определение коэффициента корреляции pvll двух путей Lv и Lfx сводится к следующим операциям: 1. Находится множество работ (/, /), принадлежащих как Lv, так и L^. Если это множество пусто, то pvli = 0. В противном случае переходим к п. 2.
150 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. III 2. Определяется значение коэффициента корреляции где Sv(i представляет собой сумму дисперсий продолжительности работ (i, /), принадлежащих как Lv, так и Ly,. Если полученное значение коэффициента корреляции pvii меньше заданного допустимого значения рДОп = = 0,8-г-0,9, возвращаемся к п. 1. Если руц^рДоп, то это означает, что вновь проложенный путь Lv мало отличается от определяющего пути L^ и практически не оказывает влияния на функцию распределения F (г) времени свершения завершающего события. Последовательная работа алгоритмов позволяет выбрать из всего множества путей, подходящих к данному событию, множество определяющих путей {L^} (ц=1, 2, .. ., т\ т = 15-^20)_ с_математическими ожиданиями продолжительности (Гь Г2, ..., Ьт), дисперсиями (DLV DL2 DLm) и матрицей коэффициентов корреляции (р0). Как было показано выше, определение F(t) связано с многократным (д-кратным) интегрированием многомерной нормальной функции распределения, причем кратность интеграла (3.5.6) удалось снизить до п = = 15 -f- 20. Однако и в этом случае существующие приближенные аналитические методы решения таких интегралов чрезвычайно громоздки, что делает их практически неприемлемыми. Для определения моментов функции распределения F(t) можно воспользоваться методом, изложенным в [3]. Сущность метода состоит в том, что случайную величину T*k = max(Li, Li Lm) можно представить следующим образом: £/1 = max(Z1, L2), lb-в max (ft, £3). (3.5.9) Т\ = max (ym_2, Lm).
§ ">| МЕТОД А. А. МЕШКОВА 15! Затем математическое ожидание и дисперсия ^определяются по следующим формулам: у, = LXF (a) + L2F (- а) + af (и), Dy1 = (I\-\-DL1)F(a)-\-(Il-hDL2)F(-a)+ + (Zl + Z2) af (а)- (у,)2, ц а (3.5.10) а2 = DLl + DL2 — 2р12 /DA • DL2, где pi2 — коэффициент корреляции Lt и L2. Предполагая, что случайная величина у\. распределена нормально, по аналогичным формулам можно определить уг и Dili. Поступая подобным образом, определяем математическое ожидание и дисперсию Ти- Полагая распределение Тк также нормальным, можно получить р-квантильные оценки продолжительности времени выполнения проекта в целом. Для реализации изложенного метода па каждом шаге работы алгоритма необходимо знать значение коэффициента корреляции случайных величин L/, и max(Z.i, L2, ..., Lh_i), который с достаточной точностью может быть оценен с помощью множественного коэффициента корреляции р£ (Z,,, L2 L^, устанавливающего степень корреляции Lh и множества (Z-i, L2,... , L^-i): (3.5.11) р, (Lv L2 Lk-г). где (-1)'' A = (Vol 1 Pft2 f),, 1 Pft (ft-D Pi (ft-D P2 (ft-D 0 Plft p2ft P(ft-l) 1 P(ft-l) 2 ' • • ' I P2I ' • • P(ft-l) 1 Pl2 • • • P(ft-l) 2 P(ft-l) ft Pi (ft-1) P2 (ft-1) 1
152 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. lit Для оценки точности метода А. А. Мешкова определения /j-квантильных оценок продолжительности выполнения проекта в целом можно использовать аппарат статистического моделирования случайной величины Tk — max(Lu Ы Lm). Сказанное выше может быть проиллюстрировано примером, представленным на рис. 9. Пусть задан сетевой график, математические ожидания и дисперсии продолжительности работ которого вычислены по формулам t (i, j) = G , ojy. = ж (b,j - a,j)- и сведены в таблицу 6. Таблица 6 Код работы (1.2) (1.3) (1. 4) (2. 4) (2. 5) < (<> /) 8.0 8,0 10,0 2,0 7,0 2 Код ij ^работы 0.11 (3, 4) 0,11 (3, 6) 1.00 (4. 5) 0.11 (4. 6) 1,00 (4, 7) td.j) 2.0 6.0 2.0 3,0 14,0 А, 0,11 0,44 0,11 0.25 1,00 Код - работы (5. 7) (6. 7) (6. 8) (7, 9) (8, 9) Г(1,;) 8.0 4,0 8.0 9,0 9,0 А, 0,44 0.11 1,00 1,00 1,00 В таблице 7 представлены пути Lk (k=\, 2, ..., 15). сетевого графика, а также математические ожидания
§ 51 МЕТОД А. А. МЕШКОВА 153 Таблица 7 Путь X, = (1, 2. 5. 7. 9) Ц = (1. 4. 5. 7, 9) /•з = (1. 3.6.7.9) /.4 = (1.2,4, 5, 7, 9) /.б = (1.3, 4,5, 7.9) £,«(1. 2.4. 7,9) /.7 = (1. 2. 4. 6. 7, 9) /.„ = (1. 4. 7. 9) м* 32 29 27 29 29 33 26 33 D* 2.55 2,89 1,56 1,67 1,67 2,22 1.60 3,00 Путь £.„ = (1,4, 6. 7, 9) /.,„=(1.3, 4, 7, 9) /.,, = (1.3.4,6,7.9) Z.,2 = (1, 3. 6, 8, 9) Ll3= (1,2,4,6,8,9) Z.14 = (l, 4, 6, 8, 9) /.,5 = (1,3,4,6,8,9) м* 26 33 26 31 30 30 30 Dk 2,36 2.22 1,58 2,55 1,71 2,69 1.91 Mft и дисперсии Dft их продолжительности: Mft = = 2 '(',/)■ Dft- 2 a*. Рассмотрим работу алгоритмов поиска и прокладывания определяющих путей. В качестве первого выбирается путь (1, 4, 7, 9), который будем называть критическим. Задаемся значениями /?Доп = 2 |АОкр==3,5 и рдОП = 0,8. 1. Выделяем из всего списка множество Q*) работ, для которых резерв времени меньше /?ДОп. В это множество не входят две работы (4, 5) и (6, 7), которые в дальнейшем не рассматриваются. 2. Вычисляем значение х{у. Хц=х^==хп=\; для остальных работ x,j=0. 3. Вычисляем значение coj для событий критического пути: o)i = 0, (о4=1,0, (07 = 2,0, о)9 = 3,0. Дальнейший порядок работы алгоритмов представлен ниже в процессе последующего поэтапного описания работы алгоритмов поиска и прокладывания определяющих путей. Все конечные результаты поиска и прокладывания определяющих путей представлены в таблице 8. В результате анализа сетевой модели на ЭВМ на основе описанного выше алгоритма отыскания определяющих путей при /?д0п —2 V^Ds^ 3,5 и p„on = 0,85 в *) Q — столбец 1 таблицы 8.
154. АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. III Этапы работы алгоритмов 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Номер операции алгоритма п. п. п. п. п. п. п. п. п. п п. п. п. п. п. п. п. п. п. п. п. п. п. п. п. 3 4 5 76 8 9 10 3 4 5 76 8 9 10 3 7в 8 3 4 6 7г 8 3 4 6 Описание операции Алгоритм поиска пути Выбираем из списка Q работу (1, 2). Значение Событие (1) принадлежит критическому пути Определяем, принадлежит ли (1, 2) одному из определяющих путей, — «нет» Вычисляем значение а12:а12 = ю1=0 Определяем, для всех лн работ, подходящих к событию (2), определены значения а,у, — «да» Вычисляем значение v2: i'2 = a12 = 0 Работу (1, 2) помечаем маркером* и в дальнейшем не рассматриваем Проверяем, пуст ли список работ Q, — «нет» Выбираем работу (1, 3), х13 = 0 Событие (1) принадлежит критическому пути Работа (1, 3) не принадлежит ни одному из определяющих путей Вычисляем <X|3: a13 = (0|=0 Значение о,у определено для всех работ, подходящих к событию (3) Вычисляем f з • t'3 = ai3 = 0 Работу (1, 3) помечаем маркером и в дальнейшем не рассматриваем Список работ множества Q не пуст Выбираем работу (1, 4), д:14=1 Вычисляем значение ан: а14 = vl +ffi4 = 1>0 Значение а,у- определено не для всех работ, подходящих к событию (4) Выбираем работу (2, 4), л:24 = 0 Событие (2) не принадлежит критическому пути Работа (2, 4) не принадлежит ни одному из определяющих путей Вычисляем a24: <х24 = и2 = 0 Значение а,у определено не для всех работ, подходящих к событию (4) Выбираем работу (3, 4), x3i = 0 Событие (3) не принадлежит критическому пути Работа (3, 4) не принадлежит ни одному из определяющих путей
§5] МЕТОД А. Л. МЕШКОВА 155 Продолжение 26 27 28 1 2 3 4 5 6 7 8 9 10 11 12 13 Номер операции алгоритма п. 7г П. 8 п. 9 п. 1 п. 2 п. 3 п. 1 п. 2 п. 3 п. 1 п. 2 п. 3 п. 1 п. 2 п. 3 п. 4 Описание операции Вычисляем а34: а34 = vз = 0 Значение <хц определено для всех работ, подходящих к событию (4) Вычисляем значение f4: vt = min (<х14, а24, а34) = 0 Работу (2, 4) помечаем маркером Работы (1, 4), (2, 4), (3, 4) в дальнейшем не рассматриваем Продолжая вычисления подобным образом, определим значение Vj для всех работ сетевого графика. После этого переходим к прокладыванию пути Алгоритм прокладывания пути Выбираем событие (9) и находим множество работ, подходящих к этому событию, — {(7, 9), (8, 9)} Определяем значение hu для работ (7, 9) и (8, 9): Л79 = 0, А., = 1 Находим событие (8) и проверяем, является ли оно начальным, — «нет» Находим множество работ, подходящих к событию (8),— {(6, 8)} Определяем значение Л68: Лб8 = 1 Событие (6) не является начальным Находим множество работ, подходящих к событию (6), — {(3, 6), (4, 6)} Определяем значение Ау для работ (3, 6), (4, 6): Лзв = 1, Л4в = 0 Событие (3) не является начальным Находим множество работ, подходящих к событию (3), — {(1, 3)} Определяем значение A13:A13 = 1 Событие (1) является начальным Последовательность дуг (1, 3), (3, 6), (6, 8), (8, 9) составляет искомый определяющий путь
156 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. Ill £ *0 й в" % i> ь •»s в" S 6s в* гГ ? I >0. Код события Код работы + 1 о 1 - о # о + + 1 о 1 + 1 о о о 1 + т—t I 1 - о и о о о о <м ■—i >—- 4- о » о о" о + - о о о со со О г* О О — —1 О о о . —, о о — о о — о + •* + о я о" о" о о ■—' г—* # » —! о + ■—» о ir-i о о + - о » и о о о о ю ю to <М со_ из о" 45 о о to о о о с о to '—' + - 2 в о о о 1—1 о о о - + с~ о ю г—* * "5 "Ч + - * И ъ 3 + - о * • о о о о 00 1~- 00 ю to + 1—1 г-< CI + .—1 о li о о О о «—« о со" - + ел С» о 42 1С о + - о о об"
i ■■: МЕТОД А. А. МЕШКОВА 157 качестве определяющих путей выделено множество путей {Li, Ls, Lio, L12} (в таблице 7 эти пути отмечены жирным шрифтом), имеющих следующую матрицу коэффициентов корреляции pv(1: Таблица 9 \ £м £v N^ ц Ц £|0 *-{2 i. 1 0.36 0,24 0 /•> 0,36 1 0.78 0 t» 0.24 0.78 1 0,05 Lu 0 0 0,05 1 Коэффициент корреляции (pvli) путей Lv и L^ вычисляется по формулеpV(l = -F= £ о?.. Результаты рас- чета параметров функции распределения времени свершения завершающего события (9) сведены в таблицу 10. Таблица 10 Величина ?., Л, = Z.8 Я2 = max [Ц, Z.10} А3= max {X2, Lx) А,4 = max {Л3, Ll2) % 33,00 33,61 33.97 34.16 "Ч 1,73 1,65 1.57 1,53 Предположив распределение времени свершения завершающего события (9) нормальным с параметрами М9 = 34,16 и 0-9=1,53, определим вероятность Р{^-< -!С^ран(9)}. где ^раи(9) — самый ранний срок свершения события (9), по формуле 'ран <9> Р [i<imV>] =^l expj-i<^_pU^0,222.
158 АНАЛИТИЧЕСКИЕ МЕТОДЫ РАСЧЕТА [ГЛ. III Для сравнения в таблице 11 приведены результаты расчета параметров данного сетевого графика Таблица 11 Методы Монте-Карло . Аналитический Ма 33,00 34,2 34,16 а. 1.73 1,55 1.53 p{'<W9>} 0,500 0,219 0,222 классическим методом усреднения по системе ПЕРТ и с использованием метода статистического моделирования (Монте-Карло).
ГЛАВА IV ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ В СИСТЕМАХ СПУ § 1. Общая блок-схема алгоритма статистического моделирования Содержание предыдущих глав позволяет сделать вывод, что практически все аналитические методы расчета параметров сетевой модели со случайными временными оценками работ являются либо весьма громоздкими, либо содержат систематическую ошибку. Свободным от такого рода ошибки, хотя и требующим большого количества вычислительных операций является метод статистических испытаний (метод Монте-Карло). К его достоинствам следует также отнести сравнительную простоту реализации на ЭВМ и возможность получить искомую оценку с. произвольной степенью точности. Идея применения метода статистических испытаний для оценки временных параметров сетевой модели состоит в имитации продолжительности выполнения всех входящих в сеть работ с последующим расчетом для теперь уже детерминированной сетевой модели значений искомых параметров, в многократном повторении процедуры такого «розыгрыша» и, в заключение, в оценке вероятностных характеристик полученного эмпирического распределения этих параметров. Разумеется, «розыгрыш» значения продолжительности выполнения каждой из работ (/, /) сводится к моделированию принятого для этой работы закона распределения, то есть к генерации случайной величины, распределенной по этому закону. Отметим, что метод статистических испытаний допускает моделирование любых распределений продолжи-
160 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV тельностей выполнения работ и в этом смысле вполне универсален. Если искомым параметром, в частности, является продолжительность выполнения сетевого проекта в целом, действуем согласно следующей методике. В соответствии с принятым законом распределения моделируем каждую из работ (i, j) — генерируем время ее свершения. Аналогичную процедуру «розыгрыша» производим для всех входящих в сеть работ, после чего каждой работе будет соответствовать смоделированное время /((', /)—оценка продолжительности выполнения этой работы. Пользуясь описанным в главе первой алгоритмом нахождения критического пути, находим длину критического пути сетевой модели, которую обозначим Ки Снова «разыгрываем» все значения t(i, j), после чего вновь определяем значение длины критического пути Ко и т. д. Многократно повторяя «розыгрыш» значений t(i, /) с последующим нахождением критического пути, получаем набор значений Ки • • -. Kn, если «розыгрыш» был произведен N раз. Значения Ки ..., /Cjv имеют эмпирическое распределение вероятностей, по которому можно найти р-кван- тиль времени выполнения сетевого проекта, то есть р-процентную верхнюю доверительную грань Wp. Иными словами, с вероятностью р реальный срок выполнения проекта не превысит величины Wv. Нахождение р-квантиля удобно производить с помощью гистограммы распределения последовательности значений {К%} по эмпирическим данным Ки ■ ■ -, Kn- Применение метода статистических испытаний, помимо оценки распределения продолжительности выполнения проекта в целом, позволяет определить вероятность принадлежности любой работы (/, /) критическому пути (то есть вероятность для работы (i, /) в процессе выполнения сетевого проекта оказаться на критическом пути) или критической зоне (см. § 3 главы I), а также ряд других весьма важных параметров сетевой модели. Рассмотрим более подробно алгоритм статистического моделирования для случая оценки функции распределения самого раннего срока свершения произвольно
$ I] ОГЛЦАЯ БЛОК-СХЕМА АЛГОРИТМА (61 выбранного события сети к (если k — завершающее событие, то налицо частный случай задачи: исследова- ние плотности распределения времени выполнения всего проекта). Пусть сетевая модель содержит п работ (/, /), продолжительности выполнения /(<', /) которых случайны. Характеристики (оценки) распределения этих случайных величии предварительно заданы ответственными исполнителями работ в виде двух или трех оценок (либо a(i, j) и b(i, j), либо a(i, j), m(i, j) и b(i, j)). Поэтапная процедура моделирования приобретает следующий вид. Этап I. На этом этапе происходит топологическое упорядочение вершин сетевой модели согласно алгоритму Форда — Фулкерсона, описанному в § 5 главы I, после чего управление передается следующему этапу. Этап II. На этом этапе происходит построение интервалов гистограммы распределения выборочной совокупности самых ранних сроков свершения события к (то есть гистограммы эмпирических данных tvmi(k), полученных в результате моделирования). В настоящее время известны два основных способа построения интервалов гистограммы. 1-й способ. Всем входящим в сеть работам (i, /) в качестве детерминированных продолжительностей их выполнения приписывается оптимистическая оценка a(i, /). Далее определяется самый ранний срок свершения события к, который мы обознач ИМ * ран ( "О mln—*1 И который принимается в качестве нижнего предела гистограммы. После этого продолжительности выполнения всех работ t(i, j) приравниваются соответствующим пессимистическим оценкам b(i, j) с последующим расчетом самого раннего срока свершения события к, который мы обозначим /pan(/г)тах = Т2. Последний принимается в качестве верхнего предела гистограммы. Далее определяется шаг гистограммы /г по формуле где m — число разрядов (интервалов) гистограммы, &i и k2 — коэффициенты, ограничивающие размах гистограммы. Введение этих коэффициентов осуществляется 11 Д. И. Голенко
162 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV вследствие того, что область определения [Tit T2], построенная вполне правильно с теоретической точки зрения, практически нуждается в существенном сужении. Интервалы вблизи экстремальных значений Ti и Г2, как правило (особенно в случае сетевых моделей большого объема или больших размахов вариации b(i, j)—a(i,j)), имеют вероятность попадания в них выборочных значений, близкую к нулю. Значения коэффициентов ki и k2 при моделировании сетей в реальных системах СПУ обычно принимаются /г4 = 0,2 и £2 = 0,4. Число m также задается заранее и определяется рядом чисто вычислительных и программистских соображений, а также точностью построения гистограммы распределения. В большинстве случаев значение m принимается равным 20—30. Таким образом, границы интервалов гистограммы распределения строятся следующим образом: 1-й интервал гистограммы — [Tv 7"i+ [7*2-^*1]. /и-й интервал гистограммы — [TW^-W, 7-J. г-й интервал гистограммы— [T1 + (T2-T1)k1 + (r-2)ht 7,1 + (7'8--7'1)*, + (г-1)Л] (1<г</п). 2-й способ. В начале моделирования производится «прикидка»—■ реализуется сравнительно небольшое количество «розыгрышей» Nu после каждого из которых определяется самый ранний срок свершения события. Минимальное из полученных значений tp;m(k) выбирается в качестве нижнего предела области определения гистограммы и обозначается Lu а максимальное L% — в качестве верхнего предела. Шаг гистограммы определяется по формуле h — — -, а интервалы гистограммы в этом случае приобретают следующий вид: 1-й интервал — [£i +Ji{i— l), Li+hi], (4.1.3). где 1 ^ i jC in.
5 И ОБЩАЯ БЛОК-СХЕМА АЛГОРИТМА 163 Выше уже отмечалось, что число «прикидочных» реализаций невелико и iViCiV. В работе [41], например, количество jV± = 100, а построение гистограммы осуществлялось при N=1000. После реализации этапа II (последний, как и этап I, осуществляется однократно) переходим к выполнению этапа III. Этап III. Этот этап осуществляет для всех работ (/', /) сетевой модели однократное моделирование продолжительности выполнения этих работ,-то есть реализацию методом статистических испытаний значений случайных величин t(i, /) на основе принятых для этих величин законов распределения. Последние в свою очередь формируются с помощью задаваемых ответственными исполнителями работ оценок a(i, j) и b(i, j) либо a(i, j), m(i, j) и b(i, j). Методика статистического моделирования существенно зависит от тех принципов, которые лежат в основе построения законов распределения. Поэтому рассмотрим отдельно наиболее важные и часто используемые алгоритмы реализации метода статистических испытаний в зависимости от закона распределения продолжительностей выполнения работ, принятого в системе СПУ. I. Закон распределения работы (i, j) задается в виде бета-распределения на основе двух оценок a(i, j) и 12 b(i, j) t плотностью (2.4.7) pu (x) = [f> (/ J} _ - (f j}]i X X\x~a(t, j)]\b(i, j)-xf. В этом случае целесообразно заменой переменных z= b* fi_au /) пеРСИТ11 к бета-распределению с плотностью p(z) = \2z(\—г)2 и, промоделировав случайную величину г, преобразованием x — z[b(i, /)—a(i, j)] + a(i,j) перейти к искомому значению случайной величины х — времени выполнения работы (i, j). Рассмотрим ряд методов моделирования случайных величин ц с плотностью р1,(г) = 12г(1—z)2, описанных в работах [22, 42, 21]. 1. Модифицированный метод Неймана. Этот метод является универсальным и применим не только для моделирования случайных величии с плотностью распределения p4(z) = 12г(1—z)2, но и для И*
164 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV реализации произвольных законов распределения. Пусть рц(х)—ограниченная плотность распределения случайной величины т), областью изменения которой служит интервал (а, Ь) (его мы предполагаем конечным). Обозначим М= max рц{х). Пусть £i, £2— равномерно a <jr < Ь распределенные случайные величины; %i распределено в области (а, Ь) изменения случайной величины г), |2 — в интервале [О, М]. Если рп (£4) > g2, то число gi принимается в качестве искомой случайной величины, распределенной с плотностью рп(х). Если же p11(gi)<|2, то пара (II g2) отбрасывается и берется следующая новая пара, до тех пор, пока не находится требуемое число gi. Данный способ является особенно эффективным в тех случаях, когда изменение функции рц(х) невелико. С целью улучшения качества моделирования на ЭВМ целесообразно g2 брать равномерно распределенным не в случайном, а в теоретико-числовом смысле [21]. Величины |2 определяются по формуле5,2" = УИ|—<Г~Ч' где / — числа натурального ряда, знак {.v} означает дробную долю числа х, a |2 означает /-ю по счету реализацию величины |2. { Для случая р^(х) — 12х(1—х)2 значение М равно -к-. Таким образом, gi генерируется в интервале (0, 1), е (с 16 \ а §2 — в интервале IU, -я-)- К недостатку метода Неймана относится то обстоятельство, что математическое ожидание числа «розыгрышей», потребных для реализации одного значения случайной величины т), равно (Ь — а)М и, за исключением случая, когда р^{х) = const, всегда больше единицы. В частности, для случая рл (г) = 12г(1—г)2 почти каждый второй «розыгрыш» будет «холостым», поскольку (Ь—а)М = -п 1.8. С целью снижения количества повторных «розыгрышей» для реализации значения ц область определения случайной величины |i, то есть интервал (а, Ь), разбивается на п участков {Ц, /j+ih QKi^n— 1, причем k=a, /„ = &. Построим п прямо-
§ I] ОПЩАЯ ПЛОК-CXEMA АЛГОРИТМА 165 угольников Gi с основанием AZi = li+l — /,-, равным длине i-ro участка, и высотой Mt = max рЛ?)- Обозначим Si — AZiMi площадь г'-го прямоугольника G{. Нетрудно показать, что •S=2S/<(6 — а)М. Отсюда вытекает следующий алгоритм моделирования закона распределения pn{z), для которого математическое ожидание количества повторных «розыгрышей» равно 5. 1. Определение участков разбиения области изменения (а, Ь). 2. «Розыгрыш» участка разбиения, то есть прямоугольника Gi, причем вероятность попадания в прямоугольник Gi определяется по формуле •S/ Si \л < S s< '-1 3. «Розыгрыш» случайной величины |ь равномерно распределенной на «разыгранном» интервале (/,-, Ц+i). 4. Вычисление функции Уг=РЦ(Ь) U < z "< 1Ш. 5. Расчет величины |г» распределенной на интервале (О, Мг), по формуле l['l) = Mjl k ■^—^=— |: k — порядковый номер |г. 6. Сравнение величин у, и Цк). В случае г/г> 1^'величина gi принимается в качестве искомой, при «/г<^*>процедура «розыгрыша» повторяется сначала, начиная с п. 2. Для случая рл (г) = 12г(1—z)2 оптимальным является /г = 2. Для этого случая целесообразно произвести следующее разбиение интервала (0, 1): Первый участок (0; 0, 7). Второй участок (0,7; 1). Для такого разбиения S~l,48, то есть среднее число «розыгрышей» снижается с 1,8 до 1,48. Объем
166 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV прямоугольников Si =1,26, S2 = 0,22, то есть pi = 1,26 nQ!- 0,22 n1J- = ТЖ ' ' #г=-Щ ' Таким образом, с вероятностью 0,85 мы обращаемся к прямоугольнику Si, «разыгрываем» равномерно в интервале (0; 0,7) случайную величину gi, а в интервале (0, ЛЬ) =(0, -g-J — величину |2. С вероятностью 0,15 про- исходит обращение к прямоугольнику S2, причем случайная величина |4 равномерно «разыгрывается» в интервале (0,7; 1), а Ь — в интервале (0, М2) = (0; 0,75). Что касается «розыгрыша» выбора прямоугольников Si и S2, то здесь действуем следующим образом. Генерируем равномерное случайное число со в интервале (0, 1). Если со^0,85, то обращаемся к прямоугольнику Si, в противном случае — к прямоугольнику S2. Несколько слов относительно моделирования на ЭВМ случайных чисел, равномерно распределенных в интервале (0, 1). Поскольку для того, чтобы получить значение случайной величины с заданным законом распределения, используют одно или несколько значений равномерно распределенных случайных чисел, вопрос получения последних на ЭВМ имеет особое значение. Случайные равномерно распределенные числа получаются в ЭВМ либо с помощью датчика случайных чисел, либо программным способом с помощью некоторого рекуррентного соотношения. Это означает, что каждое последующее число щ образуется из предыдущего a,i-i (или группы предыдущих чисел) путем применения некоторого алгоритма, состоящего из арифметических и логических операций. Такая последовательность чисел удовлетворяет известным критериям случайности, хотя входящие в эту последовательность числа зависимы между собой. При этом отпадает необходимость решать задачу ввода данных, и весь процесс становится легко воспроизводимым. Следует отметить, что любая последовательность программно образованных чисел будет случайной для практических целей, если она удовлетворяет системе принятых статистических критериев проверки «случайности» и равномерности распределения. Случайные числа с равномерным распределением, как
51] ОБЩАЯ БЛОК-СХЕМА АЛГОРИТМА 1157 указывалось выше, могут быть получены и с помощью физических датчиков случайных чисел, которые преобразуют результаты случайного физического процесса в последовательность двоичных разрядов в машине, то есть получают случайную величину. Если метод статистических испытаний применяется на данной ЭВМ систематически, создание датчика случайных чисел, по- видимому, будет целесообразным. Если же методы Монте-Карло применяются эпизодически, разумнее использовать псевдослучайные числа. Почти все применяемые в СССР методы генерации равномерных в интервале (0, 1) псевдослучайных чисел основаны на одном и том же принципе — имитации случайного, хаотического перемешивания содержимого разрядов мантиссы псевдослучайных чисел. Почти все эти методы реализуются с помощью программы, состоящей из нескольких команд (программа находится в оперативной памяти ЭВМ), и являются рекуррентными. Программы моделирования равномерно распределенных в интервале (0, 1) псевдослучайных чисел для различных ЭВМ подробно описаны в ряде монографий, например в [13, 21]. Заметим, что в случае необходимости получения равномерных псевдослучайных чисел {т)г}, распределенных в интервале (а, Ь), где а, Ь — любые конечные величины, можно использовать функциональное преобразование ц = а + 1(Ь — а). (4.1.4) Здесь g— значение случайной величины, равномерной в (0, 1), а ц — искомая реализация. Изложенный выше метод Неймана может применяться не только для моделирования законов распределения вида (2.4.7), но и для получения значений случайной величины, распределенной с плотностью (2.3.25). Хотя закон распределения (2.3.25) формируется на основе задания трех оценок a, b и т, этот закон задается однозначно, плотность его ограничена и применение метода Неймана является вполне обоснованным. 2. Моделирование с помощью таблицы функции распределения. Существует метод генерирования случайных величин с различными законами
168 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV распределения (в том числе бета-распределением), обладающий исключительно высоким быстродействием, но связанный с вводом таблицы (нередко большого объема) в оперативную память ЭВМ. Весьма хорошие результаты с помощью этого способа были получены И. Е. Майзлиным [41], который разработал ряд оригинальных программ моделирования сетей, продолжительность выполнения работ в которых подчинена различным законам распределения, в частности с плотностью p{z) = \2z{\-zy. Применение этого метода практически означает, что в электронную вычислительную машину тем или иным способом должна быть введена таблица ц функции | = /7(r|) = 12j х(\—х)2 dx, допускающая ли- 0 нейную интерполяцию. Пели такой ввод в оперативную память ЭВМ произведен, то для получения искомых случайных чисел г| из равномерных | достаточно нескольких тактов работы машины. Если бета-распределение имеет область определения (ti, t2), то вычисление искомого результата r\ = F'1 (|) (t2 — ti)+t{ может быть осуществлено также за несколько тактов. Этот способ целесообразно применять в тех случаях, когда время генерирования бета-распределенного псевдослучайного числа должно быть сведено к минимальному. К недостатку метода относится необходимость хранения дополнительной информации в оперативной памяти ЭВМ, что не всегда является возможным. Подробное изложение табличного метода приводится ниже. Заметим, что его применение оправдано лишь в том случае, если для всех входящих в сетевую модель работ закон распределения их продолжительностей носит одинаковый характер, при этом от работы к работе меняются только значения входящих в него параметров, как, например, в случае закона распределения (2.4.7). 3. Моделирование при помощи композиции нормальных величин. Приводимый ниже алгоритм моделирования может быть применен лишь для приведенного к интервалу (0,1) бета-распределения
$ 1] ОБЩАЯ БЛОК-СХЕМА АЛГОРИТМА 169 С ПЛОТНОСТЬЮ Р^Ш&^^-хГ'. (4Л.5) где р и q — целые числа. Положим ~y = P и -<2==q и промоделируем т + п независимых нормально распределенных случайных величин со средним нуль и дисперсией а2, которые обозначим 1и 1г, ..., £,„, |m+i, ..., Ът+п (а>'0 — произвольное пело). Случайная величина А,— т %t 1-Х т+п Si2/ У=1 есть реализация бета-распределения с плотностью (4.1.5). Рассмотрим методику генерирования случайных (точнее, псевдослучайных) нормальных величин с произвольными средними а и дисперсиями а2, подробно описанную в ряде монографий, например, в [13] или [21]. Заметим, что, получив значение £ нормально распределенной случайной величины с параметрами (0, 1), мы в состоянии перейти к значению \ нормальной величины с параметрами (а, о2) с помощью простого соотношения у = а + 0|. (4.1.6) Сравнительно часто используемым способом генерации нормальных случайных величин является описанный выше метод Неймана. Однако значительным недостатком этого метода является его медлительность. Образование нормальных чисел методом непосредственного суммирования п равномерно распределенных случайных чисел *) при малых п также не дает полного эффекта, ибо последовательность таких сумм при малых п не удовлетворяет критериям «нормальности». *) При этом используется предельная теорема о стремлении распределения нормированной суммы независимых случайных величии к нормальному распределению.
170 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV Анализируя эти и ряд других методов, следует сказать, что наиболее точным и одновременно экономичным методом является метод «суммирования с поправкой» [21], основанный на общей теории асимптотически нормальных преобразований. Метод суммирования с поправкой сводится к следующему. Пусть £i, £2. • • •, In — случайные независимые величины, распределенные равномерно в интервале (—li, +//), где Л = Т/ —. Тогда случайная величина Ч = в.+А(«&-Ч)' (4Л-7) и где 6>n=Sii> распределена по нормальному закону «=1 с параметрами (0, 1). Начиная с /г = 5, метод дает весьма хорошие результаты, хотя даже при п = 3 его применение может быть оправдано. II. Закон распределения задается в виде логарифмически нормального распределения (2.4.12). В случае генерирования логарифмически нормального закона распределения с плотностью /'4W = -^^exp[-2{ln(^-/1)- -1п(/2-/,)+1)2] (О/,), (4.1.8) применение метода Неймана, а также его модификаций, описанных выше, не дает положительных результатов, ибо машинное время в этом случае является недопустимо большим. Здесь целесообразно действовать следующим образом. Вместо случайной величины ц вводим новую случайную величину £: 1 = 2 [In(li- /,) -ln(*. -/,)+!]. (4.1.9)
5 1] ОБЩАЯ БЛОК-СХЕМА АЛГОРИТМА 171 Из определения логарифмически нормального закона распределения вытекает, что случайная величина £ распределена по нормальному закону с нулевым средним и дисперсией, равной единице. Отсюда немедленно вытекает следующая методика моделирования распределения (4.1.8). Сначала моделируем псевдослучайное число |, распределенное по нормальному закону с параметрами (0, 1), согласно описанной выше методике. После этого преобразованием n — exp[-| — l +In (*,— *,)] + /, (4.1.10) переходим к искомой случайной (точнее, псевдослучайной) величине tj, распределенной по закону (4.1.7). III. Закон распределения задается тремя оценками а, т и Ь согласно классической методике системы ПЕРТ. В этом случае, как уже указывалось выше, формирования однозначного закона распределения (в виде плотности или функции распределения) не происходит, вследствие чего непосредственное применение метода Монте-Карло оказывается невозможным. Выходом из создавшегося положения является [41, 44] приближение принятого в системе ПЕРТ бета-распределения, не все параметры которого однозначно определены, конкретным законом распределения, параметры которого совпадают или близки соответствующим параметрам, задаваемым исполнителями работ. Такой аппроксимирующий закон можно моделировать методом статистических испытаний. Таким образом, моделирование бета-распределения в системе ПЕРТ заменяется моделированием другого закона распределения, близкого к задаваемому ответственными исполнителями. В работе [44] авторы в качестве аппроксимирующих предлагают использовать три типа бета-распределения, обозначаемые А, В и С: А- РА(*)--pzTS)! С*-a){b-xf. в- рв С*) = jse^r С* - «)2 (6 - *)• (4.1.11)
172 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ IV Основные параметры этих распределений следующие г- /,ч 26+За среднее Ел(0 = —f—: дисперсия Вл (0 = 25 : мода МА(() = з ; Ы) = Щ^> DB</) = ^ а+ 26 3 Мв(0 = ± 2 28 McW—^^ (4.1.12) Заметим, что среднееEA(i) > МА, Ев (t) < Мв, Ec(t) = — Мс, то есть распределение типа А и В асимметричные, причем у распределения типа А мода сдвинута влево относительно среднего (математического ожидания) Еа(0 и середины отрезка [а, Ь], у распределения типа В— вправо относительно этих параметров. Распределение типа С симметричное, а его мода и математическое ожидание совпадают с серединой отрезка [а, Ь]. Пусть даны три оценки длительности выполнения каждой работы (a(i, /'), m(i, /), b(i, /)). Приближающий вид плотности распределения продолжительности работы t(i, j) выбирается так, чтобы его мода удовлетворяла условию min|m(/, /') —M.J, (4.1.13) где х=А, В, С. Иными словами, из трех аппроксимирующих законов распределения выбирается тот, мода которого наименее уклоняется от задаваемой ответственными исполнителями значения моды работы (/, /). Аналогичная процедура аппроксимации выполняется для всех входящих в сетевую модель работ. Моделирование продолжительности работы сводится к получению случай-
S П ОБЩАЯ БЛОК-СХЕМА АЛГОРИТМА 173 ной величины с законом распределения, выбранным согласно условию (4.1.13). В основу предложенного И. Е. Майзлнным [41] способа выбора аппроксимирующего закона распределения заложен аналогичный принцип, однако с весьма важной модификацией, делающей приближение более гибким. Строятся п случайных величин £,, g2. • • •, In» имеющих бета-распределение и однозначно определенных четырьмя налагаемыми на них условиями: 1. Случайная величина £,-, l^i'<Cn, имеет нижний предел области определения а. 2. Случайная величина §,-, 1^/^л, имеет верхний предел области определения Ь. 3. Случайная величина gj, 1 ^ i ^ п, имеет моду mit равную а-{- i-^~. 4. Дисперсия случайной величины §,• равна—-^—, то есть сохраняется допущение метода ПЕРТ. Налагаемые условия однозначно определяют случайные величины !,-. Действительно, заменой переменной 11< — ;ь~—а можно свести h K случайным величинам tjj с областью определения (0,1), модой , . и дисперсией gg-. Учитывая, что плотность бета-распределения имеет вид , , . p{t) = Cta(\— t)^"', (4.1.14) причем параметр т,- определен условием 3, легко определить последний параметр ос с помощью условия 4. Пусть, например, /л4=0,2. В этом случае плотность (4.1.14) приобретает вид pn(t)=Cta (1—/)4а и формула (2.2.3), в сочетании с условием 4, сведется к уравнению (« + 1)(4а+1) 1 Ъа4-2)2 (5а-4-3) = 1б"' котоРое имеет одно положительное решение а = 0,8913, а следовательно, однозначно определяет закон распределения §,-. Для каждой из работ (i, /), заданной тремя оценками длительности ее выполнения a, b и т, приближающий тип распределения случайной величины \г
174 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV выбирается на основе выполнения условия min \т — тЛ — \т — тг\. (4.1.15) В дальнейшем осуществляется статистическое моделирование случайных величин |< методом Неймана либо табличным способом. К достоинству метода относится возможность использования произвольно точной аппроксимации (п может быть выбрано сколь угодно большим). Таким образом, выполнение этапа III завершает процедуру моделирования всех входящих в сеть работ, после чего промоделированные значения t(i, /) приписываются в качестве фиксированных продолжительностей выполнения работ (/', /). В дальнейшем переходим к выполнению этапа IV. Этап IV. Обозначим №(i,j) промоделированное значение продолжительности работы (/, /), полученное на этапе III при s-м «розыгрыше» сетевой модели методом статистических испытаний, и полагаем t(i, j)=№(i, /). В сети с фиксированными таким образом оценками определяем значение самого раннего срока свершения события k. Алгоритм расчета самых ранних сроков для сетевых моделей с детерминированными оценками был рассмотрен выше, в § 5 главы I. Обозначим tpm{k) «разыгранное» при s-м по счету моделировании значение исследуемого параметра. Этап V. На этом этапе проверяем, в какой из т интервалов гистограммы попадает «разыгранное» значение Граи {k). Если построенные на этапе II интервалы гистограммы определены по формуле (4.1.3), то неравенство U + h(/- 1 )<4&{Щ < U+Ы (4.1.16) означает, что величина t$a(k) попала в i-й интервал гистограммы, после чего в соответствующий этому интервалу счетчик накапливаемых частостей добавляется единица. Этап VI. Этот этап при каждом последующем «розыгрыше» формирует среднее значение и дисперсию раннего срока свершения события k. Если ^Р£Г (£) —
§ I] ОБЩАЯ БЛОК-СХЕМА АЛГОРИТМА 175 среднее значение случайной величины tpim(k), определенное по s— 1 прошлым реализациям, то на этапе VI формируется значение Обозначим символом VW(k) сумму квадратов s реализаций самых ранних сроков свершения события к, то есть И*>(*)= 2 [$*(*)]'. (4.1.18) i—i На этапе VI происходит оценка дисперсии и среднего квадратического отклонения по формулам o2\tpm(k)} = 6 (4.1.19) = /I {И-1' (k) {s -l) + [#>„ w]2} - [#2 (*)]2- Приведенные формулы (4.1.17) и (4.1.19) позволяют вести итеративный процесс вычисления среднего и дисперсии по мере увеличения числа реализаций. Этап VII. На этом этапе происходит формирование коэффициента напряженности или коэффициента критичности для каждой из входящих в сетевую модель работ. В сетевой модели с детерминированными оценками t(i, j)=№(i, j) для каждой работы (i, j) либо определяется коэффициент напряженности kH(i, j), либо исследуется, попадает ли работа (/, /) на критический путь. В результате происходит формирование р-кван- тильных коэффициентов напряженности или критичности согласно методике, описываемой в следующем параграфе. Этап VIII. Этот этап реализует повторение последовательности этапов III, IV, V, VI, VII N раз, где N— количество «розыгрышей», либо фиксируемое заранее, до начала моделирования, либо определяемое в
176 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV процессе моделирования на основании получаемых результатов сходимости процесса по вероятности. Число реализаций N определяет точность метода статистических испытаний, и вследствие этого способы его оценки приобретают особое значение. Погрешность результатов моделирования и методы определения объема выборки N подробно описаны в следующем параграфе. Этап IX. На этом этапе происходит построение гистограммы плотности распределения самого раннего срока свершения события k. Для каждого интервала гистограммы расчет частости происходит по формуле Pi = -JT' (41-20) где Я; —статистический аналог (частость) плотности распределения, а V/ количество попадании в 1-я интервал из /V реализаций. В случае необходимости оценки р-квантнлыюго значения /ран(&) действуем следующим образом. Рассортировываем полученную совокупность значений /ран {Щ> • • • > 4ан (^) в порядке возрастания, то есть строим вариационный ряд. Фиксируем такое г> Nl значение tP\n(k), что -тг = Р> гДе ^г — число членов вариационного ряда, меньших lpV„(£). Величина Ф„(к) является искомым р-кваитилем, обычно обозначаемым символом Wp(k). Этап X. На этом этапе обычно рассматривается обратная задача: на основании значения Wp(k)=T определить величину коэффициента доверия р. Алгоритм решения этой задачи весьма прост и состоит из следующих операций. I. Зафиксируем (на основании любого из изложенных выше алгоритмов) /7-квантили для р = Др-г (г = = 1, 2, ..., »; Ар-п = 1). Значение Др определяется погрешностью вычислений. II. Пусть W&p.r(k)<T<W^(r+,)(k). (4.1.21) Тогда
5 2] ВЕРОЯТНОСТНЫЕ ПАРАМЕТРЫ В СЕТЕВОЙ МОДЕЛИ 177 Вместо линейной мы можем проводить квадратичную или любую другую интерполяцию. В случае необходимости оценки вероятностных характеристик для нескольких входящих в сеть событий, изложенных выше, алгоритм не претерпевает никаких принципиальных изменений. § 2. Вероятностные параметры в сетевой модели со случайными оценками работ Применение метода статистических испытаний для оценки параметров сетевых моделей позволяет распространить вероятностный подход и на некоторые параметры, характеризующие напряженность работ, входящих в сетевой проект. В частности, существенно меняется понятие коэффициентов напряженности для входящих в сеть работ и составляющих ее путей. Введем [22] понятие р-квантильного коэффициента напряокенности пути L, определяемого по следующей формуле: kp.H(L)=Wp{k»(L)), (4.2.1) где kn(L)—коэффициент напряженности пути L в детерминированной сети, определяемый по формуле K^) = {t{L)-t'^L))[tKp-t'K9{L)Y\ здесь t' (L) обозначает продолжительность участка критического пути, совпадающего с путем L, t(L) — длину пути L, a tKV— длину критического пути в сети. Для получения значения Wv{ka(L)} необходимо многократно «разыграть» методом статистических испытаний продолжительности выполнения работ в сетевой модели, каждый раз после «розыгрыша» фиксируя зна* чение исследуемого коэффициента напряженности пути L. Произведя достаточно большое количество «розыгрышей» N, фиксируем р-квантильный коэффициент напряженности Wp, то есть р-процентный верхний доверительный предел эмпирического распределения, состоящего из Н значений kn(L). Значение р-квантильного коэффициента напряженности для работы (», /) [22] оценивается 12 Д. И. Голеико
178 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV по следующей формуле: ЬР.Л1. J)=Wp{kn{i, у)}, (4.2.2) где значение kH(i, /) определяется по формулам (1.3.17) или (1.3.18). Аналогичным образом определяется р-квантильный коэффициент свободы kp,c(i, j) [22]: *„. = ('". Л =WP[bc(i.j)h (4-2.3) где ъ i ■ ,\— *р (Л-'"<'> "Л1> Л — t{ij) Применение р-квантильных коэффициентов напряженности позволяет с помощью метода статистических испытаний осуществить разбиение входящих в сетевую модель работ на критическую, промежуточную и резервную зоны. Так, например, можно отнести к критической зоне все те работы, /7-кваитильный коэффициент напряженности которых больше фиксированного предела 1—т) (г]>0). Заметим, что с ростом коэффициента доверия р объем критической зоны увеличивается. Это вполне согласуется с технико-экономическим смыслом, вкладываемым в понятия коэффициента доверия р критической и резервной зон. Чем больше процент (вероятность) гарантии свершения всего или части сетевого проекта в установленный планом срок, тем больше внимания следует уделить таким работам, которые лежат на грани критической и резервной зон, то есть входят в промежуточную зону. Вследствие этого рост коэффициента доверия р приводит к последовательному включению части промежуточной зоны в критическую зону. Таким образом, задание фиксированного значения коэффициента доверия р приводит к формированию новых технико-экономических характеристик и понятий в системах сетевого планирования и управления. Для сетевых моделей со случайными оценками работ вводится [22] понятие р-квантильных зон. Иными словами, все работы по созданию нового комплекса должны быть разбиты на а) р-квантильную критическую зону, к которой должны относиться все работы с Wp{ku(i, /)}>Рь где значение /?i близко к единице (pi«0,8-^0,9);
5 2] ВЕРОЯТНОСТНЫЕ ПАРАМЕТРЫ В СЕТЕВОЙ МОДЕЛИ 179 б) р-квантильную зону резервов, которая объединяет работы со значениями \Vv{ku(i, j)}<p2, где р2 близко к нулю (^2 — 0,2); в) р-квантильную промежуточную зону, объединяющую работы со средними значениями /ьквантильных коэффициентов: P2<wP{kn(i, j)}<Pi. Заметим, что алгоритм расчета вероятностных коэффициентов напряженности (и тем самым разбиения совокупности работ, входящих в сетевую модель, на р-квантильные зоны) может использовать и другой принцип [22, 29], основанный на оценке вероятности попадания работы в критические зоны в случае конкретной реализации сетевого проекта. В предыдущих главах мы выяснили, что в сети, состоящей из работ, продолжительности выполнения которых случайны и подчинены определенному закону распределения, не существует «самого длинного пути» и сама постановка такого вопроса с вероятностной точки зрения является необоснованной. Что касается вопроса относительно вероятности для определенной, фиксированной работы (/, /) в случае реализации всего сетевого проекта (всех работ в сети) оказаться на критическом пути, то есть обладать коэффициентом напряженности, равным единице, то такая постановка является вполне корректной. В § 3 главы I нами были рассмотрены сети с детерминированными оценками продолжительности выполнения входящих в них работ. Работа (/, /) считалась относящейся к критической зоне, если значение ее коэффициента напряженности ka(i, /) было больше 1-11 (т)>0). Для случая работ со случайными оценками продолжительности их выполнения мы в состоянии лишь оценить вероятность рц того, что работа (/, /') после ее выполнения будет иметь коэффициент напряженности, больший 1—ц, то есть будет принадлежать к критической зоне. Действуя аналогичным образом в отношении всех входящих в сетевую модель работ, мы выделим группу работ, имеющих тенденцию лежать 12*
180 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО ■МОДЕЛИРОВАНИЯ [ГЛ. IV в критической зоне, и, наоборот, группу работ, которые не попадают, как правило, на напряженные пути. Разбиение работ, входящих в сетевую модель, на «напря- женные» и «ненапряженные» может быть проведено методом статистического моделирования (методом Монте- Карло) по следующей методике, описанной в работе [29]. Зафиксируем две вероятности pi и р2, причем p2<pi- Установим, что если вероятность рц для работы (/, у) оказаться критической (то есть иметь коэффициент напряженности больше 1—л.) превосходит значение ри то работа (/, /) относится к «напряженной» зоне. Если же значение рц меньше величины р2, относим работу (/, /) ко второй, «ненапряженной» зоне. При наличии неравенства p2*Cpij^-pi работа (i, /) должна быть отнесена к третьей, «промежуточной» зоне. Моделируем продолжительность выполнения всех работ (i, /), входящих в сетевой проект, после чего определим, какие из этих работ (в детерминированной сети с фиксированными продолжительностями выполнения) имеют коэффициент напряженности, больший 1—г]. Все эти работы будем считать «напряженными» и относящимися к «напряженной» зоне для случая одного «розыгрыша». Многократно повторяя аналогичный «розыгрыш» (N раз), получаем для каждой работы (/, /) относительную частоту ее попадания в «напряженную» зону Pij = -jf-> где Nij — количество случаев (из N «розыгрышей»), когда работа (/, /) имеет значение kH(i, /), большее 1 — rj. На основе теории проверки статистических гипотез сопоставляем величины /J,j, pi и р2 и принимаем решение, относить ли работу (i, /) к первой группе, входит ли она во вторую или относится к третьей, промежуточной зоне. Эта задача может быть решена на основании применения интегральной теоремы Муавра — Лапласа и будет описана ниже. Использование новых статистических понятий в системах сетевого планирования и управления может быть легко перенесено и на резервы времени событий, работ н путей в сетевых моделях. Введем [22] понятие р-кван- тильного полного резерва времени для работы (/, /),
§ 2] ВЕРОЯТНОСТНЫЕ ПАРАМЕТРЫ В СЕТЕВОЙ МОДЕЛИ 181 вычисляемого по формуле где Wi-p{Pn(i, /)}—(1—р)-квантильная оценка эмпирического распределения величины Pn(f, /'), вычисляемого при каждом «розыгрыше» по формуле полного резерва времени для детерминированной сети (1.3.10). Аналогично определяется р-квантильный свободный резерв времени для работы (», /), вычисляемый по формуле Ppe(i, /)=Н7,-р{Рс(«\ /)}, (4.2.5) где Pc(i, j) оценивается по формулам (1.3.15) — (1.3.16). Р-квантильный резерв времени для входящего в сетевую модель события i определяется по формуле Pp(i) = = \Vi_p{P(i)}, где резерв времени P(i) события i оценивается по формуле (1.3.8). Наконец, р-квантильный резерв пути L определяется по формуле Ppn(L) = Wl-p{P(L)}1 (4.2.6) где P(L)=tliP-t(L). Заметим, что при увеличении коэффициента доверия р значения р-квантильных резервов времени Ррп('\ /). Pp(i) и Ppn(L) уменьшаются, не принимая, однако, отрицательных значений (величины Рп(»,/'), Р(0 и Ppa(L) в детерминированной сети всегда неотрицательны и равны нулю лишь в случае попадания на критический путь). Это имеет прямой технико-экономический смысл: при увеличении степени уверенности (гарантии) выполнения проекта в намеченный срок мы не вправе перебрасывать «слишком много» ресурсов с имеющих зависимые резервы времени работ, чтобы не поставить ход разработки под угрозу срыва соответствующих плановых сроков (если коэффициент доверия равен р, то в случае переброса более чем Ppu{i, /) резервов времени с работы (/,/) вероятность срыва планового срока становится больше величины 1—р). Описанные выше р-квантильные резервы времени Ррп(*. /)i Pp(L) являются теоретико-вероятностными аналогами полных резервов времени, определяемых
182 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV в детерминированных сетях с фиксированными временными оценками. Возможен и другой подход к определению вероят* ностных резервов времени. Обозначим Wp(i) /?-квантиль- ную оценку самого раннего срока свершения события и Аналогичную оценку можно получить и для последующего события /, то есть Wp(j). Рассмотрим формулу РР (i. /) - WP (/) - Wp (i) - /пл (/, /), (4.2.7) где tna(i, j) обозначает плановое время выполнения работы (t,/). В случае, когда время выполнения работы (i, /) определяется детерминированной нормативной оценкой *норм(*\/)| имеет место равенство tBa(i,j) = = ^норм('. /); если продолжительность выполнения работы (»,/) есть случайная величина, в качестве величины tnjl может быть принята /?-квантильная оценка этой случайной величины, короче говоря, в каждом конкретном случае исполнителю работы (г, /) задается ее плановая продолжительность. В некоторых случаях, описываемых ниже, формула (4.2.7) может быть использована при оптимизации сетевой модели. § 3. Оценка точности определения вероятностных параметров сетевой модели методом статистических испытаний Статистический анализ сетевой модели методом Монте-Карло основан либо на фиксированном количестве испытаний («розыгрышей»), либо число испытаний определяется сходимостью по вероятности статистических характеристик исследуемых параметров. Поэтому рассмотрим сначала оценки параметров сетевой модели, полученные при фиксированном числе испытаний N, a в дальнейшем перейдем к случаю определения количества испытаний N непосредственно в процессе моделирования. Рассмотрим оценку математического ожидания самого раннего срока t(k) свершения произвольного &-го события сетевой модели (событие может быть и завершающим, в этом случае его самый ранний срок сверше-
5 3] ОЦЕНКА ТОЧНОСТИ ОПРЕДЕЛЕНИЯ ПАРАМЕТРОВ 183 пня эквивалентен времени выполнения проекта в целом). Пусть ti(k)—значение случайной переменной t(k), соответствующее самому раннему сроку свершения события k в 1-й реализации. Исследуемая выборка представляет собой совокупность {ti(k)}, 1 jC i iC N. Случайная величина N является оценкой математического ожидания Mt (k) ca-< мого раннего срока свершения события k. Дисперсия Dt(k) случайной величины t(k) имеет оценку л; S2 [t (*)] = jr%[ti (k) -7(A)]». (4.3.2) (-1 Так как /,(&) независимы и М^(£)==М/(А), D^(A)s3 =^Dt(k), имеем N 1,-1 1 (k)]\ = M[t(k)], D{t(k))=-^D[t(k)] = Согласно теореме Ляпунова оЧ (k) N I (k) — Mt (k) at(k) <z JiV->c i-r V? Z Уfexp(—2.}*. p (Щ r< 5 [i (T)] Л«(Л) <z I -4+ (4.3.3) + П г
184 ПРИМЕНЕНИИ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV Таким образом, для достаточно больших ./V будет иметь место р{|7(£)_М/(£)|<-^р}^2Ф(г), (4.3.4) где ф(г)=тИехр{-тК(г>0)- При заданной вероятности а из уравнения 2Ф(г„) = а можно определить искомое значение za, такое, что P(^)-2(1 Я < М<(*) < Г(*) + 2а^) = «. (4.3.5) Оценим погрешность среднего квадратического отклонения 5 как приближенной оценки для o[t(k)]. Исходя из равенств М [/, (А) — МС (k)Y = М [/ (А) — М* (k)]2 = Dt (k) == оЧ(ft), D [t, (k) - Ш (k)f = D [t (k) - Ш (A)]2 = |X4 - \i\ = o\ и полагая N sN=~%[tl(k)-m(k)]2, 1-1 на основании центральной предельной теоремы имеем г, ( ^ S„-02t(k) \ Р *о < ^Цг < *!! >'->оо I |<OV )лг- ->^ jexp{—|}л = Ф(г,)-Ф(г0). (4.3.6) даг-Ада]УУ Иными словами, величина при боль- а2 шом N распределена приближенно по нормальному закону. Учитывая, что S2N— S2 = \t{k) — Mt(k)]2, имеем VJ7 (Sn — S2) = YN \T(k) — Ш (k)f. (4.3.7)
5 3] ОЦЕНКА ТОЧНОСТИ ОПРЕДЕЛЕНИЯ ПАРАМЕТРОВ 185 С другой стороны, при сколь угодно малых е lim Р./1 T{k) - i (k) | > -£- \ = 0, (4.3.8) ибо на основании неравенства Чебышева p[||_M£|<e]<-i-D£ и при достаточно больших N Шп17<ы--*Ш1 откуда и вытекает соотношение (4.3.8). 4 Таким образом, Нтвер ]/Ж| t(k) — IW(£)|—>0, а сле- дователыю, налицо сходимость по вероятности ИтверугЛг[7(Л:) — М/(А)Р = 0. Отсюда, учитывая (4.3.6) ЛГ->оо и (4.3.7), можно сделать вывод, что величины YWS% и yOV S2 подчиняются асимптотически (при достаточно большом JV) нормальному закону распределения, то есть ■'»рЬ<^=5^<Ч=7^Т'«(-т)^ (4.3.9) Учитывая, что о^ = ^4 — ц2,, получаем, что S2 распределена по нормальному закону с параметрами с[/(&)]2, -дг(ц4 — Иг) • Оценка 52, таким образом, является несмещенной и состоятельной оценкой для неизвестной дисперсии о [t (k)]2. Отсюда, с учетом сходимости по вероятности limBep ,,,.,, = 1, окончательно
186 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV получаем Urn Pk< s-aJlW] <zl\ = -L=(e-""dt, (4.3.10) N-ЮО \ g2 } У2Л J { 2o[t{k)]VTf J а величина S при достаточно большом N асимптотически нормальна с параметрами а [/(А)], ———-2- ,_. . Нам остается лишь приближенно оценить величину (72 с помощью известной в математической статистике замены теоретических центральных моментов щ и цг их выборочными оценками т.\ и т->, в результате чего получаем приближенное равенство о2« S2 = /I Ibm-tw N N 2 (/,(*)-<(*))■ i -1 или, с учетом (4.3.2), (k)-t(k) ■S*[t(k)\. (4.3.11) Можно легко показать [36], что если случайная вели- чпна j имеет нормальное распределение вероятностей, то Уц4 — ц|^=а-]/2. Отсюда справедливо приближенное равенство о, у ц4 — Hj a2 ^2~ а т5~ ас = 2а [* (*)] /Л/ " 2а [/ (*)J VN ~ 2а /jV V2 VN (4.3.12) Соотношения (4.3.3) или (4.3.5) и (4.3.10) или (4.3.12); позволяют нам оценить количество повторных реализаций /V, потребных для достижения необходимой точности оценок соответственно М I/ (А)] ^ f{k) и a2 [t (k)] ^S2[t (k)]. Для случая математического ожидания необходимо задать коэффициент доверия а и точность оценки
§ 3] ОЦЕНКА ТОЧНОСТИ ОПРЕДЕЛЕНИЯ ПАРАМЕТРОВ 187 М[/(й)]«?(&), то есть потребовать, чтобы имело место неравенство Р {| 7{k) — М [/ (k)] |< е} > а. (4.3.13) Используя соотношения (4.3.4) и неравенство za ^r— -< е. окончательно получаем N> а У = Щ, . (4.3.14) Введя предельную ошибку в долях среднего квадра- тического отклонения q= гттдш ■ приводим соотношение (4.3.14) к более простому виду: N> qr' ■ (4-3.15) причем формулу (4.3.14) из приведенных выше соображений можно заменить формулой ф-'(£Ы'(*)] ф-1^) N> Щ = \±L, (4.3.16) где Аналогичным образом оцениваем потребное количество «розыгрышей», исходя из формул (4.3.10), (4.3.12), Вводя уравнение р{|5-а|<га-^==} = 2Ф(гв)>а и неравенство -^L<e0> получаем оценку количества «розыгрышей» N: 7V>-f- = Ц1 (4.3.17) е^-2 2е2а '
188 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV ИЛИ где Рассмотрим поставленную в предыдущем параграфе задачу определения числа «розыгрышей» N, достаточных для решения вопроса о том, к какой из /э-квантильных зон относить фиксированную работу (/,/). Напомним, что заданы вероятности р{ и р2, /?2<^Pi, такие, что при Ра^Pi работа относится к «напряженной» зоне, в случае рц<Р2 ее следует отнести к резервной зоне, а при p2-^Pij<Pi работу (/, /) относят к промежуточной зоне. Величина /?,-; есть вероятность того, что при реализации сетевого проекта коэффициент напряженности kn(i.j) работы (/, /) примет значение, большее 1 —т) (г|>0). Суждение о вероятности ptj производится на основании анализа ее приближенной оценки — относительной ча- - N„ стоты Ptj — -jJ-> где Nij — количество случаев (из N), в которых значение ft„(i, /) оказалось большим 1—rj. Решение поставленной задачи [29] основано на применении теоремы Муапра — Лапласа. Предположим, что рц>Р\, то есть что работа (/, /) относится к «напряженной» группе. С помощью теоремы Муавра — Лапласа получаем, что в этом случае го \ N У1 V N ) \пЫ J — ft -А —ps"/•"**■ (4-ЗЛ9) — oo Зададим коэффициент доверия а, то есть вероятность того, что в случае истинности нашей гипотезы (то есть в случае Рц>р\) мы не примем ложного решения на — Nn основании анализа эмпирической частоты Pij = ~jf-< ,T0 N> Т'ф V, <7о = (4.3.18)
5 31 ОЦЕНКА ТОЧНОСТИ ОПРЕДЕЛЕНИЯ ПАРАМЕТРОВ 189 есть не отнесем работу (/, /) ко второй или третьей группам*). Тогда P\^r<Pi — kyPl^~Pl)j<\-a и значение k определяется на основании функциональной зависимости к F{k) = -~ je-''/2dt = a; ft = /?"l(o). (4.3.20) —оо Для а = 0,95, например, Де = 1,65. Отсюда получим, что расхождение рц и р\ не должно (с вероятностью а) быть больше значения F-\a)YPx(XNPl) ^г- (4-3-21) Зафиксировав значение отклонения е, получаем необходимое число «розыгрышей» N: N>Ml-pd{F-1(a))2. (4.3.22) Таким образом, если мы зафиксируем коэффициент доверия а, а также доверительный интервал (pt— е, 1) N,} за пределы которого значение -таг не должно выходить, то после проведения Л' (рассчитанных по формуле (4.3.22)) «розыгрышей» исследуется величина рц. Если Pa<Pi — е, то мы считаем, что наша гипотеза неверна и работа (/, /) не относится к напряженной зоне. Совершенно аналогично только что изложенной методике исследуется принадлежность работы (г, /) ко второй, резервной (ненапряженной) зоне работ. Фиксируется коэффициент доверия V и значение отклонения е, и, если после проведения N «розыгрышей», где N> а(1-р») (/г-' (а)]2_ (4.3.23) N„ величина -тт- выходит за доверительные пределы (0, р2+] +е), мы вправе считать работу ((',/) не относящейся ко вюрой группе ненапряженных работ. Изменяя значения ') Обычно а=0,95, хотя иногда а=0,99.
190 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV V и е, мы каждый раз получаем соответствующее значение N. Пусть, например, а = 0,95; е = 0,05; pi = 0,5; рг — = 0,2. Тогда для решения вопроса относительно принадлежности работы (/, /') к первой группе необходимо произвести около 270 «розыгрышей», а при исследовании на ненапряженность (для тех же е и а) —около 220 розыгрышей. Заметим, что значения а, г и N связаны функциональной зависимостью (4.3.22), поэтому можно поставить обратную задачу: зная значения N и е (или а), определить величину а (или е). Разумеется, такого рода «классифицирование» работ, входящих в сетевой проект, может быть проведено только с помощью метода статистических испытаний на быстродействующих электронных вычислительных машинах. Заметим, что принадлежность определенной работы (/, /) к напряженным (или ненапряженным) существенно определяется тем содержанием, которое мы вкладываем в понятие напряженности. В частности, можно установить, что работа является напряженной, если при реализации сетевого проекта она попадает на критический путь или на путь, длина которого не отличается от длины критического пути более чем на q%. В этом случае вся изложенная выше методика остается без изменений, за исключением того, что после генерации продолжительности выполнения всех работ мы теперь исследуем, какие из работ (/, /) попали на пути, отличавшиеся от критического менее чем на q%, а ранее мы фиксировали работы, имеющие коэффициент напряженности, больший 1—г). Что касается формул (4.3.22) — (4.3.23), то последние остаются без изменений. Предварительная оценка количества повторных «розыгрышей» может быть получена также на основе применения критерия А. Н. Колмогорова. Излагаемая ниже методика особенно эффективна для случая необходимости построения функции распределения самого раннего срока свершения какого-либо события k сетевой модели. К достоинствам использования критерия Колмогорова относится не только возможность предварительного определения объема выборки А/, но и установления погрешности с произвольной степенью точности.
§ 3] ОЦЕНКА ТОЧНОСТИ ОПРЕДЕЛЕНИЯ ПАРАМЕТРОВ 191 Задача получения представительных доверительных оценок методом статистических испытаний для фиксированного коэффициента доверия р на основании анализа эмпирического распределения ограниченного количества ti(k), t2(k), ..., tN{k) выборочных данных сводится к построению функции распределения значений генеральной совокупности самого раннего срока свершения какого-либо события в сетевой модели по данным выборки ограниченного объема N. Переходим к задаче предварительной оценки объема выборки, то есть значения N. Для этого необходимо задать коэффициент доверия р, с которым мы хотим построить пределы нахождения функции генерального распределения. Иными словами, необходимо задать вероятность, с которой функция распределения генеральной совокупности будет лежать внутри построенных по данным выборки пределов. Обычно коэффициент доверия р близок к единице и практически равен 0,9—0,95. Известно [36], что Р [ max | FN {х) — F(x)\< —?=. 1 = = К('к) при достаточно больших N, где функция /<(Я) = к=оэ = 2 (— \f e~2k'l\ Следовательно, имея коэффициент fe= —оо доверия р, можно определить ). из формулы р = К,(к). Далее, необходимо установить погрешность отклонения, от есть max\FN(x) —F(x) \, где F(x) — функция распределения, a FN(x) —кривая накопленных частостей, которая будет построена по данным выборки. Задаем e>max\FN(x) — F(x)\ = DN. (4.3.24) Отсюда получаем N>~=[K~\lP)]2 . (4.3.25) Заметим, что jV должно быть не меньше нижнего допустимого значения Nm\n, начиная с которого случайная величина DNYN следует распределению, близкому к распределению Колмогорова (/Vmln:«100). Поэтому ;V = max(iVmIn, тг). (4-3.26)
192 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. TV Мы можем решить обратную задачу: зная р и N (или е и N), определить е (или р). Нередко целесообразно действовать именно таким образом. Если объем выборки по каким-либо причинам ограничен, то в этом случае е = —=г, l — zYN, следовательно, р = К(г YN). После этого производится выборка объема N и строится кривая накопленных частостей FN(x). В заключение строятся пределы, в которых лежит график функции генерального распределения F(x): F(x) = FN(x)±e = FN(x)±-±r. (4.3.27) Отметим, что поскольку критерий Колмогорова является интегральным, F(x) с вероятностью р не выйдет за построенные пределы ни в одной точке области возможных значений х. Наряду с большими достоинствами, изложенный выше способ имеет и некоторые недостатки. В частности, объем выборки ограничен снизу, то есть N 5> Nlilln. Кроме того, часто требуется построить пределы для плотности распределения генеральной совокупности, а с помощью критерия Колмогорова обычно строятся лишь пределы для функций распределения. В заключение параграфа изложим некоторые соображения относительно оценки количества испытаний N на основе информации, получаемой непосредственно в процессе моделирования. Предположим, что нам необходимо определить плотность распределения самого раннего срока свершения фиксированного события k сетевого проекта. Вначале установим область определения, в которой могут находиться случайные значения /,•(&), где i — произвольный номер реализации методом Монте- Карло. В частности, нижним пределом области определения служит самый ранний срок свершения события k в случае, если продолжительности всех работ сети приравнять оптимистическим оценкам, заданным для этих работ, а верхним пределом области определения—аналогичный параметр, но для случая пессимистических оценок. Следует отметить, что построенную область определения можно практически существенно сузить, по-
§ 3) ОЦЕНКА ТОЧНОСТИ ОПРЕДЕЛЕНИЯ ПАРАМЕТРОВ 193 скольку вероятность достижения экстремальных интервалов на концах области определения для случая больших сетей близка к нулю. Разобьем область определения на некоторое количество интервалов, число которых / в известной мере произвольно и определяется главным образом удобством вычислений. После разбиения на интервалы проводится первый этап испытаний — берется выборка из совокупности ti(k) произвольного объема Ni (то есть производится jV, розыгрышей)' с последующим V(D расчетом эмпирических частот -w— (r'=l,2, ..., /), где v'.1' — количество элементов в выборке объема Nu попавших в /-и интервал. Далее проводится второй этап испытаний — берется некоторая дополнительная выборка с тем расчетом, чтобы довести общее число выборочных элементов до N2 (N2 также взято приблизительно). Вновь рассчитываются эмпирические частоты -гё-, теперь уже для выборки объема N2. После этого снова производим дополнительную выборку с тем, чтобы довести общий объем выборки до значения N3, с последующим расчетом частот -jj третий этап испытаний и т. д. Выборочное обследование прекращается, когда максимальное отклонение (по всем интервалам) значения частоты на последнем этапе от значения соответствующей частоты на предшествующем этапе станет меньше заранее фиксированной погрешности Д, то есть ,,(/>) Jp-v N„ Np. < Д (4.3.28) для всех i от 1 до /. В этом случае р-й этап испытаний будет последним. Этот способ основан на сходимости по вероятности xi+i частот-тт-к величинам р;, где р{ — \ p{x)dx,\xitxl+x\— */ границы j-го интервала, а р(х) —неизвестная плотность распределения генеральной совокупности (в нашем 13 Д. И. Голенко
194 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV случае плотность распределения случайной величины t(k) —самого раннего срока свершения события k). Эмпирическая плотность распределения, построенная v/ по значениям частот тв- на последнем этапе, принимается в качестве приближенного значения искомой плотности распределения случайной величины t(k), то есть генеральной совокупности. Наконец, если объем выборки N ограничен и взятие выборки производится однократно, целесообразно использовать следующий элементарный прием. Разобьем, как и в предыдущем случае, область определения на / интервалов и рассчитаем эмпирические частоты -Л- (' = 1, 2, ,.., /). Если А/>20, то мы можем для каждого интервала / построить доверительные пределы для плотности l±3/i(.-i)i=i±A/v7(rri). (4.3.29) Величина -jfry —jf) представляет собой нечто вроде эмпирической дисперсии распределения частот т4», которую мы условно приравниваем к теоретической дисперсии. Объединив пределы по всем интервалам, мы получим общие доверительные пределы для всей эмпирической плотности распределения. Можно считать, что плотность распределения генеральной совокупности лежит в этих пределах. Заметим, что, хотя этот способ для ряда распределений нередко дает не вполне точные результаты, он тем не менее используется на практике достаточно часто. Для случая, когда оценка плотности распределения самого раннего срока свершения ведется одновременно по нескольким событиям ku ..., kr, формула (4.3.28) претерпевает некоторые изменения. Обозначим v'/"(£y) количество выборочных объектов из общего объема выборки Np, попавших в t'-й интервал области определения
§ 3] ОЦЕНКА ТОЧНОСТИ ОПРЕДЕЛЕНИЯ ПАРАМЕТРОВ 195 самого раннего срока свершения события kj. Тогда формула (4.3.28) приобретает следующий вид: max i.l (1 <«</, 1</<г). < е, (4.3.30) Иными словами, статистическое моделирование, то есть взятие выборки, производится до тех пор, пока наихудшая для исследуемых вершин ki kr оценка сходимости по вероятности не станет меньше фиксированной погрешности е. Можно применять [92, 49] следующий способ оценки объема выборочного обследования N при расчете эмпирического распределения самого раннего срока tpail(i) свершения события i методом статистического моделирования. Обозначим FpS(/) и Fpau(i) соответственно эмпирическую и теоретическую функции распределения ?ров(0< Согласно теореме Гливенко при jV —> оо имеем Pi sup [/^(0—^(01^01=1, ( -co<t <со ) то есть полную сходимость по вероятности эмпирической функции распределения к теоретической. Отсюда вытекает следующий алгоритм, использующий критерий А. Н. Колмогорова. Сначала разыгрывается А\ значений величины ^ран('), и в дальнейшем строится эмпирическая функция распределения /"pan (0- После этого реализуется некоторое дополнительное количество испытаний с тем, чтобы общее число реализаций достигло N2, с по< следующим построением эмпирической функции распределения Fpaa(i)- Приравниваем Fpaa(i) теоретической функции распределения Fvan(i), после чего определяем значения DNi = max I FfJ(i) - FfJ (i) | и X(Nt) - V~NX X y^Dfft. Фиксируем доверительную вероятность p(Ni) = = K(K[Ni]) и делаем вывод о существенности или несущественности расхождения между F^i'(/) и F^, (/). Если расхождение несущественно, то принимаем N = N2, и процесс моделирования окончен. В противном случае 13*
196 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV производим дополнительное количество реализаций зна- чения tpan(i), доводя общее число розыгрышей до N3, после чего сравниваем /ран W с /рал(0> и т- Д- Д° тех пор, пока на каком-либо r-м этапе расхождение между ■'ранi (О И ^ра[1г+1^(') может быть признано несущественным. В последнем случае необходимое число реализаций N = Nr+l. § 4. Моделирование коррелированных работ в сети При изложении предыдущих параграфов данной главы мы считали, что все работы (г, /), входящие в сетевую модель, являются независимыми, а соответствующие им случайные величины — некоррелированными. Однако в реальной действительности нередко имеют место случаи, когда две или несколько работ связаны друг с другом. Продолжительность выполнения одной из работ может при этом оказать существенное влияние на продолжительность выполнения других работ, и тогда моделирование продолжительности выполнения каждой из такого рода связанных работ в отдельности, вне связи с остальными работами, является необоснованным приемом. Эффективным решением задачи моделирования коррелированных работ является совместное моделирование многомерной случайной величины с многомерной плотностью распределения р(хи ..., хп), где л'ь . . ., х„— временные реализации связанных (коррелированных) работ, a p(xt,. . ., х„) —установленная исполнителями этих работ многомерная плотность распределения. Надо заметить, что построение гипотезы относительно вида многомерного распределения является нелегким делом и во многом определяется спецификой рассматриваемых работ. Во всяком случае, такая постулированная априорная плотность распределения p(xit . . ., хп) должна быть установлена. Мы вправе, как и в одномерном случае, считать ее асимметричной, причем параметрами в нее должны входить оценки а%, Ь\\ . . .; at, Ьй ■ ■ ■', ап, Ьп задаваемые исполнителями входящих в сетевой проект работ. Здесь а,- и &, — оптимистическое и пессимистическое времена выполнения /-Й работы.
§ 4) МОДЕЛИРОВАНИЕ КОРРЕЛИРОВАННЫХ РАБОТ В СЕТИ lS7 Моделирование многомерной случайной величины с плотностью распределения р(х\,..., х„) осуществляется [32] следующим образом. Пусть а* и Ь\ — границы области распределения случайной величины х; (/= 1,2,..., п). Иными словами, \ ••■ J />C*i xn)dxl ... dxa = \. al an Зафиксируем величину tn= maxp(xv ..., x„), а,<хг<6г, 1<г'<я. Моделируем п+\ случайных равномерно распределен» ных величин £j |n, Sn+i! величины |; (i= 1, 2,.. ., п) распределены в интервале (a,-, bt), a величина £n+i — в интервале (0, т). Если /?(£ь ..., £„) > gn+i. то значения It gn принимаются в качестве компонент многомерной случайной величины с плотностью распределения р(х1...,хп). В случае p(|Jf.. .,|„)<|п+, значения (Sii 5г. • • .1 Бп> in+i) отбрасываются, генерируется новый набор |4 до тех пор, пока не будет выполнено условие р(1ь .. . , |n)^ in+i. Заметим, что математическое ожидание числа к «розыгрышей» наборов (gj, g2l..., |„, |n+i) для получения одного набора равно М (А) =/я П (*/-«/) (4-4.1) и в случае большого п может быть весьма значительным. В последнем случае более целесообразно поль* зоваться другим методом, который заключается в еле* дующем. Построим одномерную плотность распределения f„ (•*«) = J ••• J P(xv ...,xn_v xjdxj ...dxn_x. °i an-i В соответствии с изложенной ранее методикой гене* рируем значение одномерной случайной величины хп с
198 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV плотностью распределения fn(xn) и зафиксируем полученное значение |„. Строим условную плотность распределения 1 /( — £ J ••• J P(X\ *«-|, 1п)ЛХ\ dx„ In-l \xn-\l\n) — In (In) случайной величины xn_4 при уже фиксированном значении |п. Генерируем значение случайной величины хп-\ — фиксируем значение |n_i. Далее строим условную плотность распределения /я-2 С*л-з/£я-1, 1л) = \ "л-3 [ ••• Р(х1 хп_ъ |я_,, 6„) rfjc,.. .rfjf„_3 _"! °я-з /л- 1 (£л- l/wi) (я (ья) случайной величины хп-г при фиксированных значениях In-i и |п. Моделируем значение £„_2 случайной величины хп_2 и т. д. Таким образом, двигаясь от конца к началу и каждый раз генерируя условное одномерное распределение, получаем набор величин |„, |„-ь • • •. £з, Ъ- Плотность распределения случайной величины xt строим по следующей формуле: f ( г 'г ь б\ Р (•*!' £г £л) fl №/fe fa. • • • . W - /г (g^, ^ W->> /„-, (1л-,/1л)/л (1л)' после чего моделируем последнее значение %\. Этот метод аналитически значительно более громоздкий, нежели ранее изложенный, но выгодно отличается от него существенным уменьшением числа «розыгрышей» и, следовательно, выигрышем машинного времени. Целесообразность применения того или иного метода должна определяться на основании анализа многомерной плотности распределения. Если функция p(xi,...,xn) в области изменения й{ ■<*,• -«С Ь{ (t'= 1,2,..., п) терпит резкие изменения, то второй метод является более предпочтительным.
§4] МОДЕЛИРОВАНИЕ КОРРЕЛИРОВАННЫХ РАБОТ В СЕТИ 199 Если мы имеем и связанных (коррелированных) работ, которые обозначим Ri,..., R„, то при достаточно общих предположениях относительно их характера можно все же считать, что исполнители работ в состоянии задать матрицу частных коэффициентов корреляции MUti-MMttj-Mt])) р"= ^жр ' <4Л2> где |г- — случайная продолжительность выполнения работы Ru 1 </,/<«. pftft = l (1<А<я). Матрица частных коэффициентов корреляции, по-видимому, является единственным источником информации, которая может быть реально получена от исполнителей работ в случае их коррелированное™. Заметим, что, если по каким-либо причинам эту матрицу невозможно получить полностью, а можно лишь оценить некоторые частные коэффициенты корреляции, возникает интерес* ная задача нахождения (экстраполяции) остальных чле- нов матрицы. При этом, разумеется, необходимо учитывать условия, которым должна удовлетворять матрица коэффициентов корреляции (например, положительная определенность матрицы). Можно показать, что практически все способы генерации многомерных случайных величин — времен выполнения коррелированных работ —при их реализации приводят к тому, что в формулу плотности многомерного бета-распределения не входят задаваемые исполнителями работ меры связи — частные коэффициенты корреляции. Отсюда вытекает, что использование бета-распределения для случая коррелированных работ не является целесообразным. Для случая аппроксимации одномерного распределения формулой логарифмически нормального распределения (2.4.12), как показано в [20], существует возможность перехода к многомерному распределению с использованием матрицы частных коэффициентов корреляции pij. Будем считать, что плотность одномерного распределения каждой из работ Ri (1</<л) подчиняется
200 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV логарифмически нормальному закону = "|/ 4 (^Т ехР I- 211п (*|-в|)-Ш(*,-в|) + I]2). (4.4.3) где Xt — случайная величина времени свершения работы /?,-, а,- и 6,- — соответственно оптимистическое и пессимистическое времена выполнения, заданные для работы Ri. Выше уже было отмечено, что преобразование yi=2{ln(xi-ai)-ln(bi — al)+\). l<i<n, (4.4.4) приводит к новой случайной величине yit распределенной по нормальному закону с нулевым средним и единичной дисперсией. Построим n-мерный случайный вектор, компоненты которого распределены по нормальному закону с заданными корреляционными связями. Иными словами, моделируем п случайных величин t/i, .. ., уп так, что После получения каждой из реализаций набора п значений г/ь ..., уп преобразованием х(=ехр<^—\- -f-ln(6,- — а,)—1 [ + а,- переходим к исходным значе- ниям Xi,...,x„ — временам свершения работ Ru . . ., /?„. Хотя коэффициенты корреляции рх х будут несколько отличаться от соответствующих значений р„ , можно показать [20], что мы вправе считать это отклонение несущественным и не нарушающим общей картины связей внутри работ. Основная идея способа моделирования нормально распределенных случайных величин ;/,, . . ., уп с заданными корреляционными связями состоит в том [20], чтобы вначале генерировать п независимых нормальных величин гь . . ., г„ с единичными дисперсиями и нулевыми математическими ожиданиями, а после этого подвергнуть их такому линейному преобразованию, после которого полученные величины ух, ..., уп имели бы наперед заданную матрицу частных коэффициентов
§ 4] МОДЕЛИРОВАНИЕ КОРРЕЛИРОВАННЫХ РАБОТ В СЕТИ 201 корреляции. Заметим, что свойство нормальности распределения сохраняется при линейных преобразованиях И именно вследствие этого обстоятельства мы использовали функциональное преобразование (4.4.4), сводящее логарифмически нормально распределенные случайные величины к нормально распределенным величинам у. Рассмотрим вид линейного преобразования Л, которое переводит га-мерный случайный вектор (zu ..., zn) с независимыми компонентами в га-мерный вектор (Уи ■ ■ ■, Уп) с заданными корреляционными связями. Будем считать матрицу преобразования А треугольной: У2 — г1 ~l~a22Z2' Уз — Zl "Т" а23г2 Н~ Я33г3> (4.4.5) Уп =zl + a2nz2-\-aZnz3-\- ... +annzn. Элементы матрицы А определяются из условия, что M[(j/fr-M//,)(j/;-M;/;)] о (у и) о (Уд 9и (1<£, /<га). Учитывая, что Мук = 0, так как МгА = 0 (1<£<га), окончательно получаем М [УкУд __, о (уц) а (уд Р*;- Заметим, что ввиду независимости zt (1</<«) имеем 1 при k = l, МГ f 1 при « = /, \zkzi\ = в« = | 0 при кфи Отсюда получаем следующую расчетную формулу: Р«: откуда °(У1)а(Уг) Vl + 4l' «22 =У"РЙГ—Т-
202 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV Определяем элементы третьей строки матрицы А: Pl3: М[У\Уг Р2з: о (У \) о (Уг) о (У г) о Q/s) Отсюда получаем /l + <4 + 4 ' У1 + 42 /l+4i + <& (4.4.6) ■PisPi '23- Й33: Pl2Pl3 ГРВ — 1 У1 — Ргз— Pi2 — Р23 + 2Pi2PiaP23 Р13У1 — Р12 (4.4.7) Действуя подобным образом, можно последовательно определить все элементы матрицы А. После нахождения ее первых k строк следующая (/г+1)-я строка вьь числяется с помощью k уравнений (определяются k ко~ эффициентов): оШ°(Уь-и) Р/, ft + i' 1 < I < k. (4.4.8) Выбор преобразования А с треугольной матрицей позволяет экономить оперативную память ЭВМ (матрица занимает в памяти ЭВМ 2 ячеек) и сократить количество арифметических операций для получения /г-мерного вектора щ, ..., уп. После получения значений случайных величин Уи ..., уп преобразованием // = exp{-^-+-ln(*i — a,)— l} + a, (4.4.9) переходим к искомым значениям продолжительности выполнения коррелированных работ Ri, ..., Rn, что и завершает процесс моделирования. Предлагаемая методика проста в применении и может быть реализована практически на любой ЭВМ. Таким образом, использование бета-распределения в качестве аппроксимирующего закона в случае коррели-
§ 5] ОЦЕНКА СТОИМОСТНЫХ ПАРАМЕТРОВ В СИСТЕМАХ СПУ 203 рованных работ нецелесообразно. Как показано выше существенно лучшие результаты дает применение логарифмически нормального распределения, позволяющего получить реализацию многомерного распределения времени выполнения коррелированных работ с заранее заданными корреляционными связями. § 5. Применение статистического моделирования для оценки стоимостных параметров в системах СПУ Метод статистического моделирования может быть успешно использован и для оценки некоторых стоимостных параметров, характеризующих сетевой проект. В частности, при некоторых общих предположениях можно считать, что стоимость работы С(/, /) является функцией времени ее реализации t(i, /), причем уменьшение времени может повлечь за собой увеличение стоимости. Ряд сетевых моделей включает в себя следующую линейную зависимость между параметрами С(/, /') и t(i, j): C(i, j)=A(i, })—B(i, j)t(i, /), (4.5.1) где A(i, j) и B(i, j) —константы, характеризующие работы (i, j). Такого рода зависимости делают возможным построение доверительных оценок стоимости реализации всего проекта в целом или отдельных его частей. Последнее достигается с помощью метода статистических испытаний следующим образом. Сначала моделируется время выполнения работы t(i, j), после чего при помощи соотношения (4.5.1) определяется стоимость работы C(i, j) (она, таким образом, также моделируется). Аналогичная процедура совершается по всем входящим в сетевой проект работам. Суммируя полученные значения C(i,j), получаем реализацию стоимости всего проекта в целом, которую мы обозначаем Си Повторяя такого рода «розыгрыш» многократно (N раз) и фиксируя значения Си ..., Cjv, определяем р-кваптильную доверительную оценку в соответствии с выбранным коэффициентом доверия р. Если для каждой работы ее ответственный
204 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV исполнитель в состоянии указать параметры A(i, /) и B(i, /), то определение доверительного, прогнозируемого значения стоимости проекта может быть проведено до начала работы над последним, одновременно с построением доверительных оценок по времени. Следует особо отметить, что вычисление стоимостных параметров требует минимального дополнительного объема машинного времени по сравнению с одним временным вариантом. Для оценки прогнозируемых будущих прямых затрат в сетевых проектах со случайными оценками продолжи- тельностей работ применяется [46, 59] метод, аналогичный способу усреднения, описанному (для случая оценки временных характеристик) в § 1 главы III. Общие ожидаемые плановые прямые затраты на реализацию всего проекта K(t) в момент оценки t разбиваются на две части — уже произведенные фактические затраты K\(t) и ожидаемые будущие затраты K^it). Пусть ctj — затраты на единицу времени ведения работы (/,/); a(i,j), b(i,j), m(i,j)—оценки времени в системе ПЕРТ, a t(i, /) — случайная величина, означающая продолжительность работы (I, /). Исходя из пред» положения, что затраты в единицу времени c,j постоянны, определяют среднюю продолжительность входящих в сетевую модель работ, после чего оценивают среднее арифметическое ожидаемых затрат Ki[t) и их дисперсию. Случайная величина /Ca(Qq S с,Л{1, /) имеет следующие приближенные значения среднего \x(t) и дисперсии о2(/): и (0 = 4 Е сч{а (/- Л+Ат (<*• Л+ь (/, у)), ' 1 х4 (4-5-2) a4t) = -&ZlC*tJ[b{i, j)-a(i, J)]*, I, j ' где суммы берутся по всем еще не выполненным работам. Дополнительное предположение о распределении объема общих затрат по нормальному закону (это предположение достаточно обосновано ввиду большого числа суммирования независимых случайных величин) дает
5 51 ОЦЕНКА СТОИМОСТНЫХ ПАРАМЕТРОВ В СИСТЕМАХ СПУ 205 возможность определить вероятность превышения суммой затрат некоторой фиксированной величины В. Считая, что прямые затраты K(i) проекта, оцененные в момент /, имеют приближенно нормальное распределение, получим для K(t) среднее значение и дисперсию: K(t) = Kl(t) + \x(t); M{K(t)-K(tW = o4t). Вероятность того, что прямые затраты превысят установленный уровень В, равна Р{К(()>В}=ф[К'«)+^)-В], где ф(*>=Й* Jexp(-4*)*. — со До сих пор мы рассматривали методы учета затрат для вероятностных сетевых моделей. Метод статистических испытаний и его различные модификации (в частности, метод случайного поиска) могут быть использованы для решения весьма сложных задач оптимизации стоимостных параметров сетевых моделей. Пусть задана односетевая модель системы сетевого планирования и управления, содержащая п работ W), ..., Wn. Стоимость Ci (/=1, 2, ..., п) выполнения работы Wi определяется по формуле ci = aiti + bi, где а, и bi — постоянные (а,--^0), /,- — время выполнения работы Wi, которое может изменяться в заданных пределах: d,- <^ /; -С Dt. Требуется при заданном сроке X завершения разработки (длине критического пути) определить оптимальный допустимый план, то есть набор ti, t2, ..., in таких, что di^Cti ^ Dt (/=1, . . ., п) и п п сумма 2 с, = 2j (diti + bt) принимает наименьшее зна- чение.
206 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV Келли [77] предложил аналитическое решение данной задачи, которое сводится к решению задачи о максимальном потоке через сеть, реализуемой с помощью алгоритма Форда — Фулкерсона [70, 71]. Таким образом, налицо переход к двойственной задаче линейного программирования, решение которой для сетей большого размера затруднительно, поскольку вычисления с матрицами высокого порядка требуют существенного использования внешней памяти ЭВМ, что резко увеличивает затраты машинного времени. Кроме того, зачастую вызывает возражение предположение о линейной зависимости стоимости работы от срока ее исполнения. Приведенная выше задача может быть легко обобщена [41] и приобретает следующий вид. Пусть стоимость работы Wi (i=\, ..., п) —невозрастающая функция времени ее выполнения с* = с* (/,■). Задается также убыток с от затягивания момента завершения разработки в виде неубывающей функции от длины критического пути: с = с(Т). Требуется найти допустимый план ti, ..., г„, минимизирующий величину где Т — длина критического пути при заданном наборе {/,}. Опишем приближенное решение данной задачи на ЭВМ методом статистических испытаний [41]. Вид функций Ci(t) и с(Т) определяется условиями удовлетворительного приближения к реальным зависимостям и быстротой их реализации на ЭВМ. Сетевая модель состоит из работ Wi, ..., W„. Для каждой работы Wt (i=\, ..., п) задаются: а) перечень предшествующих работ (информация о структуре сети); б) величины di и Z)j (такие, что d,-4^ г» ■<!/),); в) параметры а,-, р\ и у<> определяющие по формуле cl(ti) = OLit2l-\-(iltl-\-yl стоимость выполнения работы. Предполагается, что ущерб от затягивания разработки линейно зависит от времени, то есть с(Т)=6Т, где 6>0 задается. В случае наличия директивного срока 7"0
§ 5] ОЦЕНКА СТОИМОСТНЫХ ПАРАМЕТРОВ В СИСТЕМАХ СПУ 207 окончания разработки с(Т) задается в виде ЬТ, если Т •< Т0, с(Т) ( ЬТ, если Т < Т0, =={ . т^. т (4.5.3) { + оо, если Т> Т0. п Ищется набор (tu ..., tn), минимизирующий 2 cih~\- + с{Т). При приближенном решении задачи "методом статистических испытаний в каждой реализации вырабатываются времена ti (t = l, ..., п) по формуле ^ = оГ/ + (0;-^)Ло,ь (4-5.4) где г|о, 1 — случайная величина, равномерно распределенная на отрезке [0, 1] и получаемая с помощью псевдослучайного алгоритма, то есть программным способом. Оптимизация проводится методом статистических испытаний с последующим сужением границ интервалов изменения входных параметров tu .. ., tn. Набор {/,•}, при котором целевая функция достигает наименьшего к данному моменту значения, запоминается при помощи одного числа — состояния псевдослучайного кода перед выработкой соответствующего значения ^. При больших значениях п возможность применения подобного приема, предложенного Г. И. Белоноговым, обусловливает существенное преимущество псевдослучайного процесса по сравнению со случайным (реализуемым на ЭВМ датчиком случайных чисел). Зацикливание псевдослучайного процесса не представляется существенным, так как наличие большого числа работ приводит к тому, что практически всегда одно и то же состояние псевдослучайного кода в разных циклах будет соответствовать различным работам. Длина критического пути определяется способом, описываемым в § 8 настоящей главы, с помощью информации, подготовленной для быстрой реализации арифметических операций. Приведем результаты [41] оптимизации опытной сего, содержащей 51 работу.
208 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV После 1024 реализаций наименьшее значение cmin целевой функции равнялось 7127. После этого сравнивались два способа: I. Вычисления продолжались без изменения интервалов [di, Di]. За 2048 дополнительных реализаций ст\п уменьшилось до 7120. II. Интервал изменения tt (i=\, ..., п) полагался равным [ti — Д, /,- + Д]> где (tu ..., ("„)— набор, на котором достигнуто значение cmin в начальных 1024 реализациях. За 1024 новых реализаций ст1п уменьшилось уже до 7088. После этого произошло очередное сужение вокруг новой точки минимума, и 1024 дополнительных реализаций позволили получить минимальное значение целевой функции, равное 7020. Реализация 3072 опытов потребовала 15 минут машинного времени ЭВМ М-20, а в общем случае время просчета / в минутах определяется по формуле г«* =sl0"4 nN, где N — число реализаций. Опишем процедуру оптимизации методом случайного поиска в сочетании с методом Монте-Карло. Если число работ в сети равно п, то практически предыдущая за- п дача сводится к минимизации функционала 2jc('V Jt) + -\-с(Т), который, положив t(ii, ji)=Xi, обозначим Q(xu .. ., хп). Начальная точка (xf> -к'"') поиска определяется методом Монте-Карло по формулам х|0) = t\ {it, ji) -4- r| \t2 '{it, ji) — /i (it, ji)\, где п. — равномерно распределенная в интервале [0, 1] псевдослучайная величина, a ti(i[, jt) и t2(it, jt) —границы изменения t(ii, ji). Собственно локальный случайный поиск осуществляется по следующей методике, разработанной Л. А. Расстригиным [53]. Обозначим через X,_t n-мерный вектор {х[1~1\ ... .... •к(„'~1)), минимизирующий функцию качества Q(xf, ... .. ., хп) после с—1 шагов поиска. Обозначим через |=(£t, •.., In) случайный вектор единичной длины, равномерно распределенный во всех направлениях «-мерного пространства параметров хи . •., хп, а через а — величину «шага» в л-мерном пространстве. Сделаем еле-
§ 5) ОЦЕНКА СТОИМОСТНЫХ ПАРАМЕТРОВ В СИСТЕМАХ СПУ 209 дующий шаг |а и перейдем к n-мерному вектору (xtp jc<i»), где x^p^x^-^ + alj, после чего определяем величину Q(x['K ..., xf-jh. Если Q(x<" x^)<Q{x[i~1\ .... *</-«), то считаем Xt = (x[l) xffy и делаем следующий (1+"1)-й шаг, соответствующий вектору смещения got при новом |, после чего вновь сравниваем изменение функции качества Q. Если Q(x\'K ..., ^J)>Q(*J|-|)i •••. ^'_1)). т0 есть функция качества не уменьшилась, возвращаемся обратно в точку (лг(1'~1), ..., х<£~Щ = Xt_v Таким образом, мы возвращаемся назад, если функция качества возрастает, и случайно движемся вперед (с равномерным распределением во всех направлениях) в противном случае. Данный метод особенно эффективен в случае, когда функция качества изменяется во времени со сравнительно большой скоростью. Разумеется, в процессе поиска должно соблюдаться требование t\ Ни ji) < t (iu ji) = xi < t2 (U, ji). Шаговый локальный поиск без обучения имеет две модификации, которые принципиально не отличаются друг от друга: в первом случае происходит (при увеличении функции качества) возврат в предшествующую точку, во втором возвратное движение при увеличении функции качества Q совершается одновременно с последующим случайным движением, то есть возврат назад как бы пересчитывается. Таким образом, обе модификации отличаются лишь изменением количества шагов, а результаты оптимизации сходятся по вероятности к одному и тому же значению. Сходимость описанных выше методов случайного поиска при п>\ существенно лучше, нежели сходимость процесса оптимизации по методу градиента, причем с увеличением п сходимость метода случайного поиска все более улучшается по сравнению со сходимостью по методу градиента. Наилучшим способом оптимизации многопараметрических систем является разработанный Л. А. Растри- гиным [53] метод шагового локального поиска с обучением. Сущность этого метода заключается в том, что 14 Л. И. Голенко
210 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV после проведения г'-го шага из точки X,- делается k независимых случайных шагов gt, ..., |*. После этого выбирается тот шаг gj, который дает наименьшее значение функции качества Q(Xi + atJ)= min Q(^ + ay, (4-5.5) после чего фиксируется Xi+i — Xi + a\j. Иными словами, обследуется окрестность точки Xt и выбирается самое оптимальное из «разыгранных» направлений. Этот алгоритм более эффективен, чем описанный выше метод шагового локального поиска без обучения, и сходимость к локальному оптимуму существенно улучшается. Основной недостаток описанных выше методов — локальность оптимизации многопараметрической системы. Мы нередко оцениваем локальный оптимум, а отнюдь не подлежащий оценке глобальный. Поэтому удачные результаты дает сочетание метода Монте-Карло, который носит глобальный характер, но сходится медленно, и методов случайного поиска, которые носят локальный характер, зато обладают быстрой сходимостью. При оптимизации задачи (4.5.3) методом случайного поиска сначала осуществлялась прикидка «чистым» методом Монте-Карло, а затем выполнялся случайный локальный поиск в пространстве решений. Стоимость выполнения отдельных работ может зависеть от календарных сроков реализации сетевого проекта при наличии ограничений на ресурсы. Приведем постановку [41] одной задачи типа ПЕРТ-КОСТ, связанной с наличием ресурсов (исполнителей). Пусть стоимость работы Wi (i=l, .. ., п), выполняемой в период [Т, T + t], равняется с,(7\ t). Допустимым планом называется векто/р {th t2, . . ., tni Аь A2, • • ., A„), у которого d;<' •<*,• •<£>,•, Д;>0 (i=l, ..., я). Выполнение работы W{ начинается спустя Аг- после завершения всех непосредственно предшествующих ей работ. Требуется найти допустимый план, минимизирующий величину . . JLcdn ti) + c(T), i-l
$ 5] ОЦЕНКА СТОИМОСТНЫХ ПАРАМЕТРОВ В СИСТЕМАХ СПУ 211 где Tt — время начала работы Wt и Т — время окончания разработки (подсчитываются с учетом Л,). Методом Монте-Карло можно решить также следую-* щую задачу [41]. Разобьем множество всех работ сетевой модели на непересекающиеся группы Г4, ..., IV Для выполнения работ Wf, Wf, ..., Wsng группы Tg (g=\, ..., k) выделено ng взаимозаменяемых исполнителей /f, .... J„ • Исполнитель If выполняет работу Ws за время tfs с затратами, равными cfs Гг = 1, ... ..., n ; s=l, .... я). Требуется распределить работы между исполнителями внутри всех групп так, чтобы об- * "g e щая стоимость разработки нового комплекса 2 2 ^ ~Ь -\-сТ была минимальной (Т — время выполнения всего проекта, сТ — функция ущерба, связанного с задержкой его завершения). При приближенном решении этой задачи методом статистических испытаний иа ЭВМ разыгрываются k подстановок Ш, ..., ГЦ. Подстановка llg является ре- зультатом случайного перемешивания совокупности натуральных чисел 1, 2, . . ., ng. Пусть Пй= (i'i, k, .... i„g)- Это означает, что в группе Tg работа Wj выполняется исполнителем Iе, . s Случайное перемешивание чисел, при котором все перестановки равновероятны, осуществляется на ЭВМ сравнительно быстро следующим алгоритмом, предложенным И. Е. Майзлиным. Пусть перемешиваемый массив чисел хранится в ячейках oi, ..., осп. Процесс разбивается на п этапов. На г'-м этапе (i = 0, ..., п—1) определяется индекс / по формуле j — [(n— i')£]+l, где [ ] — знак целой части, а Ъ, — случайная величина, равномерно распределенная в интервале (0, 1). Далее величины а; и ctn-j меняются местами. Задача минимизации общей стоимости проекта приобретает особую сложность в условиях неопределенности времени выполнения работ в сетевой модели. 14*
212 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV § 6. Статистическое моделирование сетей большого объема фрагментарными методами В настоящее время системы сетевого планирования и управления находят применение в создании новых межотраслевых комплексов, в разработке которых участвует большое количество организаций-соисполнителей. В связи с этим появилась необходимость в создании методов, позволяющих определять параметры сетевых моделей, содержащих до нескольких десятков тысяч работ. В современных условиях подобные сети-гиганты обычно разбиваются на подсети — фрагменты, которые, как правило, соответствуют частям общего комплекса разработок, выполняемых организациями-соисполнителями. Фрагменты имеют «входы» и «выходы», причем большое число фрагментов имеет один вход и один выход. Следует отметить, что параметры фрагментов в общем случае обрабатываются на ЭВМ, а фрагменты находятся независимо друг от друга — каждый фрагмент в своей организации. При этом возникает необходимость построения алгоритмов оценки доверительных значений временных параметров в больших сетях со случайными оценками работ. Как указывалось выше, в настоящее время применение аналитических методов расчета доверительных значений временных параметров для сетей со случайными оценками является затруднительным, вследствие чего такого рода алгоритмы должны использовать аппарат статистического моделирования, как и в случае сетей небольшого или среднего объема. Разумеется, такие алгоритмы должны быть построены с учетом существования фрагментов, то есть должны использовать фрагментарный метод расчета. Это тем более необходимо, что моделирование «в лоб» большой сети займет слишком много машинного времени на ЭВМ. Рассмотрим отдельно два различных случая: а) все фрагменты большой сети содержат только один «выход» и один «вход»; б) отдельные фрагменты большой сети могут содержать несколько входов и несколько выходов.
§ 6] ФРАГЛШНТАРНЫЕ МЕТОДЫ 213 Алгоритм моделирования для первого случая сводится к следующему [30]. Пусть большая сеть содержит N работ со случайными оценками и разбивается на п частных сетей — фрагментов. Рассмотрим г'-й фрагмент ЧГ< и обозначим; Nt — количество работ в Ч^, mt — вход в Ч^, kt — выход из \Р,, * = 1, 2, .... п, ^нач — начальное событие большой сети, скон — конечное событие большой сети. Требуется оценить р-квантиль конечного события в большой сети Wp(cKmi) путем фрагментарного счета с использованием статистического моделирования. Заметим, что Wp(cKm)=Wp{tpa„(cKo»)\, (4-6.1) а распределение ^раи(сКОп) оценивается по значениям tpm (£кон) (1 <У<-/И), где М — необходимое количество повторных «розыгрышей» большой сети, tpia {сков) — г-я реализация «розыгрыша» самого раннего срока свершения События Сков- Нетрудно видеть, что имеет место равенство *&(«?«»■) = *{'И(*|. mj), /(*■№)), (4.6.2) 1 <*> j <л. i"h'h где №(ki, trij) —r-я реализация длины (продолжитель* ности) дуги между i-м и /-м фрагментами, которая так-< же может носить случайный характер*). Что касается K,W(Wi), то последнее обозначает длину критического пути в 1-м фрагменте TF,- при r-й реализации («розыгрыше»). Таким образом, если бы удалось представить каждый фрагмент Ч** (l^t'^n) в виде укрупненной работы, носящей случайный характер и имеющей распределение р(Ч^) такое, что ее г-й «розыгрыш» *) Разумеется, только в том случае, когда связь между фрагментами 4'i и W; существует.
214 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV эквивалентен реализации /C<r)(xF,), то задача свелась бы к моделированию укрупненной сети, в которой каждая работа была бы эквивалентна либо фрагменту, либо связи между этими фрагментами. Отсюда немедленно вытекает методика статистического моделирования, которая включает следующие этапы. Этап I. Каждый из фрагментов Чг; (1-<л<1л) моделируется отдельно, независимо друг от друга, в результате чего строится эмпирическая функция распределения длины критического пути Ki^i) между /п; и &; событиями. Обозначим эту эмпирическую функцию распределения Fgwa(xVi). Этап II. Вычисляем для всех связей между фрагментами Wi и xVj (1<л<^я, 1 ^/-^/г, i=£j), если эти связи существуют, эмпирическую функцию распределения PemtiH tUj). ЭтапШ. Используя известное соотношение /"V!) (I) — = ц (F^ (x) — функция распределения случайной величины г), £—случайная величина, распределенная равномерно в интервале (0, 1)), моделируем значение длины критического пути /<<г)(Ч/0, 1 <С i ^C п, для всех фрагментов. Реализация моделирования на ЭВМ осуществляется интерполяцией функции распределения /7ЭМп(г1г0 при помощи псевдослучайных чисел, распределенных в [0, 1]. Этап IV. Аналогичную процедуру — моделирование значений /(r)(&,-, ftij) с помощью эмпирического распределения F3ym(ki, m.j) — выполняем для продолжительности связей между фрагментами. Этап V. На основании полученных значений (теперь уже детерминированных) /C<r)(4fj) (\-^.i^.n) и №>(k{, ttij) определяем для укрупненной сети значение ран ^кон,г Этап VI. Процедуру этапов III —* IV —* V повторяем М раз. Этап VII. Вычисляем р-квантильную оценку, эмпирического распределения значений 1до(Скш) О <СГ ^СЩ- Эта оценка и есть искомый р-квантиль Wp(cKOU). Таким образом, задача моделирования больших сетей, разбитых на фрагменты с одним «входом» и «выходом», решается сравнительно легко, и уже в настоящее
§61 ФРАГМЕНТАРНЫЕ МЕЮДЫ 215 время проведен ряд экспериментальных расчетов, описанных ниже. Для случая, когда отдельные фрагменты большой сети содержат несколько «входов» или «выходов», можно предложить следующий алгоритм моделирования. Он отличается от ранее изложенного тем, что на этапе I для фрагментов xYu имеющих а,- входов ml (l^oc^a,-; а* > 1) и Pi выходов Щ (l <Р<Р,; Р/> 1). вместо одномерной функции распределения Fahm(Wi) строится многомерная функция F,„, {if) с размерностью, не превышающей произведения величин а; и р*. Здесь /г — длина (продолжительность) самого длинного пути между входом а и выходом р во фрагменте Wi. Проанализируем этап I для случая фрагмента с несколькими входами и выходами более подробно. Пусть t-й фрагмент имеет а,- входов и р\- выходов, и пусть /га* ■<• а,-р,- — количество связей между входами и выходами. Под термином «связь» между входом а и выходом р имеется в виду существование пути между а и р. Если между какими-либо входами и выходами в г'-м фрагменте связи отсутствуют, то m,-<a,Pt, однако вся излагаемая ниже методика не терпит при этом никаких изменений. На этапе I для каждого из фрагментов Wt (1 -<л^п), независимо друг от друга, выполняется следующая процедура. Моделируем методом Монте-Карло продолжительности всех работ во фрагменте, после чего уже в сети с фиксированными оценками определим все наидлиннейшие пути между а; входами и Р; выходами. Как мы отмечали выше, количество таких путей mi не превысит а,р,-. Обозначим длины этих путей /У (v=l, ..., щ) и расположим значения Lv в произвольном, но раз навсегда установленном порядке. Индекс IX 7(1) означает, что значение Lv получено в результате первого «розыгрыша» сетевой модели методом статистических испытаний. Таким образом, после первого «розыгрыша» получаем последовательность значенийД, L$] £jL. Вновь производим «розыгрыш» продолжптельностей работ в сети, после чего определим вторую серию значе-
216 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ (ГЛ. IV Г (2) /(2) г (2) нии L\ , Lo Lm). 1акую процедуру повторим /V раз, в результате чего получим матрицу следующего вида: L,= ' L[l) L? г О) № '(i) ,(2) L\ N) rl« ,(N) (4.6.3) Построением матрицы путей L; заканчивается первый этап вычислений. По сути дела, он свелся к построению многомерной статистической таблицы функции *3*n\li ). которую и представляет построенная матрица. Несколько слов об объеме таблицы — значении N. Величина N определяется требуемой точностью оценки параметров фрагмента, количеством столбцов матрицы т,, разбросом значений длин Lv, и, как правило, /VS>m,-. Однако дать точную оценку объема N нередко не представляется возможным, как и для случая построения эмпирического распределения длины критического пути для сети с одним входом и одним выходом. Величина N во многом определяется интуицией и опытом статистика- исследователя и, как правило, возможностями соответствующих ЭВМ. На наш взгляд, при т,=«10 значение N^500—1000 обеспечит достаточно высокую точность моделирования. Данные матрицы L, (1-C/-C/1) передаются в вычислительный центр Центральной службы СПУ для моделирования укрупненной сети. На этапе III «разыгрывается» (для каждого фрагмента Wit имеющего несколько входов и несколько выходов) т( коррелированных значений /? согласно следующей процедуре. Мы опишем два ее различных варианта, каждый из которых имеет свои преимущества и недостатки. В первом случае поступаем следующим образом. Моделируем значение псевдослучайного числа т), распределенного равномерно в интервале [0, 1], и оцениваем число [jVt|]+1, где знак [л:] означает взятие целой части числа х. Выбираем строку матрицы путей Liy имеющую номер [УУг|]+1. Содержимое этой строки и есть резуль-
§ 6] ФРАГМЕНТАРНЫЕ МЕТОДЫ 217 тат моделирования многомерной функции распределения Feu„ (/г) — налицо nij «разыгранных» значений if ■ Можно предложить другой, более громоздкий вариант моделирования, который, однако, имеет перед первым преимущество в объеме матрицы N. Перераспределим в матрице путей L; строки в порядке возрастания их первых элементов, то есть значений L\ (1 -*Ck*CN), и тем самым преобразуем матрицу L; в матрицу L1. Моделируем псевдослучайное число т)ь равномерно распределенное в интервале [0, 1], и, как и в первом случае, оцениваем величину [A^rii]-i-1. Во вновь образованной матрице L1 фиксируем первый элемент строки с номером [yVr|i]+l, который обозначим lt. Фиксируем всестро- ки в матрице L1 с номерами, меньшими [Mii]-f 1, число которых обозначим Ni, и будем впредь рассматривать только часть матрицы L1, составленную из этих строк, а остальные строки вычеркнем. Рассортировываем строки в оставшейся части матрицы в порядке возрастания вторых элементов, то есть значений 1л , и получаем рассортированную матрицу Lu с количеством строк, равным N\. Моделируем псевдослучайное число г|2, равномерно распределенное в интервале [0, 1], и фиксируем строку в матрице Ln с номером [Nlr)2]+\, а второй элемент этой строки фиксируем и обозначаем 1г. Фиксируем в матрице Lu все строки с номерами, меньшими [уУ(г|2]+1, число которых равно N2, рассортировываем новую матрицу в порядке возрастания третьих элементов (матрица L111) и т: д. до тех пор, пока все /я, величин Л, /2, . .. ..., 1т не будут построены. Это и есть результат моделирования Fmu](li). На этапе V определяется самый ранний срок tpm(cKou) для укрупненной сети. В такой укрупненной сети фрагмент, имеющий а; входов и (3,- выходов, представлен в виде а,р\- «работ», длины которых соответственно равны наидлинпейшим путям между входными и выходными событиями. Следует отметить, что даже при использовании второго алгоритма моделирования количество вычислительных операции на много порядков меньше, нежели при «розыгрыше» паидлиннейших путей с моделированием
218 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV продолжительностеи работ во фрагментах. Если же учесть, что на этапе VI процедура моделирования повторяется М раз, выигрыш во времени при моделировании по фрагментам оказывается весьма большим. Другой весьма эффективный способ состоит в укрупнении фрагментов большой сети [30, 52] с тем, чтобы такие укрупненные фрагменты имели только один вход и выход, и последующем моделировании этих фрагментов согласно описанной выше методике. Опишем результаты экспериментального расчета [30] большой сети, содержащей 4906 событий и 12 864 работы, проведенного фрагментарным методом статистического моделирования. Выполнение сетевого проекта было рассчитано на несколько лет. Сеть была разбита на 41 фрагмент различного размера (от 162 до 618 работ). Фрагменты образовывались по принципу охвата работ, выполнение которых закреплялось за отдельной организацией или подразделением. Все фрагменты имели одно исходное и одно завершающее события. Моделирование сети осуществлялось па ЭВМ «Минск-22», причем время моделирования одного из фрагментов, содержащего 293 события и 418 работ, для 1000 «розыгрышей» составило 38 минут. В соответствии со степенью срочности реализации сетевого проекта был принят коэффициент доверия р = 0,8. Результаты моделирования и сравнение р-квантиль- ных оценок Wp, полученных методом статистического моделирования, с соответствующими р-квантилямн, определенными методом усреднения для минимального времени реализации отдельных фрагментов, сведены в таблицу: Номер фрагмента tp (скон) Wp (Скон) 1 152 168 3 47 49 6 57 58 8 204 216 9 187 199 10 83 107 12 172 224 32 200 226 40 66 73 41 88 92
§ 7] МЕТОДЫ ЭКВИВАЛЕНТНЫХ ПРЕОБРАЗОВАНИЙ 219 Погрешность при использовании метода усреднения для оценки раннего срока реализации всей сети в целом составила 7% (при сравнении с оценкой, полученной путем статистического моделирования). § 7. Статистическое моделирование больших сетей методом эквивалентных преобразований Содержание предыдущего параграфа показывает, что фрагментарный метод статистического моделирования больших сетей нередко связан с существенными затратами машинного времени, особенно в случае, когда число входов в отдельные фрагменты и выходов из них велико. В настоящем параграфе описывается предложенный В. С. Поповым [48] алгоритм моделирования сетевых графиков большого объема, основанный на получении статистического аналога распределения завершающего события путем построения некоторого специально выполненного для этой цели эквивалентного сетевого графика. Мы будем называть два сетевых графика эквивалентными по вероятности, если их вероятностные свойства, описываемые в терминах распределений, одинаковы. Задача моделирования сетевого графика большого объема сведется к построению эквивалентного сетевого графика с существенно меньшим числом работ и к последующему моделированию этого сетевого графика. Для получения эквивалентного сетевого графика необходимо в исходной сети исключить все работы, которые не оказывают влияния на формирование вероятностных характеристик завершающих событий. Рассмотрим два основных способа формирования эквивалентного сетевого графика: 1. Способ аналитического расчета. 2. Способ, основанный на статистическом моделировании. Аналитический метод основан на определении множества работ сетевой модели, которые теоретически не могут стать критическими. Можно доказать [48] следующие теоремы, которые лежат в основе построения алгоритма формирования эквивалентного сетевого графика.
220 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV Теорема 1. Пусть дана сетевая модель, все пути между исходным и завершающим событиями которой занумерованы и обозначены Lt, ..., Lm, состоящая из работ (i, j), продолжительности выполнения которых t(i, /) случайны и подчинены закону бета-распределения с областями определения соответственно [a(i, j), b(i, j)]. Предположим, что имеется п случайных реализаций сетевой модели, и обозначим t (/.*) длину k-го пути Lk в i-й реализации. Обозначим t(Ll{V)a длину критического пути для случая, когда продолжительность выполнения каждой из работ t(i, /) приравнена соответствующим оптимистическим оценкам a(i, /). Тогда для каждой из п реализаций существует хотя бы один путь L{ такой, что t (Ц) > t (LKp)a, где i — номер реализации. Теорема 2. Длина критического пути для любой реализации не менее, чем t(Li;p)n. Теорема 3. Работа (/', /) принадлежит множеству возможных критических путей*), если / [Z.™/x]„^>/(£,<р)а, где t [Z./7x]ft — длина (продолжительность) максимального пути, проходящего через работу (/,/), если в сети продолжительности выполнения всех работ t(i,j) фиксированы и равны b(i, j). Обозначим множество возможных критических путей в исходной сетевой модели символом R. Из предыдущих рассуждений вытекает, что сетевая модель, определяемая структурой множества R, эквивалентна исходной сетевой модели по вероятности. Таким образом, задача построения эквивалентной сетевой модели сводится к задаче определения множества R. Теорема 4. Работа (i, j) принадлежит множеству R, если ее полный резерв Pn(i, j), определенный при t(i, j) =b(i, j), меньше величины t(Ll(V)b — r(LKP)a. Используя приведенные теоремы, сформулируем следующую схему алгоритма формирования эквивалентной сетевой модели: Этап I. Для всех работ (/, /) положить t(i,j) = *) То есть ее вероятность в результате случайной реализации оказаться на критическом пути больше нуля.
§ 7] МЕТОДЫ ЭКВИВАЛЕНТНЫХ ПРЕОБРАЗОВАНИИ 221 Эта п II. Вычислить длину критического пути t(LKP)„. Этап III. Для всех работ (i, j) положить t(i, j) =» «*<*./)■ Этап IV. Вычислить длину критического пути t(LKP)b< Этап V. Вычислить полные резервы времени Pa{i,j) при t(i, j)=b(i,j). Этап VI. Если PB(i, /)> t(Liip)b — t(LKp)a, не включать работу (i, j) в множество R, составляющее экви- валентную сетевую модель. Этап VII. Если P„(i, /) <t(LliV)b — t(LKP)a, включить работу (i, j) в множество R, то есть в эквивалентную сетевую модель. Приведенный алгоритм формирования эквивалентной сетевой модели не всегда приводит к существенному сокращению объема исходной сети, вследствие чего предлагается [48] улучшенный алгоритм, основанный на следующих принципах. Работа (/, /) относится к эквивалентной сетевой модели, если вероятность того, что при случайной реализации максимальный путь, соединяющий исходное и завершающее события и проходящий через работу (»',/), является критическим путем, не меньше значения |>0. Иными словами, p*(t, j) = P{t(L?") = tKP}>t>0. (4.7.1) Математическое ожидание длины максимального пути /."7". проходящего через работу (',/), обозначим Mt [Lfjx], а дисперсию— a2/ [l"1;"]. Сформулируем основные допущения при построении эквивалентной сетевой модели: 1. Длина пути 5 имеет нормальное распределение с параметрами t= 2 Н^ Л> °?— ^ °2t(L> /)• 2. Критический путь эквивалентен распределению максимума всех путей (по методике ПЕРТ). Тогда сеть можно рассматривать в виде эквивалентного сетевого графика, состоящего из двух путей: а) критического пути (£Кр), б) максимального пути, проходящего через данную работу ((',/).
222 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV Для такого сетевого графика будут справедливыми все приводимые ниже выкладки, связанные с определением /?*(/, /). Пусть p*(i, I) —параметр усеченного сетевого графика, a p°(i, j) —действительное значение параметра p(i, j). Можно показать, что всегда p*(i, j) ^ ^ P°(i, /)> то есть полученный на основе принятых допущений эквивалентный сетевой график будет всегда по своей структуре избыточным. Иными словами, в эквивалентную сеть будет включено некоторое дополнительное множество работ с параметрами Более строгие критерии будут рассмотрены ниже. На основании сделанных допущений приходим к выводу, что f(l, у) = р^(^Г) = АФ}>Р{/аГ/х)>Гкр}, (4.7.2) где tup — длина критического пути сетевой модели, вычисленная по средним значениям продолжительности работ, то есть при t(i, j) =t(i, j). Отсюда вытекает, что если Р [t {LTD > 'кр) > I. то и Р [/ {LTD - 'кР} > ft. то есть требование p**{i, j)^l эквивалентно требованию p'(i, у)>|, где /Г(/, /) = Р(*№)>Гкр}. Вероятность же Р {^(Z/7X)>/Kp} приближенно приравнивается выражению где t{U?D — сумма средних значений работ, лежащих на максимальном по длине пути в сетевой модели, проходящем через работу (i, j), при условии t{i, j)=t(i, j) для всех работ сети; о {LTD—сумма дисперсий продолжительности работ, лежащих на этом же пути; o2(LKp) —сумма дисперсий для работ, лежащих на критическом пути, определенном по средним значениям. Учитывая, что Ри (/, J) = t (IKp) - t {LTD- (4-7-4) имеем T(LKp)-t{LTp , (4.7.3)
МЕТОДЫ ЭКВИВАЛЕНТНЫХ ПРЕОБРАЗОВАНИИ 223 Из условия //*(/, /')>£ и, следовательно, />***(/, /')>& вытекает, что 1-2|> L ^2К2(Ч)+°2(^г)] (4.7.6) и, следовательно, Яп (А У) <ф-,(1-2|). (4.7.7) ^2[a2(£Kp)4V(^/*)] Отсюда вытекает, что если PnV, Л<У2[о2(Ькр) + аг{ЬТП\ ф-г(\-21), (4.7.8) то работа (/, у) может быть отнесена к множеству R. Требование (4.7.8) для коррелированных случайных величин t(L™jx) и t{LKp) является менее жестким. Пусть LKV = L0 + L[P и LTjх = U + ^тах (/, Д где /.о —общая часть двух путей Z,Kp и £$\ Тогда '(£кР) = 2 t(i, у) + 2 'С У)- С. У>€£ № м^ кр t(L?r)= 2 /(/. У)+ 2 *(/. У). с, yiei. с- лс-Д-.с. у> (4.7.9) А, (/, у) = * (IKp)-i (tff) = t (4р)-ОД,« (i, у)). Заметив, _что из условия t{L\n^{i, y))>F(Z.Jp) следует t(Lfj^) — t(LKp)^-0, н учитывая принятые выше допущения, получаем аналог формулы (4.7.2) для случая коррелированных сетей: f~(i, у) = Р [t [Llmu (i, у)] - [ОДр)] >р}.= £ (4.7.10) или «D Рп (/. у) У2Й^) + о2(/.ГЛ] J) (4.7.11)
224 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV откуда окончательно получаем условие принадлежности работы (/, у) к эквивалентной сетевой модели РиИ, у)<У2{а2(^р) + о2(£';'Л} ф-'(1-2у. (4.7.12) Нетрудно показать, что о2 (Iip) + о2 (LTD = о2 (LKV) + о2 [Llmx (i, j)] - 2о2 (Lo) (4.7.13) есть дисперсия полного резерва времени работы (i,j), которую обозначим символом сг2[Рп(', /)]• Если же работа (/, /) находится на максимальном пути, не коррелированном с критическим, дисперсия полного резерва времени имеет вид o2[Pn(i. y)] = a2(ZKp) + o2(Z?f). (4.7.14) Отсюда получаем общую формулу для условия принадлежности работы (i, j) к эквивалентной по вероятностным свойствам сетевой модели: Pn(t. j) < о [Рп (/, у)] УТФ'1 (1 - 2|). (4.7.15) Для решения практических задач достаточно положить £ = 0,001, в результате чего формула (4.7.15) принимает вид />„(/, у) <Зо [/>„(«•. у)]. (4.7.16) Таким образом, алгоритм формирования эквивалентной сети сводится к следующим основным операциям: 1. Определение работ, принадлежащих критическому пути, для случая /(/,/) = Г ((',/) • 2. Вычисление дисперсии D( (£„„) = 2 °2(г'> Л- (I. MLKp 3. Определение работ, принадлежащих максимальному пути, проходящему через данную работу ((',/), при условиях п. 1. 4. Вычисление дисперсии D((LTjX)== 2 °2('> Л- (i, /)a';f 5. Определение дисперсии полного резерва времени DPa(i, j) по формуле (4.7.13),
§ 8) НЕКОТОРЫЕ МАШИННЫЕ АЛГОРИТМЫ 225 6. Если P„(i, y')<3 YDPn(i> j). включить работу (i, j) в множество R, то есть в эквивалентную сетевую модель. 7. Если P„{i, j) > 3 YDPn(i, j). не включать работу (/, /) в эквивалентную сетевую модель. Таким образом, описанный алгоритм практически формирует эквивалентные сетевые модели, близкие по вероятностным свойствам и существенно меньшие по объему. Последнее дает возможность более эффективно использовать метод статистических испытаний при после-, дующем моделировании этих сетей. Формирование эквивалентного сетевого графика может быть также выполнено методом статистического моделирования. Идея применения этого метода состоит в выполнении сравнительно небольшого количества «розыгрышей» с целью выбора работ, коэффициенты критичности или напряженности которых превосходят заранее установленный предел. Теоретические основы такого рода отбора и тем самым формирования эквивалентной сетевой модели и расчет числа «розыгрышей» описаны выше, в § 3 настоящей главы. § 8. Некоторые машинные алгоритмы статистического моделирования Опишем некоторые машинные алгоритмы реализации на различных ЭВМ метода статистических испытаний для нахождения распределения самых ранних сроков свершения входящих в сетевую модель событий и коэффициентов критичности работ сети. И. Е. Майзлин и Л. П. Николаева [42] предложили проводить расчленение алгоритма на две части. Наиболее громоздкая его часть — раскрытие структуры сети и связанный с этим поиск информации — реализуется один раз. Далее реализуется многократное «проигрывание» с вычислением в каждой реализации длины критического пути по формулам, структура которых определяется компактной формой записи информации о взаимосвязи работ, полученной в первой части алгоритма. Таким образом, применение этого алгоритма не предполагает наличия упорядоченной по событиям сети. Информация о сетевой модели задается в следующем виде: 1) коды всех работ, входящих в сеть; 15 Д- И. Голенко
226 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV 2) параметры а и b (оптимистическая и пессимистическая оценки) или а, т, b (оптимистическая, наиболее вероятная и пессимистическая оценки) для всех работ сетевой модели; 3) для каждой из работ (число которых п) задается количество и коды работ, непосредственно ей предшествующих (то есть входящих в событие, из которого выходит данная работа). Первая часть алгоритма располагает коды работ, а также задаваемые ответственными исполнителями оценки длительности этих работ в порядке возрастания их «правильной» нумерации, при которой предшествующая работа всегда имеет меньший номер. Во второй части алгоритма осуществляется моделирование продолжительности выполнения работ, расчет длины критического пути и построение эмпирической функции распределения продолжительности выполнения всего проекта в виде гистограммы. Алгоритмом предусмотрено первоначальное определение нижней (LmiD) и верхней (Lmax) границ гистограммы, для чего сеть реализуется Ny раз, причем Ni<^N — количества реализаций сети для получения гистограммы, h = шах~ "''"—шаг гистограммы, т — задаваемое заранее количество разрядов гистограммы, Ro(Rm+i) — счетчик числа реализаций, в которых L меньше (больше), чем Lmin (Z-max), Rj (/'= 1. • • ■,'")— количество реализаций, в которых L удовлетворяет условиям Lmin+jh*C 4,L<Lmtn+(i+\)h. По гистограмме ао, ai, . . . , Rm< Rm+\ может быть построена эмпирическая функция распределения времени выполнения проекта в целом, или функция распределения самого раннего срока свершения завершающего события. В качестве стандартного закона распределения продолжительности выполнения работ может быть произвольно принят либо закон бета-распределения (2.4.7), формируемый на основе двух оценок а и Ь, либо треугольный закон распределения, либо принятый в системе ПЕРТ классический закон бета-распределения, задаваемый тремя оценками а, т и■"&< В первом случае в памяти ЭВМ имеется таблица чисел r\\, tj2, ..., г)р таких, что/7(ч/) = — (*'=1, ..., р), где F(х) —функция
§ 8] НЕКОТОРЫЕ МАШИННЫЕ АЛГОРИТМЫ 227 распределения случайной величины rjo, i, распределенной по закону (2.4.7), то есть х F(jc)=rl2 f t(t — \fd( = 3x4 — 8^ + 6x2. (4.8.1) о Если | — случайная величина, распределенная по равномерному закону на отрезке [0, 1], a q = [pt,\+l, то ц„ аппроксимирует случайную величину %, ь Равномерно распределенная случайная величина £ вырабатывается либо датчиком случайных чисел, либо при помощи псевдослучайного процесса. Далее определяются искомые реализации времени выполнения работы |tt (ц=1, ..., п) по формулам Ед = ац+(6ц—ац)г|о,1 (ц— U • • •> *)■ Совокупность чисел г); представлена в таблице 12. Таблица 12 1 1 2 3 4 5 6 7 8 Значение S 0,053 0.094 0,124 0.150 0.173 0,194 0,214 0.234 1 9 10 11 12 13 14 15 16 Значение \ 0,252 0,271 0.289 0,306 0,324 0,341 0,359 0,377 17 18 19 20 21 22 23 24 Значение \ 0.395 0.413 0,431 0,450 0,470 0,490 0,510 0,532 25 26 27 28 29 30 31 32 Значение \ 0,555 0,580 0,606 0,636 0,669 0,708 0,757 0.835 Для случая классической методики ПЕРТ И. Е. Май- злнным [41] предложена следующая процедура моделирования, идея которой ранее описана в § 1 настоящей главы. Сохраняется допущение системы ПЕРТ, что дисперсия случайной продолжительности работы £ равна D = —36 и пусть | задается тремя оценками: а, т и ft. Пусть величины гп,..., г\к имеют бета-распределение на отрезке [0, 1], одинаковые дисперсии, равные цр и мода у т],- (i= I,..., k) равна jgjtn • Образуем т1 = ? ~£ 15*
'228 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV и вместо | будем рассматривать величину 1=11,,,, если Данный способ реализован [42] для k = A. В памяти ЭВМ хранятся таблицы 7\ и Т2 случайных чисел, аппроксимирующих распределения rji и г|2. Случайная величина |, рассматриваемая вместо £, получается по формуле а -\-{Ь — в)%, если а-\-{Ь — а)г\2> если Ь— (Ь — а)ц2, если b — (b — а) г|р если Совокупность Tt представлена в таблице 13 и содержит 64 числа, получаемые следующим образом. Параметры а и В соответствующего бета-распределения удовлетворяют уравнениям 125а3 + 31а2—100а — 24 = 0, 6 = 4а, приближенное решение которых (с точностью до 0,0001) есть а = 0,8913; р = 3,5652. Так как в (18913- 4 5ооц = 21'801 (см. формулу (2.1.2) с р = а+\ и q = $+\), то имеем следующее выражение для функции плотности (на отрезке [0,1]): р(х) = 21,801лг°-8Э13(1 — х)3*652. Далее приближен- Таблица 13 1 1 7 13 19 25 31 37 43 49 55 \ 0,016 0,092 0,138 0,179 0,219 0,260 0,303 0,351 0,407 0,479 1 2 8 14 20 26 32 38 44 50 56 61 ч< 0,039 0,100 0,145 0,186 0,226 0,267 0,311 0,360 0,417 0,493 0,594 1 3 9 15 21 27 33 39 45 51 57 62 \ 0,052 0,108 0,152 0,192 0,232 0,274 0,318 0,369 0,428 0,509 0,631 < 4 10 16 22 28 34 40 46 52 58 63 л\ 0,064 0,116 0,159 0,199 0,239 0,281 0,326 0,378 0,440 0,526 0,671 / 5 11 17 23 29 35 41 47 53 59 64 ^ 0,074 0,123 0,165 0,206 0,246 0.288 0,334 0,387 0,452 0,546 0,750 1 6 12 18 24 30 36 42 48 54 60 Щ 0,083 0,131 0,172 0,212 0,253 0,296 0,342 0,397 0,465 0,568 min 1 ti i ^ k А+.1 ■rtv- (4.8.2) /re1 < 0,3, 0,3 < /re1 < 0,5, 0,5 < m1 < 0,7, 0,7 < /re1. (4.8.3)
$8| НЕКОТОРЫЕ МАШИННЫЕ АЛГОРИТМЫ 229 ным интегрированием определяются корни yh уравнения \ p(x)dx = -jr£ для k = 0, 1,.. ., 64, и совокупность чисел и *h= y*~t~'/fr+l (fe = 0, 1, .. ., 63) составляет таблицу 7\. Параметры а и В для совокупности Т2, представлен- Таблица 14 / 1 7 13 19 25 31 37 43 49 55 "< 0.060 0,210 0,272 0,321 0,365 0,408 0,451 0.497 0,548 0,610 ( 2 8 14 20 26 32 38 44 50 56 61 *1 0,124 0,222 0,280 0,328 0,372 0,415 0,459 0,505 0,557 0,622 0.705 ; 3 9 15 21 27 33 39 45 51 57 62 1/ 0,149 0,233 0,289 0,336 0,380 0,422 0,466 0,513 0,567 0,635 0,730 1 4 10 16 22 28 34 40 46 52 58 63 Ч 0,168 0,243 0,297 0,343 0,387 0,430 0,474 0,5~2> 0,577 0,650 0,765 ( 5 11 17 23 29 35 41 47 53 59 64 ч< 0,183 0,253 0,305 0,350 0,394 0,437 0,481 0,530 0,587 0,666 0,815 / 6 12 18 24 30 36 42 48 54 60 Ч 0,198 0.262 0,313 0,358 0,401 0.444 0,489 0,539 0,598 0,684 ной в таблице 14, удовлетворяют уравнениям 125а3 — 3 ■—82а2 — 400а—192 = 0,р = -2а- Приближенное решение (с точностью до 0,0001): а = 2,3205, 6 = 3,4807. Вид функции плотности: р{х) = 109,05л:2.3205 (1 — х)3'4807( 109,05 = = [В(3,3205; 4,4807)]-!), a 64 числа {х\}, составляющие совокупность Т2, получаются аналогично предыдущему, В составленной программе [41], реализующей данный алгоритм для ЭВМ М-20, время счета определяется при« ближенной формулой t~25(o~lNnk секунд. (4.8.4)' Здесь со — быстродействие машины (число операций в секунду), п — количество работ, ;V — количество опытов (реализаций сети), k — среднее число работ, предшествующих каждой работе сети (&~1,5). Программа осу« ществляет статистическое моделирование сетевых проектов малого и среднего объема (не более 1000 работ) и
230 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV позволяет определить плотность распределения самого раннего срока свершения завершающего события (то есть плотность распределения продолжительности выполнения всего сетевого проекта) и вероятности попадания каждой из работ сети на критический путь. Опишем алгоритм определения для сетевой модели среднего объема р-квантильных оценок самого раннего срока свершения не более чем k произвольно выбранных событий [52]. Заметим, что алгоритм предполагает предварительное упорядочение сети по входящим в нее событиям. Он работает параллельно для всех k (в реализованной программе /z4>40) событий согласно следующей процедуре. Первая часть алгоритма состоит в нахождении для выбранного события k в заданной сети десяти квантилей Wi(k),...,Wi0(k) (4.8.5) следующим образом: 1. Для каждой работы (i, j) заданной сети задаются две оценки: tmin(i, /) и tmaX(i, /), то есть a(i, /) и b(i, j). 2. При помощи алгоритма моделирования продолжительности работ (§ 1 главы IV) для каждой работы (i, /) определяется ее промоделированная продолжительность 3. При помощи чисел t(i, j) и алгоритма определения ранних сроков находим T(k)—наиболее ранний возможный срок свершения события k. 4. Запоминаем T(k). 5. Этапы 2—4 составляют так называемый «розыгрыш». Проведем первый цикл таких «розыгрышей». Он состоит из 100 «розыгрышей». В результате получаем 100 значений TW(k). Объединим их в множество Ai и расположим в порядке возрастания: if (А)< Т?(*)< ... < T%{k). 6. Выбираем из этих 100 чисел каждое 10-е, получаем числа, которые обозначим через wtm, w?(k) www.
§ 81 НЕКОТОРЫЕ МАШИННЫЕ АЛГОРИТМЫ 231 Верхний индекс (1) у Т показывает, что эти числа получились после первого цикла. 7. Проводим следующий цикл. Каждый цикл, начиная со второго, состоит из 30 «розыгрышей». После проведения очередного m-го цикла мы получаем еще 30 значении Г<т>(/е). 8. Добавляем их к ранее найденным при (т—1)-м цикле, то есть к множеству Лт_ь и получим новое множество А,п. Расположим числа в этом'множестве в порядке возрастания: T\m)(k)^C... <7~Г)(/г), где г=100 + 30(ш — 1). 9. Выбираем из этих 100 + 30(т—1) чисел десять с индексами 1 (10 + 3(т — 1)), 2^10 + 3 (/п — 1)), ... ..., 10(10 + 3(т—1)). Получаем числа, которые обозначим через W\m\k), ..., W[f{k). 10. Пусть а) Если для всех / (/=1, 2 10), то числа W{j"(k) являются искомыми числами (4.8.5). б) Если хотя бы для одного значения / неравенство (4.8.6) не выполняется, то переходим к выполнению еле-- дующего цикла, то есть берем m'=m+l и переходим к шагу 7. После нахождения искомых 10 квантилей переходим ко второй части алгоритма — решению задач 1 и 2. Задача 1. Пусть для некоторого события k задано число d. Требуется определить вероятность р (в процентах) того, что момент T(k) свершения события k не превзойдет числа (срока) d. Задача 2. Пусть для некоторого события k задано число р%. Требуется определить такой срок Wp(k), относительно которого мы можем быть уверены задано некоторое число б>0. Wf~X)(k) <б (4.8.6)
232 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV с вероятностью р%, что фактический момент свершения события k будет не больше, чем Wp(k). Решение задачи 1. 1. Находим такое значение /о индекса /, что 2. Берем Решение задачи 2. 1. Находим такое значение /0 индекса /, что 10/0%</»<10(у0+1)%. 2. Берем \W,., (k) — W: (k)\ (p — l0/0%) Wp{k)=Wh{k)+l J"+l" ft-^ 1^-L. (4.8.8) При помощи описанного выше алгоритма определяются р-квантили не только для одного события, но одновременно для всех остальных. Пусть В = (ku ... , kn) — множество шифров событии и kn — шифр завершающего события. Чтобы определить для каждого указанного события 10 квантилей (4.8.5), находим при помощи рассмотренных выше циклов 100, 130, 160 и т. д. значений W(kt). Запоминая в ЭВМ эти числа для заданных событий из множества В, мы после каждого цикла для каждого ki определяем Wl(ki) №'ю(&;)- Выполнение описанных циклов производится до тех пор, пока для некоторого заданного б и для всех / и kx не будет выполняться неравенство (4.8.6). Отметим, что в качестве стандартного закона распределения продолжительности выполнения работ в [52] принят двухоценочный закон бета-распределения (2.4.7). Можно предложить [92] следующие методы сокращения Объема работ при многократном просчете сети: а) исключить те работы, которые при небольшом числе пробных реализаций ни разу не оказались на критическом пути; б) не исключать полностью работы, которые редко Попадают на критический путь (это устанавливается по
§ 9] РЕАЛЬНЫЕ СИСТЕМЫ СПУ 233 малой выборке), а учитывать их только в -г части всех реализаций (увеличив в k раз их показатели критичности); в) пусть не требуется определять точное распределение продолжительности проекта, а достаточно знать только среднее значение и дисперсию. Тогда длительность работ, всегда принадлежащих критическому пути, заменяется математическим ожиданием, но после моделирования дисперсии этих работ прибавляются к дисперсии результата. Приведем данные о некоторых просчетах [92] по экспериментальной программе для электронной машины IBM-7090. Программа обрабатывает сети, включающие до 1000 событий, причем длительность отдельных работ может иметь равномерное, треугольное или бета-распределение. На выходе получается функция распределения продолжительности проекта, ее математическое ожидание и дисперсия, а также коэффициенты критичности для всех работ. Для сети из 200 работ при 10 000 реализаций машинное время просчета составляет около 20 минут для треугольного распределения и 5 минут для равномерного. Машинное время линейно зависит от количества генерируемых случайных величин, а при фиксированном числе реализаций — от количества работ в сетевой модели. Иными словами, основное время затрачивается на получение случайных чисел и пропорционально объему сети и числу реализаций. § 9. Применение статистического моделирования в реальных системах СПУ Как указывалось выше, статистическое моделирование сетевых графиков применяется главным образом для получения р-квантнльных оценок самых ранних сроков свершения событий (в том числе завершающего) с принятым коэффициентом доверия р и решения обратной задачи — определения по заданному плановому сроку соответствующего коэффициента доверия. Величина коэффициента доверия р при расчете /7-квантиля должна задаваться в зависимости от сложности и новизны вновь
234 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV создаваемого комплекса. В настоящее время в нашей стране обычно задаются значением р в пределах 0,7— 0,8, ряд зарубежных авторов считает значения р оптимальными в пределах 0,45—0,55. Последняя точка зрения подвергается критике [45], поскольку заниженные значения р, особенно в случае необходимости создания нового комплекса большой сложности и новизны, могут привести к существенным погрешностям ввиду того, что разброс оценок продолжительности выполнения работ у таких проектов обычно очень велик. Учитывая тот факт, что статистическое моделирование сетевых графиков большого и среднего объема на ЭВМ требует значительно больших затрат машинного времени, чем аналитический расчет по средним оценкам, целесообразно поставить вопрос: в каких случаях применение статистического моделирования в реальной системе СПУ является оправданным? Ч. Г. Найдов-Железов предлагает [45] для ответа на этот вопрос использовать критерий, названный им коэффициентом неопределенности разработки: k=W^lC)~^, (4.9.1) 'Кр где k — коэффициент неопределенности разработки, Wp=:i(c)—р-квантиль самого раннего срока свершения завершающего события с при коэффициенте доверия Р=1, /|ф — продолжительность критического пути, определенная по средним значениям оценок продолжительности работ. Как вытекает из определения коэффициента k, его можно использовать лишь в случае необходимости оценки времени выполнения разработки в целом, то есть самого раннего срока свершения завершающего события с. Полученную величину коэффициента неопределенности необходимо сравнить с величиной, называемой допустимой погрешностью планирования 6Пл [45], которая обычно принимается равной 0,04-^0,1. Коэффициент бпл, разумеется, может быть принят произвольно малым в зависимости от потребной точности. Если k-*CbBSl, то использование метода расчета самого раннего срока свершения завершающего события по
§ 9] РЕАЛЬНЫЕ СИСТЕМЫ СПУ 235 средним оценкам продолжительности работ является вполне обоснованным. В этом случае применение статистического моделирования нецелесообразно, <гак как при значительном увеличении затрат машинного времени точность расчетов существенно не возрастает. Если А>бпл, то для определения самых! ранних сроков свершения события необходимо пользоваться методом статистического моделирования. Оценку сверху значения коэффициента неопределенности k можно найти по следующей формуле: /fe'=/p(C)7*~'KP, (4.9.2) *кр где (р(с)тах — продолжительность критического пути, рассчитанная при максимальных (пессимистических) оценках продолжительности всех работ. Если количество «розыгрышей» jV конечно, величина k' больше значения k. При неограниченном увеличении числа jV величина k приближается снизу к значению k' и в пределе (по вероятности) ее достигает. Поэтому, если &'^бпл, применение статистического моделирования заведомо не является оправданным. Значение коэффициента неопределенности k зависит от сложности топологии сети и размаха вариации продолжительности работ и определяет, таким образом, сложность и новизну вновь создаваемого комплекса в численном виде. Чем они выше, тем более необходимо использовать аппарат статистического моделирования, позволяющий получить оценки параметров сетевой модели с произвольной степенью точности. В качестве примера приведем исследование эффективности применения статистического моделирования для конкретной сетевой модели в одной из отечественных систем СПУ. Сопоставление методов детерминированного расчета по средним значениям и статистического моделирования проводилось на реальной разработке СКВ завода ВЭФ — разработке новой модели телефонного аппарата ТА-66-Э, рассчитанной на длительный срок (конец 1966 г.) [28, 29]. В целях экспериментального исследования, оценки и последующего внедрения аппарата статистического
®-шг<§> О.
§9) РЕАЛЬНЫЕ СИСТЕМЫ СПУ 237 моделирования было принято решение осуществлять расчет сетевых моделей разработки ТА-ё&Э одновременно двумя способами — по детерминированной усредненной схеме с применением двухоценочной методики и методом статистического моделирования (также используя двухоценочную методику). В обоих случаях в качестве заданного закона распределения продолжительности выполнения работ со случайными оценками было принято бета-распределение с плотностью Р(*)=1!Г=ф(*-я)(Ь-хК (4.9.3) Расчет параметров сетевого графика детерминированным способом осуществлялся на ЭВМ БЭСМ-2, а методом статистического моделирования — на ЭВМ М-20 с помощью описанных выше (§ 8) программ [29, 42]. Разработка проекта ТА-66-Э включала в себя разработку эскизно-технического проекта и разработку рабочей документации телефонного аппарата, а также изготовление образцов опытной серии. Сетевой график разработки ТА-66-Э представлен на рис. 10. Отметим, что ряд составляющих сетевой график работ имеет среднюю продолжительность около года и большой диапазон разброса значений, например работы 1—5 (разработка технического проекта разговорного тракта), 1—41 (разработка микротелефонов) и ряд других работ. После составления сетевого графика по усредненной детерминированной схеме был выявлен критический путь, проходящий через работы, связанные главным образом с конструированием вызывного устройства и доработкой конструкции, а также изготовлением одной из модификаций телефонного аппарата. Он имеет продолжительность 720 дней. Параллельно этому расчету была построена функция (а также плотность) распределения срока свершения конечного события методом статистического моделирования. Результаты моделирования (проект ТА-66-Э, первый просчет) представлены на рис. 11, где кривая /—• плотность распределения времени выполнения проекта по детерминированной схеме, а кривая 2 — полигон
238 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV распределения времени выполнения проекта методом статистического моделирования. Плотность распределения времени выполнения проекта по детерминированной схеме получена на основании методики системы ПЕРТ с помощью детерминированной усредненной схемы. Отметим, что количество «розыгрышей» сетевого проекта при моделировании было равно 1000, что исключало какие-либо влияния погрешности оценки собственно метода Монте-Карло. Время моделирования сетевого графика на ЭВМ М-20 не превысило 6 минут, что является весьма небольшим временем, вполне приемлемым для любой разрабатывающей организации. Срони б днях Рис. 11. Представленные на рис. 11 результаты сравнения убедительно показывают, что для анализируемого сетевого проекта метод усреднения дает оценки с большой погрешностью, существенно отличающиеся от результатов, полученных с помощью статистического моделирования. В частности, длина критического пути (720) на 75 дней меньше полученного методом Монте-Карло среднего значения, а соответствующие р-квантильные оценки (для р = 0,7, 0,8 и др.) отличаются более чем на 100 дней. Коэффициент неопределенности k, вычисленный по формуле (4.9.1), равен 0,2, что превышает предельное значение бпл- Таким образом, результаты моделирования подтверждают анормальность и мультимодальность плотности распределения и позволяют существенно уточнить доверительные оценки параметров сетевого графика (особенно для сроков свершения перспективных событий). Дальнейшее применение статистического моделирования сетевого графика разработки ТА-66-Э позволило су-
§ 9] РЕАЛЬНЫЕ СИСТЕМЫ СПУ 239 щественно уточнить прогнозируемые сроки выполнения проекта и некоторых важнейших входящих в сетевой график событий. Помимо описанного выше расчета (август 1964 г.), сопоставление статистического и детерминированного методов производилось еще для двух сетевых графиков разработки ТА-66-Э (декабрь 1964 г. и январь 1965 г.), построенных по мере хода разработки. Результаты срав- нения, как и при первом просчете, позволили сделать аналогичный вывод и для ряда событий скорректировать сроки их свершения. В заключение параграфа отметим, что, судя по ряду публикаций, статистические методы (в частности, метод статистического моделирования) применяются не только в системах СПУ, но и в ряде других сложных случайных систем, в частности в так называемых системах организационного управления. В последние годы в связи с усложнением структуры вновь создаваемых объектов, а также с повышением требований к их эффективности особое значение приобретает задача организационного управления, специфической особенностью которой является воздействие людей на управляемую систему. Систему, предназначенную для обеспечения нормального функционирования организации путем координирования работы отдельных ее частей таким образом, чтобы ее деятельность как единого целого наилучшим образом содействовала достижению стоящих перед ней целей, называют системой организационного управления. Чтобы применить статистические методы к рассмотрению системы организационного управления, необходимо изучить ее структуру и проходящие в ней сигналы. Эта система должна выполнять принимаемые руководством решения, обладать возможностями для измерения своего «выхода» и средствами для сравнения выхода с задающим входом. Цель системы при выполнении определенной работы определяется технико-экономическими показателями плана, выраженными в виде затрат труда и материальных средств, стоимостью и календарными графиками. В качестве примера отметим, что полный план реализации какого-либо проекта включает не только
.240 ПРИМЕНЕНИЕ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ [ГЛ. IV определение конкретных заданий различным структурным элементам системы, календарный график и его расчетную стоимость, но и предусматривает также методы контроля и оценки текущих результатов с целью изменения управляющего воздействия при соответствующем изменении ситуации. Наиболее известной системой, позволяющей рассматривать некоторые из проблем организационного управления и использующей машинную обработку данных, является система сетевого планирования и управления. Однако она позволяет решать только ограниченный класс задач. Другим видом подобной системы является система непрерывного оперативно-календарного планирования, известная в СССР под названием Новочеркасской системы. В связи с большой важностью проблемы функционирования сложной системы организационного управления в последнее время были сделаны попытки разрешить эту проблему путем разработки и экспериментального опробования различных видов систем управления. Так, в США с успехом используется в ряде фирм, таких, например, как «Boeing» и «STL» [82, 85, 88], система конфигурационного руководства (или, как иногда ее называют, система определения состава изделия), включающая в себя систематическую идентификацию, управление и учет элементов системы: оборудования, различных устройств, документации, запасных частей и т. д. Система конфигурационного руководства применяется на следующих основных этапах создания новых объектов: 1) на этапе осознания необходимости создания данного комплекса проектов; 2) на этапе разработки и проектирования; 3) на этапе изготовления; 4) на этапе установки и опробования; 5) на этапе использования, и обеспечивает достижение следующих целей: 1) полного и точного описания конфигурации (состава и свойств) конечных изделий в течение всего периода времени, начиная с момента выпуска первого чертежа; в связи с этим составляются детальная спецификация и чертежи конечного изделия;
§9] РЕАЛЬНЫЕ СИСТЕМЫ СПУ 241 2) постоянной идентификации реального (физического) изделия со всей документацией на проектирование и разработку последнего; 3) внесения изменений конфигурации конечных изделий в соответствующий документ для систематической их взаимоувязки и оценки перед утверждением и реализацией; 4) внесения соответствующих изменений во все обслуживающие элементы: в технические руководства, в запасные части, в эксплуатационное и испытательное оборудование и т. д. — при внесении утвержденных изменений в конфигурацию конечного изделия; 5) определенного состояния программы и необходимых корректирующих воздействий, вытекающих из внесенных изменений. Как уже отмечалось выше, системам конфигурационного руководства придается в США большое значение. При создании сложных систем или изделий они занимают равное с системами класса ПЕРТ положение. Более того, эти две системы должны рассматриваться как дополняющие друг друга. Действительно, если при отработке нового сложного изделия происходит большое количество изменений, применение систем сетевого планирования и управления становится затруднительным и приобретает характер лишь общей оценки хода разработки. Напротив, система конфигурационного руководства в этих условиях оказывается исключительно ценной и может оказать существенную помощь системе сетевого планирования и управления. Аналогичное взаимодействие имеет место и с системой непрерывного оперативно-календарного планирования (известной в США под названием LOB = Line of Ba- lanse). Эта система хорошо работает в том случае, когда изделия не подвергаются изменениям. Поэтому четкое управление внесением изменений, обеспечиваемое системой конфигурационного руководства, создает условия для применения системы непрерывного оперативно-ка« лендарного планирования.
ГЛАВА V СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ § 1. Математическое описание стохастической сетевой модели комплекса операций Впервые понятие стохастической сетевой модели комплекса операций упоминается в работах Эйснера и Эл- маграби [68, 69], в которых исследуется возможность использования сетевых моделей типа ПЕРТ для анализа сетевых проектов, в которых работы и события не носят фиксированного характера и содержат логические отношения весьма сложной природы. В настоящее время термин «стохастическая сетевая модель» является общепризнанным [47] термином теории больших систем. Главной отличительной особенностью процесса разработки новых сложных комплексов является вероятностный характер поведения руководителя разработок и наличие ситуаций, в которых возможно принятие решений. Действительно, основное отличие разработки новою сложного комплекса (например, объекта новой техники) от разработки несложного объекта заключается в различной степени неопределенности объекта разработки, в наличии таких ситуаций в случае проектирования сложного комплекса, для которых непреложным фактом является принятие решений в ходе развития проекта, иногда альтернативных, в существовании выбора из множества исходов. А это требует введения новых логических отношений. Если проследить развитие процесса разработки с момента зарождения идеи до ее воплощения в законченный объект, то характерной особенностью этого процесса по сравнению с обычными, изучавшимися ранее явится неопределенность в технических способах реализации комплекса операций, приводящего к поставленной цели, наличие такого рода событий, после которых ста-
§ 1] МАТЕМАТИЧЕСКОЕ ОПИСАНИЕ 243 вится вопрос, по какому из возможных путей следует продолжать разработку, чтобы наилучшим образом до- стичь цели. Таким образом, характерным признаком разработки объекта новой техники является тот факт, что в своем развитии отдельные направления разработки ветвятся на поднаправления, образуя несколько исходов. В местах разветвлений возникают альтернативные события, в которых приходится принимать решение о вариантах дальнейшего развития разработки, то есть производить выбор из множества исходов. Как известно, выбор из множества исходов в общем случае является сложной задачей, которая решается не всегда однозначно. Поскольку общих правил для выбора не существует, часто прибегают к методу последовательного приближения путем проб и построению такой модели, которая позволяла бы осуществить моделирование процесса выбора. Таким образом, ставится задача построения кибернетической модели разработки нового сложного комплекса, в которой объект моделирования должен быть отображен главным образом исходя из информационных аспектов, связанных с процессами управления разработкой этого комплекса. Эти особенности процесса разработки новых комплексов могут быть отображены стохастической сетевой моделью, которая содержит логические отношения более сложной природы, чем сетевая модель типа ПЕРТ, и позволяет путем введения ветвящихся узлов смоделировать принятие решения в местах разветвлений и оценить вероятность каждого исхода и время его реализации. Стохастическая сетевая модель с множеством исходов, являясь дальнейшим развитием сети типа ПЕРТ и обладая расширенной логической системой, дает возможность полнее отобразить процесс разработки и создания нового сложного комплекса. При помощи математической обработки она позволяет оценить время реализации возможных альтернативных исходов, которые, как правило, появляются при выполнении научно-исследовательских и опытно-конструкторских работ, занимающих большое место при разработке и создании объектов новой техники. 16*
244 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ (ГЛ. V Выше, в § 3 главы I, уже отмечалось, что основное отличие стохастической сетевой модели комплекса операций от нестохастической заключается в том, что она учитывает неопределенность не только в смысле времени выполнения отдельных работ, но и случайность их появления. Для этой цели в стохастическую сетевую модель вводится логическая операция ИЛИ в исключающем и не исключающем смысле, которая реализуется на ряде альтернативных событий, отображающих узлы ветвления направлений и означает: 1) продолжение работ по одному, или по обоим направлениям вместе при реализации логической операции ИЛИ в неисключающем смысле; 2) продолжение работ по одному или по другому, но не по обоим направлениям вместе при реализации логической операции ИЛИ в исключающем смысле. Получающаяся при этом стохастическая сетевая модель отображает процесс разработки с множеством исходов, на основе которой может быть решена одна из наиболее сложных проблем прогнозирования — прогнозирование развития отдельных направлений разработки большой системы с оценкой вероятности каждого направления и времени его реализации. Пространство логических возможностей, относящихся ко всему множеству исходов стохастической сети, можно представить в виде дерева, точки ветвления которого представляют собой альтернативные события, впредь обозначаемые через а. При свершении этих событий ставится вопрос: какой из возможных путей следует избрать? При этом из альтернативных событий выходят пути двоякого рода. Во-первых, это те пути, которые в конечном итоге заканчиваются одним из возможных исходов и нигде не имеют точек объединения с аналогичными альтернативными путями. Такого рода пути называются разъединительными. Во-вторых, это те пути, которые в конечном итоге заканчиваются объединением с одним или несколькими аналогичными путями, начинающимися в других альтернативных событиях. Такого рода пути называются соединительными,
5 И МАТЕМАТИЧЕСКОЕ ОПИСАНИЕ 245 Очевидно, один и тот же путь может стать по смыслу как разъединительным, так и соединительным, в зависимости от того, с каким из возможных путей он сравнивается, или в зависимости от реализации того или иного исхода. Следует отметить, что и соединительные, и разъединительные пути, рассматриваемые с точки зрения возможных исходов, могут объединять целые комплексы работ и простых (неальтернативных) событий, являясь обобщением соответствующих фрагментов стохастической сети. В общем случае соединительные и разъединительные пути представляют собой последовательности альтернативных событий и «работ», в которых возможные исходы каждого последующего события зависят от исходов предыдущих. Каждой конкретной последовательности исходов, как уже было сказано, соответствует определенный разъединительный (соединительный) путь на логическом дереве, или дереве исходов. Отрезки, составляющие каждый путь, называются ветвями. Дерево начинается из начального события (точки), и ветви, выходящие из этой точки, образуют первый ряд дерева, или первое поколение, и т. д. Конец каждой из ветвей отвечает одному из промежуточных возможных исходов. Из каждого конца ответвляется новое множество ветвей, концы которых (если они не соответствуют соединительным путям) в свою очередь отвечают новым возможным исходам. Таким образом, дерево строится ряд за рядом до тех пор, пока не будут исчерпаны все альтернативные события в рассматриваемой последовательности. Исход каждого отдельного альтернативного события зависит от некоторых случайных факторов, заранее неизвестных и присущих научно-исследовательским и опытно-конструкторским направлениям в процессе разработки. С введением элементов случайности в исходы альтернативных событий, составляющих определенную последовательность, сама такая последовательность становится стохастическим процессом. Представив стохастическую сетевую модель процесса разработки в виде дерева логически возможных исходов и определив вероятностные функции исходов в точках
246 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ [ГЛ. V ветвления, мы приходим к ветвящемуся стохастическому процессу, анализируя и исследуя который необходимо оценить вероятность возможных исходов и время их реализации. В дальнейшем ограничимся рассмотрением стохастической сетевой модели, в которой реализуются логические операции // и ИЛИ в нсисключающем смысле. Ряд дальнейших обозначений и определений мы будем приводить в терминах теории графов [9]. Стохастическая сетевая модель есть конечный граф G(Y, U), состоящий из множества вершин Y, отождествляемых с событиями, и множества ориентированных дуг U, отождествляемых с работами. Граф G(Y, V) обладает следующими характеристическими свойствами: 1. Не содержит контуров и петель. 2. Множество Y неоднородно и состоит из вершин х£Х, реализующих логическую операцию И на входе и на выходе, то есть вершин типа используемых в системах СПУ, и альтернативных вершин а€Л (впредь обозначаемых: ос-вершины), реализующих на выходе логическую операцию ИЛИ. Заметим, что Y=X[)A, \Y\ — = \Х\ + \А\. Через | | здесь обозначается количество элементов соответствующего множества. 3. Рассмотрим множество всех подграфов Gh(Yk,Uh) {k=l, ..., п), обладающих следующими свойствами: а) а£ Yh\ а — начальная вершина Gh(Yh, Uh). б) YhCzTa, где Га — транзитивное замыкание отображения вершины а, определяемое [9] следующим образом: Га = {а)иГаиГ2аиГ3аи..., (5.1.1) где Г2а = Г(Га), Г* = Г(Г2) и т. д., то есть Га — множество вершин графа (не обязательно аль* тернативных), которые можно достигнуть из данной вершины а за один шаг (под шагом понимается переход от одной вершины к другой по исходящей дуге); Г„ — множество вершин графа (тоже не обязательно альтернативных), которые можно достигнуть из а за два шага и т. д.;
§ 1) МАТЕМАТИЧЕСКОЕ ОПИСАНИЕ у 247 Га — множество вершин графа, которые вообще можно достигнуть рано пли поздно, отправляясь от вершины а; в) если t/o € Кл, то из отношения (у1, у0) £ U вытекает отношение (у1, у0) € £/*; УоФа; Случай Й Рис. 12. г) конечной а-вершиной графа G& (У/,, Uh) может быть только сс-вершина графа G(Y, U); Д) ДПЛП ... ПД, = а; (5.1.2) е) если для каких-либо двух вершин у1 и у11 существует путь вида (у1 а уЩ, то и любой другой путь вида (у1, ..., у11) содержит альтернативную вершину а.
248 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ [ГЛ. V Свойства а)—е) определяют множество Gh(Yh, Uh) (k = 1,..., п). Допускается возможность как I. ХХГ\Х2{\ .. .пХпФф(ф—пустое множество), (5.1.3) UX[\U2[\ ... пипФф, (5.1.4) так и II. Л',П*2П ... ПХ„ = ф, (5.1.5) £/,п£/2П ... П */„ = *• (5.1.6) Из последних соотношений следует, что для случая I 1,\ик\ф\аа\. (5.1.7) а для случая II £|£/,| = |*/а|. (5-1.8) Л — 1 где | ^-количество дуг, образованных вершинами Га. Стохастическую сеть (граф G(Y, U)) назовем вполне разделимой, если она удовлетворяет условиям (5.1.5), (5.1.6) и, следовательно, (5.1.8). Простейшие примеры стохастических сетей, обладающих указанными свойствами, приведены на рис. 12. 4. С каждой а-вершиной связан один-единственный реализующийся подграф Gh(Yh, Uh), получаемый из соотношения Gk (К* Uh) = О, (Г,, U,) VG2 (V2, U2)\J ... ... VG„(r„, c/„) (5.1.9) (V — знак разделительного ИЛИ) в соответствии с некоторым правилом выбора, причем п=0 или и=2, 3, ... (5.1.10) Каждому Gh(Yk, Uh) (k—\, 2, .. ., п) отнесено некоторое неотрицательное число рл<1 такое, что п Sa=*1. (5.1.11)
§ I] МАТЕМАТИЧЕСКОЕ ОПИСАНИЕ 249 Значение ph можно определить как априорную вероятность возможного исхода, в результате которого реализуется подграф Gh{Yh, /У,,). Каждой дуге иц£ U отнесено случайное число £tj^0, отождествляемое с длиной дуги tin пли временем выполнения t(i, j) работы (i, j) и определяемое своей функцией распределения f(xn) на интервале (ац, bij), где a,-,-, 6,j — задаваемые ответственными исполнителями оценки времени выполнения работы (/, /), в соответствии с методикой системы СПУ. Каждой вершине XidX (или а,-€ Л) отнесено число 7",-, отождествляемое с длиной максимального пути до вершины или со временем свершения события Х;(а.(). Введем некоторые преобразования графа G(Y, U), приводящие к уже упоминавшемуся в предыдущих параграфах, так называемому, частичному графу, или дереву исходов D, и введем некоторые определения [2]. Определение 1. Конечный граф D(A, V) есть дерево исходов с корнем ао€ Л, если 1) .в каждую а-вершину входит одна-единственная ветвь v £ V; 2) D(A, V) не содержит контуров; 3) D(A, V) есть частичный граф графа G(Y, U). Здесь А — множество а-вершин, содержащихся в G(Y, U), а V — множество ветвей дерева исходов, причем понятие ветви будет дано ниже. Определение 2. Две а-вершины в графе G(Y, U) а; и a.j называются смежными, если любой путь, соединяющий их, состоит только из простых (нсальтернатив- ных) вершин. Определение 3. Последовательность дуг и вершин, образующих максимальный путь (пути) между двумя смежными а-вершпнами а,-, а,-, отождествляется с ветвью y,-j<E V с длиной тц, равной длине этого пути (путей). Если Kij — &-й путь, связывающий вершины I и /, m — общее количество путей, связывающих вершины i,j, то xu = max{L(kf})}, /6=1, .... от, (5.1.12)
250 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ [ГЛ. V где L\%ij)—длина k-vo пути, связывающего ос-вер* шины а, и щ, a hj = (Xt, ■■•> •«/)=(«/,/,; «;,У2. •••> "У-1, ))■ Определение 4. Совокупность а-вершин, которые можно достигнуть из корня ао£/1 за п шагов, относится к n-му поколению дерева исходов D(A, V). Используя обратное отображение для каждой а-вер- шины дерева исходов D(A, V), имеем а0 = Та", где п — номер поколения, к которому принадлежит данная а-вершина щ. После изложения математической формулировки понятия стохастической сетевой модели и определения ее основных элементов остановимся на некоторых свойствах, вытекающих из этих определений. Сделаем это, пока не вдаваясь в существо тех логико-математических преобразований, на основе которых получается дерево исходов D(A, V) из стохастической сети G(Y, U). Ведь D(A, V) есть тоже стохастическая сеть, в которой вместо дуги UijdU фигурирует понятие ветви y,-j£ V, длина которой является случайной величиной, определяемой в соответствии с (5.1.12) на основе длин дуг, составляющих определенный фрагмент G(Y, U). Понятию пути в D(A, V) соответствует понятие разъединительного пути, обозначаемого через r£R (/?— множество разъединительных путей на дереве исходов D(A, V)), причем длина разъединительного (соединительного) пути L(r) есть сумма длин ветвей, его составляющих. Если стохастическая сеть представляет собой вполне разделимый граф, то она может быть достаточно просто разделена на отдельные нестохастические сети с одним начальным и одним или несколькими конечными событиями и, таким образом, сведена к составляющим ее транспортным сетям, к каждой из которых в отдельности применимы существующие методы исследования [34]. Последующие обозначения, как будет видно из изложения, в основном привязываются к дереву исходов D(A, V), которое играет весьма существенную роль в математической модели комплекса операций. Напомним
§ 2! МОДЕЛЬ КАК ВСРОЯТНОСТНЫП ВЕТВЯЩИЙСЯ ПРОЦЕСС 251 основные из уже использовавшихся обозначений. Здесь п — номер поколения, к которому относится i'-я а-вер- шина; N — максимальное количество поколений, характеризующих данное дерево исходов D(A, V); I — номер начала ветви од / — номер конца ветви и,> В заключение необходимо отметить следующее. Построение стохастической сетевой модели производится в несколько приемов: 1. Определяется множество А всех альтернативных событий, в которых ожидаются решения, важные сточки зрения технического существа разработки, и которые ведут к различным способам достижения поставленной цели. 2. Для каждого возможного исхода альтернативного события составляется соответствующий вариант (фрагмент) модели. 3. Каждому исходу приписывается (или определяется) априорная вероятность его реализации. 4. Производится оценка времени составляющих сетевую модель работ либо на основе детерминированных данных, либо с помощью методики, изложенной в § 1 главы III (система ПЕРТ) или в § 1 главы IV (метод статистического моделирования). § 2. Стохастическая сетевая модель как вероятностный ветвящийся процесс Содержание настоящего параграфа в основном посвящено изложению результатов, полученных Н. Архангельским [2, 3]. Прежде всего остановимся на вопросе представления процесса разработки нового сложного комплекса в виде логического дерева исходов. Основная идея такого представления заключается в том, что, представив стохастическую сетевую модель процесса разработки в виде дерева D(A, V) и определив вероятностные функции исходов в точках ветвления, приходим к ветвящемуся стохастическому процессу, исследуя который можно прогнозировать ход проектирования сложного комплекса, оценить вероятность возможных исходов и время их реализации.
252 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ (ГЛ. V Дерево D(A, V) является обобщением стохастических сетей, для которых действительна Теорема 1. Любое наперед заданное дерево исходов D(A, V) может служить преобразованием множества стохастических сетей Gi(Yt, Ui) (i=\, .... п), являясь их частичным графом, если 1) At = A при Yi = Ai + Xi\ 2) топологическая структура связей альтернативных вершин идентична для всех Gi(Yit Ui) и D(A, V); 3) соответствующие а-вершины в преобразованных стохастических сетях — D(A, V) —связаны ветвями одинаковой длины (подчиненными одинаковым законам распределения). Доказательство. Пусть имеем D(A, V), каждой ветви которого поставлено в соответствие некоторое число Tjj€ Т (Т — множество длин ветвей D(A, V)). Согласно определению, длина каждой ветви Xij=max {/.(л.?^)}, k k== 1, 2,..., где LiXij)—длина k-vo пути, связывающего а-вершины i и /. Таким образом, Xij = (ar, Х\, ..., Х[, aj) = (ui , Ui И/ Л, где а,-, а; — альтернативные вершины, связанные путем ),ц (индекс пути опущен); ии —дуга, непосредственно исходящая из а,; щ.— дуга, непосредственно входящая в ay, Xi,..., xt — неальтернативные вершины, образующие путь между а* и ау Так как хц определяется лишь критическим путем (путями) с L(Xi})m&x, характеризующим фрагмент стохастической сети, преобразованный в ветвь у,-,- (то~у,;), то каждый другой путь с L(X{j) <Ь(Хц)тах может быть дополнен произвольным количеством вершин и дуг, соответственно, таким образом, чтобы длина T,j = const. Но введение по крайней мере одной новой вершины означает построение новой стохастической сети по сравнению с той, для которой уже существовало рассматриваемое дерево. По индукции можно получать новые и новые стохастические сети, что доказывает теорему. Математически это выглядит следующим образом. Пусть G(Y,U) — исходная стохастическая сеть, a D(A, V)—частичный граф исходной стохастической сети, то есть G(V, V) гэ
§ 2] МОДЕЛЬ КАК ВЕРОЯТНОСТНЫЙ ВЕТВЯЩИЙСЯ ПРОЦЕСС 253 zdD(A, V). Нетрудно видеть, что Y = AUX, U, Yx = A\SX\$\xUx\, Ui = U\}{Ui+t,ll, «l+l./,}.. Y2 = A[)XU {xi+uXt+г}, U2 = Ui U {щ+2,i2, m+i, j2], K8 == AUXU{xi+uXi+bXi+z}, и3 = и2и {ui+3,i3, "л-з,у3}, Y„i^A U X U {^/+ь..., xl+m\, Um=Um-iU[ui+m, im, ui+m,jm} при условии t;j = const. Существо этого утверждения заключается в том, что D(A, V) является обобщенной характеристикой стохастической сети и, установив свойства определенного де- рева исходов, можно каждый раз без проведения анализа делать выводы относительно тех сетевых моделей, для которых уже исследованное дерево исходов является вышеупомянутым преобразованием. Выше дерево исходов было определено как частичный граф D(A, V), получаемый из графа G(Y, U) и отражающий альтернативную природу ряда вершин множества Y = X\]A. Так как в дальнейшем логическое дерево D(A, V) и элементы, его составляющие, играют весьма важную роль в исследованиях, уточним уже интуитивно сложившееся понятие возможного исхода или просто исхода и введем ряд других понятий и определений. Определение 1. Исходом называется событие, заключающееся в выполнении определенного фрагмента стохастической сети, относительно действительной реализации которого могут быть сделаны лишь вероятностные предположения. Считается, что данный фрагмент и другие мыслимые и обозримые во времени фрагменты стохастической сети являются следствием выполнения альтернативного события, после свершения которого возможны по крайней мере два или более вариантов продолжения разработки, приводящие к достижению поставленной цели. При этом необходимо руководствоваться основным принципом, известным из теории вероятностей, что любым двум эквивалентным в смысле
254 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ [ГЛ. V времени выполнения и достижения поставленной цели фрагментам стохастической сети приписывается одна и та же вероятность их действительной реализации. Определение 2. ос; называется висячей вершиной D(A, V), если существует только одна ветвь, инцидентная cci. Исход, определяемый для висячей вершины, назовем финальным исходом. Очевидно, висячая вершина дерева исходов соответствует конечной вершине стохастической сети, но обратное не обязательно. Для любой сс-вершины существует разъединительный путь от а,- к а0, обозначаемый через г.) — индекс финального исхода. Таким образом, под финальным исходом понимается событие, заключающееся в выполнении фрагмента стохастической сети, ведущего к достижению поставленной цели. Согласно определению D(A, V), это означает фактическую реализацию одного из конечных или висячих событий дерева исходов. Но реализация висячей вершины D(A, V) не может произойти без реализации последовательно, начиная с ссо, всех ос-вершин определенного разъединительного пути на дереве исходов. А поскольку каждый разъединительный путь на дереве исходов состоит из последовательности ветвей и а-событий, то вероятность каждого исхода может быть приписана каждой ветви D(A, V) и ее (вероятность) нужно понимать в том смысле, что это есть вероятность перехода из вершины i в вершину / по ветви Vij. Физически это означает выполнение комплекса работ, составляющих фрагмент для ветви Оц. Согласно определению, данному в предыдущем параграфе, ветвь на D(A, V) отождествляется с фрагментом стохастической сети, выполнение всех без исключения работ которого является непременным условием для того, чтобы свершилось а-событпе / после свершения а-события i и реализации этого исхода. Иначе говоря, вероятностная мера, которая приписывается определенному исходу, может быть отождествлена с вероятностной мерой, приписываемой или определяемой для каждой ветви Va логического дерева, и символизирует собой вероятность перехода из вершины а* в вершину щ по ветви ед. Так как в конечном итоге финальный исход определяется последова-
§ 2) МОДЕЛЬ КАК ВЕРОЯТНОСТНЫЙ ВЕТВЯЩИЙСЯ ПРОЦЕСС 255 тельностыо реализуемых ветвей, составляющих один- единственный разъединительный путь на D(A, V), заканчивающийся этим исходом, то естественно при решении вопроса о вероятности финальных исходов разработки и времени их реализации искать вероятностную меру на множестве /^-разъединительных путей. Элементами же, составляющими эту искомую оценку вероятности финальных исходов и времени их реализации, определяемую на множестве разъединительных путей R, должны быть, очевидно, априорные вероятности промежуточных исходов, уже введенные как некоторые числа Ph или Pi(a.i), удовлетворяющие некоторым условиям. Отсюда вытекает Определение 3. Пусть R есть множество всех разъединительных путей на дереве возможных исходов. Вероятностная мера, определенная на множестве R, называется весовой функцией путей этого дерева и определяется через вероятностные меры ветвей, составляющих каждый путь. Веса ветвей дерева исходов должны быть неотрицательны и задаются так, что сумма весов всех ветвей, выходящих из любой точки ветвления дерева, равна 1. В таком случае веса представляют собой некоторые числа, называемые вероятностными мерами, которые позволяют в теории стохастических процессов перейти непосредственно к вероятностным категориям. Для того чтобы определить вероятности возможных исходов, необходимо построить вероятностную меру на множестве путей всего дерева D(A, V), исходя из заданных вероятностей отдельных ветвей. Рассмотрим последовательность а-событий D(A, V), состоящую из трех элементов. Через г обозначим произвольный разъединительный путь. В силу условия, что пространство возможных исходов сходится к единственно возможному пути /■£/?, имеем (М/-)=а1)Л(Ы'')=а2)Л(Ы'')=аз). где Л — логический знак И, означающий совместное выполнение условий, /А — функция возможного исхода. Тогда весовая функция для данного разъединительного пути г в целом может быть записана следующим образом: pUi=«&А = 0С2Л/3=аз}.
256 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ [ГЛ. V Эту же вероятность можно записать в следующем виде: Рl/i = «il P If2 = «a/fi = Oil/' [h = <*з/ (/, = а,) Л (/2 = aj\. Если ai, cc2, a3, ... — одна из возможных последовательностей исходов, то вес /г-го исхода при условии, что исходы предшествующих к — 1 альтернативных событий описаны последовательностью ai, . . ., a;t_i, обозначаются через paii аз а*_1,„Л- Рис. 13. Из определения веса (или вероятности) ветвей следует: P[U = Vx\=PaS /'[/2 = a2//l = ai] = /Wa,i Р [h = «з/(/1 = «.) А (/а = о,)] -о /7ai Qi aj. Чтобы обеспечить справедливость всех равенств, необходимо положить вес данного пути г равным р<°) = = Р Р„ Р .то есть каждому пути приписывается вес, равный произведению весов, приписанных ветвям, составляющим этот путь. Из этого следует важный, вывод о том, что если веса путей и веса ветвей свя-
5 2] МОДЕЛЬ КАК ВЕРОЯТНОСТНЫЙ ВЕТВЯЩИЙСЯ ПРОЦЕСС 257 заны таким образом, то веса ветвей оказываются равными соответствующим условным вероятностям. Можно показать, что приведенная конструкция дерева возможных исходов определяет вероятностную меру. Для этого осталось показать, что веса всех путей положительны и сумма их равна 1. Конструктивное доказательство этого положения проведем на примере дерева исходов, пока» занного на рис. 13. Положительность весов отдельных путей следует непосредственно из того факта, что все веса разъединительных путей представляют собой произведения положительных чисел. Второе утверждение сводится к следующему (см. рис. 13). Рассмотрим соотношения Р (Oi) Р («з) Р Ы + Р («,) Р (аз) Р Ы = = Р(Щ)Р (аз) \Р К) + Р Ы\ = Р («i) P(«з)> Р («i)/> Ы Р (а10) -+• р (ах) р (а4) р (ап) = = Р Ы P К) \Р («ю) + Р («п)1 = P (<*i) P (а4). Р(Щ)Р (а5) Р (а») + Р (а,) р (а5) р (а13) = — Р Ы Р (а5) [р (а12) + р (а13)] = р (а,) р (а5), Р (а2) Р К) Р К i) + Р (а2) Р К) £ (а15) = = Pi<h)P (а6) [/> (а») + Р («is)] = /> («2) Р Ы> Р («г) /> (а7) /> («ш) + Р (а2) р (а7) /> (а17) = = P(<h)P К) [/> («1б) + Р («и)! = /»(а2) Р (а7). Просуммируем правые части соотношений P(al)P(a3) + p(al)p(ai)-+p(al)p(a5) = p(a1) и /> (а-2) /> («б) Ч- /> (а2) Р Ы «■ Р Ы- Так как /7(а,) + />(а2)-=1, то отсюда следует, что сумма левых частей, то есть весов всех путей, равна единице. Очевидно, приведенная схема доказательства может быть распространена на дерево произвольной структуры конечного объема. 17 Д. И. Голенко
258 Стохастические сетевые модели [гл. v Аналогичное доказательство можно провести для случая соединительных путей и соединительных и разъединительных вместе. Покажем это на примере задачи Эйснера [68] (см. рис. 14). Для возможных исходов А, В, С, D, E, F, G, Н имеем p(A) + p{B) + p{C) + p(D) + p{E) + p{F) + p(H) = = р(3)р (2.) р (А) + р(3)р (2,) р (В) + + p(2)p(X)p(Y)p(C) + p(2)p(X)p(Y)p(D) + + p(2)p{E) + p{b)p{F) + + p(5)p(6)p(G) + p(5)p(6)p(H) Так как р(3) р(21)р(А)-{-р(3)р(21)р(В) = = р(3)р (2,) [р (Л) + р (В)} = р(3)р (2,), р(5)р{Ь)р(0)+,р(5)р(6)р(Н) = = Р (5) р (6) [р (О) + р (//)] - р (5) р (6), P(5)p(F) + P{5)p{6) = p{5)[p(E) + p{6)]=p(5) и т. д., то p(A) + p(B) + p(C) + p(E) + p(F) + p(G) + p{H)=> ^p{3)p{2l) + p{3)p{X)p{Y) + p{2)p{E) + -+-p(5)p(F) + p(5)p(6) = p(2)[p(21) + +Р(Х)Р(У)+РЩ+Р(5) = Р&)+Р(5) = 1- Таким образом, сумма вероятностей возможных исходов, заданных согласно введенным правилам, равна 1. Изложенный способ определения вероятностей возможных исходов для любой последовательности альтернативных событий, имеющих конечное число выходящих ветвей, может быть положен в основу алгоритма расчета сетевых стохастических моделей. Теорема 2. Для каждой а-вершины D(A, V) существует один-единственный разъединительный путь, связывающий ее с корневой вершиной ао. Доказательство. D (А, V) согласно определению есть направленный граф без петель с однозначно ■ ориентированными дугами-ветвями. В каждую а-вер-
§2] МОДЕЛЬ КАК ВЕРОЯТНОСТНЫ!'! ВЕТВЯЩИЙСЯ ПРОЦЕСС 259 шину множества Л входит не более одной ветви. Следовательно, если отправляться от любой а-вершины D(A, V) и двигаться против направления дуг, то первой а-вершипой, из которой дальнейшее продвижение невозможно, будет а0-корневая а-вершина на D(A, V), Но это будет и последняя а-вершина на пути. Таким образом, любая а-вершина D(A, V) может быть соединена с а0 одним-единственпым разъединительным путем, что и утверждалось [9]. Рис. 14. Следствие 1. Количество R0 разъединительных путей D(A, V), связывающих любую а-вершину с а0, равно количеству а-вершин D(A, V) без одной, то есть |/?о| = И 1. Альтернативная вершина а0 (корень D(A, жет быть связана лишь сама с собой, но по D(A, V) не имеет петель, откуда сразу же (5.2.1). Следствие 2. Для любого дерева исходов НЛ1 — 1. (5.2.1) V)) мо- условию следует 17*
260 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ (ГЛ. V Действительно, Л={а0), |/?0| = 0, | V | = 0. так как V = <j>; Л={ао, а,}. |/?01=1. \V\ = \; Л=К а„ а2), |/?о1 = 2. |Г| = 2 и так далее по индукции: А=[<к «*)- |/?о1 = *. ^Наследств и с 3. Для каждой а-вершины D(A, V), соответствующей финальному исходу, существует единственный разъединительный путь (доказательство непосредственно). Следствие 4. Дерево исходов не может иметь соединительных путей. Последнее противоречило бы теореме 2. С настоящего момента и до тех пор, пока противное явно не оговорено, под разъединительным путем будем понимать разъединительный путь, связывающий альтернативную вершину, соответствующую финальному исходу, с ао. Если из множества разъединительных путей дерева исходов выбрать путь г*, представленный максимальным количеством п а-вершин, то п-я а-вершииа, соответствующая финальному исходу, определяет количество поколений этого дерева г* = (а,о, Оц • • •, ссп), где п — количество поколений D(A, V). Процесс разработки нового сложного комплекса, отображаемый в виде дерева исходов D(A, V), можно рассматривать как некоторую систему, характеризующуюся определенными состояниями, соответствующими а-событиям или вершинам D(A, V). В этой системе множество состояний процесса разработки можно определить как множество пар а-вершин (а^ а_,) таких, что каждой из них, согласно данному ранее определению, может быть отнесена фиксированная условная вероятность рц того, что процесс, находящийся в состоянии i, с вероятностью Pij может перейти в состояние / (физически этот переход означает выполнение определенного комплекса работ). Таким образом, если свершится событие а,-, то вероятность свершения а,- равна ру.
$2] МОДЕЛЬ КАК ВЕРОЯТНОСТНЫЙ ВЕТВЯЩИЙСЯ ПРОЦЕСС 2&1 Излагаемая математическая схема процесса разработки является обобщением описываемой выше, ибо здесь подразумевается, помимо уже введенных условных вероятностей перехода от а-вершины к смежной вершине D(A, V), наличие условных вероятностей перехода из любого а, в любое а-событие, в том числе и рц. Однако такое обобщение не только не противоречит реально протекающему процессу разработки, а, наоборот, приводит к весьма плодотворным результатам, заключающимся в том, что в этом случае процесс разработки большой системы сводится к марковскому процессу. При этом необходимо принять следующие допущения, отнюдь не ограничивающие общности рассматриваемой стохастической сетевой модели. 1. Условная вероятность рц перехода от любой а-вершины D(A, V) к другой а-вершине против направления ветви (ветвей) тождественно равна нулю. (Физически это означает, что процесс разработки не может идти вспять, обратно.) Таким образом, для топологически упорядоченного частичного графа D(A, V) всегда соблюдается pij-0, если />/'. (5.2.2) В общем случае p(j = 0, если направление процесса можно представить в виде /' —»L 2. рц=\, если I—номер финального исхода D(A, V) (физически это означает, что после свершения завершающего целевого события процесс разработки заканчивается и сама разработка, если ее отождествлять с некоторой системой, может находиться в этом состоянии неопределенно долго). В терминологии марковских процессов это состояние называется поглощающим. С точки зрения динамики марковского процесса состояния финальных исходов, характеризующиеся предельными вероятностями рц=\, являются возвратными состояниями. 3. p,j = 0, если а-вершины i и / не смежны, то есть вероятность процесса разработки перейти в новое состояние, минуя одно или несколько промежуточных состояний, равна нулю. Физически это отражает
262 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ [ГЛ V непрерывность процесса разработки — свойство, очевидно, не требующее дополнительных разъяснений. 4. рц = 0, если сс-вершина i не является финальным исходом. Последнее предположение для ряда практических случаев может и не выполняться, когда существует ненулевая вероятность того, что процесс разработки будет остановлен на определенной стадии развития, скажем, в силу появления более перспективных параллельно ведущихся разработок или каких-то других. В качестве основного критерия для определения ненулевых элементов стохастической матрицы постулируется условие: априорные вероятности возможных исходов обратно пропорциональны длинам ветвей, которым они приписываются. В соответствии с этим имеем р%) = _ fcfi , k = 1, .... П, (5.2.3) где для п ~^- 2. Здесь а,- — вершина, для которой определяются априорные вероятности возможных исходов;! — номер начала ветви; /—номер конца ветви; |—порядковый номер исхода (|=1, 2, ..., п)\ п — общее количество возможных исходов для вершины а,-; хц — длина ветви (/, /). Ценность выбранного критерия состоит в том, что: во-первых, при его применении не требуется никакой дополнительной информации, кроме той, которая принята в системе сетевого планирования и управления; во-вторых, при своей простоте, он хорошо согласуется с общими принципами оптимизации разработки по критерию времени. Действительно, в местах разветвлений, в которых приходится принимать решения о вариантах дальнейшего развития разработки сложного комплекса, в высокой степени вероятен выбор такого варианта дальней-
§ 2] МОДЕЛЬ КАК ВЕРОЯТНОСТНЫЙ ВЕТВЯЩМПСЯ ПРОЦЕСС 263 шего продолжения, который ведет к наискорейшему достижению поставленной цели. Другой интерпретацией такого подхода к определению априорных вероятностей возможных исходов является аналогия с задачей теории вероятностей, которая известна как задача па заключение пари. В данном случае роль платежной суммы в случае нереализации возможного исхода играет длина ветви (ветвей) или время выполнения соответствующего фрагмента стохастической сети. При этом решается обратная задача. Примечательно и то, что из этой простой формулы, отвечающей принятому критерию, в соответствии с элементарной интуицией следует важный вывод. Экспертами, которые будут в дальнейшем производить оценку вероятности каждого нехода и которые знают оценку времени его реализации, а также ряд других, не менее важных факторов, таких, как надежность, стоимость, эффективность, мера сложности и т. п., может быть использована разработанная методика «взвешивания» возможных исходов, по смыслу напоминающая приведенную формулу. Очевидно, в качестве исходных данных в результирующую формулу, помимо оценок времени ветвей, должны входить количественные оценки надежности и стоимости других факторов. В дальнейшем будем считать, что все условные вероятности переходов фиксированы и, таким образом, все возможные исходы D(A, V) полностью определены. Без потери общности все существенные характеристики процесса разработки большой системы будем рассматривать как дискретные величины, определяемые только для некоторых устойчивых состояний я* (соответствующих а-вершннам D(A, V)), разделенных неустойчивыми переходными областями, случайными по своему характеру. Очевидно, эти неустойчивые области можно отождествить на D(A, V) с множеством ветвей V, а то, что здесь названо дискретными состояниями, соответственно должно быть отождествлено с множеством а-вершин А. Последнее характеризует процесс разработки с точки зрения возможных исходов. Как будет показано ниже, такое разделение помогает исследовать процесс с различных точек зрения, выявляя его свойства в зависимости
204 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ [ГЛ. V от того, какая цель преследуется в каждом конкретном случае. Абстрагируясь пока от промежуточных (неустойчивых) состояний, мы видим, что исследуемая система в своем развитии проходит, в терминах стохастических ветвящихся процессов, п поколений, начиная от нулевого п = 0. Тогда щ будет функцией от п и означает условную вероятность пребывания процесса разработки -||р//11Р- о... о ... о... о ... о ... -о * «... « о о ... 0 0 ... О « « ... «0 0... о... ... о * «...» о о ... о ... ... о ««...* о о 0... ... О * * о... о о 1 о ... О О 10 ... 0... ... О 1 0 ... О ... ... О 10 ... * 0 0 * • 0 . • . о о о о .. 0 .. * . 0 ..0 ..0 .. 11 0 1 0 .. 0 1 ... 0 ... ... 0 1 0 ... 0 1 0 0 1 0 ... 0 1 0 • ... 0 0 0 0 0 10 0 0 0 10 0 ...0 0 1 (5.2.4)
§ 21 МОДЕЛЬ КАК ВЕРОЯТНОСТНЫЙ ВЕТВЯЩИЙСЯ ПРОЦЕСС 265 в состоянии п-го поколения. Если это поколение включает один или несколько финальных исходов, то при соответствующем подходе к определению щ{п) оно будет оценкой вероятности реализации г'-го исхода. Вернемся к характеристике дерева исходов D(A, V) на основе информации о множестве состояний процесса разработки в виде стохастической матрицы, поскольку, ввиду наличия допущений 1—4, элементы этой матрицы для любого наперед заданного D(A, V) являются полностью определенными. Стохастическая матрица в общем случае, в соответствии с введенными правилами определения вероятностей переходов Pij, записывается как показано на стр. 264. Для того чтобы записать стохастическую матрицу в приведенной выше форме, можно переставить состояния (соответственно перенумеровать сс-вершины D(A, V)), если это необходимо. Здесь символ * используется для обозначения положительных элементов стохастической матрицы Р; т — общее количество а-вершин множества А в D(A, V), то есть т=\А\. Для каждой строки матрицы, согласно определению стохастической сети, имеем т 2рм = 1, *=1, .... /га, 0</>„<1. (5.2.5) Отметим, далее, что нумерация а-вершин частичного графа D(A, V) с одновременным определением тех поколений, к которым они принадлежат, производится при помощи алгоритма топологического упорядочения вершин графа, описанного в § 5 главы I. После определения матрицы Р и ее элементов, отвечающих требованию (5.2.3), налицо формальный переход к такому представлению процесса разработки, который обычно определяется как марковский. Последовательность поколений (на дереве исходов), в каждом из которых может произойти лишь одно ос-событие из полной группы а-событий аь осг а,,,., образует цепь Маркова, так как условная вероятность pij[n\^pj(ai) того, что в п-и поколении свершится а-со- бытие а, при условии, что в (п— 1)-м поколении свершилось событие «г, не зависит от того, каким образом
266 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ ЛЮДЕЛИ [ГЛ. V процесс подошел к аг-. В этом случае ось ■ • •> ат становятся состояниями цепи Маркова, а п-е поколение можно рассматривать как изменение состояния в момент п. В теории цепей Маркова имеется различие в аналитических результатах для строго положительных и неотрицательных элементов стохастической матрицы. Рассмотрим более подробно общий вид стохастической матрицы Р. Большинство ее элементов представлено нулевыми вероятностями переходов. Это служит признаком того, что исследуемый реальный процесс является объединением нескольких родственных процессов, очевидно, отражающих проектирование определенных подсистем, составляющих в совокупности сложный комплекс. С целью обхода многих тонких вопросов, возникающих при рассмотрении цепей Маркова с нулевыми вероятностями переходов, можно заменить нули для вероятностей типа рц малыми величинами; это не внесет существенных изменений в переходные вероятности состояний, придав исследуемому процессу более простой вид с точки зрения получения аналитических результатов, и позволит избавиться от вырожденности матрицы Р. Заметим, что Pi—нижняя треугольная матрица и, следовательно, разложимая матрица, которая путем объединения ее элементов в блоки может быть сведена к виду А О или Р = р= А С О В D В (5.2.6) где А и В — квадратные матрицы. Из теории матриц [16] и теории цепей Маркова [56] известно, что для процессов, характеризующихся матрицами переходов указанного вида, справедливы следующие основные положения: а) Если Р — стохастическая матрица, то Рп, п = = 1,2,..., также является стохастической матрицей. б) Однородная цепь Маркова называется неразложимой, разложимой, ациклической, циклической, если для этой цепи стохастическая матрица Р является соответ*
§ 2] МОДЕЛЬ КАК ВЕРОЯТНОСТНЫЙ ВЕТВЯЩИЙСЯ ПРОЦЕСС 267 ственно неразложимой, разложимой, примитивной, им- примитивной. в) Стохастическая матрица Р и соответствующая ей однородная цепь Маркова называются правильными, если у матрицы Р нет характеристических чисел, отличных от единицы и равных по модулю единице, и регулярными, если дополнительно единица является простым корнем характеристического (векового) уравнения матрицы Р. Ограничившись основными положениями теории цепей Маркова, перейдем к характеристике исследуемого процесса разработки. В свете изложенных положений процесс разработки, математической моделью которого является стохастиче- екая сеть, имеющая своим частичным графом дерево исходов D(A, V), может быть сведен к однородной цепи Маркова общего типа, то есть заведомо ациклической, разложимой, имеющей, в терминологии А. Н. Колмогорова, своими существенными состояниями состояния, соответствующие финальным исходам, и все остальные состояния несущественными. Пусть pfj есть вероятность нахождения процесса через п шагов в состоянии <Xj, если известно, что в нулевой момент процесс находился в состоянии «,•. Имеем формулы т Р^-^/ш^Рщ (W' = l т) п в матричной записи \\ртг\\-\\рт:-\\Ри\^ придавая п последовательно значения 1,2,..., получаем на основе теории марковских цепей формулу \\р\п)\\ = Рп (л = 1,2....). (5-2.7) Если существуют пределы, то llmptfl = pf, (/, j = 1, 2, ..., т),
268 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ [ГЛ. V или в матричной записи Нт/>" = Я~ = ||/>Гу ИГ- (5-2.8) я->оо где pffj{i, /=li 2 т) носят название предельных или финальных переходных вероятностей. Все состояния, за исключением финальных исходов, являются несущественными, так как для каждого из них существует такое п, что р№ > О, ио /J(yfej = 0 для всех k. Несущественное состояние обладает тем свойством, что из него можно с положительной вероятностью попасть в некоторое другое состояние, но из этого другого состояния вновь вернуться в первоначальное, несущественное состояние уже нельзя. Существенные состояния называются еще невозвратными или поглощающими [56]. Из вида стохастических матриц (5.2.6) непосредственно следует, что возможен переход из какого-либо состояния, соответствующего А, в одно из состояний, соответствующих В, но обратный переход невозможен. Иными словами, при развитии процесса и перехода его из поколения в поколение на D(A, V) (n увеличивается) происходит движение, направленное в сторону окончания разработки. При этом для матриц вида (5.2.4) предельные вероятности переходов после некоторого п не изменяются, когда п возрастает. При возвышении этих матриц в целую положительную степень они, начиная с некоторого га, сохраняют свой вид (это будет показано на примере) — свойство, следующее из разложимости исходной стохастической матрицы. Так как БфО, то исследуемый процесс не является периодическим или циклическим. Нет смысла говорить о регулярности исследуемой цепи Маркова, ибо характеризующая ее стохастическая матрица при любом п содержит нулевые элементы. Кроме того, вековое уравнение матрицы Р всегда содержит кратные характеристические числа, равные единице, обусловленные наличием по крайней мере двух или более поглощающих состояний. Это легко усмотреть из общего вида Р, имея в виду, что в силу треугольности стохастической матрицы ее характеристический многочлен является просто произведением диагональных элементов, часть из которых, согласно правилу 4, равна 1. Если
§ 2J МОДЕЛЬ КАК ВЕРОЯТНОСТНЫЙ ВЕТВЯЩИЙСЯ ПРОЦЕСС 269 положить рцфО, то характеристическое уравнение может быть записано в виде ф (Я.) = (к — Х,)т' (А, — Я^Л • • ■ (А- — *«Г" (5-2.9) (А./<Мд При /=££), Х|Ва1, /71^1, т, -j- Wj + • • • -\-тп = т. Наличие кратных корней (m,=£l) не вносит существенных изменений и говорит лишь о том, что цепь содержит две или более замкнутых подцепи. Заметим, что в задачах, связанных с вероятностями поглощения, такого рода си- туацня обычна [56]. Обозначим через л[л] = {я1[«] пт[п]} вектор-строку вероятностей состояний дискретного марковского процесса на n-м шаге. Из теории цепей Маркова имеем т т S я, [я] = 1, л [га -4-1 ] = 23 Pi;*j [«Ь /-1 j-i где л[0] — вектор начального состояния. В матричной записи я[га+1] = л[га]/> или я\п]=(РТ)"л[0\. Используя метод производящих функций, а именно г-преобразование оо f (г) =2/(»)«", будем интерпретировать множество целых чисел п — = 0, I, 2,... как номера поколении на D(A, V). Пусть II (г)—преобразование вектора л[/г]. Тогда II (г) = лГ [0| (/ — гР)~ , где / — единичная матрица. Таким образом, преобразование вектора вероятностей состояний равно начальному вектору вероятностей состояний, умноженному справа на обратную матрицу (/ — zP), которая всегда существует при |г|<1. Можно принять [55] Р" = Н[п], где Н[п] — некоторая матрица, зависящая от п, которая может быть в области оригинала разложена на ряд подматриц, среди которых по крайней мере одна является стохастической. Стохастическая матрица соответствует матрице, имеющей в области изображения
270 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ [ГЛ. V множитель 1_г • В теории марковских процессов [56] этот множитель носит название стационарной составляющей и обозначается через 5. Остальные множители образуют переходную составляющую, описывающую процесс в переходный период. Учитывая зависимость этих составляющих от п, их обычно обозначают через Т[п]. Таким образом, имеем л[п\ = (Рт)"я[0\ чли л1п]т = яТ[0]Н[п], H[n] = S+T[n]. Матрицы, образующие Т[п], обладают тем свойством, что сумма их элементов в каждой строке равна нулю. Их Рис. 15. можно рассматривать как возмущения, накладываемые на процесс. Для рассматриваемого случая вероятность каждого возможного исхода на D(A, V), принадлежащего п-му поколению, может быть представлена в виде Л>] = лЛ0](я,.-'2Д1[«-*]л*}. где А1 [п — k] — единичная разностная функция, опреде* ляемая для целых значений аргумента по формуле (1, если х = п, 1 J [0, если хфп;
§2] МОДЕЛЬ КАК ВЕРОЯТНОСТНЫЙ ВЕТВЯЩИЙСЯ ПРОЦЕСС 271 nkj — элемент k-u дифференциальной матрицы, полученной при разложении Т[п] и соответствующей Рь в разложении (/_гЯ)-1тт_1_р»_|_/>0+г;/>1_|_г2/>2+ ... В заключение рассмотрим пример, иллюстрирующий изложенный метод анализа процесса разработки и создания сложных комплексов на основе теории цепей Маркова. Пусть D(A, V) для рассматриваемого примера имеет вид, показанный на рис. 15. Стохастическая матрица Р для рассматриваемого примера будет иметь вид П(г) = 1 о о о о о (I 1 1 о о о о о О 1/2 1/20000 О о о о О 1/3 2/3 О о О О О О о о о о 1 о о о о о о о о 0 1 о о о о о о 1/4 3/4 о о 1 О О 1 2(1—г) 6 3(1— г) 24(1—2-) 8(1—г) о ! 1— 2 о о о о 1 о 1 о о о 2г 3(1—г) 12(1—г) 4(1 — 2) О О 1 о О Ъг 1—2 О 4(1-г) О 1 4(1-2) О О 1—2 О о 1 1—2
СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ 1ГЛ. V 1 " 1 — 1 • г '1 0 0 0 0 0 _0 _0 0 0 0 0 0 _0 г ■о 0 0 0 0 0 _0 0 - 1 0 0 0 0 0 1/2 0 0 0 0 0 0 0 0 0 0 0 0 0 -1/2 0 0 0 0 0 0 0 0 0 0 0 0 0 4> 1/2 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1/3 0 0 0 0 0 "0 0 0 0 0 0 _0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1/3 2/с 0 0 1 0 0 1/3 2/3 0 0 0 0 0 1/3 0 0 0 0 0 0 0 0 0 0 0 0 0 1 I 1/6 0 0 0 0 0 0 1/24 1/12 0 1/4 0 1 0 -1/24 -1/12 0 -1/4 0 0 0 -1/24 -1/12 0 0 0 0 0 0 0 0 0 0 0 0 1/3 1/4 0 3/4 0 0 1 4- -1/8- -1/4 0 -3/4 0 0 0 -1/8- -1/4 0 0 0 0 0 . -ь 4- -1/24 —1/8 0 0 0 0 0 0 0 0 0 0 0 0
§ 2] МОДЕЛЬ КАК ВЕРОЯТНОСТНЫЙ ВЕТВЯЩИЙСЯ ПРОЦЕСС 273 Таким образом, (/_г/3)-1=т:1:_Я«4-1/>о+гР1+г!'Ра, где л [я] = Ао \п\ Р" + А, [л] Я0 + fi2 [n\ />,. Здесь h0 \п\ = 1 [л], А, [л] = 1 [л] {1 [л] — 1 [л— 1]}, А2[л] = 1 [л]{1[л — 1] — 1[л — 2]]. Для этого случая предельная вероятность финально-1 го исхода а может быть определена как функция от п следующими выражениями (при iti(O) = 1): я7[0] = 1/8-1/8 —0 —0 = 0, я, [1] = 1/8—0 — 1/8— 0 = 0, л, [2] = 1/8 — 0 — 0— 1/8 = 0 л7[3] = 1/8-0 — 0 — 0=1/8, л7(4] = л7[5]= ... = л7[£] = ... =1/8. Указанный подход к исследованию процесса разработки большой системы является весьма перспективным, ибо позволяет глубже понять те характерные черты, которые свойственны проектированию новых сложных комплексов. Более того, рассмотрение возможных исходов с привязкой их к соответствующим поколениям позволяет расчленить исследование на два процесса: 1) анализ в зависимости от факторов множества А и их характеристик, и 2) анализ факторов или параметров множества V- и соответственно их характеристик. Сосредоточив внимание на переходах от одного а-со- бытия к другому, необходимо отметить следующее. В связи с тем, что длины ветвей, связывающих отдельные ос-событня, носят явно выраженный случайный характер, время между переходами, таким образом, тоже случай» но, и, следовательно, разработка нового сложного комплекса при необходимости может быть описана моделью Маркова с непрерывным временем. Здесь важнейшим 18 Д И. Голенко
274 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ [ГЛ. V практическим приложением построений стохастической сетевой модели разработки является возможность ее сведения к марковским процессам с доходами [56, 57]. Если учесть то обстоятельство, что, помимо временных оценок, ветви сетевой модели (соответственно работы) могут характеризоваться стоимостными параметрами, то здесь при помощи аппарата теории марковских процессов с доходами возможен непосредственный переход [57] к постановке и решению задач оптимизации разработки на основе метода динамического программирования [8]. § 3. Определение на ЭВМ параметров стохастической сетевой модели Расчет параметров стохастической сетевой модели осуществляется с помощью метода статистических испытаний на основе применения специального алгоритма [3], который мы будем впредь называть а-алгоритмом (по аналогии с а-вершинами). Задача расчета параметров стохастической сети может быть расчленена на ряд последовательно решаемых подзадач, к которым относятся: а) предварительная обработка и контроль исходной информации (в том числе контроль наличия контуров в сети); б) определение максимальных путей и длин этих путей до любой произвольно заданной вершины в сетевой модели; в) моделирование времени выполнения работ на основе оценок продолжительности случайного времени выполнения работы, задаваемых ответственными исполнителями; г) построение дерева возможных исходов; д) выбор разъединительных путей на дереве исходов и расчет их длины; е) оценка вероятностей возможных исходов и времени их реализации. Каждая из перечисленных подзадач решается на основе соответствующего частного алгоритма, являющегося составной частью «-алгоритма в целом.
§ 3] ОПРЕДЕЛЕНИЕ НА ЭВМ ПАРАМЕТРОВ 275 В результате работы а-алгоритма определяются: 1. Перечень работ критической зоны на основании значении показателя критичности (см. § 2 главы IV). 2. Среднее время выполнения сетевого проекта в целом, а также вероятность и среднее время реализации каждого из возможных исходов. а-алгоритм осуществляет последовательный процесс логико-математической обработки стохастической сетевой модели и определения ее основных параметров. Блок-схема а-алгоритма (см. рис. 16) содержит следующие блоки: Блок I — предварительной обработки и контроля исходной информации — осуществляет автоматический поиск ошибок, связанных с заданием исходной информации (в том числе поиск контуров), а также подготовку информации о работах сетевой модели и связях между ними для обработки на ЭВМ. Блок II — определения топологической структуры дерева исходов — определяет топологию дерева исходов, для которого остаются пока неизвестными значения его основных числовых характеристик: средних длин ветвей и априорных вероятностей возможных исходов. Блок III реализует метод лексикографического обхода дерева исходов с целью последовательного определения его числовых характеристик и поочередного обсчета отдельных фрагментов стохастической сети, соответствующих возможным исходам. Работа альфа-алгоритма при этом происходит в так называемом большом цикле [3], когда процедура расчета параметров сетевой модели может быть в перерывах между отдельными циклами приостановлена на заданное время, а все необходимые параметры отдельных фрагментов стохастической сети могут быть выведены на печать и подвергнуты анализу. Переход к следующему большому циклу не связан с повторной реализацией работы предшествующих блоков I и II. Рассмотрим более подробно лексикографический метод обхода, который является весьма эффективным способом моделирования стохастического ветвящегося дерева на ЭВМ [21, 25]. К достоинствам этого способа относится использование крайне небольшого объема 18"
Исходные данные о стохастической ИсеряВлениешидое Г"УьГвнетшинныианализоас-\ I Г/1 правление анфориецаи сети В рстанооленной форме им информация а количестве ес-Вершин В G(Y,U) £(УМ),сгроппи- реаанныйВ таВл/S (проверенный на Hovmi/ры) В (А, У), сгруппированное 6 mail П Параметры и нонстонты, -неоВгодиные спя. расчета стохастической сети т. \1['(А.У1 ) Перечень периметре! ЦЩ.получетт но оенрбе \jiijllnol~r | ЗаюВнии критерии 4# мш WW» ~" /рШ] Рис. i6.
§ 3] ОПРЕДЕЛЕНИЕ НА ЭВМ ПАРАМЕТРОВ 277 оперативной памяти ЭВМ. Метод позволяет рассчитывать все «ветвящееся дерево» в целом, храня в памяти лишь данные об одной «ветви» этого дерева. Его особенно целесообразно применять в тех случаях, когда, помимо временных параметров сетевой модели, желательно получить информацию относительно других параметров, особенно таких, которые требуют обхода всех работ в сети (например, стоимости). Основная идея этого способа заключается в следующем. Предположим, что при моделировании ka альтернатив в событии (вершине) а мы «разыграли» та работ, выходящих из вершины а. Иными словами, ka — та работ аннулируются, а та остаются. Условимся в дальнейшем следить лишь за одной из та работ, но не случайно, а вполне детерминированно. Пусть, например, это будет первая работа из та вновь образовавшихся в вершине а работ. Прослеживание производится по определенной траектории, пока стохастический процесс не прервется, то есть пока мы не достигнем конечного события. При этом все прослеженные работы, от первой до последней, фиксируются и запоминаются в оперативной памяти ЭВМ. Пусть, например, нами была прослежена траектория 4—»1—*6—»2—* 10-» 11 (см. рис. 12,11). Спускаемся на одну работу вниз и, определяя вторую работу, образованную в 2, следим за ней до конца ветви 4 —>■ 1 —» 6 —> —► 2 —»11 и ветви 4-*1— 6 — 2-*12-> 13. После того, как все работы, следующие за второй работой в вершине 2, просмотрены, рассчитываем третью работу в 2 и аналогичным образом следим за ней до окончания стохастического процесса. После того, как все работы, образованные в вершине 2, просмотрены, опускаемся еще на одну работу вниз и подобным же образом рассматриваем совокупность работ, полученных из второй работы, образованной в вершине 6, и т. д. Это позволяет нам все время фиксировать в памяти ЭВМ всего одну траекторию (вернее, данные о всех работах, образованных в точках этой траектории), не запоминая всего дерева. Это значительно сокращает объем требуемой оперативной памяти ЭВМ.
278 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ [ГЛ. V Блок IV осуществляет определение вероятностей перехода рц и формирует стохастическую матрицу р=>\\рЛ- Бл о к и V, VI производят расчет финальных вероятностей возможных исходов и времени их реализации. Блок VII г (на блок-схеме обозначен внутри блока III) осуществляет малый цикл, в котором реализуется «розыгрыш» продолжительностей отдельных работ (в N реализациях), причем для каждой из этих реализаций определяется критическое время выполнения фрагмента. Здесь же определяются показатели критичности всех входящих в сетевую модель работ. В случае необходимости в процессе работы этого блока могут быть получены и другие параметры, характеризующие отдельные работы в системах СПУ, например стоимостные. Подробно блоки а-алгоритма приведены в операторной схеме, дающей полное представление о последовательности вычислений, применяемой для расчета параметров стохастической сетевой модели. Приведенная на рис. 16 операторная схема состоит из отдельных операторов, функции которых мы рассмотрим ниже. Таблица 15 Таблица исходных данных Признак а-вершины а (1) Номер предшествующего события код начала дуги 1 (2) Признак начальной вершины Cl (3) Признак конечной вершины С2 (4) Номер последующего события код конца дуги J (5) Продолжительность работ минимальная оценка продолжительности работы минимальная оценка длиныдуги ац (6) макси мальная оценка продолжительности работы максимальная оценка длиныдуги hi (7) Вероятность исхода, в результате реализации которого выполняется данная работа РЦ (8)
§3] ОПРЕДЕЛЕНИЕ НА ЭВМ ПАРАМЕТРОВ 279 Оператор 1 осуществляет предварительную обработку и контроль исходной информации. Стохастическая сетевая модель G(Y, U) разбивается на элементы, соответствующие дугам таким образом, что информация о каждой дуге записывается в десятичном виде одной строкой в таблице исходных данных (см. табл. 15). При этом проверяются и исправляются ошибки, внесенные в топологию стохастической сети G(Y, U) и в ее характеристики при формировании исходного массива, причем ошибки могут исправляться либо вручную, либо автоматически при помощи соответствующей программы ЭВМ. Оператор 2 на основе таблицы исходных данных (табл. 15) осуществляет построение таблицы 16. Таблица 16 Признак а-вершины а (1) Код начальной вершины 1 (2) Признак начальной вершины «1 (3) Признак конечной вершины С2 (4) Код конца вершины J (5) Признак а-вершины а (6) Признак шага влево А (7) Признак шага вправо п (8) с3 (9) с< (10) Оценка длины дуги *ч (ii) Показатель критичности дуги Р ('• Л (12) Оператор 3 производит проверку наличия контуров в стохастической сетевой модели с помощью алгоритма [3], на основе которого последовательно, один за другим выявляются все имеющиеся в сети контуры и находятся пути, их образующие. При этом признак а-вершины во внимание не принимается. Оператор 4 осуществляет построение таблицы 17, которая создается по типу таблицы 16. Основное • отличие создаваемой таблицы состоит в том, что вместо информации о стохастической сети в целом (о вершинах i и /, оценках длин дуг ty, показателе критичности p(i,j)) в соответствующих графах таблицы 17 записывается информация о дереве исходов D(A, V): номера а-вершин (*',/), оценки длин ветвей ту, а также условная вероятность перехода рц, где первый
280 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ (ГЛ. V Таблица 17 (1) Код начала ветви 1 (2) Признак начальной вершины С| (3) Признак конечной вершины С2 (4) Код конца ветви j (5) (6) Признак шага влево \ (7) Признак шага вправо п (8) с3 (9) «4 (10) Оценка длины ветви ~ХЧ (11) Априорная вероятность возможного исхода РЦ (12) индекс i означает результат свершения предшествующего смежного а-события, второй индекс / указывает, к какому смежному ос-событию может быть произведен переход в последующий момент времени при реализации события i. Оператор 5 производит смену ориентации всех без исключения дуг стохастической сети (ветвей дерева исходов) на противоположную. В таблицах 16 и 17 / и / меняются местами, а признаки начальных и конечных вершин Ci и с-г изменяют свои значения на противоположные. Оператор 6 реализует модифицированный алгоритм Тарри [9J, на основе которого совершается упорядоченный многошаговый обход сети с попутным вычислением на каждом шаге некоторых параметров проходимых дуг и вершин. Последнее определяется режимом работы альфа-алгоритма (см. рис. 16). Реализация алгоритма Тарри состоит в целенаправленном движении по вершинам и дугам сети при помощи шагов влево и вправо [9]. Под шагом влево понимается переход от одной вершины графа к смежной с ней вершине против направления дуги. Под шагом вправо понимается переход от одной вершины графа к смежной с ней вершине по направлению дуги. Следует руководствоваться следующими правилами: I. Первый шаг делается всегда из конечной вершины. II. Из любой вершины Х{ прежде всего необходимо сделать попытку произвести шаг влево. Для этого рассматриваются все дуги, входящие в вершину, и выбирает-
§ 3) ОПРЕДЕЛЕНИЕ НЛ ЭВМ ПАРАМЕТРОВ 281 ся дуга, которая не рассматривалась на предыдущих шагах алгоритма. Если такой дугой является дуга (Xt, Xi), то последующий шаг должен быть произведен из вершины Xi. Запоминается, что в вершину Xi переход был осуществлен из вершины Xt. III. Из рассматриваемой вершины Xt шаг влево произвести нельзя, если 1) нет дуг, входящих в Xit что означает, что Xt — начальная вершина на графе; 2) все дуги были рассмотрены на предыдущих шагах алгоритма. IV. Если из вершины А",- нельзя произвести шаг влево, то из нее производится шаг вправо по дуге, пройденного шагом влево. V. Движение заканчивается, когда невозможно произвести ни шага влево, ни шага вправо. Оператор 7 блокирует проход шагом вправо по ветви y,-j€ V до тех пор, пока для нее не будет вычислено и записано в соответствующую графу таблицы 17 значение средней длины т,> Оператор 8 выявляет начало и конец ветви (а,-, а;) н производит идентификацию данной ветви определенному фрагменту Ga(Y, U) с его выделением и занесением в таблицу 1ц(а, Ь), построенную по типу таблицы 16. Оператор 9 осуществляет построение таблицы ttj(a; b) типа таблицы 16, в которую вместо /*, и p(i,j) на время работы альфа-алгоритма в малом цикле заносятся значения граничных оценок длин дуг фрагмента Gii(Y, U). Оператор 10 осуществляет построение таблицы /,-,- типа таблицы 16. Оператор 11 производит расчет оценки математического ожидания случайной величины на основе заданной выборки ее значений. Оператор 12 осуществляет определение показателя критичности p(i, /). Оператор 13 определяет совокупность дуг фрагмента Gij(Y, U), подлежащих «розыгрышу» в k-u реализации. Оператор 14 блокирует проход шагом вправо через любую встретившуюся на пути вершину, пока для
282 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ [ГЛ. V нее не будут определены условные вероятности переходов для всех без исключения исходящих ветвей. Оператор 15 осуществляет определение максимальных путей до любой произвольно заданной вершины детерминированной сети на основе известного алгоритма Форда, описанного в § 5 главы I. Оператор 16 определяет условные вероятности переходов рц на основе формулы (5.2.3), то есть с помощью критерия определения априорных вероятностей возможных исходов. Оператор 17 выявляет разъединительный путь с финальным исходом /„„ для которого должна быть рассчитана вероятность возможного исхода р(/,„)■ Оператор 18 осуществляет расчет финальных вероятностей возможных исходов р (/„,). Оператор 19 блокирует шаги вправо при действии оператора 6, а также блокирует начало его работы после прихода в корневую а-вершниу до вычисления финальной вероятности исхода. Оператор 20 осуществляет «розыгрыш» продолжительности выполнения каждой работы (длины дуги) стохастической сетевой модели с помощью метода статистических испытаний, изложенного в § 1 главы IV. Оператор 21 осуществляет построение таблиц 18 и 19 на основе таблиц 16 и 17. Процедура построения таблицы 18 сводится к последовательному выбору из таблицы 16 всех вершин i, а затем всех вершин / и занесению их в таблицу 18, причем повторяющиеся вершины не заносятся. Последними в таблицу 18 заносятся конечные вершины в том порядке, в котором они встречаются в исходной информации. Оператор 22 формирует перечень работ критической зоны по показателю критичности р(», /). Оператор а (23) осуществляет выделение сс-вер- шин из всего множества вершин стохастической сети и выявляет топологию дерева исходов D(A, V) на основе следующего правила [3]. Правило 1.В последовательности а(. , а,- ... a.{kl "'ли'*'"' "'V'• две сосеА11Ие а-вершпны являются на-
§ 4] МОДЕЛЬ, ОСНОВАННАЯ НА ПРЕОБРАЗОВАНИИ СЕТЕЙ 283 Таблица 18 Признак начальное вершины С| (1) Признак конечной вершины с2 (2) Адрес лимитирующего с осе da ai> (3) Код вершины У (4) Длина максимального пути до вершины jf Тн (5) Таблица 19 Признак начальной вершины С\ (1) Признак конечной вершины С2 (2) Адрес лимитирующего соседа *}' (3) Код а-вершины У (4) Длина максимального пути до вершины j' Т1> (5) чалом и концом (концом и началом) какой-нибудь ветви "*iklk+\£V (* —li 2, ..., (х—1) дерева исходов D(A, V), если и только если эта последовательность получена при помощи последовательного выбора ос-вершин, встретившихся на пути, образованном дугами стохастической сети G(Y, U), пройденными в соответствии с правилами Тарри (лабиринта) шагами влево (вправо). Отсюда вытекает, что совокупность ветвей v,j, взятых без повторений, полученная в соответствии с правилом 1, полностью определяет топологию дерева исходов D(A, V). Оператор П (24) производит печать результатов расчета параметров стохастической сетевой модели. § 4. Стохастическая сетевая модель, основанная на алгебраическом преобразовании сетей В известной работе Эйснера [68] исследуется сетевая модель с высоким уровнем неопределенности, призванная осуществлять управление научно-исследовательскими разработками. Введем ряд терминов и понятий стохастической сетевой модели: источник решения (в терминах
284 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ 1ГЛ. V. § 1 настоящей главы а-вершнна), соединительный и разъединительный пути, альтернативный путь и т. д. Рассмотрим способы изображения сети с возможностью принятия альтернативных решений относительно работ, следующих за определенными событиями, а также учета влияния этих решений на продолжительность реализации проекта. С этой целью в сетевую модель введем [68] новый тип элементов — ящик решений db, причем каждый такой элемент db является источником двух альтернативных решений. Будем оценивать вероятность появления различных вариантов завершающих результатов (событий); сетевой модели, причем систематизируем возможные конечные; результаты в соответствии с вероятностями их появления. Заметим, что в данном случае под термином «завершающий результат» понимается непротиворечивая совокупность завершающих событий. В связи с этим функцией, которую можно использовать в качестве количественной меры достоверности возможных завершающих результатов стохастической сетевой модели (меры неопределенности этой модели), является усредненная информация, или энтропия, "=-£/>,. log,/>,, (5.4.1) i-i где Pi — априорная вероятность /-го завершающего результата, п — количество этих результатов. Например, при наличии двух возможных результатов с одинаковыми априорными вероятностями, равными 0,5, величина Н равняется единице (если логарифм взят с основанием 2). При таком же выборе с вероятностями 0 и 1 величина Н уменьшается до нуля. Известно, что энтропия имеет максимальное значение #maxi равное log2«, если все априорные вероятности равны между собой. В качестве меры относительной неопределенности в модели используем выражение относительной энтропии Е = Н1Н;
j 41 МОДЕЛЬ, ОСНОВАННАЯ НА ПРЕОБРАЗОВАНИИ СЕТЕП 285 Таблица 20 Вероятности путей Результаты A\J Е В MY С D X V Е G Н P Компоненты вероятностей р{А)р(Е,'А) pimp mm p(C)p(X)p(Y) p(D)p(X)p(Y) р(Х)р(Е/Х) P(G) рШ P(F) Комбинация произведении вероятностей (0. 4) (0. 3) (0. 7) (1) (0,6) (0,3) (0, 7) (1) (0.3) (0,7) (0,7) (0,6) (0,7) (0,7) (0,7) (0,6) (0. 7) (0. 7) (0, 4) (0. 4) (0, 5) (0, 3) (0.6) (0,5) (0,3) (0,5) (0,3) Окончательные вероятности результатов 0,084 0.126 0.0882 0.2058 0,196 0.06 0.09 0,15 Для сетевой модели, изображенной на рис. 14, и приведенных в таблице 20 априорных вероятностей Дна* = logfe8 = 3 двоичных разряда, 8 Н= — 2 Pi log., Pi — 2,88 двоичного разряда при относительной энтропии Е = 0,96. Что касается априорных вероятностей различных комбинаций завершающих результатов, то они оцениваются с помощью комбинаций произведений априорных вероятностей разъединительных путей в точках (вершинах) источников решений, как это показано в таблице 20. Относительную энтропию Эйспер [68] предлагает использовать в качестве критерия построения области, в которой определенные результаты являются более вероятными, чем другие. Если относительная энтропия равна единице, то все возможные результаты одинаково вероятны; если нулю — стохастическая сетевая модель превращается в детерминированную. Знание относительной энтропии может оказаться полезным в случае сравнения нескольких научно-исследовательских программ. Если одна программа имеет относительную энтропию 0,96, а другая — 0,2, то в последней программе имеются некоторые более вероятные результаты по сравнению с первой. Величина максимальной
286 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ [ГЛ. V энтропии определяет общее количество возможных решений, которые могут быть получены, и меру их неопределенности. Можно рассмотреть также [68] календарное планиро- вание сроков свершения входящих в стохастическую сетевую модель работ и событий. Относительные вероятности возможных завершающих результатов, дополненные сроками, в которые эти результаты могут быть получены, являются показателями успешности выполнения предстоящих научно-исследовательских работ. Свое дальнейшее развитие идеи Эйснера получили в работе Эл.маграби [69]. Если детерминированная сетевая модель реализует логическую операцию конъюнкции, сетевая модель Эйспера — операции конъюнкции и дизъюнкции, то здесь исследуются логические связи более сложной природы. Введем следующие обозначения для изображения логических связей между событиями (вершинами) и работами (дугами), входящими в эти вершины: а) операция логического пересечения И — событие свершится, если будут выполнены все работы, в нее входящие; б) операция соединительное ИЛИ — событие свершится, если будет выполнена хотя бы одна из работ, в нее входящих; в) операция разъединительное ИЛИ — если выполнение одной из работ (или событий) исключает выполнение всех остальных; г) ветвление, то есть вершина с наличием множества исходящих из нее дуг с заданными вероятностями их выбора. Это обозначение эквивалентно ящику решений Эйснера. Работы, выходящие из такого события, могут входить в вершину любого из трех типов, определенных выше. Основным элементом рассматриваемой стохастической сетевой модели является направленная дуга (работа) й, которая характеризуется двумя параметрами — вероятностью р(а) и временем ее выполнения t(a). Однако полученные результаты без ограничения общности могут быть распространены на случай стоимости работы, ее надежности и т. д.
§ 4] МОДЕЛЬ. ОСНОВАННАЯ НА ПРЕОБРАЗОВАНИИ СЕТЕЙ 287 Основная идея [69] состоит в разработке комплекса операций, реализующих упрощающие преобразования сетевой модели путем замены подсети эквивалентной дугой (работой) е, для которой определяются вероятность ре и математическое ожидание продолжительности te. Введем [69] пять основных типов подсетей, которые могут использоваться в качестве элементарных «строительных блоков», из которых синтезируется сетевая модель. 1. Последовательные дуги (работы) а и Ь. Сведение к эквивалентному элементу происходит путем перемножения вероятностей и сложения продолжителыюстей, то есть 2. Параллельные дуги (работы) а и Ь с соотношением И. Эквивалентный элемент задается дугой е с вероятностью ре = рарь и продолжительностью /е = = max (ta, tb). 3. Параллельные дуги а и b с соединительным соотношением ИЛИ. Эквивалентный элемент задается дугой е с вероятностью /?е=1 — (1—ра)(1—Рь) и продолжительностью te = taPa + tbPb+lmm(ta, tb) — ta — tb\papb. (5.4.3) 4. Параллельные дуги а и b с разъединительным соотношением ИЛИ. Эквивалентный элемент задается дугой е с вероятностью ра+'Рь — %РаР,ь и продолжительностью te^taPa + tbPb (для случая, если работы а и b не могут произойти одновременно). 5. Петля, состоящая из переходов с возвратом с параметрами рс и tc и предшествующая дуге Ь(рь, tb). В этом случае эквивалентный элемент е имеет вероятий •ность ре = . __ , а его продолжительность равна te = {tb + tcpc/(\ —Рс)}Рь1{\ —Рс). Практически любое достаточно сложное логическое отношение может быть сведено к комбинации элементарных стохастических подсетей. Примером может служить стохастическая сетевая модель — ограниченная петля,
288 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ [ГЛ. V которая характеризуется конечным числом л возвращений к фиксированной вершине, после чего уже не допускается ни одного повторного возвращения (например, цикл испытание -> ремонт -* испытание, обычно ограниченный конечным числом починок, после которого изделие, не прошедшее и-го по счету повторного испытания, выбрасывается). Г. С. Поспелов и В. А. Баришполец [49] уточняют классификацию элементов стохастических сетевых моделей. Для составления сетевых моделей со стохастической структурой ими предлагается девять видов событий, семь из которых представлены в таблице 21. Таблица 21 Вид события 1 2 3 4 5 6 7 Логическая операция на входе И И Разъединительное ИЛИ Разъединительное ИЛИ ИЛИ ИЛИ ИЛИ Логическая операция на выходе Могут начаться все работы Может начаться одна и только одна работа Могут начаться все работы Может начаться одна и только одна работа Могут начаться все работы Может начаться одна и только одна работа Может начаться одйа или несколько работ Эта классификация обладает большими возможностями для отображения сложных ситуаций. При этом композиция представленных в таблице 21 простых событий позволяет получить более сложные события со стохастической структурой произвольной сложности. В настоящее время направление исследования и управления стохастическими сетевыми проектами, основанное па алгебраических преобразованиях сетей, интенсивно развивается. Достаточно упомянуть о создании новой системы ГЕРТ [89, 90], в основе которой лежит динамическая информационная стохастическая сетевая модель.
§ 4) МОДЕЛЬ. ОСНОВАННАЯ НА ПРЕОБРАЗОВАНИИ СЕТЕЙ 289 Стохастические сети в системе ГЕРТ имеют следующие характеристики: 1. Каждая сеть состоит из вершин, обозначающих логические операции, и направленных ветвей. 2. Каждой из ветвей соответствует вероятность того, что работа, представленная этой ветвью, будет выполнена. 3. Ряд других параметров описывает работы, представленные ветвями. Эти параметры могут быть аддитивными, как, например, /Ьг to,(s)\ Wj(S) *к w„(s) Рис. 17. -Н>ч Wb(S) -и время, или мультипликативными, как надежность. В основе методологии системы ГЕРТ, как уже указывалось выше, лежит определение множества элементарных подсетей с последующим алгебраическим преобразованием последних к элементарным работам (ветвям). Важным результатом •применения метода ГЕРТ является нахождение производящей функции времени (длительности) пути между двумя вершинами сетевой модели. Последнее является существенным шагом вперед по сравнению с результатами Элмаграби [69]. На первом этапе исследования с помощью системы ГЕРТ для каждого элемента t стохастической сетевой модели строится производящая функция моментов Mt(s) = E{e«} = J" es'f(t)dt, (5.4.4) Рис. 18. WatS) Wt(S) Рис. 19. 19 Д. И. Голенко
290 СТОХАСТИЧЕСКИЕ СЕТЕВЫЕ МОДЕЛИ [ГЛ. V где f(t)—функция плотности распределения случайной величины t. На втором этапе строится ш-функция по формуле w(s)=p(t)Mt(s), (5.4.5) где p(t) —вероятность того, что элемент / реализуется. В качестве примера рассмотрим подсеть па рис. 17. Вероятность р2 реализации вершины 2 равна вероятности pi реализации вершины 1, умноженной на вероятность Pi реализации ветви а, то есть p2 = Pipa- Время реализации вершины 2 равно времени реализации вершины 1 плюс время реализации ветви а. Таким образом, M2(s) =Mi(s)Ma(s), поскольку производящая функция моментов суммы случайных величин есть произведение производящих функций моментов соответствующих величин. Таким образом, w2(s) должно равняться (pipa)X X(Mi(s)Ma(s)), или w2{s)=wi(s)wa(s). (5.4.6) Для этого примера ш-функция ветви а имеет вид w (5) = JM£) (5.4.7) аК ' те>, (s) v ' Это п есть производящая до-функцня результирующего эквивалентного элемента. На рис. 18 и 19 представлены последовательные н параллельные ветви и производящие да-функции соответствующих эквивалентных элементов е. Для двух последовательных ветвей ре = РаРь, поскольку вероятность прохода от вершины 1 к вершине 3 есть вероятность реализации сначала ветви а, затем ветви Ь. Следовательно, Me(s) =Ma{s)Mb(s), и легко показать, что we(s)=wa(s)wb{s). Для двух параллельных ветвей ре — Ра+Рь, поскольку вероятность прохода от вершины 1 к вершине 2 есть вероятность пересечения ветви а и ветви Ь. Согласно определению вершины типа исключающее ИЛИ, ветвь а и ветвь Ь не могут иметь место одновременно, что подразумевает вышеупомянутое условие.
5 4] МОДЕЛЬ. ОСНОВАННАЯ ПА ПРЕОБРАЗОВАНИИ СЕТЕЙ 291 Распределение времени прохода от вершины 1 к вершине 2 есть объединение (хотя это в то же время и не композиция) распределений, соответствующих каждой ветви при условии прохода одной из ветвей. Производящая функция моментов объединения двух распределений имеет вид р М (s) -г- р^М. (s) а apIpb " =М,(s). (5.4.8) Подстановка этой формулы в равенство we(s)=peMe(s) приводит к Рп + Рн :Wa(S)+Wb(s). (5.4.9) Значения we(s) для последовательной и параллельной ветвей показывают, что ветви с ш-функциями образуют линейные сети. Это позволяет в системе ГЕРТ использовать уравнения топологии для анализа стохастических сетей с вершинами типа исключающее ИЛИ. В полном соответствии с описанной выше методологией сведения сложных логических элементов к элементарным строят [89, 90] производящие до-функции для стохастических сетей весьма сложной природы — замкнутых стохастических сетей со многими контурами и ограниченными петлями и т. д. Разработанный математический аппарат системы ГЕРТ (записанный на алгоритмическом языке ФОРТРАН и реализованный на ряде крупных ЭВМ) может найти самое широкое применение не только при планировании и управлении научно-исследовательскими разработками, но и в других задачах исследования операций.
ГЛАВА VI СТАТИСТИЧЕСКИЕ МЕТОДЫ В УПРАВЛЕНИИ СИСТЕМОЙ СПУ § 1. Некоторые вопросы динамики процесса производства в системах СПУ Как уже указывалось выше, в настоящее время представление о системах СПУ как об одной из разновидностей систем автоматического управления является широко распространенным. Вследствие этого возникает необходимость разработки теоретических принципов управления системами СПУ*), в частности исследования алгоритмов управления, частоты сбора данных (опроса) о состоянии объекта управления в системе СПУ, построения оперативно-календарного графика процесса создания сложного комплекса, и ряд других, не менее важных вопросов. Следует отметить, что в настоящее время методика управления системами СПУ исследована далеко не достаточно, а ряд вопросов вообще находится в начальной стадии изучения. Это вызвано, по-видимому, тем, что поставленные задачи являются исключительно сложными и относятся к труднейшим проблемам теории сложных систем. Как известно, сетевые модели, используемые в системах СПУ для планирования и управления сложных комплексов работ, делятся на 1) модели с детерминированной структурой и детерминированными оценками продолжнтельностсй операций; 2) модели с детерминированной структурой и вероятностными оценками продолжителыюстей операций; 3) модели со стохастической структурой и детерминированными оценками продолжительноетей операций; *) Под сокращенным термином «управление системой СПУ» мы будем впредь понимать «управление ходом разработки на основе использования системы СПУ».
§ 1] ДИНАМИКА ПРОЦЕССА ГфОИЗВОД. В СИСТЕМАХ СПУ 293 4) модели со стохастической структурой и вероятностными оценками продолжителыюстей операций. Первые две разновидности моделей используются наиболее широко, и вопросы управления в системах СПУ мы будем рассматривать применительно к этим разновидностям моделей. В настоящем параграфе мы рассмотрим одну модель процесса выполнения работы, результаты исследования которой будут использованы при построении системы съема данных с управляемого объекта. В серии работ Бабунашвили [4, 5, 6] рассматривается несколько существенных аспектов моделирования процесса производства и построения оптимальных структур его управления в терминах проблематики сложных управляющих систем. Рассмотрим несколько подробнее общие положения, используемые при постановке задач, а также полученные конкретные результаты. При рассмотрении процессов производства мы неизбежно сталкиваемся со следующим обстоятельством. Нецелесообразность или практическая невозможность изоморфного описания рассматриваемого процесса приводит к тому, что рассматриваемые характеристики в данных системах носят отчетливо модельный характер. Ввиду этого важное положение среди методов производственной кибернетики занимает моделирование, которое в принципе заключается в создании модели управляющей системы, изоморфной или приближенно изоморфной данной, и в наблюдении ее функционирования. Сформулируем основные специфические требования, которые предъявляются обычно к моделям сложных управляющих систем как к средствам исследований: 1. Модель должна быть пригодной для воспроизведения достаточно широкой вариации утверждений, которые мы можем пожелать включить в нее, последовательно приближаясь к некоторой модели, удовлетворяющей нас по точности воспроизведения объекта. Короче, требуется адаптивность и эволюцнонность моделей. 2. Модель должна быть по возможности простой по математической природе и не обязательно должна иметь в качестве атрибутивного свойства наглядность в обычном понимании этого слова, несмотря на то, что любая
294 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. VI научная модель лучше воспринимается, если сопровождается элементами наглядности. Другими словами, модель должна быть достаточно абстрактной, чтобы допускать варьирование довольно большим числом переменных, но в то же время не настолько абстрактной, чтобы это могло вызвать сомнение в надежности результатов. 3. Ограниченность во времени, затраченном на решение задачи, является одним из наиболее важных требований, предъявляемых к модели, особенно при наличии систем, где запоздавшее решение может оказаться прямо ошибочным. В этом смысле даже сравнительно неточное, приблизительное решение, получаемое быстро, может оказаться предпочтительнее, нежели точное, но запоздалое решение. 4. Модель должна быть физически осуществимой, то есть способной к приему большого числа параметров без превышения практических пределов возможностей цифровых машин. 5. Модель должна давать одновременно результаты и количественные, и эвристические. 6. Модель должна быть консервативной в номенклатуре терминологии по индустрии, экономике и социальным явлениям. 7. Так как практика есть критерий истинности познания, то, в частности, она должна являться критерием истинности отражения объекта в форме данной его модели. Иными словами, должна существовать возможность по мере построения моделей проверять их истинность, их соответствие объектам, для воспроизведения которых они и предназначены. Несмотря на огромное обилие моделей производства, отличающихся друг от друга как выбором различных критериев функционирования системы, так и используемым при этом математическим аппаратом, можно заметить, что в основе построения всех этих моделей лежит некоторая обобщенная структура процесса создания модели. Построение модели начинается с операционного исследования процесса. На основе этого исследования строится некоторая операционная модель объекта, ис-
§ 1] ДИНАМИКА ПРОЦЕССА ПРОИЗВОЛ. В СИСТЕМАХ С/7У 295 пользующая различные критерии функционирования системы. После этого можно перейти к некоторой математической модели, используя при этом (строго математически не доказанный) тезис о возможности адекватного изображения любой нематематической модели посредством некоторой математической модели. Построенная таким образом модель должна удовлетворять указанным выше требованиям. Огромный интерес исследователей к указанным моделям и продолжающиеся интенсивные поиски в направлении построения наиболее общей и гибкой модели процесса производства обусловливаются, очевидно, тем, что исследование процессов управления производственными системами методом математического моделирования позволяет, не прибегая к дорогостоящему эксперименту, оценивать многие характеристики проектируемых производств, решать разнообразные задачи, возникающие на стадии разработки, наладки и ввода в эксплуатацию сложного производственного оборудования, а также производить сравнительную оценку эффективности различных технологических методов и вариантов структуры производственных комплексов. Однако моделирование процессов производства осложняется тем, что зачастую не существует необходимых количественных описаний реально осуществляемых процессов производства. Более того, зачастую неизвестен даже тот параметр, который определяет основной показатель выпускаемой продукции. При рассмотрении производства как некоторой организованной системы мы не должны забывать о том, что атрибутивным свойством каждой системы является то, что она должна обладать содержанием, структурой, связью и должна поддаваться управлению. Это последнее свойство, очевидно, подразумевает наличие определенного набора параметров или функциональных связей между ними, достаточно полно характеризующих динамику рассматриваемого процесса и в связи с этим имеющих огромное значение для эффективного управления данной системой. В качестве такого фактора, характеризующего динамику процесса производства, рассмотрим функциональную зависимость скорости выполнения некоторого объема работ от числа исполнителей
2S6 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ (ГЛ. VI на фиксированном фронте работ. При этом предварительно приведем несколько определений [6]. Рассмотрим некоторую обобщенную однородную работу, под которой подразумеваем набор определенных условно принятых простейших операций в некотором, вообще говоря, ограниченном пространстве. Пространством доступа назовем объективно существующее пространство, в котором возможность выполнения некоторой работы абстрактно существует. Фронт работы определяется как такая используемая часть пространства доступа, в которой при существующем уровне техники возможность выполнения некоторой работы реально существует. Теперь можно определить удельный фронт работы как фронт работы, приходящийся на одного исполнителя: где р — удельный фронт работы, Ф — фронт работы, а х — количество исполнителей на данном фронте работы. Каждая работа имеет некоторый критический удельный фронт работы р1ф, необходимый для того, чтобы каждый исполнитель работы выполнял данную работу с максимальной производительностью*). Очевидно, для различных видов работ значения рьр могут быть неодинаковыми, и при фиксированном фронте работ (Ф = = const) критическому удельному фронту соответствует некоторое количество исполнителей: *--£• (6-К2> Если во время выполнения некоторой работы р принимает значения меньше, чем р1ф, то в этом случае производительность труда исполнителей будет уменьшаться с уменьшением р. Другими словами, при ограниченном фронте работ производительность труда постоянна и равна максимальной A'max до некоторого хкр, в то время как дальнейшее увеличение л- ведет к уменьшению производительности труда. Допустим, что пронзводитель- *) Под производительностью труда понимается объем работы, выполняемый одним исполнителем в единицу времени.
S 1] ДИНАМИКА ПРОЦЕССА ПРОИЗВОЛ. В СИСТЕМАХ СПУ 297 ность труда всех исполнителен одинакова и равна некоторой величине К (в дальнейшем это существенное ограничение будет снято). Тогда картина изменения скорости выполнения работы группой исполнителей y = dV/dl (где V — объем производимой работы) в зависимости от количества исполнителей на ограниченном и фиксированном фронте работы будет иметь следующий характер. При увеличении аргумента х скорость у выполнения работы возрастает линейно до некоторого значения г/кр, соответствующего хир. Далее рост скорости выполнения работы замедляется, и она достигает некоторой максимальной величины ут при числе исполнителей хт, работающих при этом сравнительно непроизводительно, после чего у при дальнейшем увеличении х будет уменьшаться (рис. 20). Подберем формулу для кривой так, чтобы характер ее изменения соответствовал характеру изменения рассматриваемой функции. Выбранная кривая должна быть линейной от точки 0 (х = 0,у = 0) до некоторой точки Л (дг=л'1ф, у=уир), где дгкр—максимальное число исполнителей, при котором для фиксированного и ограниченного фронта работ Ф = const сохраняется максимальная производительность на одного исполнителя; у,;Р — скорость выполнения работы при х=хнр. При х>хкр кривая должна стать нелинейной и иметь максимум при х=хт и у = ут, где хт — число исполнителей, при котором достигается максимальная скорость выполнения работы ут. Выбирается функция, имеющая следующий вид: Рис. 20. У- У- Y.X ■ ахье?х при 0<х<хкр, I при лко<л<оо, } (6.1.3) и эти выражения «сшиваются» таким образом, чтобы полученная функция имела требуемый нам характер
298 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. VI изменения, то есть отыскиваются такие значения параметров а, Ь и с, для которых данные функции описывали бы рассматриваемый процесс. Для этого поступаем следующим образом. Записываем уравнение пучка прямых, проходящих через точку А (*,!р, г/1ф): У — УкР = и (х — *кр). (6.1.4) Первая производная dy/dx из уравнения (6.1.4) равна х. Первая производная функции у = ах"есх. равна у' = ах»- хесх{Ь + сх). (6.1.5) Для того, чтобы «сшитая» нами функция была гладкой, необходимо равенство первых производных функций (6.1.3) в точке л'=.г]ф, то есть и = axbKp lecx*f (b + схкр). Учитывая (6.1.6), а также то, что </,<р а х" е"кР (6.1.6) (6.1.7) уравнение прямой (6.1.4) записываем в виде _ Укр (ь + схкр) у — укр = КР (X х кр), после чего с учетом (6.1.7) и (6.1.5) уравнения (6.1.3) представляются в виде щ (/кр(* + С*кр) ,л , . —ZZ -^+УкР(1 — о — схкр) при 0-<x<xKp, '•» при хкр<х<со. Укр *•/*■* •кр- (6.1.8) Далее производится сдвиг полученной функции таким образом, чтобы она проходила через начало координат.
S 1) ДИНАМИКА ПРОЦЕССА ПРОИЗВОД. В СИСТЕМАХ СПУ 299 Тогда уравнения (6.1.8) запишутся так: </кр (* + С*кр) У У чер </кр 4/^ х при 0<x<xKp, — Укр^-^Ь — СХкр) при хкр < х < со. (6.1.9) Определяя экстремум данной функции, легко проверить, что функция имеет минимум при х = 0 и х — — оо и единственный максимум в точке Ь х„ (6.1.10) Затем определяются значения параметров а, Ь, с: j£V* Ь = кр С = "Р (6.1.11) (6.1.12) (6.1.13) Полученные результаты позволяют заключить, что для выражения рассматриваемого процесса посредством функций вида (6.1.3) при фиксированном фронте работы необходимо знать только три параметра: к, хт и х,<р, характеризующие данную работу с точки зрения динамики процесса. Теперь выражение (6.1.3) можно записать таким образом: у = %х при 0<х<хкр, 1 #6 1141 у — Ххьесх при х|(р-< х < со, J *-i где а^ —х 1 . В терминах удельного фронта рабо- ты искомая функция, как легко проверить, будет иметь
300 • ' СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ \ТП VI следующий вид: у —v.— при оо>р>ркр, У = Щ> ркр-"ш exp{-p(f)^m|)w) } при Ркр>р>0, (6.1.15) id где р,„ = —. х— производительность труда каждого из равнопроизводительных, по допущению, исполнителем, Ф Ф — фронт работы, Р = — — удельный фронт работы, а * = >фРкр]РкР"Р"'- Поскольку производительность труда определяется как скорость выполнения работы, деленная на число исполнителей, из выражения (6.1.3) легко получить соответствующие соотношения для производительности труда: К = я при 0<х<Схкр К=ахь-]есх при хкр < х < со ;.} (6.Ы6) Учитывая теперь то, что производительность труда, как и некоторые другие показатели физических и умственных способностей человека, распределена приближенно по нормальному закону, можно снять введенное выше ограничение на равнопропзводительность исполнителей. Это означает, что параметр х есть случайная величина с плотностью распределения , , N ( (ж — Мх)2 /2л Dx v\ 2Dx J где, очевидно, Мх и Dx — соответственно математическое ожидание и дисперсия производительности труда и имеют различные значения для разных работ, N— нормирующий множитель, который определяется из условия *т N \ p(x)dn = \.
§ I] ДИНАМИКА ПРОЦЕССА ПРОИЗВОЛ В СИСТЕМАХ СПУ 301 Здесь у.ц и Хщ — соответственно нижний и верхний пределы, между которыми должна находиться производительность труда всех исполнителей. Это обусловливается тем, что, как уже указывалось выше, обычно к выполнению работы допускаются лишь те исполнители, производительность труда которых не ниже некоторой общепринятой производительности труда для данного вида работы — х„. Кроме того, существует также некоторый верхний предел производительности труда хт, зависящий как от физиологических возможностей человека и организационных причин, так и от степени оснащенности исполнителей современными высокопроизводительными орудиями труда. Подстановка выражения для времени выполнения работы объема V ■А в выражение для плотности распределения производительности труда привела Г. В. Дружинина [33] к следующей формуле для плотности распределения времени выполнения работы: V . М-л где v— , и к— ,_ . Соответствующая функция распределения имеет, очевидно, следующий вид: г F(7)-^5rJrfeip{-^(f-*)'}*. (6.1.18) или окончательно она записывается в таком виде [33]: F(T) = n[\-ф[^г—к)]. (6.1.19) где X о
802 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. VI — известная табулированная функция. Рассматриваемое распределение относится к классу асимметричных распределений с модой ''"--тОА + ж-1)- (6Л-2°) а также приближенными значениями математического ожидания и дисперсии D(')^-£(l+^). (6-1.22) Необходимо отметить, что приведенная выше функция распределения является не априорной, а истинной функцией распределения времени выполнения работы объема V и основывается па использовании объективных нормативных данных. Для того чтобы ее определить, необходимо знать значения параметров Мх и Dx, характеризующих данную работу. § 2. Определение частоты опроса на стадии оперативного управления системой СПУ Рассматривая вопросы управления некоторой системой, мы неизбежно сталкиваемся с необходимостью сбора и передачи информации, которая отображает изменение всех существенных для этого процесса параметров. Необходимость получения указанной информации в свою очередь связана с определением оптимального шага квантования, где за критерии оптимизации приняты нагрузки на устройства ввода и переработки информации, а также стоимость этих устройств. Обычно на контролируемую систему накладывается существенное ограничение: должны быть налицо кривые изменения во времени параметров, характеризующих рассматриваемые процессы, отражающие все характерные режимы указанных параметров, либо все статистические характеристики контролируемой системы должны определяться в результате предварительных экспериментов.
5 г] ОПРЕДЕЛЕНИЕ ЧАС^УГЫ ОПРОСА 303 М. К. Бабунашвили предложил [4] алгоритм определения оптимального шага квантования в сложных управляющих системах, на которые не накладываются указанные ограничения. Это, очевидно, существенно расширяет класс рассматриваемых процессов и явлений, тем более, что этот алгоритм можно применять для контролирования нестационарных случайных параметров. Прежде чем перейти к рассмотрению алгоритма, не* обходимо выбрать наиболее характерный, обобщенный показатель, с помощью которого можно было бы анализировать состояние системы и определить характер и величину необходимого управляющего воздействия. За такой обобщенный показатель можно, например, принять интегральный объем выполненных работ, который может быть выражен а) в денежных показателях — рублях; б) в натуральных показателях — тоннах, мл, штуках и т. д.; в) в показателе трудоемкости — человеко-времени. В зависимости от вида и специфики работ, входящих в проект, выбирается наиболее удобный из вышеуказанных показателей. Так, например, для строительного производства, характеризующегося большим разнообразием натуральных показателей объема работ, наиболее удобным, с точки зрения технологов, является стоимостный показатель. Возьмем некоторую простейшую для данной детализации сети работу произвольной длительности. Для рассматриваемой работы считаем заданными следующие параметры: 1) плановый срок окончания работы tli:i; 2) допустимые пределы отклонения от срока оконча* ния этой работы А/Пл; 3) оптимистический срок окончания работы t0. Очевидно, плановая длительность работы и оптнми- стическая длительность работы будут выражаться соответственно через /„л — tB и t0 — ta, где tH— момент начала работ. Плановый объем выполняемой работы распределяется в заданном промежутке времени от tH до /пл в соответствии с технологическими и другими требованиями.
304 СТАТИСТИЧЕСКИЕ /\ЕТОДЫ П СИСТЕМЕ СПУ [ГЛ. VI Данное распределение назовем плотностью распределения объема работ по времени и обозначим через П(/). Очевидно, интеграл от плотности распределения объема работы дает плановую интегральную кривую хода работ во времени Van(t). Тогда легко видеть, что Им(0=/П(0Л. (6.2.1) 'н Упл = $ П(/)Л, (6-2.2) '« где Vn.T — объем, необходимый для завершения данной работы. Множество причин, таких, как нерешительность и ошибки исполнителей, нехватка материалов или рабочей силы, недостатки в технологии и т. д., уменьшают скорость выполнения работ, то есть вызывают отклонение от намеченных графиков. Функцией регулирования хода данной работы является устранение рассогласований между истинным и плановым интегральными объемами. Поэтому в процессе осуществления данной работы с целью контроля приходится сравнивать истинную интегральную величину объема выполнения работ, являющуюся случайной величиной, с плановым интегральным объемом в определенные моменты времени г,-, которые должны определяться выбором шага опроса. Для дальнейших рассуждений по определению шага опроса обратимся к рис. 21, где Vnn(t)—плановая интегральная кривая, построенная по оценке среднего времени продолжительности работы; V0(t) — плановая интегральная кривая, соответствующая оптимистической оценке продолжительности работы; V(t)—фактическая кривая, строящаяся в процессе осуществления данной работы. Переместим кривую V0(t) в направлении оси абсцисс таким образом, чтобы точка (/<,, Упл) совпала с точкой (^пл, Vn;t). Тогда начальная точка в функции V0(t) переместится из точки (/„, 0) в точку (fi, 0). Очевидно,
§ 2] ОПРЕДЕЛЕНИЕ ЧАСТОТЫ ОПРОСА 305 что, если даже до момента tt работы вообще не выполнялись, имеется вероятность, отличная от нуля, в случае оптимальных условий использования наличных производительных и материальных ресурсов, выполнить объем работ Vna к сроку /Пл- Если же опрос будет произведен позже момента времени Л, то, поскольку наивысшая скорость работ определяется кривой Vo(0. CP0K 'пл уже не может быть обеспечен. Рис. 21. Таким образом, первый опрос может быть произведен в срок, определяемый промежутком (/„, tt). Приняв предельное значение t{ и проведя опрос, мы получим сведения о выполненном объеме работ V(fi), который равен значению V(t) в точке с абсциссой /(. Проведя через эту точку кривой (V(ti), ft) линию, параллельную оси абсцисс, до пересечения со смещенной кривой V0(t), получим точку с абсциссой t>, определяющую, по ранее приведенным соображениям, предельное значение срока второго опроса. Последующие точки определяются аналогичным образом. Отметим некоторые особенности предлагаемого метода определения шагов опроса. 20 Д- И. Голенко
306 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. Vt 1. Шаг опроса получается не постоянным, а перемен- ■ ным; чем ближе работы к завершению, тем чаще осуществляется опрос. Таким образом, для объектов, находящихся в так называемом «пусковом» или «предпусковом» периоде, опрос осуществляется чаще, чем для тех, на которых работы только начаты. 2. Чем лучше идет работа на объекте, чем больше превышение V(t) над Vnn(t), тем реже осуществляется опрос и тем меньше будет опросов. Наоборот, чем хуже идет работа на объекте, чем ниже идет кривая V(t) относительно УПл(0> тем чаще осуществляется опрос, выяснение ситуации на объекте и принятие оперативных управляющих воздействий. 3. Существует опасность, что на некотором шаге опроса (в том числе на первом) мы окажемся на смещенной кривой. Это будет иметь место в том случае, если скорость выполнения работ за время от предыдущего опроса (или от начального момента до первого опроса) до настоящего была равна нулю. Эта опасность не очень велика, так как вероятность того, что скорость выполнения работ будет ниже некоторой кривой, соответствующей пессимистическим оценкам продолжительности работ, весьма мала. Тем не менее такой случай возможен. Поскольку возможность движения строго по кривой невелика, задача управляющего органа в этом случае состоит в том, чтобы обеспечить наименьшую задержку относительно срока tna, а также изменить условия выполнения работ таким образом, чтобы повысить скорость, чтобы ее график прошел выше определяемой кривой V(t), путем привлечения дополнительных ресурсов, расширения фронта работ и т. п. Аналитическое выражение для предельного момента (г'+1)-го опроса (рис. 21) имеет следующий вид: 'т = 'пл-('пЛ-^)-|5г. (6-2.3) где ti — момент г'-го опроса; tg a* — некоторая средняя скорость, с какой необходимо двигаться, начиная с момента ti, для того, чтобы объем работы Van— V{U) был
§ 2\ ОПРЕДЕЛЕНИЕ ЧАСТОТЫ ОПРОСА 307 бы выполнен к tail; tg'ft— некоторая средняя оптимистическая скорость. Выражение (6.2.3) можно также записать в таком виде: [I tg ак <m = '.u-('M-'i)-^r. (6-2-4) В реальных системах tg -&, очевидно, не остается по- стоянным, так как после каждого опроса пересматриваются все временные оценки, в том числе и оптимистические. В этом случае последующее предельное значение момента опроса ti+i будет определяться точкой пересечения прямой, проходящей через точку кривой V(h) и параллельной оси абсцисс, с новой оптимистической интегральной кривой, вид которой определился на г-м шаге. Тогда соотношение (6.2.3) для этого случая запишется следующим образом: Ч+\ — *пл ('пл '/) tg.fy ' где tg'&i — некоторая средняя оптимистическая скорость, характеризующая пересмотренные предельные возможности системы после t'-ro шага. Очевидно, аналогичное изменение произойдет и в формуле (6.2.4), которая в этом случае запишется следующим образом: */+1 — 'пл (*ПЛ Л) | j_ (а#А * Все сказанное выше относилось к случаю, когда скорость выполнения работы не могла быть ниже нуля и для определения предельного момента последующей точки опроса использовалось предельное значение фактической скорости, равное нулю (прямая, параллельная оси абсцисс). Однако с вероятностью, близкой к единице, скорость выполнения работ не будет ниже скорости, определяемой пессимистической временной оценкой. Поэтому, если принять условие, что скорость выполнения работ не может быть ниже некоторой скорости, 20*
308 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. VI определяемой кривой Vnc(0, T0 моменты опроса можно найти способом, аналогичным описанному выше, с той разницей, что вместо отрезков, параллельных оси абсцисс, используются отрезки линий, параллельных Vnc', как это показано на рис. 22 для случая линейного представления функций Va(t) и Vnc(t). Аналитическое выражение Рис. 22. для предельного момента (<'+.1)-го опроса в этом случае будет иметь следующий вид: ti+i tgft-tgq> l™+ tg*-tg4> tl' (b'2-5) где /}'— момент предыдущего опроса, tgtp — некоторая средняя пессимистическая скорость, соответствующая кривой Vuc(t). Учитывая теперь от шага к шагу пересмотр и изменение временных оценок, выражение (6.2.5) запишем следующим образом: у tgV-tgO, ,+£* = *& n (626) Преимущество опроса контролируемой системы по указанному алгоритму по сравнению с предыдущим заключается в том, что, почти не изменяя вероятности до-
§ 31 ИЕРАРХИЧЕСКАЯ СТРУКТУРА СЕТЕВОЙ МОДЕЛИ ЗС9 стижения У„л к плановому сроку /„л, мы существенно понижаем частоту опроса, что означает понижение затрат на контроль при практически той же эффективности опроса. § 3. Вопросы иерархической структуры сетевой модели на стадии оперативного управления Заметим, что рассмотренная в предыдущем параграфе система контроля позволяет в некотором смысле оптимально решить вопрос определения частоты опросов для любого ранга иерархической системы управления [5]. Если па низшем ранге, как уже рассматривалось выше, система может контролировать выполнение одной работы любой длительности, то на- 'более высоких рангах она контролирует любую группу работ независимо от их количества. Особенность контроля на разных рангах связана лишь с тем, что на каждом из уровней приходится контролировать работы разной детализации. Чем выше ранг, тем меньше детализированы работы. Характерным показателем важности системы, то есть мерой жесткости условий выполнения некоторого события (например, выполнения определенного объема работ), может служить требуемая от исполнителей вероятность выполнения данного события к моменту времени гпл, которую обозначим через рпл. Это соответствует заданию допустимых границ отклонения Д/Пл от /пл и означает, что если для окончания рассматриваемой работы необходимо лишь окончание некоторой подработы с пессимистической длительностью меньшей, чем Д/Пл. то можно считать, что данная работа уже выполнена. Поэтому с точки зрения регулирования процесса выполнения работы пет необходимости контролировать работы длительностью меньшей, чем Д/,,.-,, что, очевидно, делает данный параметр некоторой мерой детализации рассматриваемой работы. Интересным представляется случаи, когда кривая V(t) совпадает с Vn.-i(0, то есть осуществление работы идет точно по плану. В этом случае опросы, осуществляемые по приведенному алгоритму, будут иметь профилактический характер, и число N профилактических
310 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. Vt опросов для некоторой работы с определенными характеристическими параметрами /ил, t0 и Д/„л равно 7V= £-. (6.3.1) In -is- Допустим, имеется некоторая сеть с произвольным числом работ на критическом пути и с некоторым начальным и конечным событиями А и В. Очевидно, можно считать, что каждая элементарная работа, которая входит в данную сеть, составляет &-й, оконечный, ранг некоторой иерархической структуры управления *) рассматриваемыми разработками и (k—1)-й ранг этой структуры — одна укрупненная работа, включающая в себя всю данную сеть. Другими словами, будем рассматривать каждую элементарную работу, входящую в указанную сеть, как подсистему А-го ранга некоторой большой системы. Здесь прд подсистемой подразумевается подчиненная управляемая система, алгоритм функционирования которой направлен на реализацию алгоритма управления большой системой в соответствии с принятыми критериями управления. Выберем из всех т работ, лежащих на критическом пути, некоторую i-io работу, для которой число профилактических опросов, выраженное формулой (6.3.1), окажется минимальным, то есть 7V,= min Nr= min т2^—, 1 <г <т 1<г <m in ° r 'пл г где, очевидно, имеет место неравенство ^^ПЛ Г ^ tor "^ М1Л/" Если каждая работа, лежащая па критическом пути, опрашивается указанное число раз, то соответствующее *) Произведем следующую нумерацию иерархической структуры; верховный элемент назовем элементом нулевого ранга и с понижением ранга будем увеличивать его номер.
§ 3] ИЕРАРХИЧЕСКАЯ СТРУКТУРА СЕТЕВОЙ МОДЕЛИ 311 минимальное число опросов, необходимое для опроса всего критического пути, очевидно, будет равно mNt = m min Nr, 1 <r<m где Ni — минимальное число опросов, необходимое для опроса критического пути при. • принятой детализации Ataai, определяемой рангом k. Рассмотрим теперь указанную сеть как одну работу (А, В) с некоторыми характеристическими параметрами Тип, Т0 и АГпл, которые, допустим, связаны с параметрами 1-й работы следующим образом: ' пл == УЛл (• 1 T0 = J2toi, (6.3.2) где /i, /2 и /з —произвольные неотрицательные числа, большие единицы, и допустим, что /i > h > js. Предъявим теперь рассматриваемой иерархической структуре вполне закономерное требование, заключающееся в том, чтобы с изменением ранга (с уменьшением номера ранга) уменьшалось бы необходимое для управления число опросов. При этом нашему требованию придадим наиболее жесткий вид: N*<Niy где N* — число опросов, необходимое для опроса работы (А, В) с точки зрения детализации (k — 1)-го ранга, то есть по параметрам (6.3.2). Для того чтобы было осуществлено указанное условие, а также очевидные неравенства jitnni ^ /Vot ^ /зА'плЬ требуется наложить ограничения на величины jit /2 и /»
312 статистические; методы в системе спу [гл. vi Поступаем следующим образом: Уг^о /' У? *о / ^ Уг fo/ ln-A°J_ \uA + [nl°L *|ПА inA-L J i'ал I J\ 'пл i J\ *nnl in A inA = —-.2- 4- min Nr < -—*-f- -b'« min /Vr == У\ /l !nA = —A—|-(m — 1) min /V,+ min N.. In It l<r<m l<r<m У i Отсюда видно, что для выполнения условия Л"<; miniVr l<r<m достаточно, чтобы .„А __'*- + («— 1) min vVr<0. (6.3.3) \nI2- Kr<m h Запишем это неравенство в следующем виде: 1пА>(/п —1) min TV, In A У 2 l<r<m li In-^Hil Далее, учитывая, что min jV, = ^—, и проведя l<r<m In °'_ мм / простейшие преобразования, получим первое достаточное условие в виде 17 > \~£Г) ' С другой стороны, учитывая условие, ранее наложенное на систему: У"0>ДГпл, то есть у2/0,>у3Д/пл/, имеем А< .,"' • Следовательно, можно записать:
$ 41 РАЗРАБОТКА ИСХОДНОГО ПЛАНА В СИСТЕМАХ СПУ 313 Затем, используя неравенство (6.3.3), подобным же образом проведя соответствующие подстановки и преобразования, получим еще одно достаточное условие: 'о ( ^ J. *пл L<4-<(¥L)m~1- (6-3-5) Можно показать [6], что полученные достаточные условия являются также и необходимыми.' В результате имеем, что необходимым и достаточным условием для выполнения неравенства N* -^ min Nr является выполнение между величинами ju /а и /з, \*Сг*Ст, определяющими характеристические параметры (k—1)-го ранга, следующих соотношений: №) т — 1 ; / У з S* *о / < X "^ А'„ 2 а'пл/ , (6.3.6) Ограниченная способность элементов системы перерабатывать необходимый объем информации, а также ограниченность памяти и быстродействия управляющей системы сделали необходимым введение иерархической системы управления. Условия (6.3.6), наряду с указанными существенными аспектами функционирования системы, являются одними из достаточных условий при синтезе оптимальных иерархических структур. § 4. Статистические методы на стадии разработки исходного плана в системах СПУ Изложенная в предыдущих параграфах методика опроса системы СПУ в зависимости от иерархии системы позволяет решить одну из важных задач управления, связанную с функционированием блока сбора информации о состоянии объекта управления (см. §§ 1, 2 главы I). В дальнейшем управление передается следующим блокам управляющей системы, которые осуществляют расчет календарных планов хода работ по созданию нового комплекса. Именно с помощью этих блоков —
314 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. VT блоков анализа оперативной информации и блока управления (см. рис. 1)—и осуществляются основные этапы функционирования системы СПУ. Как известно, этапы функционирования систем сетевого планирования и управления подразделяются па две самостоятельные стадии: стадию разработки исходного плана и стадию оперативного управления, причем первая стадия предшествует последней. Одним из важнейших этапов стадии разработки исходного плана является расчет ожидаемого календарного срока завершения работ как по всему объекту, так и но важнейшим входящим в сетевой проект событиям. На стадии разработки исходного плана необходимо прежде всего задаться желаемой доверительной вероятностью выполнения работ по созданию сложного комплекса в расчетный календарный срок, то есть задать коэффициент доверия /ь Задание ря для расчета сроков завершения работ по созданию нового комплекса имеет много общего с установлением планового процента непредвиденных работ, который широко применяется в существующей практике планирования научно-исследовательских и опытно-конструкторских разработок. Величина задаваемого коэффициента доверия р3, разумеется, зависит от сложности и новизны создаваемого комплекса. Расчетный срок завершения работ по созданию нового комплекса для случая стохастической сетевой модели или детерминированной сетевой модели со случайными оценками работ определяется прибавлением к дате начального события не продолжительности критического пути, а величины соответствующего р-квантиля. Одновременно, согласно описанной в главе IV методике, основанной на теории статистического моделирования, оцениваются вероятности выполнения всех работ по объекту в директивный срок и фиксируется соответствующий коэффициент доверия /7Д. Если значение коэффициента ря меньше заданного ра (или в случае, если величина ря вследствие ее малого значения не может гарантировать выполнения хода разработки в намеченный директивный срок), руководство проекта проводит детальный анализ
§ 4] РАЗРАБОТКА ИСХОДНОГО ПЛАНА В СИСТЕМАХ СПУ 315 сетевой модели и, в необходимых случаях, ее оптимизацию. Рассмотрим некоторые способы анализа временных оценок сетевых моделей со случайными оценками работ. Вопросы оптимизации рассматривались нами в § 5 главы IV и будут подробно рассмотрены в следующей главе. Доверительные р-квантильные оценки времени выполнения сетевого проекта в целом должны анализироваться в сопоставлении с продолжительностью' критического пути от исходного до завершающего событий, если продолжительности работ приравнять их средним значениям. Такой анализ целесообразно производить на стадии составления исходного плана после первого проверочного расчета сети. Рассмотрим следующие четыре различных случая, которые могут иметь место при сопоставлении продолжительности критического пути с р-квантильными оценками [22]: I. Продолжительность критического пути несущественно отличается от следующего по длине пути между исходным и завершающим событиями (подкритический путь), а /7-квантильные оценки (например, при р = 0,7 и /7 = 0,8) существенно отличаются друг от друга. Причина этого явления состоит в следующем. Предположим, что мы многократно реализовали все работы, входящие в сетевую модель, то есть многократно ее промоделировали. Существуют работы (/, /'), которые при многократной реализации сетевой модели имеют тенденцию чаще попадать на критический путь и существенно реже — на путь, следующий по продолжительности. Эти работы, таким образом, имеют тенденцию лежать на наиболее напряженном пути сетевой модели. Они характеризуются весьма большой дисперсией для распределения вероятностей случайного времени их выполнения. Последнее обстоятельство может иметь место по двум причинам: а) либо обстоятельства, характеризующие выполнение этих работ, не дают возможности заранее объективно оценить оптимистическую и пессимистическую оценки времени их выполнения, вследствие чего разброс значений около среднего делается значительным;
316 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. VI б) либо ответственные исполнители по каким-либо из этих работ проявили необъективность и сознательно расширили области определения времени выполнения этих работ. В любом случае необходимо установить наименование этих работ и исследовать возможность сужения интервала (а, Ь), где а и b — соответственно оптимистическая и пессимистическая оценки. Заметим, что число такого рода работ может быть велико. II. /7-квантильные оценки отличаются друг от друга несущественно, и аналогичное обстоятельство имеет место в отношении оценок для критического и подкритиче- ского путей, определенных по средним значениям. В этом случае мы вправе считать, что, если бы мы выполнили сетевой проект, реализовав все работы, его составляющие, и повторили бы эту процедуру многократно, мы наблюдали бы устойчивую тенденцию: наиболее ранние сроки выполнения всего проекта отличаются друг от друга незначительно. Мы не имеем достаточных оснований ставить под сомнение качество составления сетевой модели. III. р-квантильные оценки при различных коэффициентах доверия существенно отличаются друг от друга; расхождение между продолжительностью критического и подкритнческого путей также следует признать существенным. В этом случае мы вправе считать, что напряженные пути в исследуемой сети отличаются друг от друга. Работы, лежащие на самом напряженном пути, имеют большие математические ожидания времени их выполнения, чем лежащие на следующем по напряжению пути, и т. д. Подобно второму случаю, у нас нет оснований считать составление сетевого проекта недоброкачественным или ставить под сомнение оценки сроков выполнения работ, установленные ответственными исполнителями. IV. р-квантильные оценки отличаются несущественно, а длины критического и подкритнческого путей — существенно. Этот случай, наблюдаемый сравнительно редко, может быть следствием следующих двух различных причин:
5 4] РАЗРАБОТКА ИСХОДНОГО ПЛАНА В СИСТЕМАХ СПУ 317 1. На самом напряженном пути (в смысле вероятности для него быть критическим) лежат работы с большими математическими ожиданиями продолжительности их выполнения, чем работы, лежащие на менее напряженных путях, но последние имеют большие дисперсии — разброс возможных значений времен их выполнения. А поскольку /7-квантильные оценки зависят от математических ожиданий и дисперсий, в отличие от оценок длин критического пути, которые зависят только от средних значений, для значений р-квантильных оценок при различных р может иметь место известная нивелировка: уменьшение математических ожиданий (средних) компенсируется возрастанием дисперсий. Разумеется, этот случай нуждается в детальном анализе составляющих сетевую модель работ с целью выяснения объективности оценок, задаваемых исполнителями работ. 2. Иногда может иметь место случай, когда постулируемый нами закон распределения времени выполнения ряда работ на самом деле не имеет места. Тогда применение метода статистического моделирования поможет это выявить. В этом случае необходимо более детально (на основе нормативных данных) установить законы распределения времени выполнения работ, после чего вновь рассчитать квантильные оценки. Именно р-квантильные оценки, то есть ожидаемые сроки свершения событий, являются темп параметрами сетевой модели, которые необходимо сопоставлять с директивными сроками по всему сетевому проекту в целом (или по отдельным входящим в него событиям). Разумеется, необходимо в зависимости от важности, сложности или срочности проекта разумно выбрать соответствующий коэффициент доверия р, как это уже отмечалось выше, в главе IV. Если руководство работ по сетевому проекту предприняло оптимизацию материальных или стоимостных ресурсов сетевой модели, то после завершения оптимизации и задания новых оценок продолжительностей работ необходимо вновь просчитать р-квантнльнуюоценку (с тем же коэффициентом доверия р3), а полученный результат вновь представить руководству для принятия решения.
318 СТАТИСТИЧЕСКИЙ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. VI Если новый скорректированный вариант сетевой модели также не обеспечивает приемлемого для руководства проекта значения р-А, процедура оптимизации повторяется вновь и вновь до получения удовлетворительного результата. После анализа результатов коррекции сетевого графика руководство проекта (в случае невозможности доведения ра до желаемого уровня) принимает решение: либо увеличить директивный срок (и тем самым увеличить значение рА), либо сохранить прежний директивный срок, по пойти на риск невыполнения разработки в этот назначенный срок. Так или иначе, окончательное решение принимается, утверждается соответствующий директивный срок, и тем самым фиксируется мера гарантии — значение коэффициента доверия рд. Передача информации об ожидаемых (р-квантиль- ных) самых ранних сроках свершения основных событий на стадии составления исходного плана может быть осуществлена различными способами. Рассмотрим в качестве примера форму аналитической документации, разработанную для одной из межотраслевых систем СПУ в СССР (см. рис. 23). Документация заполняется службой СПУ при вычислительном центре и представляется руководителю организации, осуществляющей ход разработки, а также направляется в соответствующую службу СПУ. Такого рода информация особенно важна в процессе оптимизации сетевой модели, при сопоставлении анализируемого и базисного вариантов этой модели. Графы 1—5 формы не нуждаются в объяснении. В графе 6 записывается доверительная вероятность ря, соответствующая директивному сроку для базисного варианта сетевой модели, а в графе 7 — аналогичная характеристика для анализируемого варианта. Сопоставление граф 6 и 7 показывает, насколько повысилась мера гарантии выполнения хода разработки в директивный срок в результате оптимизации сетевого графика. Графа 8 показывает ожидаемое время свершения основных событий для базисного варианта сетевой модели при заданном рл. Графа 9 оценивает аналогичные
Статистическое моделирование в системе СПУ Форма I Шифр системы М njn 1 Конт Шифр этапа разработки 2 ролер BL № варианта расчета Базисного Анализируемого Ожидаемые сроки свершения {при />3= •••) Основные события Шифр 3 I Наименование 4 Дата заполнения « *196г. Стр. Всего стр. Сроки свершения Директивные Дата 5 Вероятное рх Было 6 Стало 7 Ожидаемые Дата Было 8 Начальник ОКАР Стало 9 Примечание 10 Рис. 2а
320 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. VI сроки, но уже для анализируемого варианта. Сопоставление граф 8 и 9 позволяет оцепить выигрыш во времени хода разработки при анализируемом варианте по сравнению с базисным при одинаковом коэффициенте доверия р3. Стадия разработки исходного плана должна оканчиваться построением календарного план-графика и доведением его до ответственных исполнителей. Методика такого расчета изложена для случая детерминированных сетевых моделей с детерминированными оценками работ в § 4 главы I. Если продолжительности работ представляют собой случайные величины, задача становится существенно более трудной. Учитывая, что в основе построения календарного план-графика на стадиях разработки исходного плана и оперативного управления лежат одинаковые принципы, изложим соответствующую методику в следующем параграфе, посвященном функционированию систем СПУ на стадии оперативного управления. S 5. Оперативно-календарное управление системой СПУ Выше уже отмечалось, что стадия оперативно-календарного управления включает как составление календарного плана хода работ по созданию нового комплекса, так и реализацию управляющих воздействий в случае рассогласования фактического состояния системы СПУ с запланированным. Для случая сетевых моделей со случайными оценками работ вопрос относительно составления обоснованного календарного плана начала и окончания работ до сих пор полностью не решен. Заметим, что термин «календарный план» означает задание п л а и о в ы х сроков начала и окончания всех входящих в сетевую модель работ. В случае отсутствия такого плана ведущая разработку организация практически лишается возможности рационально использовать имеющиеся в ее распоряжении ресурсы. В настоящее время можно выделить три основных . направления решения этой проблемы [22, 24, 38].
§ 5] ОПЕРАТИВНО-КАЛЕНДАРНОЕ УПРАВЛЕНИЕ 321 Аналитический метод усреднения задания календарного план-графика в системах СПУ предусматривает расчет календарных сроков начала и окончания работ, а также резервов времени и других временных параметров без использования статистического моделирования, на основе применения аналитического теоретико-вероятностного аппарата. К этому направлению относится рассмотренный выше, в § 1 главы III, метод усреднения, применяемый в системах СПУ типа ПЕРТ. Согласно этому методу, продолжительности всех работ сети, имеющие случайный характер, приравниваются соответствующим математическим ожиданиям, в результате чего получается детерминированная сетевая модель с детерминированными оценками. Такая модель позволяет произвести однозначный расчет всех временных параметров модели, к которым могут быть отнесены ранние и поздние сроки свершения событий, начала и окончания работ, резервы времени работ и событий. Указанные расчетные величины, например ранние сроки начала и окончания работ, могут быть утверждены в качестве директивных плановых сроков. В этом случае роль управления в системе СПУ сводится к выдаче управляющих воздействий в систему, компенсирующих на последующих этапах отставание за счет обстоятельств, которые не были учтены при выдаче оценок и расчете параметров сетевой модели на этапе составления исходного плана. Наличие однозначно рассчитанных сроков начала и окончания работ и других временных параметров модели позволяет выбрать процедуру управления [38]. Хотя процедура управления разработкой не может не зависеть от наличных ресурсов и необходимости их оптимального перераспределения, мы не будем касаться здесь этой проблемы. Остановимся лишь на задаче управления продолжительностью работ, которое необходимо осуществить для достижения поставленной цели (свершения заданного события в заданный срок), полагая, что воздействие системы управления на продолжительность работ не связано с какими-либо ограничениями по ресурсам. 21 Д. И. Голенко
322 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. VI Если план-график, вытекающий из расчета рассматриваемой модели, утвержден, то его выполнение однозначно гарантирует выполнение разработки в заданный срок. Отсюда вытекает процедура управления, обеспечивающая соблюдение рассчитанного графика. По-видимому, порядок контроля и управления, целесообразный для рассматриваемого случая, должен быть следующим. Команды управления, предусматривающие сокращение продолжительностей работ на последующих этапах с целью компенсации допущенного превышения предусмотренных продолжительностей работ на предыдущих этапах, должны на критических путях относиться к работам, непосредственно следующим за событиями критического пути, срок свершения которых сместился по сравнению с графиком. На путях, имеющих резервы времени, эти команды также должны относиться в первую очередь к работам, началом которых являются события, срок свершения которых сместился по отношению к расчетному. Однако эти команды следует реализовывать на этих путях лишь в том случае, если срок свершения этих событий превысил значение позднего допустимого срока. Рассмотрим характер управляющих воздействий при оперативно-календарном управлении системой СПУ. Основные виды управляющих воздействий следующие: а) перераспределение материальных, людских или стоимостных ресурсов внутри работ сетевой модели; б) дополнительное привлечение ресурсов извне (для наиболее напряженных работ сети); в) изменение топологии сетевой модели, приводящее к сохранению целевых функций проекта, но связанное с сокращением сроков его выполнения; г) изменение целевых функций сетевого проекта (в частности, тактико-технических свойств вновь создаваемого сложного комплекса), приводящее к сокращению временных оценок; д) большая интенсификация выполнения отдельных входящих в сетевую модель работ. В ряде зарубежных систем СПУ различные степени интенсивности предусмотрены заранее, причем для каждой из них ответственными исполнителями задаются различные временные оценки.
§ 51 ОПЕРАТИВНО-КАЛЕНДАРНОЕ УПРАВЛЕНИЕ 323 Разумеется, большая интенсификация выполнения сетевого проекта приводит к сокращению временных оценок. Главным достоинством управления системой СПУ с помощью метода усреднения является простота и детерминированность (однозначность) расчета всех параметров сетевой модели, а основным недостатком — наличие систематической ошибки и известная необоснованность расчета отдельных значений календарных сроков свершения работ и событий. Следует отметить, что в настоящее время рядом ученых: Левиным [38], Хойзером, Бар- ши и Эренфельдом [75], Голенко [22, 24] и другими — исследования в этом направлении продолжаются. Вторым направлением является применение методов статистического моделирования для оценки плановых сроков свершения всех входящих в сеть событий и, в соответствии с этим, установление плановых сроков начала и окончания работ. Рассмотрим процедуру расчета календарного план-графика [22, 24, 38]. После утверждения директивного срока вычислительный центр определяет соответствующие рд-квантиль- ные оценки самого раннего срока свершения входящих в сетевой график событий. Полученные оценки должны задаваться в качестве планового времени свершения всех событий и работ, входящих в сетевую модель. Иными словами, р-квантильная оценка самого раннего срока свершения события i должна служить плановым сроком окончания всех работ (k, i), оканчивающихся событием /. Отдельные входящие в сетевой проект работы будут при этом, разумеется, обладать резервами времени (теперь уже вероятностными), рассмотренными в § 2 главы IV. Таким образом, каждая работа (/, /) сетевого графика получает плановые календарные сроки начала и окончания — соответственно />д-квантильные оценки величин ^Рап(0 и /Ран(/) в календарной шкале времени. Рассматриваемая методика не претерпевает никаких принципиальных изменений, если /7д-квантильные оценки самых ранних сроков заменить соответствующими /7-квантильными оценками самых поздних сроков. Доверительная /7д-квантильная оценка самого позднего срока свершения события i равна ^1-рд [Люз(*')], где Wp(x) обозначает р-квантиль случайной величины х, 21»
824 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. VI Рассмотрим несколько более подробно процедуру управления ходом новой разработки согласно приведенной методике [53]. Использование для управления разработкой модели с детерминированной структурой и вероятностными опенками, учитывающей случайный характер продолжитель- ностей работ, ставит задачу выбора такой процедуры управления, которая в максимальной степени соответствовала бы случайному характеру продолжительности операций в модели и нужным образом учитывала бы меру неопределенности временных параметров модели в этом случае. Однако учет случайного характера про- должительностей работ делает невозможным установление однозначной связи между статистическими характеристиками рассматриваемой модели, такими, например, как р-квантильные оценки сроков свершения событий и всего проекта. Это существенно усложняет вопрос о выборе процедуры управления, приспособленной к вероятностному характеру управляемого процесса. Для дальнейшего рассмотрения вопроса о выборе управления в системе СПУ, использующей модель с вероятностными оценками, существенным является понимание принципиального отличия процесса, реализуемого в результате моделирования, и характера получаемой при этом информации, от процесса реализации реальной разработки. Процесс статистического моделирования, представляющий собой многократную реализацию случайных величин, дает возможность оценить временные параметры сетевой модели с учетом усредненного влияния множества факторов, влияющих на продолжительность каждой работы, в том числе и фактора управления, который имел место при определении оптимистической и пессимистической оценок продолжительности работ в модели. Что касается процесса выполнения разработки, то последний принципиально отличается тем, что является единой реализацией случайного процесса. Совершенно очевидно, что результат такой реализации может как угодно отличаться от результата, полученного при статистическом моделировании. Однако это может иметь место лишь в том случае, если на продолжительности
§ 5] ОПЕРАТИВНО-КАЛЕНДАРНОЕ УПРАВЛЕНИЕ 325 работ не оказывает воздействия система управления. Введение управления в систему СПУ существенно влияет на возможные, пределы колебаний продолжитель- ностей работ и степень неопределенности сроков выполнения проекта. Таким образом, действие системы управления эквивалентно уменьшению вероятностных свойств модели и приближению к свойствам модели с детерминированными оценками. Сказанное позволяет выбрать [38] процедуру управления, учитывающую вероятностный характер процесса выполнения разработки путем оценки временных параметров модели при помощи статистического моделирования и определения р-квантильных оценок ранних и поздних сроков свершения событий сетевой модели. Система сроков свершения событий, принятых за плановые директивные, учитывающая указанным способом вероятностный характер процесса разработки, позволяет построить модель, которая может явиться таким же инструментом управления в рассматриваемом случае, каким является классическая модель с детерминированными оценками, позволяющая произвести однозначный расчет временных параметров сети и сформировать план-график проведения работ. Таким образом, оценивая роль управления в системах СПУ с детерминированными и вероятностными оценками, следует указать на совершенно одинаковый механизм действия системы управления на продолжительности работ и на идентичный характер цели, для выполнения которой вводится система управления. Разница между этими двумя случаями заключается лишь в том, по отношению к чему система управления обнаруживает отклонение при реализации проекта. В первом случае это отклонение измеряется по отношению к однозначно рассчитанным моментам времени, а во втором случае — по отношению к моментам времени, определенным с учетом присущей системе неопределенности. Если р-квантильные оценки сроков свершения событий (ранних и поздних), принятые за директивные сроки, позволяют построить сетевую модель, имеющую топологию, совпадающую с исходной, то оценки продол- жительностей работ в такой сети, обеспечивающие
326 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. VI выполнение установленных сроков свершения событий, могут быть определены по формулам t (I. /)- Wp [tm (/)] - Wp [tpm(l)\ (6.5.1) либо t (/, /) - Wx.p [tn03 (j)\ - Wx_p [/n03 (/)]. (6.5.2) В том случае, если целью управления является соблюдение срока выполнения проекта, установленного по р-квантильной оценке, и любая работа в сети в процессе выполнения проекта начинается в момент свершения события, непосредственно ей предшествующего, вычисленные по формулам (6.5.1) или (6.5.2) продолжительности работ в модели в случае смещения сроков событий, предшествующих работам, подлежащим выполнению, дают представление о том, на какую величину эти работы должны быть уменьшены для компенсации допущенного ранее отклонения. Команды управления, направленные на компенсацию допущенного отклонения, как и в случае детерминированной модели, на критических путях, должны реализоваться немедленно в том случае, если фактический срок свершения события превысил р-квантиль самого раннего (или самого позднего) допустимого срока. В случае невозможности такой немедленной реализации управление передается на работы, непосредственно за ними следующие. К недостатку рассмотренного направления относится невозможность в полной мере использовать топологию сетевой модели: ведь все р-квантильные оценки свершения событий оцениваются по самым ранним (или по самым поздним, что принципиально одно и то же) срокам. Кроме того, сроки выполнения более ранних работ могут быть при этом методе необоснованно завышены, а более поздних, — наоборот, занижены. Третье, комбинированное направление основано на следующем принципе. Управление системой СПУ ведется на основе аналитических оценок, а контроль управления — на основе доверительных оценок, полученных методом статистического моделирования,
§ 5) ОПЕРАТИВНО-КАЛЕНДАРНОЕ УПРАВЛЕНИЕ 327 Такая методика принята в одной из межотраслевых систем СПУ, разработанных в Советском Союзе [22, 24, 52]. Согласно проекту этой системы календарный план- график составляется на основе усредненной схемы, как и в системе ПЕРТ, но уже с использованием двухоце- ночной методики, описанной в § 4 главы II и позволяющей использовать аппарат статистического моделирования. Согласно структуре этой системы сетевого планирования и управления оперативная информация относительно ожидаемых сроков по мере хода разработки периодически *) передается руководителю предприятия и в службу СПУ. Носителем этой информации является отчетный документ «Ожидаемые сроки свершения основных событий», изображенный на рис. 24. Форма предназначена для анализа ожидаемых сроков окончания разработки в целом и ее основных эта* •пов, рассчитанных методом статистического моделирования. Прилагаемая к проекту программа обработки данных на ЭВМ М-20, описанная в § 9 главы IV, позволяет получать ожидаемые сроки окончания разработки и свершения до 38 основных событий сети при заданной доверительной вероятности р. Список основных событий, директивные сроки их свершения и вероятность р задают для расчета руководитель головной организации (или ведущий по объекту) и начальник службы СПУ. Форма предназначена для оперативной руководящей группы и руководителя головной организации и выдается в двух экземплярах после каждого аналитического расчета. При заполнении формы в штампе указываются шифр объекта, номер варианта расчета (или отчетный период) и дата заполнения. В графах 2 и 3 перечисляется до 38 основных событий, завершающее событие и их шифры, В графе 4 записывается установленный плановый срок свершения события согласно методике, описанной в предыдущем параграфе. В графе 5 указывается расчетная ожидаемая вероятность свершения события в директивный срок по состоянию на предыдущий отчетный период или по предыдущему варианту расчета, то есть *) Частота опроса системы СПУ может быть определена с по мощью методики, изложенной в § 2 настоящей главы.
Шифр объекта (темы) № п/п 1 Конт} Номер варианта расчета Отчетный период Ожидаемые сроки свершения основных событий Основные события Наименование 2 юлер ВЦ Шифр 3 Дата заполнения « » 196 г. Форма 2 Стр. Всего стр. Сроки свершения Директивные Дата 4 Вероятность Р в % Было 5 Стало 6 Ожидаемые (при заданном р) Было 7 Начальник службы СПУ Стало 8 Примечание 9 Рис. 24. <
§ 5] ОПЕРЛТИВИО-КЛЛЕНДАРНОЕ УПРАВЛЕНИЕ 329 коэффициент доверия р. Вероятность р указывается в процентах. В графе 6 дается расчетная ожидаемая вероятность (коэффициент доверия pR) свершения события к директивному (заданному) сроку, указанному в графе 4, по последнему варианту расчета. В графе 7 ожидаемые даты свершения событий при заданном коэффициенте доверия р3 указываются по состоянию на предыдущий отчетный период или по предыдущему варианту расчета. В графе 8 указываются ожидаемые сроки свершения всех событий по последнему варианту расчета (также при заданном р3). Таким образом, сопоставление граф 5 и 6 показывает, насколько изменился соответствующий директивному (плановому) сроку коэффициент доверия /7Д за время между двумя оперативными сводками. Сопоставление граф 7 и 8 показывает, приблизился или удалился за это же время от планового директивного срока реальный, определенный с коэффициентом доверия р3 (близким к единице), ожидаемый срок свершения всего проекта. Описанный аналитический выходной документ дает возможность в динамике, по мере выполнения проекта, анализировать и исследовать изменения доверительных оценок и доверительных вероятностей. Если вычисленное в графе 6 значение коэффициента доверия рл для отчетного периода оказалось меньше принятого предельного значения рПред. необходимо произвести оптимизацию сетевой модели или осуществить управляющее воздействие на продолжительность всех работ, рд-квантильные оценки окончания которых меньше рПред*) и которые подлежат выполнению в периоде, следующем за отчетным. Если значение /7д^/?Пред, в управление ходом разработки не следует вносить управляющих возмущений. Для случая стохастической сетевой модели или сетевой модели со случайными оценками управление ходом разработки,таким образом, должно осуществляться путем периодического контроля и анализа ожидаемых сроков выполнения важнейших событий (для заданного р3) и сопоставления изменения значений коэффициента доверия рл, соответ- *) При этом особое внимание необходимо обратить на работы^ лежащие в />д-квантильной критической зоне.
330 СТАТИСТИЧЕСКИЕ МЕТОДЫ D СИСТЕМЕ СПУ [ГЛ. VI ствующего директивным плановым срокам, также для важнейших составляющих сетевую модель событий. Подводя итоги, следует отметить, что все этапы стадии оперативного управления для случая сетевых моделей со случайными оценками работ остаются такими же, как и для случая детерминированных оценок. Меняется лишь подход к оценке сроков, он приобретает новый, вероятностный характер. Сказанное выше позволяет также сделать вывод о том, что в настоящее время аппарат статистического моделирования является не только одним из основных методов расчета параметров сетей для сетевых моделей со случайными оценками. Статистическое моделирование и связанный с ним теоретико-вероятностный аппарат стали одной из важных составных частей системы сетевого планирования и управления как на стадии разработки исходного плана, так и на стадии оперативного управления. Сказанное выше относится главным образом к случаю односетевых систем сетевого планирования и управления. В следующем параграфе мы изложим основные принципы управления многосетевыми системами СПУ, также использующие статистический аппарат. § 6. Оперативное управление многосетевой системой СПУ на основе теории массового обслуживания Выше, в § 2 главы I, уже отмечалось, что в многосетевых системах СПУ одними из основных являются блоки передачи входной информации, ее преобразования и запоминания. Главной задачей этих блоков является обеспечение органа управления — руководства различных уровней — своевременной и объективной информацией о ходе выполнения работ. Основными техническими средствами блока передачи входной информации являются линии телеграфной связи с использованием телетайпов, а блока преобразования и запоминания информации — электронная вычислительная машина и специальные буферные устройства, агре- гатированные с телетайпом и осуществляющие автоматический ввод данных в ЭВМ. Таким образом, блоки пере-
§ 6] ОПЕРАТИВНОЕ УПРАВЛЕНИЕ МНОГОСЕТЕВОИ СИСТЕМОЙ 331 дачи и преобразования информации функционируют в тесной связи друг с другом. Работа блоков передачи и преобразования информации может быть построена исходя из следующего принципа: поскольку многосетевая система СПУ предполагает наличие десятков и даже сотен источников информации, возможно установление фиксированного расписания поступления информации от каждого источника. Например, для каждого из источников информация о выполнении работ по сетевому графику должна поступать по телетайпу в вычислительный центр в определенный день и час недели. При такой огранизации работы блоков передачи и преобразования информации легко определить количество потребных технических средств и их загрузку. Однако выходная информация с этих блоков будет вносить запаздывание в управляющие сигналы системы СПУ, поскольку эта информация не будет своевременной и вследствие этого объективной. Помимо этого, обеспечение поступления информации с объектов в блок преобразования и запоминания в строго фиксированные моменты времени является весьма нелегкой задачей. Отклонения от фиксированных моментов передачи информации ei, Ba,...,en (п — число источников информации), как правило, являются независимыми и одинаково распределенными случайными величинами. Если значение дисперсии е,по сравнению с длинами интервалов между моментами поступления информации велико, то отклонениями е; пренебрегать нельзя, а интервалы между моментами поступления информации следует считать случайными величинами. Более перспективным с точки зрения оперативности управления и получения объективной и своевременной информации является порядок передачи информации с объектов сразу же после обнаружения отклонений в выполнении сроков и объема работ. Длины интервалов между моментами поступления информации в вычислитель* ный центр являются при этом независимыми случайными величинами. Информация с объекта, поступившая в случайный момент времени, вначале занимает на определенное время телетайп, а в дальнейшем также и ЭВМ.
332 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. VI Если во время обработки поступившей информации на вход таким образом уже занятого блока (блока передачи либо блока преобразования) поступает информация с другого объекта, то она становится в очередь на обслуживание. Каждая информация имеет свое время обслуживания как на первой фазе обслуживания — телетайпе, так и на второй фазе — обработке на ЭВМ. При проектировании блоков передачи и преобразования возникает вопрос о необходимом количестве приборов на каждой фазе обслуживания исходя из объема перерабатываемой информации, времени обработки и производительности каждого прибора. Применяемая на ряде объектов методика расчета, построенная исключительно на детерминированной основе, без учета вероятностной структуры моментов поступления требований на обслуживание, дисциплины и длительности обслуживания, обычно приводит к существенным и систематическим ошибкам. На наш взгляд, решение поставленной задачи следует искать в рамках теории массового обслуживания. Опишем математическую модель работы блоков передачи и преобразования информации для случая многосетевой системы СПУ. Исходя из терминологии теории массового обслуживания, каждую информацию с объекта о ходе выполнения сроков и объемов работ будем называть требованием (или заявкой), а технические средства блоков (телетайп и ЭВМ)— соответственно приборами первой и второй фазы обслуживания. Рассматриваемая модель является одноканальной двухфазной системой массового обслуживания. Входной поток требований поступает на первую фазу обслуживания — телетайп. Выходной поток требований с прибора первой фазы есть входной поток для приборов второй фазы обслуживания. Требования, поступившие на вход приборов первой и второй фаз и нашедшие их занятыми, становятся в свою очередь. Основная особенность потоков требований на входе и выходе первой фазы заключается в наличии лишь конечного числа п источников требований. Иными словами, налицо поток с последействием. В процессе обслуживания требований не исключена возможность выхода из строя приборов первой и второй
§ 6] ОПЕРАТИВНОЕ УПРАВЛЕНИЕ МНОГОСЕТЕВОЙ СИСТЕМОП 333 фаз обслуживания. Момент начала ремонта также будем рассматривать как требование на обслуживание. Таким образом, на вход приборов поступает сумма двух потоков требований, причем требования, возникшие в связи с выходом из строя приборов, имеют приоритет перед требованиями на обработку информации с объектов. Рассмотрим далее вопрос о дисциплине обслуживания и ожидания. Предполагаем, что требования (с объектов) должны располагаться в очереди на обслуживание не в порядке их поступления, а с учетом установленных для них показателей срочности (приоритетов), называемых индексами относительного преимущества. С самого начала работы многосетевой системы СПУ все объекты разбиваются на две категории — особо важные (информация от которых рассматривается вне очереди) и все остальные. В пределах каждой категории при определении индекса относительного преимущества требования принимается во внимание оставшийся невыполненным объем работ, время до установленного срока сдачи объекта, а также размер отставания объекта по данным очередного расчета сетевого графика. Исходя из этих соображений, индекс относительного преимущества г следует определять по формуле [55] г = Пв,0-\-^-. (6.6.1) Здесь /7В. о — показатель важности объекта, гарантирующий первоочередное рассмотрение особо важных объектов; Р — оставшийся объем работ по объекту; Т — время, оставшееся до установленного срока сдачи объекта; t—время отставания объекта по данным очередного расчета сетевого графика. Определенные таким образом индексы относительного преимущества поставим в соответствие числам натурального ряда от 1 до R, где R соответствует наивысшему индексу относительного преимущества. Требованиям на ремонт присваивается индекс абсолютного преимущества R + 2. Каждое 1-е требование на обработку информации ха« рактеризуется длительностью обслуживания lhi (£=1,2; t=I, 2, ..., я), являющейся независимой случайной величиной, распределенной по одинаковому закону для
334 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. VI всех значений i (k — номер фазы). Аналогичным образом каждое /-е требование на ремонт характеризуется случайным значением r\j (/=1, ..., /) длительности обслуживания, одинаково распределенной для всех значений /. Для решения вопроса об оптимальном количестве приборов на обеих фазах (блоков) необходимо разработать критерий эффективности системы массового обслуживания, основанный на следующих характеристиках работы системы: а) средняя длительность ожидания и обработки требований с разными индексами относительного преимущества; б) среднее число требований, оставшихся необслу- женными из-за позднего прибытия (в связи с окончанием рабочего дня); в) среднее максимальное количество требований, находящихся в очереди (для определения необходимой емкости накопителя информации). В настоящее время теория массового обслуживания не располагает готовыми аналитическими решениями для получения нужных характеристик работы системы. Вследствие этого эффективным способом решения данной задачи является применение метода Монте-Карло. В работе [55] приводится решение одной практически важной задачи при следующих упрощающих предположениях: 1. Число %г требований на обслуживание с индексами преимущества г (г= 1,. .. , R), поступающих ежедневно в систему массового обслуживания, фиксировано. 2. Время обслуживания одного требования (на обработку информации в приборах второй фазы, то есть длительность обработки одного сетевого графика на ЭВМ) постоянно и равно тхк минутам. 3. Количество приборов первой фазы (телетайпов) фиксируется и принимается равным одному, причем требования на телетайп не могут поступать чаще одного раза в ти минут при постоянном времени обслуживания, также равном ти минутам. Данное ограничение приводит к однофазной системе массового обслуживания с использованием ЭВМ.
§ 6) ОПЕРАТИВНОЕ УПРАВЛЕНИЕ МНОГОСЕТЁВОЙ СИСТЕМОЙ 335 4. Количество требований на ремонт ЭВМ в суммарном потоке требований принимается равным четырем, и среди них один раз время обслуживания равно 30 минутам, один раз — 20 минутам и два раза— 10 минутам. Перейдем к рассмотрению моделирующего алгоритма. Единицу рабочего времени (день, неделю) разбиваем на пп интервалов с длительностью каждого интервала ти- Устанавливаем, что требования на обслуживание и ремонт могут поступать только в дискретные моменты времени 0, ти, 2ти,.... «иТи, то есть входящий поток аппроксимируем дискретным потоком. Интенсивность поступления требований в дискретном потоке равна а = ——. "и'и R Здесь я=2^у+^я+2 представляет собой суммарное число требований на обслуживание и ремонт в единицу рабочего времени ЭВМ. Вероятность поступления требования в произвольный дискретный момент времени 0, Тн, 2тц, • • •, "иТи устанавливаем равной р = атн= —, что приводит (ввиду р<Л) к соотношению п^Спи. Чем меньше будет длина интервала т„ (то есть чем меньше будет вероятность р<1), тем лучше дискретный поток аппроксимирует непрерывный входящий поток требований. Далее всем требованиям ставим в соответствие числа натурального ряда от 1 до пи. Например, группе требований Xr ставим в соответствие числа 1,2, ...Дн, группе требований KR-\ — числа Kr+\, Kr + 2, .. . Дя + Лл_1 и т. д. Начинаем рассматривать поочередно все интервалы длиной т„ рабочего времени ЭВМ и для них с помощью последовательности случайных чисел от 1 до па определяем наличие требования на обслуживание. Совершенно независимо подобным же образом моделируется поток требований на ремонт ЭВМ, и оба потока рассматриваются совместно. Очевидно, любое требование, поступившее на обслуживание в ЭВМ, должно встать в очередь. Оно будет обслужено после того, как, во-первых, закончится обслуживание требования, которое в данный момент обрабатывается на ЭВМ; во-вторых, будут обслужены ранее прибывшие требования, имеющие индекс, равный или
336 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. VI более старший, чем индекс данного требования; в-третьих, будут обслужены требования, прибывшие в период нахождения в очереди данного требования, но имеющие старший индекс относительного преимущества. В описываемом алгоритме приведенные выше условия при установлении очереди реализуются следующим образом. При рассмотрении каждого интервала находящиеся в нем требования ставятся на обслуживание в определенном порядке. В первую очередь учитывается требование, имеющее индекс абсолютного преимущества, затем то требование, обслуживание которого не было закончено в предыдущем интервале. Если обслуживание какого-либо требования было прервано поступлением требования с абсолютным преимуществом, то обслуживание считается потерянным и начинается сначала, причем обслуживавшееся требование возвращается в очередь. Если таких требований в рассматриваемом интервале нет, то просматриваются все требования с одноименным старшим индексом и обслуживается то из них, которое раньше поступило на ЭВМ. Остальные требования, находящиеся в данном интервале и не попавшие на обслуживание, механически сдвигаются в следующий интервал, где весь процесс рассмотрения повторяется. Требования, момент окончания обслуживания которых выходит за пределы единицы рабочего времени ЭВМ, остаются необслуженными в связи с окончанием работы ЭВМ. Каждая реализация данного алгоритма позволяет определить значения искомых характеристик работы системы массового обслуживания. После достаточно большого числа таких реализаций можно вычислить средние значения времени ожидания и пребывания в системе требований с разными индексами, среднее число необслу- женных требований с теми или иными индексами, среднее из максимальных чисел одновременно ожидающих обслуживания требований и, наконец, среднее время незанятости ЭВМ. Опишем блок-схему программы моделирующего алго- . ритма В. И. Рыбальского [55].
§ 6] ОПЕРАТИВНОЕ УПРАВЛЕНИЕ МНОГОСЕТЕВОП СИСТЕМОЙ 337 Блок 1 реализует ввод исходных данных для системы (сети )в целом: числа интервалов пп за единицу времени (день, неделю) и длительности каждого интервала т„. Блок 2. Ввод исходных данных для очередной рассматриваемой системы: числа требований Кг за единицу времени с указанием для каждого из них индекса относительного преимущества г (где индекс г может принимать значения от минимального 1 до максимального R), а также индекса абсолютного преимущества R + 2 (для учета поломок и ремонта); продолжительности vr обслуживания каждого требования с индексом г\ издержек, связанных с содержанием и эксплуатацией в течение единицы времени одного прибора — у"р> плп с ожиданием в течение одного интервала одного требования (в зависимости от присвоенного ему индекса) — у{У,к, или с невозможностью обслужить поздно прибывшее требование (в зависимости от присвоенного ему индекса) — у». «ЛО- Блок 3. Прикрепление требований с учетом индексов к числам натурального ряда: требования с индексом R к 1,2 lR, » » » R-1 к (?.«-f-l), (>.л+2), .... (А/г + Л/г-О; требования с индексом 2 к (^r-1-^_,+ ••• -f-^a+l)» <**+>*_!+...И-Vf-2), •...(a*+V-i+...+a<3+*9); требования с индексом 1 к (Я.л + Я,л+1+ ... —(— Я2 —f- 1), fr*4-ViH--." + *a+2).".. (*«+**-i+.—-4-4 + *i)- Таким образом, любая группа требований с одинаковым индексом г прикрепляется к следующей группе чисел: R (V (V чг-i 4R-1 + + •+Vi-H) = .+Хг+1+2) = 2 х,-И. i = r i-l 2 ^ + 2, i-r+l (6.6.2) 22 Д. И. Голенко
338 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. VI Так, если имеются пять требований с индексом 6 (Я6 = 5), два с индексом 5 {Хъ—2), три с индексом 4 (Я4 = 3), четыре с индексом 3 (Хз=4), три с индексом 2 (^ = 3) и три с индексом 1 (А.1 = 3), то, например, требования с индексом 1 прикрепляются к числам (5 + 2 + 3 + 4 + 3+1), (5 + 2 + 3+4 + 3 + 2), (5 + 2 + 3 + 4 + 3 + 3), т. е. 18, 19 и 20. Точно таким же образом прикрепляется к числам натурального ряда ремонт разной продолжительности, но здесь индексы даются по длительности ремонта. Самый длинный ремонт получает индекс Rp, следующий — /?р— 1 и т.д. Блок 4. Ввод с помощью генератора случайных чисел очередной случайно перемешанной последовательности чисел от 1 до ли- Далее, блоки 5—16 охватывают определение сроков поступления требований в систему. Блок 5. Выборка числа х из случайной последовательности чисел для очередного интервала, начиная с первого. Блок 6. Проверка, меньше или равно выбранное случайное число х числу требований с индексом R, т. е. проверка условия x^XR. Если это условие выполнено, то переходят к блоку 8, где записывается в двух экземплярах рассматриваемый интервал в качестве срока поступления требования с индексом R; если условие не выполнено, то переходят к блоку 7. Блок 7 представляет собой фактически ряд подблоков, каждый из которых подобен блоку 6, но сравнивает х с числом требований с последующими по величине индексами. Таким образом, для чисел с индексом R—I проверяется условие х *С (Xr + Xr-i). Если оно выполнено, то переходят к блоку 8, где рассматриваемый интервал записывается в качестве срока поступления требования с индексом R— 1; если нет, то переходят к следующему подблоку, где проверяются условия для требований с индексом R — 2, и т.д. вплоть до требований с индексом 1. Если в последнем подблоке не удовлетво- ряется условие -£<!2^ + V то переходят к выборке (-2 числа х для следующего интервала (блок 5).
$ 6| ОПЕРАТИВНОЕ УПРАВЛЕНИЕ МНОГОСЕТЕВОЙ СИСТЕМОЙ 339 Таким образом, в общем виде проверки, выполняемые в блоке 7, имеют вид R х< 2 а, 4А- (6-6.3) t-r+i где r = R — 1, R — 2,..., 2, 1. Блок 8. Запись сроков поступления требования в систему (см. блоки 7, 21, 32). • R Блок 9. Счетчик числа требований 2 №> получивших сроки поступления в систему, записанные в блоке 8. Блок 10. Проверка, по всем ли требованиям назначены и записаны сроки поступления в систему. A.' R Если 2 Кр < 2 К< го есть не по всем требованиям 1 1 записаны сроки, то переходят к блоку 5 с целью выбор- R R ки числа х дляследующегоинтервала. Если 2 krP = 2 ^г' то это означает, что все требования привязаны к срокам поступления в систему, и мы переходим к блоку 11. Блоки 11, 12, 13, 14, 15 и 16 аналогичны блокам 5—10, но предназначены для привязки к определенным интервалам ремонта разной длительности, обозначаемой, как указывалось на этапе блока 3, индексами Rp, Rp—1 и т. д. Блок 17. Присвоение всем требованиям на ремонт независимо от его длительности индекса абсолютного преимущества Я+ 2. Блок 18. Определение минимального числа S приборов по формуле 1 . лити R *Р (6.6.4) . 'р 'р Г-1 Гр-1 R где 2 ^rvr — суммарное время, необходимое для обслу- живания всех требований — информации со строек; Яр \ hr v, — то же для выполнения всех видов ремонта. г -| Р Р 22*
340 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. VI Полученная величина S округляется до большего целого числа. Блок 19. Выборка очередного интервала N„, начиная с первого. Блок 20. Проверка соответствия номера выбранного в блоке 19 интервала N„ а) срокам поступления (входа в систему) требований, записанных в блоках 8 и 14 (за исключением требований, обслуживание которых уже закончено); N„=tBK\ б) сумме сроков поступления требований, обслуживавшихся в предыдущем интервале, и длительностей их обслуживания 7V„</"X + ^ или Если требование или поступило именно в этом интервале, или в нем продолжается обслуживание требований, начатое в предыдущих интервалах, то переходим к блоку 21, в противном случае — к блоку 19. Блок 21. Присвоение всем требованиям, обслуживание которых было начато в предыдущих интервалах и продолжается в данном интервале (для которых Na< <iBX + vr), индекса R + l (кроме случаев, когда требование-ремонт имело индекс R+2, который у него и остается). Блок 22. Сравнение (по индексам) между собой всех требований, удовлетворяющих условиям блока 20, и выделение на обслуживание из их числа требования с высшим индексом, поступившего в систему обслуживания раньше всех подобных требований. Блок 23. Счетчик количества требований, обслуживаемых в данном интервале: 2Xe. (6.G.5) Блок 24. Проверка, все ли приборы заняты: R+2 2r„6=s. (б.б.б) r-l
§ 6] ОПЕРАТИВНОЕ УПРАВЛЕНИЕ МНОГОСЕТЕВОП СИСТЕМОЙ 341 Если все приборы заняты, то переходим к блоку 25, в противном случае — к блоку 22. Блок 25. Передвижка требований, не обслуженных в данном интервале, в следующий интервал, то есть присвоение им новых /вх по номеру следующего интервала Л/„+1: /,вх = ЛГи+1. (6.6.7) Блок 26. Запись во втором экземпляре (см. блоки 8 и 14) новых ^вх взамен старых, то есть принятие ^'вх_^вх Блок 27. Счетчик количества требований, ожидающих в очереди в данном интервале, то есть определение R 2jKv')Nh—числа требований, получивших в данном г-1 интервале новые /'вх. Блок 28. Сравнение количества требований, ожидающих в очереди в данном Л/„ и предыдущем Na— 1 интервалах, и определение большего из этих чисел Umax- Блок 29. Проверка, все ли требования уже обслуже- Я+2 /? + 2 ны. Если 2^" <2^с то есть еще не все требования г-1 г-1 размещены на обслуживание, то переходим к блоку 30. Если окажется У^К = 2 А,,, то переходим к блоку 32. Блок 30. Проверка, все ли интервалы, где может начаться обслуживание, рассмотрены, то есть драсеи _ Л(( _ Vf (6.6.8) Если рассмотрены, то переходим к блоку 31, если нет, то к блоку 19. Блок 31. Счетчик числа необслуженных требований с индексами 1,2,...,/?, то есть Л""* — *,. — ^. (6.6.9) Блок 32. Подсчет по каждому требованию продолжительности ожидания: » = /'" — taK (6.6.10)
342 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. VI (сведения о tbX и 1'их содержатся в блоке 8 благодаря записи в двух экземплярах). Блок 33. Определение среднего (для выборки) ожидания для группы обслуженных требований с одинаковым индексом относительного преимущества: ^ыб = -^г. (6.6.11) Блок 34. Определение средней для выборки длительности пребывания в системе требований с разными индексами относительного преимущества: U, =<£>r -\-Vr- (6.6.12) Блок 35. Проверка, рассмотрены ли все выборки случайной последовательности чисел. Если не рассмотрены, возвращаемся к блоку 4; если рассмотрены, переходим к блоку 36. Блок 36. Определение среднего для системы ожидания по группе обслуженных требований с одинаковым индексом относительного преимущества: // «£"" = 1Н . (6.6.13) где Н — число выборок. Блок 37. Определение средней для системы длительности пребывания в ней требования с индексом г: и йсист= «_. (6.6.14) Блок 38. Определение среднего числа необслужен- ных требований с индексом г: а ^ А,"1ео6 £„еоб===_1_ _ (6.6.15) Блок 39. Определение среднего максимального числа требований, одновременно находящихся в очереди
§ 6] ОПЕРАТИВНОЕ УПРАВЛЕНИЕ МНОГОСЕТЕВОП СИСТЕМОЙ 343 в данной системе: н ^max = -L77 ' (6.6.16) Блок 40. Подсчет среднего времени простоя приборов (не считая ремонта): j R Яр р'= л„ти5 — 2 Xrvr — 2 Kjo. H- %Ta6vr- (6-6.17) r-l грГ1 Р Р Блок 41. Определение издержек при данном числе приборов по формуле I y (S) = y„p5+2 [К - 1Г6] уож (г) + 2 [Кео\, о И] • г=1 г=1 1 (6.6.18) Блок 42. Сравнение у(^) с предыдущим у(S—1): Y(S)<Y(S-1), причем первоначально следует положить y(^) равным большому числу. Если неравенство выполняется, то переходим к блоку 43, если нет — к блоку 44. Блок 43. Увеличение числа приборов на один, то есть принимаем S+1=S. Далее переходим к блоку 19. Блок 44. Печать всех данных для варианта с числом приборов 5—1 (данные блоков 36—41). Б л о к 45. Проверка, все ли системы, входящие в сеть, рассмотрены, то есть /рассм=у# Если рассмотрены, то переходим к блоку 46. Если нет, то возвращаемся к блоку 2. Блок 46. Определение среднего для сети ожидания требований с индексом г: 2[»Г(^-?°6)] сети _2 (6.6.19) j где Яо— число требований, поступающих на вход сети.
344 СТАТИСТИЧЕСКИЕ МЕТОДЫ В СИСТЕМЕ СПУ [ГЛ. VI Блок 47. Определение средней для сети длительности пребывания в ней требований с индексом г: й;™=ыгч2^г (6-6.20) / Блок 48. Печать результатов по сети в целом (со"т" и в"™). Изложенная методика позволяет эффективно использовать теорию массового обслуживания для автоматизированного управления комплексом строек [55] и может найти широкое применение не только в строительстве, но и в различных отраслях промышленности. В частности, идея применения теории массового обслуживания, по-видимому, может быть использована для создания методики управления многотемным разрабатывающим предприятием, например НИИ или ОКБ, использующим систему СПУ.
ГЛАВА VII СТАТИСТИЧЕСКИЕ МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ § I. Эвристический алгоритм оптимизации сетевых моделей со случайными временными оценками работ Оптимизационные задачи в системах сетевого планирования и управления, использующих оценки по времени и по ресурсам, могут подразделяться в зависимости от критерия оптимизации. Целью решения этих задач, как правило, служит построение такого расписания начал н окончаний работ одного или нескольких сетевых проектов, которое соответствует одному из двух условий: 1) расписание работ соответствует минимуму некоторого функционала, связанного с заданными (наличными) ресурсами на некотором интервале времени; 2) расписание работ минимизирует время выполнения проекта при заданных ресурсах. Для случая сетевых моделей со случайными временными оценками работ мы рассмотрим один алгоритм оптимизации [22], соответствующий первому условию. Рассматриваемая методика оптимизации сводится к использованию вероятностных резервов времени, введенных в § 2 главы IV и определенных по формуле (4.2.7): Рр ('■ /)=wp (/) - wp (i) - /пл (,-, /). (7. l. i >: Здесь Wp(i) и Wp(j) — соответственно /7-квантильные оценки самых ранних сроков свершения событий i и /, а ^пл('\ /)—запланированное (плановое) время выполнения работы (г,/). Это значение tBa(i,j) может быть получено из анализа нормативной базы либо путем выбора какой-либо р-квантильной оценки времени выполнения работы (/, /). Коэффициент доверия р, принимаемый на стадии разработки исходного плана, соответствует заданному
346 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ [ГЛ. VI? директивному сроку выполнения всего проекта (то есть Р = Рл)< рассмотренному в § 4 главы VI. Плановое время выполнения работы (*', /) — /Пл('\ /)—также утверждается на стадии разработки исходного плана. Рассечем сетевой график работ по объекту вертикалями на полосы, соответствующие достаточно узким календарным периодам. Рассмотрим задачу оптимального перераспределения времен выполнения работ в пределах имеющихся у них вероятностных резервов времени, чтобы отклонение распределения трудоемкости от равномерного (наличные ресурсы считаем на протяжении всего периода хода разработки постоянными) было минимальным. Будем, в соответствии с изложенной в § 5 предыдущей главы методикой, считать, что предельные календарные сроки начала и окончания всех входящих в сетевой проект работ (/',/) являются установленными — это р-квантильные оценки самых ранних сроков свершения соответствующих событий i и /. Иными словами, мы не вправе варьировать сроки начала (и окончания) работы (/, /) при оптимизации исследуемого сетевого графика, выходя за пределы интервала времени (Wp(i), Wp(j)). Отсюда вытекает, что алгоритм локальной оптимизации сетевой модели сводится к установлению оптимального набора сдвигов в интервале (Wp(i), Wp{j)) для каждой из входящих в сеть работ (i, /) в пределах имеющихся у этих работ вероятностных резервов времени Pp(i,j), определенных по формуле (4.2.7). Вероятностные резервы времени PP(i,j), по сути дела, могут считаться независимыми; полное или частичное использование этих резервов у одних работ отнюдь не препятствует и ни в коей мере не влияет на аналогичную процедуру у других работ. Поэтому в пределах имеющихся у входящих в сеть работ резервов времени PP(i,j) мы вправе «разыгрывать», моделировать время начала и окончания каждой из этих работ независимо друг от друга. Отсюда немедленно вытекает алгоритм оптимального перераспределения времени без перераспределения ресурсов, состоящий из следующих этапов. Этап I. Методом Монте-Карло «разыгрываем» для всех работ (/,/), имеющих положительные резервы вре-
§ 1] ЭВРИСТИЧЕСКИЙ АЛГОРИТМ ОПТИМИЗАЦИИ 347 мени Pp(i,j), времена начала и окончания выполнения каждой из этих работ, которые мы обозначим соответственно символами Гн(/, /) и T0(i,j). Значение «разыгранного» времени начала выполнения работы TB(i, /)) определяется по формуле TB(i,i)=Wp(i)+T\Pp(i,j), (7.1.2)) где г| — псевдослучайное число, равномерно распределенное в интервале (0, 1). Алгоритм образования последовательности равномерных псевдослучайных чисел описан в § 1 главы IV. Время T0(i,j) окончания работы ((',/) для каждого «розыгрыша» определяется по формуле T0(l,j)=Ts(i,j) + tnil(i,j). (7.1.3) Этап II. Группируем все работы (по «разыгранным» срокам начала и окончания) по шифрам специальностей и суммируем в пределах каждого шифра производительность исполнителей. Обозначим для k-н календарной полосы суммарную производительность исполнителей, соответствующих г'-му шифру специальностей, символом Пм. Этап III. Аналогичную процедуру производим для всех календарных полос. Этап IV. Обозначим через ct имеющуюся в наличии трудоемкость исполнителей по (-му шифру специальностей. Фиксируем значение функционала /=тах|*1, где *«-| 0 при пи<с, (7Л^ Этап V. Рассмотрим значение функционала /, полученное на очередном «розыгрыше». Если / >• 1т-и переходим к проведению нового «розыгрыша» на этапе I. При /</m_i величине / присваиваем номер т. После этого переходим к выполнению этапа VI. Этап VI. Вычисляем значение V= -~^ --. Если 1 т-\ V<A, где Д — заранее фиксированная и установленная погрешность, то работа алгоритма окончена. В этом случае фиксируем соответствующий m-му «розыгрышу» набор сдвигов и времен Tn(i, /') и T0(i, j) начала и
348 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ |ГЛ. VII окончания входящих в сеть работ. Полученные значения Tn(i, /) и T0(i, /) (на последнем «розыгрыше») фиксируются в качестве новых плановых сроков начала и окончания работ (/, /) для оптимизированного скорректированного сетевого графика. Если V^A, переходим к повторному выполнению этапа I. Заметим, что в описанный выше алгоритм может быть внесен ряд непринципиальных изменений. Например, этапы V и VI могут быть объединены в один, а условием окончания «розыгрышей» может быть признано выполнение неравенства V=|/m-/m_1|<A. (7.1.5) Может претерпевать изменение и форма функционала /. В частности, для некоторых сетевых проектов может быть, например, принят следующий вид функционала [49, 57]: / VV 2 \4i-Ci при nkl>Ci, '-??«'«■ ГД6 '« = 1 0 при ««<*,. (7Л-6) а также ряд других модификаций. Сделаем одно важное замечание. Описанный выше алгоритм минимизирует функционал / методом случайных (статистических) испытаний. Однако весьма эффективным способом минимизации нелинейных функционалов, как известно, является метод случайного поиска, подробно описанный в ряде работ советских и зарубежных ученых [14, 53]. Л. А. Растригиным, в частности, показано [53], что метод случайного поиска более эффективно оптимизирует линейную систему большой размерности, нежели метод Монте-Карло. Для случая нелинейных функционалов самого общего вида и большой размерности, как уже отмечалось, метод случайного поиска, особенно в комбинации с методом Монте-Карло, является более эффективным орудием оптимизации, нежели «чистый» метод Монте-Карло. Отсюда возникает важная и интересная проблема применения комбинации метода Монте-Карло и одного из локальных методов случайного поиска для оптимизации функционалов сложного вида в задачах сетевого планирования и управления [22, 26,
§ 1] ЭВРИСТИЧЕСКИЙ АЛГОРИТМ ОПТИМИЗАЦИИ 349 27, 39]. Изложим алгоритм задачи минимизации значения функционала / сочетанием методов случайного пои* ска и статистических испытаний. Обозначим через п количество работ ((,/), имеющих положительные резервы времени Pp(i,j). Минимизацию функционала / мы вправе представить как процесс отыскания экстремальной многопараметрической системы (хи ..., хп) (см. § 5 главы IV), где хг —г значение «сдвига» соответствующей г-н работы в пределах имеющегося у нее вероятностного резерва времени, который мы условно обозначим РР{г) (г= 1, 2, 3,..., п, причем размерность п велика). Заметим, что на многопараметрическую систему, таким образом, наложены ограничения 0 ^4 хг <С Рр(г) (г-1,2,...,л). В соответствии с терминологией методов случайного поиска функционал / назовем функцией качества / = = /(*i хп). Известно, что когда функция качества изменяется при изменении координат системы со сравнительно большой скоростью (а именно это обстоятельство имеет место в отношении функционала / в оптимизационных задачах сетевого планирования и управления), может найти применение шаговый локальный поиск без обучения. Для такого случайного поиска при увеличении функции качества характерно возвратное движение. Пусть I (х\1К... ..., xfR\ — минимальное значение функции качества за i шагов поиска. Пусть | — единичный случайный /г-мерный вектор, равномерно распределенный во всех направлениях п-мерного пространства параметров, а а — величина шага поиска*). Алгоритм шагового локального поиска без обучения можно записать в виде следующей рекуррентной формулы на (г'-И)-м шаге поиска: к (4'+1) 4'+,)) — х И0 4")+д*' где J tag, если /(4/+°. ...., 4'+1)) < 7 Н°- • • • - *!?)' АХ ~? | О, если /«+» Ч/+1))>7W° х(п)- *) Значение а задается заранее и определяет точность сходимости и погрешность результата.
350 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ [ГЛ. VII Дадим краткое поэтапное описание алгоритма оптимального перераспределения времени начала работ в пределах вероятностных резервов времени с использованием случайного шагового локального поиска. Этап I. Этот этап охватывает I — IV этапы алгоритма решения задачи перераспределения, изложенного выше в настоящем параграфе. Отметим, что полученные на этом j-rane значения гр4Рр(/г) (см. формулу (7.1.2)) суть значения х$ на первом шаге поиска. Этап II состоит в моделировании значения единичного n-мерного вектора смещения £ согласно следующей методике. Генерируются п нормально распределенных случайных величин щ (*=1, 2, .. ., «) с нулевыми средними и единичными дисперсиями. Координаты вектора £ определяются по формуле 1„= /- (k=\,2,...,n). (7.1.7) У 24 Если k-я координата единичного вектора |;г>0, то это означает, что значение х$ на следующем шаге поиска будет увеличено на величину %ка, и, наоборот, при |^<0 необходимо уменьшить параметр л^1' (k=l, 2 п). На этапе III алгоритма вычисляем значения параметров для следующего шага по формуле 42)==Ч1) + ^« (k=h 2, ..., п). Если л^1'+ |fta больше PP{k) (или меньше нуля), то полагаем xfg> равным PP(k) (или соответственно нулю). По формулам (7.1.2) и (7.1.3) фиксируем значения Ти и Т0. Этап IV. В результате последовательного выполнения этапов II—IV предыдущего алгоритма определяем значение функционала ^{х\ хп)- Этап V. Сравниваем значения %%№^> •••• -*"л2)) и ^i(x[l) хЩ. Если /2</i, то переходим к выполнению этапа II, начиная движение (поиск) из точки (xfK ..., х^у
§ I] ЭВРИСТИЧЕСКИЙ АЛГОРИТМ ОПТИА1ИЗАЦИИ 351 При /2 ^ Л переходим к выполнению этапа II, начиная поиск из точки М". ■ ■■• х^), то есть возвращаемся обратно в точку (х\1) х\ру Нетрудно видеть, что описываемый алгоритм «циклится» на этапах II—V. Если в результате проведения N последовательных циклов (количество этих циклов N определяется заранее перед началом расчета задачи) мы остаемся в одной и той же точке, переходим к выполнению этапа VI. Этап VI. Фиксируем точку (х[1), ..., х^ на последнем шаге поиска, после которого мы перешли к этапу VI (иными словами, фиксируем локальный минимум). Далее переходим к выполнению этапа I, то есть моделируем методом Монте-Карло новую точку (х^К ..., л},1',) из которой вновь начинаем поиск. Аналогичную процедуру выполняем несколько раз (количество «розыгрышей» методом Монте-Карло также фиксируется заранее), после чего выбираем наименьший из полученных локальных минимумов. Этот «глобальный» минимум мы и фиксируем в качестве искомого оптимального набора сдвигов. Отметим, что еще более улучшенную сходимость имеет алгоритм шагового локального поиска «с пересчетом» [53] и ряд других модификаций методов случайного поиска; однако эти изменения не имеют принципиального значения. Методика применения сочетания методов Монте-Карло и случайного поиска для оптимизации некоторых других сетевых моделей рассматривается ниже, в следующих параграфах. Второй важной задачей, решаемой на этапе оптимизации сетевой модели, является использование вероятностных резервов времени для перераспределения ресурсов (например, числа исполнителей), участвующих в проведении соответствующей работы. Эта задача не может решаться в отрыве от первой задачи, более того, она должна составлять с ней единое целое. Ниже мы изложим методику частичной оптимизации сетевой модели по времени и по трудоемкости с перераспределением ресурсов, основанную на последовательном многократном решении обеих задач.
352 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ [ГЛ. VII Будем считать, что, реализовав описанный выше алгоритм, мы решили первую задачу и построили условный оптимальный набор сдвигов, минимизирующий значение функционала /. Полученный набор сдвигов мы назвали условно-оптимальным по той причине, что он зависит от условия рассечения календарной шкалы времени на периоды времени (полосы) определенной длины. Любое другое разбиение сетевого графика работ по объекту на календарные периоды приведет к определению другого, соответствующего этому разбиению, набора сдвигов. Опишем алгоритм решения второй задачи, состоящий из следующих этапов. Этап I. Рассмотрим полученный набор сдвигов и соответствующие этому набору значения пщ- Выберем из полученной последовательности значений пм такие значения «ft£(l), для которых имеет место неравенство (б-?. 2 г; Г| = 1,2, ...,s): где bk i —фиксированное и заранее задаваемое значение предельного отклонения ожидаемой трудоемкости от наличной. Заметим, что величины 6* / зависят от зна- i п чений функционала / и определяются (задаются) после решения первой задачи, причем могут различаться в зависимости от периода k^ и шифра специальностей iv Этап II. Из числа входящих в сеть работ выберем все работы (/'$„, д^), попавшие в календарную полосу с номером ki и с участием исполнителей, имеющих шифр специальностей с номером |'ч (для полученного в результате решения первой задачи набора сдвигов). Таким образом, для каждой из rs комбинаций получаем группу работ, которую мы условно назовем аварийной. Расположим все работы в каждой из аварийных групп в порядке уменьшения р-квантильных коэффициентов напряженности Wp{kB(liv дл)} по времени. Этап III. Для каждой из отобранных на этапе II аварийных групп работ выберем такие входящие в них резервные подгруппы, которые имеют положительные вероятностные резервы времени Рр. Обозначим эти рабо-
§ 1] ЭВРИСТИЧЕСКИЙ АЛГОРИТМ ОПТИМИЗАЦИИ 353 ты для одной из таких подгрупп (<р, /р) (р= 1, 2,..., QiJ. Заметим, что для некоторых подгрупп число составляющих их работ может быть равным нулю. В дальнейшем мы будем рассматривать (в целях упрощения индексации) только одну из аварийных групп работ (iiv Дч) и соответствующую ей резервную подгруппу ((р, /р), состоящую из Q|n работ. Весь излагаемый ниже алгоритм оптимизации работает для каждой из таких групп однозначно и независимо от номера группы *). Обозначим плановые значения продолжительности для входящих в резервную подгруппу работ /Пл ('р,/р), а их вероятностные резервы — соответственно PP(iP,jp)- Этап IV. Этот этап нуждается в особом пояснении. Выше, в § 4 главы I и в главе II, уже указывалось, что в некоторых системах СПУ обычно применяются два типа показателей для работ (система СПУ с контролем сроков и с перераспределением ресурсов): а) продолжительности выполнения работы в днях: минимальная (оптимистическая) оценка а и максимальная (пессимистическая) Ь\ б) трудоемкость работы (в человеко-днях или человеко-часах) с указанием количества исполнителей. Последнее определяется ответственным исполнителем работы, который, указав количество исполнителей, определяет затем значения опенок а и Ь. Как известно, зависимость между продолжительностью работы / и количеством исполнителей п, одновременно участвующих в ее выполнении, при условии их полной загрузки может быть выражена приближенной формулой где Ф — дневной фонд полезного времени одного исполнителя в человеко-часах, Т — трудоемкость работы в человеко-часах. На рис. 25 изображена такая зависимость для некоторой условной работы. Здесь t[ и t'2 — •) Алгоритм последовательно перебирает и частично оптимизи рует каждую из аварийных групп независимо друг от друга. 23 Д- И. Голенко
354 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ [ГЛ. VII соответственно минимальная и максимальная оценки работы при количестве исполнителей, соответствующем минимальному фронту производительной работы п = пт\п\ аналогичные Р J И jl> tx и t2 ОЦеНКИ при П = «тах- Варьируя численность исполнителей п в пределах Ящ1п ^ П < /tmax, мы будем получать различные продолжительности t в пределах f<Ct< t". Для каждой из отобранных на этапе III резервных групп работ (/§, /р) ответственными исполнителями соответствующих работ должны быть определены значения яр количества исполнителей, участвующих в этих работах. Мы можем, очевидно, считать справедливым приближенное равенство Количеств исполнителей п Рис. 25. U На этапе IV с помощью формулы (7.1.9) оценим количество n't) исполнителей, которое потребовалось бы для проведения каждой из работ (/р, /р) при полном производительном использовании резерва за время Wp(jp)-Wp(ip) (p=l, 2, Имеем t'm (<р. Ур) = ^пл ( V /р) + РР ( V /р) = Яр = *пл Ср> Ур) Г • "Р Фиксируя С('р'Ур)' оцениваем рСр. /Р). то есть ••- Qi„)- 7" (/Р. /р) V^Wp) (7.1.10) новое значение «р— А«р для всех р от 1 до Q^.
§ 1] ЭВРИСТИЧЕСКИЙ АЛГОРИТМ ОПТИМИЗАЦИИ 355 Аналогичную процедуру выполняем для всех «резервных» подгрупп, входящих в сетевой проект, то есть для всех этих работ фиксируем новые значения t'ail и количество исполнителей п'. Этап V. Все работы в каждой из резервных подгрупп располагаем в порядке возрастания /?-квантильных коэффициентов напряженности Wp{kH(ip, /p)} по времени. После этого для каждой из резервных подгрупп выполняем следующую процедуру. Суммируем полученные по формуле (7.1.10) резервы исполнителей Дпр (начиная с рассортированных в порядке возрастания Wp{ku} работ, то есть с работ, обладающих самыми малыми значениями Wr{ku}) до тех пор, пока либо X а) на каком-то номере работы х величина ^ Алр не р-1 превысит соответствующего этой группе значения 6* < , либо б) величина 53 А«„ не станет меньше значения 6* ; . р -1 Р & Ч Если имеет место условие б), то для соответствующей аварийной группы и резервной подгруппы*) процесс частичной оптимизации окончен. Мы использовали имеющиеся у работ резервной подгруппы вероятностные резервы времени для некоторого уменьшения, сбалансирования ожидаемого количества исполнителей по отношению к наличному. В дальнейшем переходим к аналогичной процедуре для других подгрупп. Если же выполняется условие а), действуем следующим образом. Определяем количество резервных исполнителей 2 Алр, после чего переходим к выполнению двух после- Р = Х+1 дующих этапов алгоритма. Этап VI. Этот этап является наиболее эвристическим из всех этапов работы алгоритма. *) Иными словами, для соответствующей календарной полосы и шифра исполнителей. 23*
j56 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ [ГЛ. VII В результате выполнения этапа V было определено суммарное резервное количество исполнителей дт. - 2 Д/j для соответствующей аварийной группы Р-ХН 1 работ. Перераспределяем это количество Л'^п среди работ аварийной группы в порядке их сортировки на этапе II. Алгоритм перераспределения, на наш взгляд, в настоящее время невозможно регламентировать перечнем формальных правил. Такого рода перераспределение должно осуществляться отделом координации и анализа разработки с учетом большого количества принимаемых во внимание мотивов, которые и должны определять порядок переброски высвобожденных резервов исполнителей. Именно в этом и заключается эвристичносгь рассматриваемого этапа. Этап VII реализуется для всех входящих в сетевой проект работ (/ш, /и), которые в процессе выполнения этапа VI получили добавочное количество исполнителей. Если ранее работа (/и, /*„,) не имела вероятностных резервов времени, а ее плановое время выполнения 'плО'а./<») было равно Wp(/и) — №р(/ш) с числом уча- ствующих исполнителей гаи, то после добавления Дпга исполнителей плановое скорректированное время Спл делается равным t'(i,j\ = t (i,j) гЧ—. (7.1.11) а вероятностный резерв времени — равным р и , /) = w и) — w а ) — г а , у у (7.1.12) Аналогичная процедура производится со всеми работами, на выполнение которых в результате проведения этапа VI добавлены резервы рабочей силы. Этап VIII алгоритма работает следующим образом. Для всех календарных полос k и всех шифров исполнителей I выбираем все те комбинации (ky,ia), для которых потребное количество исполнителей меньше наличного: "Va <c4i (Y—■!• 2, .... t\ Q=l, 2, .... /),
§ 1] ЭВРИСТИЧЕСКИЙ АЛГОРИТМ ОПТИМИЗАЦИИ 357 и которые на этапе IV алгоритма решения задачи 1 не участвовали в формировании значения функционала /. Мы получаем, таким образом, // групп работ. В каждой из этих групп располагаем входящие в них работы в порядке убывания значений р-квантильных коэффициентов напряженности Wp{kn(i, /)}. В дальнейшем каждая из групп проходит локальную оптимизацию на двух последующих этапах работы алгоритма, независимо друг от друга и в любой последовательности. На этапе IX для каждой из групп (см. этап VIII) определяется свободное, резервное количество исполнителей Этот свободный резерв перераспределяем внутри работ аварийной группы, начиная с наиболее напряженных по времени (то есть в порядке их расположения в ряде на этапе II). Алгоритм перераспределения мы не приводим, исходя из тех же соображений, на основании которых нами не был формализован этап VI решения настоящей задачи. Этап X осуществляет на основании соотношений (7.1.11) и (7.1.12) пересчет плановых сроков и вероятностных резервов времени для тех работ групп, которым были добавлены дополнительные резервы рабочей силы на этапе IX. Расчет новых значений вероятностных резервов времени Рр и новых плановых продолжительно- стей выполнения работ осуществляется по тем же формулам, что и на этапе VII. Этап X завершает работу алгоритма. Однако последовательное решение первой и второй задач отнюдь не исчерпывает общего алгоритма оптимизации сетевой модели по трудоемкости, а является лишь одним из последовательно повторяемых его этапов. Общий алгоритм оптимизации в укрупненном виде можно представить состоящим из следующих этапов. Этап I. Решаем задачу 1. Этап II. Проверяем наличие работ я* / (на основании решения задачи 1). Если таких работ нет, процесс оптимизации окончен. В противном случае переходим к этапу III.
358 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ (ГЛ. VII Этап III. Выполняем этапы II, III алгоритма решения задачи 2. Если Q = 0, процесс оптимизации обрывается. В противном случае переходим к этапу IV. Этап IV. Выполняем этапы IV—X алгоритма решения задачи 2, после чего переходим к этапу I, уже для новой, скорректированной сетевой модели. Если на этапе III Q = 0 и процесс оптимизации обрывается, то это означает, что данный алгоритм оптимизации не в состоянии больше «улучшать» сетевую модель, и необходимо применять другие алгоритмы. Заметим, что предлагаемый алгоритм лишь частично решает задачу оптимизации сетевого графика и по сути дела является эвристическим. Для случая стохастических сетевых проектов его применение на стадиях разработки исходного плана и оперативного управления, на наш взгляд, является оправданным. Данный алгоритм может быть использован при проведении многотемных и многосетевых разработок, так как его применение отнюдь не обусловлено наличием одного или нескольких сетевых графиков. § 2. Оптимизация сетевых моделей с детерминированными оценками работ В предыдущем параграфе уже отмечалось, что задача построения оптимального календарного графика в сетевых моделях с учетом ограничений на ресурсы (например, исполнителей) является одной из важных задач, решение которой повышает качество работы системы СПУ в целом. Оптимизация календарного графика с учетом трудоемкости должна производиться как на стадии разработки исходного плана системы СПУ, так и на стадии оперативного управления. В настоящем параграфе приводится алгоритм построения календарного графика многотемных разработок [26, 27], использующий метод статистического моделирования в сочетании с методом случайного поиска. Оптимальность календарного графика состоит в том( что распределение ожидаемой суммарной трудоемкости
§2] МОДЕЛИ С ДЕТЕРМИНИРОВАННЫМИ ОЦЕНКАМИ РАБОТ 359 по шифрам работ и специальностей должно наилучшим образом аппроксимировать распределение наличной трудоемкости по этим же шифрам специальностей. Что касается критерия близости двух уравниваемых распределений, то его выбор является эвристическим и будет рассмотрен ниже. Алгоритм оптимизации календарного графика для одного или нескольких сетевых проектов'содержит одно допущение. Оно сводится к тому, что каждая отдельная работа выполняется исполнителями одной и той же специальности. Мы будем, помимо этого, рассматривать только случай детерминированных сетевых проектов, когда времена выполнения всех входящих в сетевые проекты работ выражаются одной фиксированной оценкой. Сначала в целях удобства изложения и индексации рассмотрим случай оптимизации одного сетевого проекта (однотемная задача), выполняемого исполнителями одной специальности, после чего перейдем к случаю нескольких одновременно выполняемых сетевых проектов (многотемная задача) и нескольких видов ресурсов. Мы имеем, таким образом, сетевую модель системы СПУ, состоящую из N работ (г, /), для каждой из которых задано количество участвующих в проведении этой работы исполнителей одной и той же специальности Пц, время выполнения этой работы t(i, /) и трудоемкость этой работы Q;j (например, задаваемая в человеко- часах или человеко-днях). Заметим, что, как правило, Фц = пц1(1, /). Помимо этого, задан директивный срок Гд. о окончания проекта. Последнее означает, что проект новой разработки не может быть окончен после календарного срока Гд. о- Аналогично задается директивный срок начала проекта 7"дл„ раньше которого разработка проекта.не может быть начата. Разумеется, длина критического пути К, соединяющего начальное и конечное события сетевого графика (с учетом топологии сети и значений t(i, /)), меньше разности значений 7"n.0 и Гд.„ — в противном случае задача не имеет решений. Примем, что период Гд.0 — ТА.а может быть разбит на / периодов,
360 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ [ГЛ. VII в каждом из которых задано наличное число исполнителей nq {q=\, 2, . . ., /). Если обозначить длину календарного периода через /„ то наличная трудоемкость для <7-го периода может быть оценена по приближенной формуле Фд-tigtg (д=\, 2 /). Нам необходимо для всех работ сетевой модели оценить сроки начала и окончания этих работ таким образом, чтобы потребная трудоемкость (с разбивкой по специальностям и в разрезе частных календарных периодов) минимальным образом отклонялась от распределения наличной трудоемкости. Обозначим искомый срок начала выполнения работы (t, /) через tn(i, /), а срок окончания — t0(i, /). Заметим, что алгоритм не предусматривает перерывов в процессе выполнения одной и той же работы и поэтому М'\ /)=М«. j)+t(i, /). Степень близости двух эмпирических распределений трудоемкости можно оценить нелинейным многопараметрическим функционалом, который следует минимизировать с целью получения искомого оптимального набора ta(i, /). Одним из наиболее эффективных вычислительных методов оптимизации многопараметрических нелинейных функционалов с ограничениями (о которых мы будем говорить ниже) является сочетание метода Монте-Карло (метода статистических испытаний) и метода случайного локального поиска [49, 57, 58]. Основная идея предлагаемого ниже алгоритма заключается в следующем. Нам необходимо определить в iV-мерном пространстве значений /„((', /) такую точку, из которой можно начинать случайный поиск. Разумеется, мы могли бы в качестве значений координат такой точки выбрать, например, сроки начала выполнения всех работ tu(i, /) по формуле tH(i, /)=Гд.н-Иран(*). где /ран(0—самый ранний срок свершения события i, начиная с момента начала выполнения проекта. Действительно, в этом случае набор значений tu(i, /) удовлетворяет условиям задачи. Однако выбор такого рода
§ 2] МОДЕЛИ С ДЕТЕРМИНИРОВАННЫМИ ОЦЕНКАМИ РАБОТ 361 начальной точки поиска не является рациональным, поскольку поиск оптимального календарного графика из точки, выбранной на границе приведет к увеличенному количеству шагов «поиска», то есть случайных блужданий. Вследствие этого предлагаемая методика сводится к отысканию начальной точки поиска методом Монте- Карло (методом статистических испытаний) следующим образом. Для сетевой модели (с фиксированной топологией) последовательно осуществляется следующая поэтапная процедура. Этап I. Рассчитываем сеть в шкале времени, нулевая точка которой совмещена с первым событием сети. В результате расчета получаем следующие параметры: *ран(0 — ранние сроки свершения событий, /Поз(') — поздние сроки свершения событий, К — длина критического пути, P(i)—резервы времени событий: Этап II. Пересчитываем величины tpaH(i) и /Поз(0 в новой шкале времени, нулевая точка которой совмещена с 7"д.„. Для этого помещаем первое событие сети в точку на шкале времени, которая определяется отрезком (Гд.о — /Сiсо, отложенным вправо от нуля в новой шкале времени, где со — значение равномерно распределенной случайной величины в интервале [0, 1]. Тогда 4ш(') = W) + (7V о-Л') со, (7.2.1) 4з(/) = гПоз(О+ [(7Vo-/0 -(Та.о-К)<л\ = = 'поз('')+Гд.0(1-со)-/с;(1-со), (7-2-2) Р' (/) = 4з (i) - 4н М = Р W + (7Yo - К) (1 -2со). (7.2.3) Этап III. Определяем расположение начал работ ((', /) на интервале [0, Гд.о] с учетом ограничений, налагаемых значениями /ран(/), ^03(/) и топологией сети. Для этого «разыгрываем» начала работ (/, /) по формуле '«С Л = ^(0+^(04(0. (7.2.4) где Tj(t') —значение равномерно распределенной случайной величины в интервале [0, 1], после чего для всех
362 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ [ГЛ. VII работ вида (/, /) проверяем ограничения [t. {I. Л + * V. /)Jmax < *а (J, О, (7-2.5) где ta{J>l) = t'fm{j) + P'U)T\(j)- Если [ta(i, j) + t{i, y)]n,ax > in(/. 0> принимаем, что tnU. Q=[U*. ])+t{l, j)Ux*). Сроки окончания работ рассчитываем по формулам t0{i>j) = t.(i, J) + t{i,j), l Ш О = 4. (У. C) + t(], I). I ( ' Этап IV. В соответствии с полученными на этапе III значениями ^„оз(', /) и /„(/, у) группируем ожидаемую трудоемкость в пределах каждого календарного периода разбиения. Обозначим Fq (q=\, 2, .. ., /) ожидаемую трудоемкость q-ro календарного периода. В соответствии с алгоритмом учетной задачи определяем трудоемкость в каждом из f календарных периодов и строим функционал /. Можно показать [26, 27], исходя из ряда математико- вычислительных и технико-экономических соображений, рациональность выбора следующих форм функционала/: I или где q-l 1 = Я max {Qqf, (7.2.7) О ■ф„ Ф я А при при при Fq > Ф, > О, F >Ф : О, причем константа большое число. А есть заранее принятое достаточно *) Указанный прием фиксации начальной точки поиска не является вполне строгим, так как делает статистические испытания зависимыми, однако он позволяет существенно сэкономить количество «розыгрышей» при определении начальной точки.
§ 2] МОДЕЛИ С ДЕТЕРМИНИРОВАННЫМИ ОЦЕНКАМИ РАБОТ 363 Этапы I—IV, по сути дела, определяют (с помощью метода Монте-Карло) точку начала случайного поиска и соответствующее этой точке значение функционала /. Переходим к этапам, реализующим собственно метод случайного поиска. Этап V. Этот и все последующие этапы реализуются для всех входящих в сетевой проект работ одновременно, поскольку случайный поиск происходит в JV-мерном пространстве. На этапе V моделируются N значений |(i, /) вектора смещения £, то есть N координат равномерно распределенного в iV-мерном пространстве случайного единичного вектора, согласно методике, изложенной в предыдущем параграфе. Если |(/, /) ^-0, то это означает, что время начала выполнения работы (/', /) должно быть смещено вправо на величину uiara поиска а, а при g(i, /)<0 — влево также на величину а. Значение а (шаг поиска) задается нами заранее и определяет погрешность сходимости случайного поиска. Этап VI. Обозначим Xh k-ю точку блуждания при случайном поиске. Определяем очередную новую точку перехода Хт из А"»,-! по формулам C\i, j) = t\r'\i, /)+asign|(i, у), (7.2.8) #•> (/, j) = t™ (i, J) +1 (/, j), (7.2.9) после чего переходим к выполнению этапа VII. Этап VII. Проверяем следующие ограничения: 1) для 1 = 1 *„(0>0. 2) для l = n t»(i)<TA.0, 3) для 1 < /, J, 1<п tH (/, у) +1 (/, у) < tB (у, /). (7.2.10) Если хотя бы одно из этих неравенств не имеет места, возвращаемся в точку Xm-i и переходим к выполнению этапа V. В противном случае переходим к выполнению этапа VIII. Этап VIII. На этом этапе определяем для новой точки Хт значение функционала 1т. Если /m</m_j, то переходим к выполнению этапа V, но из новой точки Хт. При /m^/m_i возвращаемся в точку Xm_j и переходим
364 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ [ГЛ. VII к этапу V. Заметим, что если /т=0, случайный поиск прекращается. Нетрудно видеть, что описываемый алгоритм «циклится» на этапах V—VIII. Если в результате проведения нескольких последовательных циклов (количество этих «циклов» определяется заранее перед началом расчета задачи) мы остаемся в одной и той же точке, то это означает, что сходимость при случайном поиске не имеет места. Пусть /i !> /2 >. .. ^ h ^ h+i — последовательность значений функционала / при случайном поиске. Если *+' < А, где Д — заранее фиксированная и установленная погрешность, то работа алгоритма окончена. В этом случае необходимо, зафиксировав оптимальный набор значений начала и окончания tB(i, /) и t0(i, /•), вновь перейти к этапу II, замоделировать методом Монте-Карло на этапах II—IV новую точку Хи из которой вновь начать случайный локальный поиск. Аналогичную процедуру следует выполнить несколько раз (количество «розыгрышей» методом Монте-Карло также заранее фиксируется), после чего выбираем наименьший из полученных локальных минимумов. Этот глобальный минимум фиксируется в качестве искомого оптимального. Легко видеть, что описанный выше поиск локальных оптимумов в случае ограничений (7.2.10) не является экономичным, так как большое количество «розыгрышей» будет сделано впустую. В связи с этим целесообразно предложить некоторые видоизменения изложенного выше алгоритма, основанные на использовании зависимых случайных испытаний. В соответствии с новой процедурой поиска на этапе VII в случае невыполнения неравенств (7.2.10) возврат в точку Xm-i не производится. Если имеет место неравенство [<■(/, i)+t(i, /)]тах>*н(/. 0. то принимается t*(j, I)-Mt, /)+*((, /)]max, после чего переходим к выполнению этапа VIII.
§ 2J МОДЕЛИ С ДЕТЕРМИНИРОВАННЫМИ ОЦЕНКАМИ РАБОТ 365 Все остальные этапы алгоритма остаются без изменений. В заключение рассмотрим случай нескольких проектов (имеется, например, L проектов) при одном виде ресурсов. В этом случае вся изложенная выше методика остается в силе, за исключением этапов II—IV, которые работают последовательно для каждого из L проектов до тех пор, пока исходная точка сроков-начала и окончания всех входящих в сетевые проекты работ не будет удовлетворять ограничениям (7.2.5). Необходимо, таким образом, «разыграть» L значений случайной величины со (для каждого из L проектов), а после получения L начальных точек вести случайный поиск одновременно из этих точек, суммируя в формулах (7.2.7) ожидаемые трудоемкости для всех сетевых проектов. Все остальные этапы алгоритма не претерпевают никаких принципиальных изменений. Что касается случая нескольких проектов с несколькими ресурсами, то соответствующая задача представляет модификацию только что изложенной и рассмотрена ниже. Переходим к постановке многоресурсной задачи оптимизации [26]. Пусть имеется N сетевых проектов, выполняемых практически одновременно, причем г-й проект (104^ ^iV) состоит из Мг работ. Примем впредь индексацию (i, /),, которая означает, что работа (*', /) относится к r-му проекту. Для каждой работы ((', j)r фиксируется продолжительность выполнения этой работы t(i, /)r и количество участвующих в этой работе исполнителей «(г, /)г (1 <^r<^N), а также трудоемкость этой работы Ф(/, /)г в человеко-часах или человеко-днях). Для удобства изложения будем считать, что каждая отдельная работа производится исполнителями одной и той же специальности, количество которых обозначим s. Заметим, что обычно имеет место приближенное равенство Ф(/, j)r~n(i, j)rt(i, j)r. Нам необходимо также задать для каждого из проектов директивный срок т%}0 окончания /--го проекта. Это означает, что r-й проект (I *Cr-*CN) не может быть окончен позже календарного срока Т^0. Аналогично
336 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ [ГЛ. VII зададим директивный срок начала выполнения r-го проекта 7V. и. раньше которого разработка проекта не может начаться. Разумеется, директивные сроки начала (или окончания) для некоторых сетевых проектов могут совпадать. Заметим, что для каждого сетевого проекта длина критического пути, соединяющего начальное и конечное события проекта (длину критического пути в r-м проекте обозначим Kr (I -^r f&N)), не должна превышать соответствующей разности T(l 0—Г?.н' в противном случае задача не имеет решения. Положим /„ = _ Гт-С' 1 и t — \T{rh I — I ' л. Hjmln " 'о — \.' п.. ojmax- Примем, что календарный период от /„ до t0 разбит на частные календарные периоды, число которых обозначим /. Для каждого календарного периода q (q = — \, 2, . . ., /) и каждого шифра специальностей m (m=l, 2, . . .) задается наличная суммарная трудоемкость, которую мы обозначим Ф„,,. Опишем поэтапную процедуру [26] оптимизации для случая многотемных (многосетевых моделей). Этап I. В соответствии с топологией сети и значениями /(/, I), определяем самые ранние и самые поздние сроки свершения /ран(()г и Гц0з(')г всех событий i сети, длину критического пути Кг, а также резервы событий Р(0г = ^поз(0г—lpas(i)i B шкале времени, нулевая точка которой совмещена с первым событием сети. Этап II. «Разыгрываем» положение начальных событий всех проектов и с учетом этого пересчитываем времена /рам(0г и tnos(i)r по формулам *pM {i)r = 7t?- + tm О, + «r [7t?o - Т%щ - Kr]. (7.2.11) ^моз(')г = ^поз(0г "Т" \ ' л. о ' д, н — Кт) — \ТЛ. о — Т\. „ — Кг) (0Г = ^поз (i)r + -\-0to - 7Т\,)(1 — со,) —/Сг(1 -«г), (7.2.12) ^(а=Сз(а-с.(а- <7-2-13) Здесь о)г— значение псевдослучайной величины, равномерно распределенной в интервале [0, 1], вычисляемое однократно для r-го проекта.
§ 2] МОДЕЛИ С ДЕТЕРМИНИРОВАННЫМИ ОЦЕНКАМИ РАБОТ 367 Этап III. Для каждой из входящих в r-й сетевой проект работ (<', /)r «разыгрываем» методом Монте- Карло время начала и окончания выполнения этой работы tu(i, j)r и t0(i, j)r по формулам '„(<> J)r = ^M)r + P'(i\^' Л, (7-2Л4) toil, fit = t* V. j)r+ t {t, fin (7-2Л5> где r\r(i, j)—значение псевдослучайного числа, равномерно распределенного в интервале [0, 1]. Этап IV. На этом этапе проверяем выполнение ограничений [<„(/, л+<(/, fir]aa<tAJ. Or (7-2.16) для всех / и /. Если неравенство (7.2.16) не выполняется, принимаем *,U. Or —М'- Лг + Щ, /)rU (7-2.17) Если <н(/, /),., определенное по формуле (7.2.14), больше значения [/„(г, j)r + t{i, /)г]ш«. принимаем /„(/, /)грав- ным KU.t)r=t'm(J)r+P,U)r\U>t)- Этап V. Повторяем этапы I—IV для всех рассматриваемых сетевых проектов последовательно (независимо друг от друга). В результате окончания работы алгоритма на этапе IV получаем начальную точку поиска, которую обозначим Х\. Условимся координаты этой точки tll(i,j)r {1-^.r^.N) впредь обозначать t^(i, Д (1 ^r<N). Этап VI. На этом этапе вычисляем функционал / в точке Xi по следующим формулам: / = 22Qm? (7-2.18) т ч ИЛИ / = max2QiU. (7.2.19) т ч
368 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ (ГЛ. VII В обеих формулах Qmq оценивается следующим образом: [О при Fmg^Omq, Qn,a = \ (^-Фт^ТБ1- при Fmq >Фт<1> О, (7.2.20) {А при /=■„,> О», == 0 где Fmq — ожидаемая суммарная трудоемкость по т-му шифру специальностей в q-м календарном периоде (l-tCm-sCs, IjCq^f) для исследуемой совокупности значений tn(i, j)T (1<X/V) и t0(i, /)„ полученная па основании алгоритма учетной задачи; константа А выбирается заранее и является достаточно большим числом. Разумеется, нет оснований утверждать, что форма функционала (7.2.18) или (7.2.19) является единственно возможной. Заметим, что описываемый алгоритм оптимизации календарного графика справедлив и для функционалов иного вида. Этап VII. На этом этапе моделируем М-мерный единичный случайный вектор \[М=^МГ\, равномерно распределенный в М-мерном пространстве. Обозначим |(t, /), координату этого вектора, соответствующую работе (i, j)r в r-м проекте. Этап VIII. Организуем случайный локальный шаговый поиск следующим образом. Переходим из точки Xk в следующую точку X^+i по формулам 4* ' " (/, А = № С Лг + « sign I (/, j)r, (7.2.21) ti* >•" (/- j)r = tT (I, j)r +1 (I, j)r (1 < r < N). (7.2.22) Этап IX. Проверяем выполнение неравенств №+t>(t. fh+Щ. J)r]<£+1)(J. Or (1 <^<^V). (7.2.23) Если хотя бы для одного /, г или / имеет место неравенство, обратное (7.2.23), возвращаемся в точку Xh. В противном случае переходим к выполнению этапа X. Этап X. Для точек А";, и Xk+i сравниваем соответствующие значения функционалов /& и Ih+i (определен-
§ -г) МОДЕЛИ С ДЕТЕРМИНИРОВАННЫМИ ОЦЕНКАМИ РАБОТ 369 ных по формуле (7.2.18) или (7.2.19) в зависимости от выбора). Если /;,<Л,+1, то переходим обратно в точку Xh и обращаемся к этапу VII. При Iu^Ik+i проверяем вы- h — h+\ полнение неравенства < А, где Д — заранее > установленная погрешность сходимости. Если * / *"*"' ^А, переходим в точку Xk+i, продолжая из нее движение (поиск), реализуя первым этап VII. При * . *+| < <А переходим к выполнению этапа XI. Этап XI. Фиксируем соответствующий точке Xk+i набор значений ^|, + (/, j)r (1 ^г-^jV) в качестве искомого календарного графика начала выполнения входящих в сетевые проекты работ, а также значений *о*+1,(<\ j)r — t\i +I ('"> J)r-\-t{i, j)r Зафиксировав набор *я + (*'» j)r и <о + \i,j)r> следует вновь перейти к выполнению этапа I алгоритма, «разыграть» методом Монте- Карло начальную точку X и вновь случайным шаговым поиском оптимизировать календарный график на этапах VII—XI алгоритма. Такую процедуру полезно совершить несколько раз (/ раз), получая при этом различные значения оптимального набора ^(0И)(/, j)r и $ (i, j)r(количество / «розыгрышей» методом Монте- Карло начальной точки поиска X также заранее фиксируется). После этого выбираем минимальное из получаемых значений функционала / на финальном шаге случайного поиска н фиксируем соответствующий этому минимальному значению набор величин t\?°" (/, j)r и ^к (*', j)r (1-^.r-^.N) в качестве «глобального» оптимума — оптимального искомого календарного графика. Изложенный выше алгоритм может быть достаточно эффективно использован для оптимизации календарного графика в случае, когда наличные ресурсы не могут значительно превышать потребные ресурсы исполнителей. Однако нередко может иметь место обстоятельство, когда наличные ресурсы существенно превышают потребные и речь идет о том, какое количество исполнителей 24 Д. И. Голенко
370 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ [ГЛ. VII можно освободить от работы над разработкой N проектов и перебросить на другую тематику. В этом случае целесообразно изменить постановку задачи и, соответственно, форму функционала. Оптимизируем календарный график работ tn(i, j)r и to(i, /)r (I ^.r ^.N) таким образом, чтобы распределение наличной трудоемкости исполнителей максимально отклонялось от распределения ожидаемой трудоемкости (поскольку наличная трудоемкость всегда больше ожидаемой). В этом случае форма функционала (7.2.18) или (7.2.19) претерпит изменения, а случайный поиск сведется к максимизации этих функционалов. На наш взгляд, хорошие результаты даст максимизация функционалов следующего вида: / = 2 2Q«« (7-2-24) т I/ или /=min2Q^, (7.2.25) т q где Qm<, = (®mq-Fmq)l^- (7-2-26) В результате оптимизации функционалов (7.2.24) или (7.2.25) нами в полном соответствии с процедурой этапов I—XI алгоритма будет получен оптимальный набор календарных сроков сочетанием метода Монте-Карло и шагового локального случайного поиска. Единственное изменение алгоритма состоит в том, что на этапе X условие возврата из точки Xh+i в точку A'ft и перехода к этапу VII состоит в выполнении не условия I(Xh+l)<[(Xh), а, наоборот, I(Xh+i) ^l(Xh). Все остальные этапы алгоритма остаются без изменения. В результате проведенной оптимизации и получения набора значений /„(/, /)r (l^Cr^N) мы в состоянии оценить соответствующие значения Fmq ожидаемой трудоемкости (l*Cm^.s; l4^.q<Cf) и определить высвобождаемое количество (объем) исполнителей (трудоемкость) в разрезе шифров специальностей и календарных периодов по формуле Ф - F (1 <«t < s; 1 ■<« < П- (7-2-27)
§ 2] МОДЕЛИ С ДЕТЕРМИНИРОВАННЫМИ ОПЕНКАМИ РАБОТ 371 Заметим, что этап IX алгоритма может быть модифицирован с целью уменьшения количества лишних «розыгрышей» на этом этапе. При наличии неравенства W\i, j)r + t{i, j)T]mM>tVl)(j, l)r для какого-либо г, j и I полагаем tf+1,(y. i)r = [tik+1)(i, j)r+t{i, j)r]mn, после чего переходим к выполнению этапа X, продолжая поиск из полученной точки. Такого рода модификация сводится к случайному поиску при наличии зависимых «розыгрышей», однако количество этих «розыгрышей» существенно уменьшается. Описанный выше алгоритм оптимального перераспределения времени начала и окончания работ не решает задачу перераспределения ресурсов с целью оптимизации сетевой модели по времени. Как и для случая сетевых проектов со случайными оценками, эта вторая задача не может решаться в отрыве от первой задачи — перераспределения сроков начала выполнения входящих в проект работ. Предположим, что нами решена первая задача — построен оптимальный набор сдвигов сроков, минимизирующий значение функционала /, после чего переходим к краткому изложению эвристического алгоритма решения второй задачи [22]. Первый и второй этапы этого алгоритма в точности соответствуют аналогичным этапам эвристического алгоритма для случая сетевых моделей со случайными оценками работ, изложенного в предыдущем параграфе. Из числа входящих в сеть работ выбираем все работы, для которых ожидаемое число исполнителей ft/, { отклоняется от наличного количества Ci на величину, 11 -" большую заранее заданной погрешности б* / (см. § 1 настоящей главы). Эту процедуру проводим для всех календарных полос k и шифров специальностей i, получая таким образом rs групп отобранных работ (1=1, 2, .. ., г; г|=1, 2, .... s). В полученных rs 24*
372 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ (ГЛ. Vlt аварийных группах располагаем (для каждой из групп) входящие в них работы в порядке уменьшения коэффициентов напряженности &в('Чц' /W* Этап III алгоритма перераспределения ресурсов в точности соответствует аналогичному этапу алгоритма § 1 настоящей главы, за исключением того, что вероятностные р-квантильные резервы в сетевых проектах со случайными оценками работ заменяются свободными резервами времени Rc в детерминированных сетевых проектах. В результате проведения третьего этапа мы получаем некоторое количество «резервных» подгрупп работ, каждая из которых имеет соответствующую «аварийную» группу среди отобранных на этапах I, II (разумеется, далеко не каждая «аварийная» группа будет иметь соответствующую «резервную», хотя обратное имеет место всегда) с тем же номером календарной полосы и тем же шифром исполнителей. В каждой резервной подгруппе располагаем работы в порядке увеличения коэффициентов напряженности k„(ip, /р) (см. § 1 настоящей главы). Этап IV, а также все последующие этапы алгоритма выполняются для каждой из аварийных групп (и соответствующих им резервных подгрупп) отдельно, независимо друг от друга. Вследствие этого мы в качестве примера опишем эти этапы для одной из произвольно выбранных групп (и соответствующей этой группе резервной подгруппы (ip, /р) (р=1, 2, ..., Qsn)). На этапе IV для каждой из входящих в резервную подгруппу работ (i„, /p) фиксируем значение свободного резерва времени Яс('р, /р)- На основании формулы (7.1.8) пересчитываем для каждой из работ (/„, /р) потребное количество исполнителей по формуле п'(1р, УР) = л(/р. /р),(/ 'jj + p^i jfi)<nVrti- <7-2-28) где я'(/р, /р) — пересчитанное (новое) количество исполнителей, n(ip, if) —прежнее количество исполнителей.
§ 2] МОДЕЛИ С ДЕТЕРМИНИРОВАННЫМИ ОЦЕНКАМИ РАБОТ 373 На этапе V для каждой из резервных подгрупп суммируем полученные по формуле (7.2.28) резервы ис-> полнителей Д/гр = л(/р, /р) —n'(ip, jp) no входящим в подгруппы работам, начиная с работ с наименьшими значениями k„(ip, jp). Если а) на каком-то номере работы получаем неравенство р-1 *ч то переходим к выполнению этапа VI; «8и б) величина 2 Длр < б* / , то процесс частичной р-1 *ч оптимизации для рассматриваемой аварийной группы окончен. В этом случае фиксируем у работ (/р> /р)(1-^ < Р < Q64) новые 1'пл (/р, ур)= tnil (/р, ур) + Рс (/р, yp) и новое количество исполнителей я'(г'р\ /р), определенное по формуле (7.2.28). Этап VI имеет место только в случае выполнения условия а) на предыдущем этапе (см. § 1). На этом этапе определяем количество резервных исполнителей 4h Nfn= 2 &по< которое и перераспределяем между ра- Р-Х+1 ботами соответствующей аварийной группы в том порядке, в котором эти работы были рассортированы на этапе II (то есть начиная с наиболее напряженных по времени работ). Алгоритм перераспределения мы, как и для случая § 1, не будем регламентировать формальными правилами. В каждом отдельном случае принцип действия алгоритма перераспределения на этапе VI будем менять, исходя из конкретных условий. Указанную процедуру осуществляем для каждой из 2s аварийных групп. Этапы VII, VIII алгоритма соответствуют этапам VIII, IX алгоритма предыдущего параграфа (для задачи 2), с той единственной разницей, что вероятностные р-квантильные резервы времени Рр заменяются свободными резервами времени Рс, а входящие в группу
374 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ [ГЛ. VII работы располагаются в порядке убывания коэффициентов напряженности £„(/, /), а не Wp{ktl). Все остальные операции переносятся без изменений. Этап IX. На основании формулы (7.1.8) пересчитываем время выполнения для всех работ, которые в результате перераспределения получили дополнительное число исполнителей, то есть корректируем плановое время ^пл(', /) для этих работ. На этапе X для всех входящих в сетевой проект работ определяем зависимые Рп('. /) и свободные Pc(i, /) резервы времени. Выполнение этапа X завершает работу алгоритма. Общий алгоритм частичной оптимизации для детерминированных сетевых проектов можно представить в укрупненном виде состоящим из следующих этапов: Этап I. Решаем задачу 1. Этап II. Выполняем этапы I, II решения задачи 2. Если аварийные группы отсутствуют, процесс оптимизации окончен. В противном случае переходим к этапу III. Этап III. Выполняем этапы III, IV решения задачи 2. Если резервные группы отсутствуют, то это означает, что процесс оптимизации обрывается. В противном случае переходим к выполнению этапа IV. Этап IV. Выполняем этапы V—X алгоритма решения задачи 2, после чего переходим (уже для скорректированной сетевой модели) к выполнению этапа I. Мы изложили в настоящем параграфе некоторые алгоритмы оптимизации сетевых моделей с детерминированными временными оценками работ. Отличительным свойством этих алгоритмов является сочетание оптимальных методов построения план-графика работ с эвристическими методами перераспределения ресурсов. Результат работы такого комплексного алгоритма может, как нетрудно видеть, существенно отличаться от оптимального. Мы изложим в следующем параграфе методику оптимизации сетевых моделей с перераспределением ресурсов, которая в принятом нами смысле является оптимальной и минимизирует время разработки сетевого проекта.
§ 3] ОПТИМИЗАЦИЯ ВЫПОЛНЕНИЯ ПРОЕКТОВ 375 § 3. Оптимизация продолжительности выполнения многосетевых проектов при ограниченности ресурсов Вопросы оптимизации сетевых проектов по времени при ограниченности ресурсов (например, количества исполнителей) связаны с решением одной весьма важной задачи, неизменно встречающейся в системах СПУ при планировании и управлении ходом научно-исследовательских и опытно-конструкторских разработок. Последняя заключается в определении минимального времени, за которое можно выполнить сетевой проект с фиксированной топологией сети при ограниченности наличных ресурсов. Как правило, в системе СПУ с контролем сроков и перераспределением ресурсов для случая детерминированных сетевых проектов (в последних, в отличие от сетевых проектов со случайными значениями работ, продолжительность задается в виде одной фиксированной оценки) применяются два типа показателей работ: 1) продолжительность /(/, /) выполнения работы (i, /) (в днях); 2) трудоемкость работы Ф(/, /') (в человеко-часах или человеко-днях). Как известно, зависимость между продолжительно^ стыо работы г(/, /) и количеством исполнителей «(/,/), одновременно участвующих в ее выполнении при условии их полной загрузки, может быть выражена приближенной формулой где Ф(/, /) —трудоемкость работы (/, /), а С—коэффициент пропорциональности, не меняющийся от работы к работе. Заметим, что для каждой работы существует максимальное количество исполнителей «max, которые могут одновременно и производительно (то есть без потерь времени) участвовать в процессе ее выполнения, а также минимально необходимое количество исполнителей «miii- При этом Птах и rtmln названы соответственно максимальным и минимальным фронтом производительной работы. Каждому из значений n (nmla-^.n ■^■птях)
376 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ [ГЛ. VII соответствует определяемая по формуле (7.3.1) продолжительность выполнения работы. Таким образом, задача оптимизации ресурсов по времени в системах СПУ сводится к установлению оптимального набора значений n(i, /) и сроков начала и окончания для каждой из входящих в сетевой проект работ (i, /), удовлетворяющих наличным ресурсам и минимизирующих время выполнения сетевого проекта. Переходим к математической формулировке задачи. Дан сетевой проект, состоящий из /V работ (i, /), для каждой из которых заданы минимальный «min и максимальный rtmax фрОНТЫ. Обозначим трудоемкость работы (*, /) символом Ф(/, /), а минимальную и максимальную продолжительности работы (г, /)— tmin(i,j) и tmax(i,j). Заметим, что rhnfa'tmax(i, /) ="max • Лшп(», /)=Ф(1, /)G. Будем считать, что в выполнении сетевого проекта участвуют исполнители s специальностей, в связи с чем введено обозначение (i,j)i — признак того, что работа (/,/) относится к 1-й специальности, где Примем, что наличные ресурсы (исполнители) распределены равномерно по всем m календарным периодам для каждой из s специальностей. Отметим, что если через щ обозначим наличные ресурсы по специальности для всех календарных периодов, то для любого / (1 </<s) /г, >max[remIn(/, /),]• (7.3.2) В противном случае задача не имеет решения. Это означает, что не существует конечного времени, за которое может быть выполнен сетевой проект с данными наличными ресурсами. Прежде чем приступить к описанию алгоритма оптимизации [27], сделаем одно предварительное замечание.
§ 3] ОПТИМИЗАЦИЯ ВЫПОЛНЕНИЯ ПРОЕКТОВ 377 Назовем пространством решений множество наборов значений n(i, j) и значений начала и окончания работ М'. /') и /<,(', j), для которых ожидаемые ресурсы не превосходят наличные. Заметим, что последнее эквивалентно тому, что функционал / равен нулю. При этом s m Л = 2 2ф (7-3.3) /-1 р-1 р т /2= max 2 Я1„> (7.3-4) / p-i ip где qtp=(l — sign Aip), Alp = nl — n,v. Символ tiip обозначает максимальное число исполнителей /-й специальности, одновременно участвующих в работе в р-ч календарном периоде, а т — число периодов. Именно эти функционалы мы будем использовать для выяснения вопроса, удовлетворяют наличные ресурсы потребным или нет. Нетрудно видеть также, что набор значений исполнителей n(i, j)i не относится к пространству решений, если хотя бы для одного / (1 ^ / ^s) имеет место неравенство n(i,j)t>nt. (7.3.5) Нам необходимо в пространстве решений найти искомое оптимальное решение, для которого общее время выполнения сетевого проекта будет минимальным. Будем рассматривать лишь такие наборы n(i, /)/,для которых (в соответствии с только что сделанным замечанием) «mid ('■ J\ < Я {i, A < min (я,, лпт (I, j)t). (7.3.6) Приближенно оптимальное решение может быть получено сочетанием методов Монте-Карло (метода статистических испытаний) и случайного поиска, причем поиск следует осуществлять в пространстве решений, «разыгрывая» начальную точку поиска методом Монте- Карло. Предлагаемый в этом параграфе алгоритм оптимизации, по-видимому, применим при оптимизации реальных сетевых проектов новых разработок и может
378 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ [ГЛ. VII быть реализован на электронных вычислительных машинах достаточно широкого класса. Переходим к поэтапному описанию алгоритма. Этапы 1—IV сводятся к определению минимального срока выполнения проекта, соответствующего неограниченным ресурсам, и к выяснению вопроса, выполним ли за этот же срок (который вообще не может быть уменьшен) проект с наличными ограниченными ресурсами. Очевидно, что такое минимальное время может быть получено при n(l, j)=nmilK(i, j) и равно критическому пути в сети, где Этап I. Определяем продолжительность работ в сетевом проекте по формуле (7.3.1): к J' "max**.;) Этап II. В соответствии с топологией сети и значениями t(i, j) определяем длину критического пути /Cmin. Этап III. Этот этап, по сути дела, сам является экстремальной задачей. Он заключается в выборе сроков начала /„(/, /) и окончания t0(i, /) работ (/, /'), при которых общее время свершения проекта не превосходит Ящщ, а значение функционала или /2 = тах 2 <7,2„ / р-1 делается минимальным. Иными словами, мы оптимизируем в пределах временного интервала [0, Ктт] календарные сроки начала и окончания всех работ (i, j) с тем, чтобы значение функционала / при наличных ресурсах стало минимальным. Заметим, что эта задача есть частный случай решения более общей задачи, когда необходимо найти оптимальный план-график работ в пределах [0, Тлпр], где Tmv — директивный срок окончания проекта, который не может быть превышен.
§3) ОПТИМИЗАЦИЯ ВЫПОЛНЕНИЯ ПРОЕКТОВ 379 Алгоритм решения такого рода оптимальной задачи [26] описан в предыдущем параграфе. Этап IV. Если оптимальный план-график формирует значения / = 0, то задача решена и искомый оптимальный набор сроков и исполнителей может быть достигнут при «((', /)=/imaxO\ /) в полученном наборесро- ков начала tH(i, /) и окончания t0(i, /) работ. В этом случае смотрим, из одного набора или нескольких (или бесконечного количества) состоит множество оптимальных план-графиков. В последнем случае выбираем из множества оптимальных план-графиков тот, который максимизирует функционалы 5 т Л = 2 %А*р, (7.3.7) т /2 = min2AV (7.3.8) i p=i где Получив искомое решение, мы имеем возможность высвободить максимальное количество излишних наличных ресурсов, которые участвуют в выполнении проекта непроизводительно. Этап V. Если />0, то при наличных производственных ресурсах сетевой проект не может быть выполнен за время /Cmin- В этом случае переходим к «разыгрыванию» начальной (исходной) точки в пространстве решений, откуда в дальнейшем будет производиться случайный поиск. В соответствии с рассмотренным выше ограничением (7.3.6) для каждой из входящих в сетевой проект работ (t, /) независимо друг от друга генерируем методом Монте-Карло количество исполнителей n(i, /); по формуле пЦ, J)i = [[M(i, ;), — «„„„(/, Д}ч(/, у')] + пт1а (/, Д, (7.3.9) где M(i, /)i=min{rt(, nmax(i, /);}, знак [] означает целую часть числа, заключенного в квадратных скобках, а
380 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ [ГЛ VII r\(i, /■)—псевдослучайное число, равномерно распределенное в интервале [0, 1]. Этап VI. В соответствии с «разыгранными» значениями n(i, /)/ по формуле (7.3.1) определяем значение т, /)«. Этап VII. На основании топологии сети и значений t(i, j)i определяем критический путь К- Этап VIII. Решаем оптимальную задачу, аналогичную задаче этапа III, для 7,Д!1р = /<. Если /=0, то процесс «розыгрыша» начальной точки поиска окончен, и мы переходим к этапу X, в противном случае переходим к выполнению этапа IX. Этап IX. Увеличиваем директивный срок Т^щ, на величину шага а (значение а определяется заранее и соответствует точности «розыгрыша» оптимального варианта), после чего для значения Тт,р — К + а переходим к выполнению этапа VIII. Такого рода цикл продолжается до тех пор, пока на шаге цикла для ГД1ф=/(+/'а значение / не станет равным нулю. Этап X. После выполнения этапов VIII, IX получаем начальную точку поиска, которую обозначим Л\. Она характеризуется полученным на этапе V набором значений n(i, /)j, а также определенным на этапах VIII, IX план-графиком и директивным сроком 7*дир, который для точки Xi обозначим Л1'. Реализация случайного шагового поиска происходит следующим образом. Этап XI. Допустим, что на г-м шаге поиска мы находимся в точке пространства решений A"z. Обозначим соответствующий этой точке набор n(i,j)t индексом nz(i, /)j, а соответствующий директивный срок — Г(*>. Переходим из Xz в Xz+i на основании следующей формулы: л<г+1>(/, Д=[я(г)(/, AssignМ/. Д}], (7.3.10) где р — шаг поиска (задается заранее или определяется сходимостью поиска), a y(i, j)i — значение псевдослу- 'чайчого числа, распределенного равномерно в интервале [—1, +1].
§ 3| ОПТИМИЗАЦИЯ ВЫПОЛНЕНИЯ ПРОЕКТОВ 381 Знак [] в формуле (7.3.10) обозначает, что взята це- лая часть. Этап XII. Проверяем ограничения. Если хотя бы для одного /, / или / n{z+1)(i, А>Щ или n{z+l]{i, j)[<nmla(i, Д,- переходим обратно в Хг, иными словами, к этапу XI. В противном случае переходим к выполнению этапа XIII. Этап XIII. На этом этапе решаем задачу нахождения оптимального план-графика, минимизирующего значения функционала / (см. этап III), при я<г+1>(1, j)$ til i\ —С Ф(/' Л Т — 74" Если в результате проведенной оптимизации минимальное значение />0, переходим снова в Хг и к выполнению этапа XI. В противном случае (при /=0) переходим к этапу XIV. Этап XIV. Уменьшаем срок 7W на шаг а (определенный ранее, на этапе IX) и переходим к решению оптимизационной задачи (этап XIII) с теми же л<г+|>(/, /)| и t(l, /);, но Гдар=ГЮ — а. Если / = 0, вновь уменьшаем значение 7дир на а и т. д. до тех пор, пока на каком-то шаге цикла при Ттр — ТмР— га значение / не станет больше нуля. В этом случае величину ГЙр — (г — 1)а обозначим T^z+l\ Таким образом, мы на каждом шаге поиска максимально «сжимаем» срок свершения проекта Ту^> вследствие чего Г^р1* < 7"jfHp- В дальнейшем переходим к новому шагу поиска из X,+i (со значениями га<г+1>(/, /)( и сроком 7'(г+|>), то есть к этапу XI. Если в результате цикличного повторения этапов XI—XIII мы каждый раз возвращаемся к Хг, то это означает, что локальный поиск окончен и срок Г<г>,
382 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ [ГЛ. VII соответствующий набору ресурсов rc(z)(i, /)/, времени i(1,1). = С ... ' и оптимальному план-графику (по- '" п(г)(1, j)[ ' к ч' j v лученному на этапе XIV), локально-минимальный. Число повторных циклов также может быть определено заранее, перед началом работы алгоритма. Этап XV. Этот этап заключается в том, что управление многократно передается на этап V, то есть к «розыгрышу» начальной точки поиска методом Монте- Карло, причем такая процедура производится фиксированное число раз. После «розыгрыша» начальной точки на этапах IX—XIV реализуется случайный шаговый локальный поиск и находится локально-минимальный срок Г<г>, который в зависимости от начальной точки поиска может принимать различные значения. Минимальное из них принимается в качестве искомого «глобального» оптимального решения, причем этому значению соответствует оптимальный набор ресурсов и план-график начала и окончания всех входящих в сетевой проект работ. Для случая нескольких практически одновременно выполняемых разработок изложенный алгоритм приводится к следующему модифицированному виду, предложенному Н. А. Левиным [39]. Пусть имеется L (L>\) разработок, для каждой г-й из которых построена сетевая модель, содержащая Nr работ (X^Cr^CL), причем для всех L проектов указано время Гд.н*), раньше которого разработки не могут быть начаты. Будем считать, что все остальные условия совпадают с условиями только что рассмотренной задачи оптимизации односетевой модели. Рассматриваемая ниже задача состоит в нахождении такого набора значений n№(i, /)j и такого набора план- графиков работ fn*(l, j) и to\i, j), где t(,P (/, j) — время начала работы (i, j) r-ro проекта, to (/> j)— время окончания работы (i, j) r-го проекта, которые соответствуют *) Без ограничения общности Гд. „ может быть помещено в нулевую точку шкалы времени.
I 8] ОПТИМИЗАЦИЯ ВЫПОЛНЕНИЯ ПРОЕКТОВ 383 минимальному интервалу времени, на котором все выполняемые проекты могут быть завершены в предположении, что проекты не имеют приоритета один перед другим. Рассмотрим по этапам алгоритм решения сформулированной задачи [39]. Этап I. Для каждой работы каждого из L проектов определим минимальное время /mm{i, j)t - С У(;'. Л' (1 <г<L; 1</<s). (7.3.11) "mix ('■ JП Этап II. В соответствии с топологией каждого сетевого проекта и найденными по формуле (7.3.11) значениями продолжительностей работ рассчитываем длину критического пути каждого проекта ATmim а также значения ранних и поздних сроков свершения событий 4Г>(')» ^пЧО и резервы времени событий P\?(i) (1 <><;/,) в предположении, что первые события каждого проекта совмещены с нулем шкалы времени. Этап III. «Разыгрываем» методом Монте-Карло поочередно для всех L проектов положение исходного события г-го проекта на шкале времени в пределах временного интервала, определяемого максимальной длиной критического пути наиболее продолжительного проекта max /Cmtn- Расчет точки начала r-го проекта на шкале времени производим по формуле Tir) = (max KUn - КЩ o>w. (7.3.12) где со(г) — псевдослучайное число, равномерно распределенное в интервале [0, 1] и генерируемое для каждого проекта отдельно. Этап IV. Для каждого из L проектов пересчитываем в шкале времени, начало которой совмещено с началом проекта наибольшей продолжительности,
381 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ |ГЛ VII значения #>(/), ^>(/), /*"(/) по формулам (Г) ^ (/) = 4^(0+(max*&-/flSft)»w, (7.3.13) /,',"■ (/) = #>(/) + [(max #£]„ - КЩ - -(тахЛЙп-/Са„)<о(г)] = /<пг) (/) -f- max /C,(„rin (1 - со'") - /С&> (l - co,r)), (7.3.14) p>«\i) = tf{i)-tT(i) = P{r\i) + + f ma x *& - /f£U (l -2co<r)). (7.3.15) Этап V. Для каждой из входящих в r-ц сетевой проект работ «разыгрываем» методом Монте-Карло время ее начала и окончания по формулам #> (/, у) = ф(/) + Я(г) (/) л'"(/, У). (7.3.16) tV (/. У) - /(„г) (/. у) 4- *W (/. У). (7-3.17) где г|(г)(', /)—значение псевдослучайного числа, равномерно распределенного в интервале [0, 1] (1 -О ■<./.), генерируемого для каждой работы. Этап VI. Для каждого из L сетевых проектов проверяем ограничения, накладываемые топологией сетей: №?</. У) + /<г)(/. j)U,<[tV(j, /)]„„„ (7.3.18) для всех I, /, I. Если неравенство (7.3.18) не выполняется, принимаем С (У. От.» - №" № У) + <W (/. /)]«.*• (7-3.19) Если неравенство выполняется, то принимаем tV(У. /) = # СО + Я(г> (У) ЧГ' (У- /)• (7-3.20) В результате работы этапов I—VI алгоритма получаем начальную точку поиска частного оптимального решения для найденных минимальных значений продолжи-
§ 3] ОПТИМИЗАЦИЯ ВЫПОЛНЕНИЯ ПРОЕКТОВ 385 тельностей работ шл(1, у). Обозначим координаты точки в пространстве решений на некотором шаге поиска /!;»(/, у) о </-<£). Этап VII. В найденной начальной точке поиска определяем значение функционала А (или /•>) по формулам (7.3.3) —(7.3.4). Этап VIII. Организуем шаговый локальный случайный поиск в /V-мерном пространстве, где N = 2 yVr. На этом этапе моделируется Л/-мерный вектор смещения |, то есть генерируются N координат |,(г, /) единичного случайного вектора |, равномерно распределенного в Л/-мерном пространстве. Смещение координат точки XW в пространстве поиска производится на заранее выбранный шаг поиска а, определяющий погрешность сходимости. Переход из точки Л"<2> в точку Л"<г+1) производится по формулам <?'(/, /f+a-4P(/. jf + aslgnKr)^, у), (7.3.21) & (i, jf+ " = tV (/, jf *" + t(r) (/, У)- (7.3.22) Этап IX. Производим проверку ограничений, накладываемых топологией сетевых графиков: для /=1 #*(*. У)<Гд.н, (7.3.23) для /=#, #(*. у)<1пахАГ^„, (7.3.24) для 1 </, у; r</Vr [#(*. /)+.^J/. /)]«,<[#(/, Q]«in. (7-3.25) Если хотя бы одно из этих неравенств не имеет места, возвращаемся в точку XW и повторяем этап VIII. Этап X. На этом этапе строим функционал / но формулам (7.3.3) — (7.3.4) и сравниваем его с функционалом, полученным на предыдущем шаге. Если /(2+i)<7(2), то следующий шаг делаем из новой точки поиска (обозначим ее л"<г+1>). Если /(?+i)>/U), то возвращаемся в точку JifW и из нее делаем случайные шаги до тех пор, пока не будет найдена точка №+'), в которой /u+i)</(;). Поиск 25 Д. И. Голевко
386 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ [ГЛ. VH заканчиваем, если hz)—l{z + 0 'и <Д, где Д —заданная заранее точность сходимости. Если на одном из шагов поиска /(2+i)=0, то поиск окончен. Это говорит о возможности выполнить все проекты с заданным уровнем наличных ресурсов в минимальное время, определяемое как maxj/Cminj- Очевидно, что этому условию будет г соответствовать один или множество оптимальных в указанном смысле план-графиков. В последнем случае имеет смысл максимизировать функционал s m /'=2 НЮ2. (7.3.26) где u«=*,-v <7-3-27> для получения решения, соответствующего глобальному оптимуму при / = 0. Этапы III—X следует повторить фиксированное число раз и выбрать такой план-график на этапе X, который соответствует максимальному значению функционала /'. Получив искомое решение, мы имеем возможность высвободить максимальное количество излишних ресурсов, которые участвуют в выполнении L проектов. Если />0, то это означает, что при наличных производственных ресурсах сетевые проекты за время, равное max (Л*т{п). выполнены быть не могут. В этом случае переходим к этапу XI. Этап XI. В соответствии с ограничением (7.3.6) независимо для каждой работы, входящей в частный проект, генерируем методом Монте-Карло количество исполнителей n^(i, j)i по формуле nin{i, j)l=[Wr){t, Д-ЛЙЦ*. /)/WrV. /)]+«m.n('\ Д. (7.328) где M(r)(i, Л = тт[т, «£>„('. /),]- (7-3.29) знак [jc] обозначает целую часть числа х, а т)<г)(/, /) — псевдослучайное число, равномерно распределенное в интервале [0, 1].
§ 3] ОПТИМИЗАЦИЯ ВЫПОЛНЕНИЯ ПРОЕКТОВ 387 Этап XII. В соответствии с формулой (7.3.11) для «разыгранных» я<г>((, /)j определяем оценки времени *(г)('\ j)i Для каждой работы в каждом из L проектов. Этап XIII. Повторяем этапы II—IV для найденных на этапе XII оценок времени и определяем K(r\ t'^ (/), tf (/), P'ir) (i), 1 <r< L. (7.3.30) Этап XIV. Повторяем этапы V—X и решаем описанную в предыдущем параграфе настоящей главы задачу нахождения оптимального плана работ для каждого проекта и определяемой на этапе XIII максимальной длины критического пути max {/Сш!п} самого про- г должителыюго проекта и параметров сетей/рг> (/), t{',\i), "(г)(/).Если в результате работы алгоритма на этапе XIV / = 0, то процесс «розыгрыша» начальной точки поиска в пространстве параметров «<''(/, /)j окончен, и следует переход к этапу XVI. В противном случае выполняем этап XV. Этап XV. Увеличиваем срок окончания самого позднего из проектов, определенный ранее на этапе X, на величину а. Значение а выбирается заранее, исходя из длины критического пути max {KST)} и определяет точ-> г ность оптимального варианта плана для точки Х^ в пространстве параметров «<r)(i, j)i. Для нового срока окончания проектов Гд. 0 = max {/<('»} +а повторяем этап г XIV. Этот цикл продолжаем до тех пор, пока на некотором шаге цикла / не станет равным 0. Окончание работы алгоритма на этапе XV характеризует нахождение в пространстве решений начальной точки поиска, которой соответствует набор /г(,,(г, j)i, определенный на этапе XI, и минимального срока окончания проектов Т%0, в который все проекты могут быть завершены при имеющихся ресурсах и значениях «(r)(t, /)j. Этап XVI. На этом этапе осуществляем случайный шаговый локальный поиск в пространстве параметров п<г)(/, /);. Из точки Х<*> в точку Х<2+1> переходим по 25*
388 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ [ГЛ VII формулам «<>:, jf+1) = ln^(l, jf +рsignWr\i, д}], (7.3.31) где р — шаг поиска, который выбирается заранее и определяет точность решения, у(г)('> i)i — значение псевдослучайного числа, распределенного равномерно в интервале [—1, +1], а знак [] обозначает взятие целого числа. Шаг поиска делается по всем координатам пространства nW(i, j)i. Этап XVII. На этом этапе проверяются ограничения (7.3.6). Вели «<г)(/, Л\г+1)>п1 (7.3.32) или it*(l, Jf+l)<n£la((, Д, (7.3.33) то следует возврат в точку Х& и повторяется этап XVI. В противном случае переходим к этапу XVIII. Этап XVIII. Повторяются этапы I и II, и если max {/С/г'и)} < 7Yo. то повторяются этапы III—X и ре- г шается оптимизационная задача нахождения план-графика работ каждого проекта для найденных на (г+1)-м шаге п<г) (i, j)\z+ . При этом ограничения по топологии проверяются для каждого проекта отдельно в пределах продолжительности max/C(r. найденной на z-м шаге по- т иска. В результате оптимизации минимизируется функционал, вычисляемый по формулам (7.3.3) — (7.3.4). Если после проведенной оптимизации значение функционала />0, возвращаемся в точку Х& и повторяем этап XVI. Возврат в точку XW при />0 производится не больше заданного заранее количества раз, после чего фиксируется локальный оптимум и управление передается на этап XI. Если / = 0, переходим к этапу XIX. Этап XIX. На этом этапе срок Гд.0(г), найденный на г-м шаге поиска, уменьшается на шаг а, выбранный ранее, и решается оптимизационная задача получения план-графика работ /jf (i, /'),, t0 (it /)< при определенном на (г+1)-мшаге«(г)(/, ff*+v, t{r)(/, jf+X), но при сроке '
< 31 ОПТИМИЗАЦИЯ ВЫПОЛНЕНИЯ ПРОЕКТОВ 389 окончания проектов 7^. —Г2« — a. (7.3.34) Если / = 0, вновь уменьшаем срок окончания проектов на а до тех пор, пока на некотором шаге цикла при 7Vo=T£o— «к» (7.3.35) значение / не станет больше нуля. В этом случае обозначим левую часть равенства (7.3.35) через T^.t1'. В результате «ужимания» Pi+« = 7^0 - (© - 1) а. (7.3.36) Этап XX. Повторяем этап XVI из точки X<z+l\ которой соответствуют значения п{г) (/, j)f+1), t{r (i, /$ и максимальный срок окончания всех рассматриваемых проектов 7д*о • Если циклическое повторение этапов XVI—XIX возвращает нас в одну и ту же точку X<z\ то локальный поиск окончен и срок Т%.0 соответствует набору ресурсов nir)(i, j)f\ t{r)(i, j)\z) к найденным план-графикам t\?(i, fff, t{' (i, /)}*' для всех проектов и является локально-минимальным. Число повторений цикла, после которого принимается решение об окончании поиска, выбирается заранее. Для получения глобального решения переходим к этапу XXI. Этап XXI. На этом этапе после получения локального оптимума на этапе XX управление многократно передается на этап XI. Такая процедура «розыгрыша» начальной точки поиска методом Монте-Карло производится фиксированное число раз. После «розыгрыша» начальной точки реализуются этапы, на которых осуществляется шаговый локальный поиск, в результате которого определено значение 7"д.о- Минимальное значение min T%0 из найденной совокупности принимается в качестве искомого «глобального» оптимального решения, которому соответствует оптимальный набор ресурсов и план-графики работ для каждого проекта.
390 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ (ГЛ. VII § 4. Некоторые полуэвристические методы оптимизации детерминированных сетевых моделей В настоящее время разработано большое количество методов оптимизации сетевых моделей, содержащих одну и ту же принципиальную особенность. Алгоритм оптимизации в них носит эвристический характер, однако выбор оптимального результата основан на эффекте случайности. К этому классу принадлежит способ оптимизации уровня потребления ресурсов при заданном времени реализации сетевого проекта с использованием метода случайного поиска [7]. Задачи этого класса могут иметь большую или меньшую сложность в зависимости от принятых допущений (допустимость перерывов в работе, допустимость переменной интенсивности потребления ресурсов на работе и т. д.), однако общий вид алгоритма не претерпевает никаких принципиальных изменений. Укрупненная блок- схема алгоритма минимизации уровня потребления ресурсов с применением метода случайного поиска приведена на рис. 26. С помощью датчика случайных чисел, в соответствии с числом оптимизируемых параметров у, в блоках I и II формируются у значений специально введенных величин р,-, причем 0-^Pj^l, 1 ^Ci-^Y- Блок III осуществляет расчет значений оптимизируемых параметров х%— сроков начала выполнения работ сетевой модели— на основании полученных значений р\-, причем формулы для расчета величин xt должны быть построены таким образом, чтобы значения xt удовлетворяли заданным ограничениям при О-^pi-^l. Вычисление функции качества (то есть значения функционала) / производится на основе тех же принципов, что и в предыдущих параграфах главы. Значение /о для проведения оценки шага поиска в блоке VI на первом этапе задается, а в дальнейшем в качестве /о рассматривается значение функции качества, достигнутое на последнем удачном шаге поиска. Засылка значения функции качества / на место /о после удачного шага производится в блоке VIII. Здесь же рассматривается изменение функции качества, и, если это изменение достаточно мало, производится печать
§4] ПОЛУЭВРИСТИЧЕСКПЕ МЕТОДЫ ОПТИМИЗАЦИИ 391 Блок случайного поиска Блок формировании и выдачи значений f> после удачного шага Блок формирования и выдачи значений (! после неудачного шага Проверка ограничения II О < Р« < 1 При р,- < 0 считаем Р, = О При fi,- > 1 считаем р,- = 1 1 Блок формирования переменных •г«' = /(Р,) 1 Расчет графиков потребности в ресурсах i V Вычисление функции качества I <- С равнение /</о III IV V VI Запоминание переменных VII и I \ Блок останова VIII |/-/0|<бо Блок останова X Рн < Рн да О и I Печать IX выходных данных Печать XI выходных данных Рис. 26.
392 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ [ГЛ. VII выходных данных и останов. В противном случае переходим на следующий шаг поиска. Блок X либо передает управление на следующий шаг поиска либо производит останов по заданному числу неудачных шагов после удачного и печать выходных данных. Печать может производиться и после каждого удачного шага поиска. Это даст возможность проследить ход поиска и позволит выбрать один из нескольких, наиболее близких к оптимуму, вариантов решения задачи. Ниже приведены примеры построения блока III общего алгоритма решения задач этого класса для некоторых конкретных вариантов задач. Рассмотрим задачу минимизации уровня потребления ресурсов при недопустимости перерывов в выполнении работ, принимая интенсивность потребления ресурсов на всех работах постоянной. Допустим, что сетевая модель состоит из п работ (1,1), по каждой из которых заданы: t(i,j) —продолжительность работы ((',/), n(i,j) —интенсивность потребления ресурсов работой ((',/). По каждому событию i задается ^поз(0—поздний срок свершения события i, a также самый ранний срок свершения исходного события сети. В этом случае можно оптимизировать сроки начала работ t(i) £tB(i, j) ^/Поз(/) —t[i, j). Количество оптимизируемых переменных р в данном случае равно у = п — пкр, где п — число работ в сети, а л,.р — число работ, лежащих на критическом пути. Формулы перехода от получаемых при использовании описанного алгоритма случайного поиска величин Рь О ^С Pi ^ 1, к значениям tB(i,j) =xt принимают вид **(?. J) = t{i) + h\t*o3U)-t{i, j)-t{i)\ или h {i. j) =1 if)(1 -p,) + p, [taM (/) -1 (/, j)\, где t{i)= max [t0(k, i)\— наиболее поздний срок окон- к чания работ, входящих в это событие. При наличии на каждой работе т — 1 перерывов и при постоянной интенсивности потребления ресурсов на работе количество переменных становится равным \=(2т—1)(га — пкр),
§ 4) ПОЛУЭВРИСТМЧЕСКИЕ МЕТОДЫ ОПТИМИЗАЦИИ 393 а формулы перехода от р* к xt существенно усложняются. Работа алгоритма оптимизации оканчивается, когда значение / не может быть более уменьшено, а соответствующий этому значению / календарный план-график (набор значений /п('./)) является искомым решением задачи. Легко заметить, что рассматриваемый алгоритм является эвристическим, хотя и содержит элементы «глобальной» оптимизации. Дело в том, что построение независимых переменных оптимизации р* не означает наличия аналогичных функций f{$i)=Xi, поскольку последние получаются с помощью функциональных зависимых преобразований. А это означает, что оптимальная у-мерная вектор-точка р, отнюдь не соответствует аналогичной точке для Х{. В результате задача нахождения оптимального Y"MePHoro вектора X подменяется нахождением ■у-мерного вектора р. Тем не менее применение такого рода алгоритма может быть вполне оправданным, поскольку по сравнению, например, с алгоритмами, описанными в §§ 2, 3, он является существенно более быстродействующим. Быстродействие алгоритма, таким образом, является своеобразной «платой» за отказ от нахождения точного значения оптимального решения. Весьма оригинальный полуэвристический алгоритм оптимизации уровня потребления ресурсов при заданном времени реализации сетевого проекта разработан Э .В. Ширвинским [58]. В отличие от рассмотренного выше алгоритма, он основан на методе статистических испытаний (а не на методе случайного поиска), что делает его еще более быстродействующим. Дадим краткое описание этого алгоритма, сохранив все обозначения и индексацию предыдущего способа оптимизации. Основная идея алгоритма состоит в случайной бесповторной выборке из множества у оптимизируемых параметров — времен начала выполнения работ М'\/)—с последующим моделированием соответствующих этим работам резервов времени. Мы имеем, таким образом, у = п — ггкр оптимизируемых параметров xt (значения р, в данном алгоритме не участвуют). На начальной стадии работы алгоритма
394 МЕТОДЫ ОПТИМИЗАЦИИ СЕТЕВЫХ МОДЕЛЕЙ [ГЛ. VII методом Монте-Карло случайно и равновероятно выбирается одна из у работ ((,/'). В дальнейшем определяется полный резерв времени этой работы Pa(i,j), после чего моделируется величина Д(/, /)=РП(/, /)л('> /)> гя-е !)((,/)—псевдослучайная величина, равномерно распределенная в интервале [0, 1]. Значение A(i, /") прибавляется к величине t(i,j) и фиксируется ?(i,j) —t{i,f) + + A(i, /). После этого заново пересчитываются полные резервы времени всех работ сетевой модели (при t(i,j) = = /'(/, /)) с последующим равновероятным случайным выбором одной из у—1 оставшихся работ (все выбранные ранее работы впредь в выборках не участвуют). После реализации выборки для отобранной работы определяется значение Д, вновь пересчитываются все полные резервы времени и т. д., до тех пор, пока все у работ не будут просмотрены. В дальнейшем оценивается величина оптимизируемого функционала /ь после чего вновь переходят к повторному «розыгрышу» с последующим определением значения /2. Аналогичная независимая процедура проводится N раз с последующим определением Anin= т*п h> гДе N — достаточно большое число, или l<ft</V прекращается после того, как в результате некоторого заранее заданного числа «розыгрышей» минимальное значение /min не изменяется. Соответствующий величине /min набор t„(i, /) является искомым решением задачи. Эффективность этого алгоритма состоит в весьма полном просмотре пространства решений, вследствие чего при достаточно большом N (N^>n) можно получить решения, лежащие достаточно близко от оптимальной вектор-точки. Практическая реализация алгоритма показывает его высокое быстродействие и, как правило, вполне достаточный для практических расчетов уровень оптимизации. Другой эвристический метод с использованием вероятностного подхода [78] состоит в построении оптимального распределения специалистов по работам с учетом того, что каждый специалист может выполнять несколько различных работ (но не одновременно) с неодинаковым успехом. Вводится понятие вероятности предпочтения 4r(i,j) —вероятности того, что r-й специалист выполнит ч
§ 41 ПОЛУЭВРИСТИЧЕСКИЕ МЕТОДЫ ОПТИМИЗАЦИИ 395 работу (/, /) лучше, чем любую другую работу. Оптимальным решением задачи служит назначение каждого специалиста на ту работу, которую он выполняет наилучшим образом. Это решение получается на основе применения уравнения Байеса для многомерной области с учетом функции «риска» — функции возмещения убытков от ошибочного назначения. В результате строится модель решения общего вида с учетом ограничений, реализация которой представляет существенные вычислительны» трудности. Можно рассмотреть задачу отыскания такого календарного графика проекта, при котором минимизируется математическое ожидание дополнительного количества ресурса, необходимого для того, чтобы выдержать принятый календарный график. Применяемый при решении этой задачи [46, 76] метод, использующий минимизацию стоимости при заданной продолжительности, опирается на допущение, что для всех работ могут быть построены кривые f{t/z) зависимости дополнительных затрат общего ресурса от ожидаемой продолжительности / при заданной плановой продолжительности г и что они образуют выпуклое семейство по z при любом /. При этих со предположениях функции 7(z)= J / (tjz)dF{t), выражаю- и щие зависимости средних дополнительных затрат ресурса по данной работе от назначенной ее продолжительности 2 (при заданной функции распределения /•'(/) ожидаемой продолжительности), также выпуклы и к ним можно применять некоторые алгоритмы минимизации суммарных расходов, разработанные для стоимостных задач (см., например, [1, 34, 35, 46]).
ЛИТЕРАТУРА 1. Алтаев В., Бурков В., Тейман А., Сетевое планирование и управление (обзор), Автоматика и телемеханика, т. XXVII, № 5, 19С6. 2. Архангельский Н. Е., Стохастическая сетевая модель разработки большой системы, принципы построения и методы определения ее основных параметров, Материалы Всесоюзного межвузовского симпозиума по прикладной математике и кибернетике. Горький, 1967. З.Архангельский Н. Е., Метод расчета стохастических сетей. Труды МГПИ им. В. И. Ленина, 1968 (в печати). 4. Б а б у н а ш в и л и М. К., Об одном алгоритме определения шага квантования в системах сетевого планирования и управления. Труды МГПИ им. В. И. Ленина, 1968 (в печати). 5. Б а б у н а ш в и л и М. К., Одно достаточное условие оптимальности иерархической структуры управления, Изв. Академии наук Груз. ССР, 1967. 6. Б а б у н а ш в и л и М. К., Мин дел и Л. Э., О некоторых аспектах процесса выполнения работы, Труды МГПИ им. В. И. Ленина, 1968 (в печати). 7. Б е к Н. Н., Ш е х о в ц е в В. В.. Распределение ресурсов в системах СПУ, Труды НИИ технологии и организации производства, 1967. 8. Р. Беллман, С. Дрейфус, Прикладные задачи динамического программирования, «Наука», 1965. 9. Берж К., Теория графов и ее применение, ИЛ, 1962. 10. Б р е х о в А. М., К е з л и н г Г. Б., М а р ь я н о в с к и й И. М., Применение систем сетевого планирования и управления в судостроении, «Судостроение», 1965. 11. Бусленко Н. П., Математическое моделирование производственных процессов на ЦВМ, «Наука», 1964. 12. Бусленко Н. П., Моделирование сложных систем, «Наука», 1968. 13. Бусленко Н. П., Голенко Д. И., Соболь И. М,, Сраговнч В. П., Ш рейдер Ю. А., Метод статистических испытаний, Физматгиз, 1962. 14. Р. Буш, Мостеллер Ф., Стохастические модели обучения, Физматгиз, 1962. 15. В и л е и к и н С. Я., Определение закона распределения максимального времени, Автоматика и телемеханика, т. XXII, № 7, 1965. 16. Г а н т м а х е р Ф. Р., Теория матриц, «Наука», 1966.
ЛИТПРЛТУРА 397 17. Глушков В. М., Введение и кибернетику, Изд. АН УССР, Киев, 1964. 18. Гн еден ко Б. В., Предельные теоремы для максимального члена вариационного ряда, ДАН СССР, 32, № 1 (1941). 19. Гнеденко Б. В. и др., Математические методы и теории надежности, «Наука», М., 1965. 20. Гол ей ко Д. И., Теоретико-вероятностные попроси и сетевом планировании по времени, сб. «Вычислительные системы», N° 11, Изд. СО АН СССР, Новосибирск, 1964. 21. Голенко Д. И., Моделирование и статистический анализ псевдослучайных величин на электронных вычислительных машинах, «Наука», 1965. 22. Голенко Д. И., Статистические методы в системах сетевого планирования и управления, сб. «Сетевое планирование и управление», «Экономика», 1967. 23. Г о л е н к о Д. И., Статистическое моделирование некоторых параметров серийного производства, Изд. НИКИТУ, Минск, 1967. 24. Голенко Д. И., Применение статистического моделирования на стадиях функционирования системы сетевого планирования и управления, Труды МГПИ им. В. И. Ленина, 1908 (в печати). 25. Голенко Д. И., Моделирование стохастических сетевых моделей, Труды МГПИ им. В. И. Ленина, 1968 (в печати). 26. Голенко Д. И., Левин Н. А., Некоторые вопросы оптимизации многотемных разработок в системах сетевого планирования с учетом нескольких ресурсов, ж. «Кибернетика», I, 1966. 27. Голенко Д. И., Левин Н. А., Некоторые вопросы 0ПТН< мизации сетевых проектов по времени при ограниченности ресурсов, Научные труды НГУ, вып. 9, Новосибирск, 1966. 28. Голенко Д. И., Левин Н. А., Некоторые вопросы при- менения систем СПУ на заводе ВЭФ, сб. «Сетевое планирование и управление», «Экономика», 1967. 29. Голенко Д. И., Левин П. А., Михельсоп 11 С, Найдов-Железов Ч. Г., Автоматизация планирования и управления новыми разработками, «Звайгзпе», Рига, 1966 30. Голенко Д. И., Лившиц С. К-, Стань скоа МОДВ< лированне сетей большого объема, ж. «Кибернетика», № (1, 1'н,, 31. Голенко Д. И., Михельсон В. С, Применение магматических методов и электронных вычислительных машин и и- тевом планировании, сб. «Экономико-математические МОДВЛИВ, '■', Изд. АН СССР, 1965. 32. Г о л с н к о Д. И., Ширвинский Э. В., Пономарев М. Н., Применение статистических методов дли опенки п| жительности работ в системах СПУ (на примере конструирования типовых блоков цифровых управляющих устройств), Гр\ [и I Всесоюзной конференции по математическим методам в I 11У, I пав, 1967. 33. Д р у ж и и и н Г. В., О распределении време Hi ШНЯ работы, Изв. АН СССР, Техническая кибернетика, (I, I'M,л 34. 3 у х о в и цк и й С. И., Авдеева Л. К., ЛИНВЙНО! И ВЫ пуклое программирование, «Наука», 1964.
398 ЛИТЕРАТУРА 35. 3 у х о в и ц к и й С. И., Р а д ч и к И. А., Математические методы сетевого планирования, «Наука», 1965. 36. Крамер Г., Математические методы статистики, ИЛ, 1948. 37. К р и в е н к о в Ю. П., Некоторые вопросы теории сетевых методов планирования, ж. «Кибернетика», 1967. 38. Левин Н. А., К вопросу об управлении в системах СПУ, Изд. ЦНИИТУ, Минск, 1967. 39. Левин Н. А., О задаче оптимизации времени выполнения нескольких проектов при заданных ресурсах, Труды ЛИЭИ им. Тольятти, 1967. 40. М а н з л и н И. Е., Об одном способе поиска информации и его применение при реализации на ЭВМ алгоритма нахождения критического пути, ДАН СССР, 159, № 4, 1964. 41. Майзлин И. Е., Некоторые вопросы организации и обработки информации при определении на ЭВМ ряда характеристик систем сетевого планирования и управления, Диссертация на соискание ученой степени канд. физ.-матем. наук, 1965. 42. М а й з л и н И. Е., Николаева Л. П., Определение на ЭВМ методом статистических испытаний функции распределения времени выполнения разработок при сетевом планировании, ж. «Техническая кибернетика», 3, 1965. 43. Мешков А. А., Об одном методе определения вероятностных характеристик сетевых моделей, Труды 1 Всесоюзной конференции по математическим методам в СПУ, Киев, 1967. 44. М и р о н о с е ц к и й Н. Е., Рабинович И. В., Статистические модели сетевого планирования, сб. «Математические методы решения экономических задач», Новосибирск, 1966. 45. Н а н д о в - Ж е л е з о в Ч. Г., Основы построения и параметры сетевой модели комплекса операций, сб. «Сетевое планирование и управление», «Экономика», 1967. 46. Обзор исследований по вопросам оптимального использования ресурсов в системах сетевого планирования и управления, Киев, 1966. 47. П е т р о в Б. Н., Поспелов Г. С., О путях развития больших систем управления, Изд. АН СССР, ж. «Техническая кибернетика», 2, 1966. 48. Попов В. С, О выборе закона распределения продолжительности операций в сетевой модели, Труды I Всесоюзной конференции по математическим методам в СПУ, Киев, 1967. 49. П о с п е л о в Г. С, Б а р и ш п о л е ц В. А., О стохастическом сетевом планировании, ж. «Техническая кибернетика», в, 1966. 50. Поспелов Г. С, Тейман А. И., Автоматизация процессов управления разработками больших систем или сложных комплексов, ОТН, серия «Техническая кибернетика», 4, 1963. 51. Поспелов Г. С, Тейман А. И., Метод логических диаграмм для планирования разработок сложных систем, сб. «Вычислительные системы», № 11, Новосибирск, 1964. 52. Проект системы сетевого планирования и управления работами по созданию объекта новой техники, авторский коллектив, Изд. НИИ технологии и организации производства, Москва, 1965.
ЛИТЕРАТУРА 399 53. Ра стриги н Л. А., Случайный поиск, «Зинатне», Рига, 1965. 54. Романовский В. И., Математическая статистика, Гос- техиздат, Ташкент, 1938. 55. Р ы б а л ь с к и й В. И., Некоторые вопросы массового упра- вления стройками с помощью сетевых графиков и ЭВМ, сб. «Сете* вое планирование и управление», «Экономика», 1967. 56. Ф е л л е р В., Введение в теорию вероятностей и ее приложения, «Мир», 1964. 57. X о в а р д Р., Динамическое программирование и марковские процессы, «Советское радио», 1964. 58. Ш и р в и н с к и й Э. В., Один алгоритм оптимизации сетевой модели методом Монте-Карло, Труды МГПИ им. В. И. Ленина, 19G8 (в печати). 59. Beckwith R. E., A cost control expantion of the PERT system, IRE Trans. Engnr. Manag., 9, 4, 1962. 60. Beged D о v, IEEE Trans. Engnr. Manag. EM-12, 4, 1965. 61. Berman E. В., Resource allocation in a PERT network under continuous activity time-cost functions, Manag. Science 10, 4, 1964. 62. Charnes A., Cooper W., Thompson Q., Critical path analysis via chance constrained and stochastic programming, Operation Research, 12, 3, 1964. 63. Clark G. F., The PERT model for the distribution of an activity time, Operation Research, 10, 3, 1962. 64. Glark G. F., The greatest of a finite set of random variables, Operation Research, 13, 1, 1965. 65. CI in gen G. Т., A modification of Fulkerson's PERT algorithm, Operation Research, 12, 4, 1964. 66. Coon H., Note on W. Donaldson's «The estimation of the mean and variance of a PERT activity time», Operation Research, 13, 3, 1965. 67. Donaldson W. A., The estimation of the mean and variance of a PERT activity time, Operation Research, 13, 3 1965. 68. Eisner H., A generalized network approach to the planning and scheduling of a research program, Operation Reseatch, 10, 1, 1962. 69. Elmaghraby S., An algebra for the analysis of generalized activity networks, Manag. Science, 10, 3, 1964. 70. Ford L. R. and Fulkerson D. R., Maximal flow through a network, Canadian Journal of Mathematics, 8, 3, 1956. 71. Ford L. R. and Fulkerson D. R., A simple algorithm for finding maximal network flows and application to the Hitchcock problem, Canadian Journal of Mathematics, 9, 2, 1957. 72. Fulkerson D. R„ Expected critical path lengths in PERT networks, Operation Research, 10, 6, 1962. 73. Grubbs F. E., Attempt to validate certain PERT statistics or «picking on PERT», Operation Research, 10, 6, 1962. 74. H e a 1 у Т. L., Activity subdivision and PERT probability statements, Operation Research, 9, 3, 1961,
400 ЛИТЕРАТУРА 75. Н о i s е г М., В а г s h е у L., Ehrenfeld К., Journal of Industr. Engnr., 17, 2, 1966, pp. 79—86. 76. Jewell W. S., Manag. Science, II, 3, 1965. 77. Kelley J. E., Critical-path planning and scheduling (mathematical basis), Operation Research, 9, 4, 1961. 78. King R., Operation Research, 13, 1, 1965. 79. L u к a s z e w i с z J., On the estimation of errors introduced by standart assumption concerning the distribution of activity duration in PERT calculations, Operation Research, 13, 2, 1965. 80. M a 1 с о 1 m D. G., R о s e b о о m J. H., Clark Q. F., Fa- ser W., Application technique for research and development program evaluation, Operation Research, 7, 5, 1959. 81. Martin J. J., Distribution of the time through a directed acyclic network, Operation Research, 13, 1, 1965. 82. «Mashinery system of configuration management in Boing», «Defence-space management», Washington, 1963. 83. Ma у h ugh J., Manag. Science, 11, 2, 1964. 84. McCrimmon K. R. and Ryavec Ch. A., An analytic study of the PERT assumptions, Operation Research, 12, 1, 1964. 85. Mors W. K., Mashinery system of configuration management in STL, Computer Application Service, 4, 1, 1963. 86. M u г г а у J. E., Consideration of PERT assumptions, IRE Trans. Engnr. Manag., 10, 3, 1963. 87. Natt R., IEEE Trans, on Engnr. Manag., EM-12, 3, 1965. 88. P о р о v i t с h S., Mashinery system of configuration management in «General electric», Aerospace Management, 4, 1, 1963. 89. P г i t s к e r A. A., Whitehouse S. E., Graphical evaluation and review technique, Part I, The Journal of Industr. Engnr., 17, 5, 1966. 90. Pritsker A. A, W h i t e h о u s e S. E., Graphical evaluation and review technique, Part II, Journal of Industr. Engnr., 17, 6, 1966. 91. Shorak G. R., Operation Research, 12, 4, 1964, pp. 632—633. 92. Slyke v a n, R. M., Monte Carlo methods and the PERT problem, Operation Research, 11, 5, 1963. 93. Weber K., Planung mit der «Program Evaluation and Review Technique (PERT)», Industrielle Organisation, 2, 1963. 94. Welsh D. J., Errors introduced by a PERT assumption, Operation Research, 13, 1, 1965.