АКТУАЛЬНЫЕ ЗАДАЧИ РАЗВИТИЯ ТЕХНОЛОГИИ НЕДООПРЕДЕЛЁННОГО КАЛЕНДАРНОГО ПЛАНИРОВАНИЯ TIME-EX* И.Д. Гофман1, Д.А. Инишев1, А.А. Липатов1, И.Е. Смирнов1, К.Е. Смирнов1 1 ЗАО «ИнтеллиТек (Интеллектуальные технологии)» 125190, Москва, а/я 85 [email protected] тел: (495) 757-20-71, факс: (499) 158-94-30 В данном докладе рассматривается ряд задач развития технологии недоопределённого календарного планирования Time-Ex, объединяющей подходы программирования в ограничениях (Constraint Programming) и представления и обработки недоопределённых данных. В частности, предложен способ динамической перестройки модели календарного плана, обеспечивающий его устойчивость к срыву запланированных сроков выполнения заданий. Также представлен подход к реализации работы системы недоопределённого календарно планирования в многопользовательском режиме на примере макета сетевой версии системы Time-Ex. Введение Одной из важных сфер применения аппарата недоопределённых моделей (Н-моделей) и метода недоопределённых вычислений (Н-вычислений) [1] является календарное планирование и управление проектами. Данные подходы сочетают в себе достоинства подхода программирования в ограничениях (Constraint Programming) с возможностью представления и обработки недоопределённых данных [2]. Актуальность применения Н-моделей в сфере планирования и управления объясняется тем, что они позволяют учитывать неполноту и приблизительность исходных данных, характерные практически для любой реальной задачи планирования и управления, кроме того Н-модели обладают гибкостью по отношению к уточнению параметров планов в процессе их выполнения. Технология недоопределённого календарного планирования и управления проектами развивалась в Российском НИИ искусственного интеллекта с начала 90-х гг. и привела к созданию ряда версий системы Time-Ex [3-5]. Система Time-EX обеспечивает расчёт и оптимизацию календарных планов при минимуме информации о временных параметрах работ проекта, используя неполные и приблизительные данные, типичные для повседневных ситуаций практической деятельности. Ча- * Работа выполнялась при финансовой поддержке РФФИ (проект № 08-01-90018). 1 стично определенный график, который строится системой даже при минимуме исходных данных, уточняется и оптимизируется по мере поступления дополнительной информации. В настоящее время работы по развитию технологии недоопределённого календарноресурсного планирования и системы Time-Ex продолжаются в ЗАО «ИнтеллиТек». Современное состояние развития технологий календарного планирования и управления проектами предъявляет новые требования к системам управления проектами [6, 7]. В частности актуальной проблемой является обеспечение устойчивости плана по отношению к выходу значений его параметров за пределы запланированных интервалов в процессе его выполнения. В докладе предлагается подход к решению данной проблемы, основанный на динамической перестройке Н-модели календарного плана при возникновении подобных ситуаций. Авторами проведена экспериментальная программная реализация данного подхода. Другой важной задачей является обеспечение возможности работы с системами календарно-ресурсного планирования в многопользовательском режиме. В докладе представлен разработанный авторами макет сетевой многопользовательской версии системы Time-Ex. 1. Использование элементов динамики в системе календарно-ресурсного планирования Time-EX Задача составления календарного плана проекта выглядит следующим образом. Заданы перечень планируемых к реализации проектов, порядок и характеристики выполняемых на них работ (объём, трудоёмкость, стоимость, исполнители и т.д.) Известно общее количество наличных ресурсов на любой отрезок планируемого периода, область возможного использования каждого вида ресурсов, производительность и пределы интенсивности их использования на каждой работе (или части работы). Требуется построить календарный план (найти расписание работ), удовлетворяющий всем условиям задачи. Построение такого плана эквивалентно определению неизвестных величин – сроков выполнения событий Ti, соответствующих датам начала и окончания работ или их частей. Совокупность чисел T={Ti}, i=1, 2…,n является допустимым планом, если удовлетворены сформулированные выше условия и ограничения задачи. Кроме того, ограничениями могут быть требования соблюдения заданных значений параметров, характеризующих надёжность принимаемых организационных, технологических и экономических решений. Одним из важных элементов работы с проектом является мониторинг выполнения плана. В процессе мониторинга пользователь может увидеть, какие задания следует начать или закончить, а также контролировать ресурсы проекта (в том числе финансовые). Режим мониторинга рассчитан на ежедневное отслеживание хода выполнения, но может 2 быть использован и для моделирования процесса осуществления плана. Следует отметить, что при моделировании выполнения плана принято два допущения. 1) Модель должна быть совместной до перехода в режим выполнения. В противном случае – план невыполним. 2) Все параметры плана имеют значения в виде конечных интервалов, т.е. нет полностью неопределённых дат. В противном случае невозможно отслеживать степень критичности задания. Таким образом, в плане нет возможности задать фактическую дату начала задания больше вычисленного интервала его наступления, так как такая система не будет иметь решения или, другими словами, будет несовместной. Тем не менее, на практике задержка задания или цепочки заданий часто оказывается необходима. Решением проблемы может быть динамическое изменение ограничений. При этом они должны изменяться по строго определенным правилам, в противном случае нет возможности предсказать поведения плана. Эти правила можно сформулировать следующим образом. 1) Если задание начато или закончено, то его параметры, предшествующие текущей дате назовем фактическими параметрами начала и окончания. Эти параметры будут неизменными на все оставшееся время моделирования. 2) В результате вычисления получатся «запланированные» параметры. По ним можно определить необходимость начала или окончания задания и проверить, не сорвано ли оно. 3) Задание считается сорванным, если текущая дата выходит за пределы запланированного интервала начала или окончания, а соответствующее событие не наступило. 4) Параметр текущей даты появляется в подмодели задания с началом проекта. До начала задания она ограничивает интервал начала, а после начала – интервал окончания. Если задание закончено, то в его подмодели текущая дата больше не появляется. 5) Так как сделано допущение, что модель плана до начала его выполнения была совместна, то если после очередного шага выполнения модель стала несовместной, можно сделать вывод о том, что появились противоречия параметров модели текущей дате. Таких противоречий может быть три: a. Дата окончания проекта. Сроки проекта были сорваны и необходимо их увеличение. b. Длительность задания. Задание было начато, но не закончено в срок и запланированная длительность задания противоречит реальным срокам. 3 c. Интервал возникновения вех противоречит полученным в результате очередного шага выполнения плана срокам начала и/или окончания заданий. 6) Указанные ситуации должны разрешаться путём динамического ослабления ограничений, приведших к противоречиям. Динамическое изменение ограничений можно производить двумя способами: до расчёта очередного шага (при прогнозируемом срыве выполнения плана) и после расчёта, с последующим пересчётом. 7) Длительность задания проверяется перед каждым новым шагом, если задание уже начато и сорвано, по формуле: il ≥ ie - ib + 1 + n. В данном неравенстве: il – интервал длительности задания; в качестве ib подставляется фактическая дата начала (устанавливается, когда пользователь начал задание); а в iе – подставляется текущая дата; n – на сколько будет увеличена текущая дата на очередном шаге. В текущей версии n всегда равно 1. Условие имеет смысл проверять только после начала задания и до его окончания – в других случаях оно всегда выполняется. Если длительность задания противоречит неравенству, то её следует увеличить на n. Таким образом, противоречие может быть устранено до очередного шага пересчёта модели. 8) Если задание оказалось сорвано до его начала, т.е. оно не начало выполняться в пределах запланированного интервала начала, то даты его начала и окончания сдвигаются вперёд. После того, как задание будет начато, проверка его длительности выполняется в соответствии с п. 7. 9) При устранении всех противоречий следует учесть одну особенность. Реально, при срыве, в противоречие вступает только верхняя граница интервала. Например, в случае с длительностью задания проверять нужно только верхнее значение интервала длительности, т.е. неравенство il ≥ ie - ib + 1 + n может быть записано в виде upper(il) ≥ upper(ie) – upper(ib) + 1 + n. Соответственно, нет смысла и менять весь интервал – достаточно лишь изменить его верхнюю оценку. Таким образом, в случае окончания проекта, меняется лишь его верхняя оценка, в случае интервала возникновения вехи также меняется её верхняя оценка, то же самое верно и для интервала длительности задания. Нижнее значение будет автоматически подкорректировано в процессе пересчёта модели вычислительным ядром системы – решателем UniСalc [8]. Итак, мы получили динамическую модель, которая позволит работать с планами при возможном срыве заданий. Параметры такой модели будут автоматически меняться по определенным выше правилам. Модель при этом на каждом шаге вычислений будет оставаться совместной и эквивалентной исходному плану с точки зрения структурных и временных ограничений. Значения начал и окончаний при срыве заданий будут растянуты и смещены во времени. 4 Еще одной возможностью динамических моделей может являться вариантное выполнение плана. Пусть проект на рисунке 1 имеет два варианта выполнения: Задание 1, Задание 2, Задание 3 и Задание 7; Задание 1, Задание 4, Задание 5 и Задание 7. Рис. 1. ПЕРТ-диаграмма проекта с альтернативными последовательностями заданий, представленная в системе Time-Ex. Обе последовательности заданий с точки зрения проекта равноценны, но окончательно выбрать последовательность можно только при реализации плана. Такое ограничение тоже можно заложить в модель. Важным свойством математической модели на языке решателя UniСalc [8], служащего вычислительным ядром системы Time-Ex, является возможность задавать вариантность выполнения отдельных заданий и/или группы заданий. Эта важная особенность позволяет создавать планы с альтернативным способом выполнения тех или иных задач, причём основой таких моделей является операция импликации. Описанный способ динамической перестройки модели календарного плана реализован в экспериментальной версии системы Time-Ex. 2. Сетевая многопользовательская версия системы Time-Ex 5 Одним из важных направлений развития технологии календарно-ресурсного планирования на основе недоопределенных моделей является создание соответствующих систем в сетевом варианте – в виде веб-приложений, которые представляют собой прикладные системы в сети Internet/Intranet, позволяющие обеспечить совместную работу многих пользователей над одной задачей. Веб-приложение можно рассматривать в качестве инструментальной среды для управления проектами, в частности, для календарного планирования, планирования ресурсов, а также сопровождения проекта на этапе выполнения. Авторами разработан макет сетевой многопользовательской версии системы Time-Ex. Данное веб-приложение включает в себя следующие основные компоненты: временную диаграмму проекта; таблицу заданий, позволяющую управлять структурой плана; таблицу отношений, позволяющую задавать отношения между заданиями (сетевой график); вычислительное ядро на основе метода Н-моделей (решатель UniCalc); базу данных (БД) Microsoft Access для хранения данных плана. На рисунке 2 представлена обобщённая архитектура разработанной системы. Рис. 2. Обобщённая архитектура сетевой многопользовательской системы календарноресурсного планирования на основе технологии Н-моделей. Основные компоненты пользовательского интерфейса системы – временная диаграмма, таблица заданий и таблица отношений – реализованы с использованием технологии ASP.NET. Целесообразность применения этой технологии для данных компонентов состоит в возможности быстрого создания современных пользовательских интерфейсов, интеграции с источниками данных, наличии готовых компонентов. Компоненты предоставляют пользователю возможности ввода и редактирования данных недоопределённого календарного плана в веб-браузере. Стоит отметить, что при вводе данные сразу загружаются в БД без перезагрузки страницы. Это ускоряет работу с приложением. Многопользова6 тельский режим работы также позволяет ускорить работу над планом путем разделения работы над частями проекта. При загрузке страницы пользователь видит последний вариант плана с учетом всех внесенных изменений других пользователей. После ввода данных и нажатия кнопки «Вычислить» запускается обработчик данных, извлекающий данные из БД и преобразующий их к виду Н-модели плана. Затем происходит запуск вычислений с помощью решателя UniCalc, обработка результатов вычислений и загрузка данных в БД. В результате пользователь получает HTML страницу с перечисленными выше компонентами интерфейса. На этой странице вычисленные данные отображаются уже в формате временной диаграммы, таблиц заданий и отношений. Таким образом, процесс работы с системой с помощью веб-браузера включает в себя ввод данных и получение результатов вычислений с сервера. Необходимая обработка производится на сервере. На рис. 3 представлен фрагмент веб-страницы системы. Вебстраница содержит временную диаграмму, таблицу заданий, таблицу отношений и кнопку запуска вычислений. Рис. 3. Таблица заданий и таблица отношений на веб-странице сетевой многопользовательской системы недоопределённого календарно-ресурсного планирования. Заключение В данном докладе рассматривались актуальные задачи развития технологии недоопределённого календарного планирования и управления проектами Time-Ex. В частности, был представлен подход к решению задачи динамической перестройки системы ограничений (Н-модели) календарного плана в процессе его выполнения. Предложенный способ позволяет разрешать противоречия, возникающие при выходе значений параметров плана за пределы запланированных интервалов в процессе его выполнения (срыве выполнения плана), путём автоматической корректировки плана. Также динамическая перестройка Н-модели плана позволяет поддерживать вариантное выполнение плана, когда выбор последовательности исполняемых заданий осуществляется при реализации плана. Авторами выполнена экспериментальная программная реализация данного подхода. 7 В данной работе также была поставлена задача обеспечения работы с системой недоопределённого календарного планирования в многопользовательском режиме. Представлен подход к решению данной задачи на примере макета сетевой версии системы Time-Ex. Список литературы 1. Нариньяни А.С. Недоопределенность в системе представления и обработки знаний // Изв. АН СССР. Техническая кибернетика. - 1986. № 5. С. 3-28. 2. Нариньяни А.С. НЕ-факторы 2004 // 9-я Национальная конференция по искусственному интеллекту КИИ – 2004. Труды конференции. В 3-х т. Т. 1. – М.: Физматлит, 2004. С. 420-432. 3. Борде С. Б. Time–EX – интеллектуальная система планирования времени // Интеллектуальные системы в машиностроении. Тез. докл. Всесоюз. научно-тех. конф. Секция: Интеллектуальные производственные системы. – Самара, 1991. Ч. 1. – С. 79–81. 4. Романов Л.Г., Гофман И.Д., Инишев Д.А. Развитие интеллектуальной технологии недоопределенного планирования и управления проектами Time-EX // Научный вестник МГТУ ГА. – Москва: МГТУ ГА, 2002. 5. Гофман И.Д., Инишев Д.А., Шурбаков А.В. Структурные модели планов в интеллектуальной системе управления проектами Time-EX // 9-я Национальная конференция по искусственному интеллекту КИИ – 2004. Труды конференции. В 3-х т. Т. 2. – М.: Физматлит, 2004. С. 809-815. 6. Мазур И. И., Шапиро В.Д. и др. Управление проектами. Справочное пособие. – М: Высшая школа, 2001 – 875 с. 7. A Guide to the Project Management Body of Knowledge. Project Management Institute Standards Committee, 2004. 8. Ботоева Е.Ю., Костов Ю.В., Петров Е.С. Универсальный решатель UniCalc // Информационный бюллетень рабочего семинара «Наукоемкое программное обеспечение» – Новосибирск: ИСИ СО РАН, 2006. С. 42-45. 8