Комплексный метод составления расписаний для сложных индустриальных программ с учетом пространственно-временных ограничений
В. А. Семенов, А. С. Аничкин, С. В. Морозов, О. А. Тарлапан, В. А. Золотов
{sem, step}@ispras.ru
Аннотация. Эффективное управление проектами предполагает использование развитых методов календарно-сетевого планирования и составления расписаний, которые позволяют определить сроки и последовательность выполнения работ для завершения проекта за минимальное время в рамках отведённых ресурсов. Традиционные методы поиска критических путей и ресурсного планирования полностью игнорируют пространственные факторы и не могут гарантировать достоверность подготавливаемых расписаний для сложных индустриальных программ. В данной статье рассматривается альтернативная постановка составления расписания, обобщающая традиционные задачи и принимающая во внимание пространственные факторы, связанные с перегруженностью рабочих пространств и нарушением естественной организации потока работ и ресурсов. Предлагается и исследуется метод решения поставленной задачи. Проведённые вычислительные эксперименты выявляют квазилинейную сложность метода, что делает возможным его применение к масштабным проектам. В то же время, метод достаточно эффективен с точки зрения генерации расписаний, близких к оптимальным, по крайней мере, на тестовых задачах.
Ключевые слова: теория расписаний, календарно-сетевое планирование, управление проектами, технологии пространственно-временного моделирования проектов.
1. Введение
Эффективное управление проектами предполагает использование развитых методов календарно-сетевого планирования и составления расписаний, которые позволяют определить сроки и последовательность выполнения работ для завершения проекта за минимальное время в рамках отведённых ресурсов. Задачи поиска критического пути (Critical Path Method, СРМ), составления расписаний с учетом ресурсных ограничений (Resource Constrained Project Scheduling Problem, RCPSP) или ограничений по времени (Time Constrained Project Scheduling Problem, TCPSP) являются традиционными постановками, для решения которых популярные системы управления проектами, такие как
Microsoft Project, Oracle Primavera, Asta Powerproject, предоставляют широкий набор средств.
Разработанный в 1950-е годы метод критического пути (СРМ) определяет самую длинную последовательность работ, минимальную продолжительность проекта, а также временной резерв каждой работы. Эта информация имеет решающее значение, позволяя планировать и контролировать ход работ по проекту более эффективно. В первую очередь внимание должно уделяться критическим работам, имеющим нулевой временной резерв и оказывающим влияние на сроки выполнения проекта в целом. В силу этих особенностей СРМ-метод конструктивен при планировании масштабных и технологически сложных индустриальных проектов [1, 2]. Несколько позже оригинальная задача поиска критических путей была обобщена для учёта ресурсных ограничений в рамках RCPSP- и TCPSP-постановок. Это позволило повысить достоверность результатов планирования и определить эффективную стратегию управления ресурсами в ходе выполнения проектов. Для решения математических задач были разработаны различные точные и эвристические методы [1, 3, 4]. Первую группу составляют метод прямого перебора, метод «ветвей и границ» [5], методы линейного программирования [6], метод динамического программирования [7] и метод декомпозиции [8]. Методы обеспечивают поиск оптимального решения с точки зрения минимальной продолжительности проекта, но требуют огромных вычислительных ресурсов, что делает их непрактичными даже для небольших проектов. С другой стороны, приближенные методы, такие как метод Монте-Карло [9], метод частичного перебора [10], метод направленного перебора [10], упрощенный метод «ветвей и границ» [5], а также современные методы последовательного и параллельного составления расписаний на основе эвристических правил приоритезации работ [11], позволяют сгенерировать эффективное расписание для масштабных проектов за разумное время [4, 12].
Однако все перечисленные выше методы полностью игнорируют пространственные факторы и не могут гарантировать корректность подготавливаемых расписаний с точки зрения отсутствия типовых пространственных конфликтов, связанных с перегруженностью рабочих пространств и нарушением естественной организации потока работ и ресурсов. В самом деле, работа может быть выполнена при условии, что все требуемые рабочие пространства зарезервированы на срок выполнения работы и степень их использования не препятствует исполнению других работ, спланированных в том же месте и в то же время. В некотором смысле рабочие пространства могут быть интерпретированы как возобновляемые ресурсы, совместно используемые одновременно выполняющимися работами проекта с указанием степени использования. Эго наблюдение в равной степени можно отнести к пространствам, требуемым для установки или сборки компонентов продукта, хранения материалов на логистической площадке, пространствам, используемым в качестве коридора для доставки ресурсов в назначенную
область, размещения бытовых помещений, зон парковки или зон безопасности. Нарушение потока работ является другим важным фактором, препятствующим быстрому перемещению ресурсов на проектной площадке, увеличивающим время простоя рабочих и оборудования и, тем самым, ухудшающим их производительность. Тем самым, чтобы выполнить проект эффективно, необходимо обеспечить пространственную непрерывность потока работ, сбалансировав использование и перемещение ресурсов.
Рядом исследователей предпринималась попытка учесть пространственные факторы, хотя бы в упрощенных постановках планирования на основе линий баланса (Line-Of-Balance, LOB) [13], планирования пространств [14], динамического размещения [15], горизонтального и вертикального логического планирования [16], релаксации загруженности рабочих пространств [17], мультипроектного планирования с перемещением ресурсов
[4], планирования однотипных и повторяющихся работ [18], планирования движения [19]. Однако успехи были достигнуты лишь при решении специфических задач и усилия не привели к созданию единой математической основы для обобщенной постановки и решения задач данного класса с учетом факторов рабочих пространств и потоков работ.
В частности, LOB-метод является методом линейного планирования, который позволяет сбалансировать использование ресурсов однотипными повторяющимися работами, непрерывно выполняющимися на последовательных участках проекта. Такими линейными участками обычно являются типовые этажи в высотных зданиях, отдельные дома при массовой застройке кварталов, станции на автомагистралях, метрические сегменты строящихся трубопроводных сетей, длинных мостов, тоннелей, железных дорог или водопроводов. Используя LOB-метод, повторяющиеся работы можно спланировать так, чтобы обеспечить непрерывность переноса ресурсов и исключить пространственные конфликты. Метод достаточно надежен при планировании простых повторяющихся производственных процессов, однако его применение крайне ограничено для планирования сложных проектов, которые обычно представлены дискретными работами с разным уровнем производительности и потребления ресурсов.
В данной статье предлагается альтернативная постановка составления расписания, расширяющая традиционные задачи поиска критических путей и ресурсного планирования и принимающая во внимание пространственные факторы. Во втором разделе рассматривается классическая задача ресурсного планирования, а затем проводится математическая формализация обобщённой постановки с условиями неперегруженности рабочих пространств и непрерывности потоков работ, имеющими важное практическое значение. В третьем разделе представлен эффективный метод пространственного планирования для решения обобщённой задачи. Метод обеспечивает поиск расписания путем минимизации времени выполнения всего проекта при соблюдении временных ограничений, отношений предшествования работ, установленных пределов доступности ресурсов. При этом метод гарантирует
неперегруженность рабочих пространств и сохраняет пространственную непрерывность потоков работ и ресурсов. При генерации расписания, удовлетворяющего всем наложенным условиям, метод использует так называемую последовательную схему составления расписания в сочетании с предложенными техниками пространственного упорядочивания и эвристиками приоритезации работ. Раздел 4 посвящен апробации данного метода. В заключении оцениваются перспективы его практического применения.
2. Задача составления расписаний с учетом пространственно-временных ограничений
2.1. Классическая постановка задачи ресурсного планирования
Классическая задача ресурсного планирования ставится следующим образом. Пусть некоторый проект представляется графом с N вершинами и М ребрами, где вершины соответствуют работам проекта, а ребра определяют взаимосвязи между ними. С каяедой работой a , n = 1,..., N ассоциируется
непрерывный технологический процесс, начинающийся в момент времени t
и имеющий фиксированную продолжительность dn> 0. Каждая взаимосвязь
/ , т = 1,..., М соответствует отношению предшествования «конец-начало»
между работами aPr(предшественником) и С1;;с.(т) (последователем) и не
позволяет последователю начаться раньше, чем через время задержки Тт
после окончания предшественника. Работа-последователь, имеющая взаимосвязи с нулевыми задержками, не может начаться до тех пор, пока все её предшественники не будут закончены. Для упрощения введём фиктивные
работы-вехи Ctl и CL .. которые соответствуют началу и концу проекта и
имеют нулевую продолжительность. Они взаимосвязаны с работами проекта, имеющими открытые начала и открытые концы соответственно. В ходе своего
выполнения работа an использует и пк единиц возобновляемого ресурса Гк . Доступное количество ресурсов каждого типа гк, к = 1,..., К лимитируется величиной Uк (предел доступности), которая не может быть превышена в любой момент времени t , Возможное разбиение работ и
выравнивание ресурсов не рассматривается. Задача состоит в построении такого расписания работ, чтобы время выполнения проекта было минимальным, все отношения предшествования были удовлетворены и предел доступности любого ресурса не был превышен. Пусть A(t) обозначает
множество индексов работ, выполняемых в момент времени ! :
А(?) = {п | п = 1,..., Ы, tn < t < tn +с!п } , тогда задача ресурсного
планирования может быть математически формализована следующим образом:
ограничениям (2), (3) и минимизирующий время выполнения проекта в целом. Ограничение (2) учитывает взаимосвязи между каяедой парой работ-предшественников и последователей. Наконец, ограничение (3) учитывает доступность ресурсов в момент выполнения каяедой работы. Задача ресурсного планирования является математически корректной и ее решение гарантированно существует при условиях отсутствия циклов по взаимосвязям и работ, выполнение которых заведомо сопряжено с превышением установленных пределов доступности ресурсов, то есть
Если пренебречь ресурсным ограничением (3), то можно редуцировать задачу ресурсного планирования к задаче поиска критического пути, которая может быть решена методом прямой рекурсии за полиномиальное время. Но в общей постановке она относится к классу NP-сложных проблем [20, 21]. Применение процедур динамического программирования таких, как метод ветвей и границ, в большинстве практических случаев требует слишком больших вычислительных затрат для поиска оптимального решения. Поэтому в коммерческих продуктах для подобных целей обычно используются эвристические подходы и, в частности, правила приоритезации, на основе которых работают методы построения расписания. Данные методы различаются по схеме построения расписания (последовательные или параллельные, однопроходные или многопроходные) и по набору правил приоритезации конкурирующих работ, каждая из которых может использовать ограниченное количество единиц ресурсов. Хорошо известными правилами являются следующие: наибольшее общее количество последователей (Most Total Successors, MTS), поздний срок начала (Latest Start Time, LST), наибольший вес в рейтинге позиций (Greatest Rank Positional Weight, GRPW), взвешенный коэффициент и приоритет использования ресурса (Weighted Resource Utilization ratio and Precedence, WRUP), поздний срок окончания (Latest Finish Time, LFT), минимальная недостача (Minimum SLacK, MSLK). Будучи скомбинированными и реализованными в многопроходных схемах,
min 1,: при условии, что
(1)
(2)
neA(t)
Решением задачи является вектор X = {tп} ^=1, удовлетворяющий
ипк <Uk,Vn = \,...,NVk = \,...,K.
они показывают наилучшии результат, достигаемый эвристиками сегодня [20].
2.2. Условия непереполнения рабочих пространств
Как указано выше, задача ресурсного планирования учитывает только ограничения, налагаемые на возобновляемые ресурсы. В настоящей работе математическая постановка данной задачи расширяется путем введения понятия «рабочее пространство», которое имеет визуальную интерпретацию и математически строгую формализацию. Пусть ма , /=1,...,/ - рабочие
пространства проекта, геометрически представленные в виде твёрдых тел, являющихся связными, компактными, ориентированными трехмерными множествами в Евклидовом пространстве. Как правило, рабочие пространства представляются геометрическими примитивами: кубами, цилиндрами,
призмами, пирамидами, сферами, конусами, многогранниками. Но они могут быть и составными объектами, построенными из примитивов с помощью теоретико-множественных операций: объединения, пересечения и вычитания. В конструктивной стереометрии эти операции традиционно обозначаются как и , о и \ соответственно. Рабочие пространства могут пересекаться в разных измерениях и во времени и, следовательно, не могут рассматриваться в качестве самостоятельных ресурсов.
Потребляя ипк единиц ресурса Гк с соответствующим пространственным коэффициентом Ук в течение времени с!пк. работа ап использует рабочее пространство к) со следующим коэффициентом:
Рпк (0 =
и пк-----—----------—, если < t < + (I,
/ \ 7 7 п п п
4™цп,к)) ап (4)
0 в противном случае
где функция у(уи) возвращает объём соответствующего рабочего пространства. Введённый коэффициент может быть интерпретирован как средняя плотность размещения единицы ресурса в единице объёма за единицу времени. Пространственный множитель в выражении задаёт отношение объема, требуемого для размещения единицы ресурса, к общему доступному объему рабочего пространства, выделенного для данной работы. Временной множитель отражает тот факт, что ресурс может не всегда использоваться в ходе выполнения работы, и служит для описания прерывистого характера
работ. Обозначение к) подчеркивает, что рабочее пространство wj
ассоциировано с работой ап и ресурсом гк только в тот момент, когда выполняется сама работа и используется данный ресурс.
Рис 1. Пример совместно используемых рабочих пространств.
м’гы,к')
являются совместно
Два рабочих пространства М’ ;(л к) используемыми, если ассоциированные с ними работы перекрываются во временном интервале Л<^„ > 0. а их твердотельные представления
пересекаются в объёме Лг’; г = \’{ч’Нп к) о М’Г(п' ) > 0 . Заполнение рабочих
пространств может быть количественно выражено путём перемножения данных коэффициентов. Работы могут выполняться одновременно при условии, что их рабочие пространства не используются совместно и не являются переполненными. Объем рабочего пространства должен быть достаточным для размещения всех необходимых единиц ресурсов, включая размещаемые в других, совместно используемых рабочих пространствах. Другими словами, конфликтующие работы должны перепланироваться так, чтобы используемые ресурсы можно было переместить на свободные области рабочего пространства. Исходя из предположения, что рабочие пространства аддитивно используются различными работами и ресурсами, данное требование принимает следующую форму:
для \/1(п,к) е 1(А,и), Уt\tn <( <1п + с1 п
Е РпГ (0 п м’пп',к')) Мщп, < У(М’,М ) с1п (5)
(п,к')^ПА,и)
где 1{А,и) - множество пар индексов для всех работ и связанных с ними ресурсов, таких что ипк 0. Ограничение (5) устанавливается для каждого рабочего пространства М;;(л к) в течение всего времени выполнения
ассоциированной с ним работы 1: < t < 1п + с1 . Суммирование в левой
части ограничения выполняется над всеми рабочими пространствами проекта, включая заданное. Важно, что ограничения (5) допускают краткосрочное
пересечение или даже перекрытие рабочих пространств при условии, что коэффициенты их использования и заполнения будут достаточно малы. Рассмотрим пример расписания, состоящего из 4 работ каждая из
которых использует собственное рабочее пространство \V1-W4 соответственно. Рабочие пространства представлены твёрдыми телами, имеющими форму прямоугольного параллелепипеда, и расположены так, как изображено на рис. 1. Заметим, что только рабочие пространства \¥г и У/4, являются совместно используемыми и могут быть переполнены, поскольку ассоциированные с ними работы А2 и А4, перекрываются во временном интервале Ас/2 4 = [/4, /4 + б/4 ].
Рабочие пространства и \¥з никогда не используются совместно, так как ассоциированные с ними работы никогда не выполняются одновременно в соответствии с данным расписанием, хотя их твердотельные представления пересекаются аналогичным образом. Чтобы определить, следует ли перепланировать работы А2 и А4 в связи с переполнением их рабочих пространств ^¥2 и 4, требуется вычислить их коэффициенты использования и заполнения. При условии равномерного использования ресурсов в течение всей продолжительности работы временной множитель исключается из рассмотрения. Тогда ограничение непереполнения приобретает следующую упрощённую форму:
Суммирование в левой чести ограничения выполняется над всеми рабочими пространствами 1(п,к) с: , совместно используемыми с заданным
\\’1(п к). Решение гарантированно существует, если ограничения (5) и (6),
применённые к рабочим пространствам, каждое из которых ассоциировано с отдельной работой, удовлетворены.
Заслуживают внимания различные количественные оценки пространственно-временных коллизий для рабочих пространств, представленные в работе [17]. Формализованное ограничение (5) очень похоже на модель, описанную в работе [22], в то время как форма (6) наиболее близка к критериям, представленным в работе [23]. Единственным недостатком приведённого соотношения (6) по сравнению с общей формой (5) является то, что даже краткосрочное перекрытие рабочих пространств с относительно высокими коэффициентами использования может привести к нарушению условий их непереполнения, хотя маловероятно, что подобные конфликты рабочих пространств невозможно разрешить на практике. Тем не менее, в этой статье отдается предпочтение форме (6) как более жесткому требованию, налагаемому на совместно используемые рабочие пространства. Кроме того, при использовании ограничения в данной форме требуется меньше
для \И(п,к) е 1(А,и)
(п',к')<=1 (п,к)
вычислений, что является особенно привлекательным при планировании масштабных проектов.
2.3. Условия непрерывности потока работ
Непрерывность потока работ является другим важным фактором, влияющим на выполнимость построенного расписания и его практическую содержательность. Будучи выполняемыми в разных местах (иногда на разных площадках или даже в географически удалённых друг от друга регионах), работы проекта требуют перераспределения ресурсов и их перемещения в соответствующие рабочие пространства. Серия изображений на рис.2 иллюстрирует ход выполнения работ по проекту сооружения университетского кампуса и связанное с ним пространственное перераспределение ресурсов.
Независимо от того, как ресурсы перемещаются, эти факторы неизбежно влияют на стоимость проекта и его продолжительность. Игнорируя их, классические методы составляют расписания с высокой интенсивностью перемещения ресурсов и нарушением потока работ, что является их серьезным недостатком. К сожалению, упомянутые выше исследования не привели к общему пониманию данного явления и не предоставили единой формальной основы для его учета. В данном разделе представлена оригинальная модель управления потоками работ, тесно связанная с пространственно-временным распределением ресурсов между рабочими пространствами. Данная модель предполагает постоянное использование глобального пула ресурсов, а также их локальных пулов, ассоциированных с каждым рабочим пространством. Глобальный пул хранит общее количество единиц для каждого типа ресурса, доступное в данный момент времени. Локальные пулы хранят аналогичные количества единиц, ассоциированных с каждым рабочим пространством индивидуально.
Рис 2. Пример пространственного перераспределения ресурсов в ходе реализации строительного проекта
В начальный момент времени все единицы ресурсов назначены на несколько рабочих пространств, эмулирующих логистические площадки, склады, зоны парковки или бытовые помещения. Каждый раз, когда начинается новая работа, использующая фиксированное количество единиц ресурса, во внимание принимается не только факт наличия требуемых единиц на данный момент времени, но и их распределение по рабочим пространствам. Если требуемые единицы доступны, ключевым вопросом становится, из каких рабочих пространств следует доставлять данные ресурсы. После принятия решения глобальный и соответствующий локальный пулы обновляются таким образом, чтобы общее количество ресурсных единиц в них снизилось на используемое количество. При завершении работы эти единицы освобождаются и остаются в том же рабочем пространстве, где и использовались. Как только они становятся доступными для других работ, глобальный пул и локальный пул соответствующего рабочего пространства обновляются так, чтобы суммарное количество доступных единиц ресурса увеличилось на освобожденное количество.
Рассмотрим следующее тесное взаимоотношение между потоком ресурсов и потоком работ в рамках приведённой выше модели. Доставляя единицы ресурсов из соседних рабочих пространств и минимизируя время, требуемое на перераспределение ресурсов, поток работ становится более регулярным. Процесс перераспределения может быть смоделирован дополнительными взаимосвязями между работами, использующими и освобождающими одни и те же единицы ресурсов. Задержка каждой такой взаимосвязи может быть вычислена с помощью определённой пользователем функции перемещения тА (Аг/,, которая возвращает время, необходимое для перемещения Аи единиц ресурса /}, из исходного рабочего пространства в конечное
м>г. Если работа ап использует II пк единиц возобновляемого ресурса гк и эти единицы могут быть доставлены из рабочих пространств завершённых
пк
ТО
работ ащ , а„2, .... аЩ[ так, что и пк = Аи'^ + Аи^ +... + Аи
структура миД. = |Дг/”” называется марнфутом ресурса гд.,
соответствующим работе С1п. Тогда дополнительные взаимосвязи перемещения ресурсов индуцируют следующие ограничения: для Мп = 1,..., Ук = \,...,К, Ут = \,...,М{п,к)
d.
(А и'ІЇ ,i{nm, к),i{n, к))
(7)
К сожалению, подобные взаимосвязи не могут быть заданы планировщиком заранее на этапе постановки задачи и должны быть определены непосредственно во время составления расписания проекта. Каждая созданная взаимосвязь перемещения может задержать последующую работу и, как следствие, увеличить продолжительность проекта. Метод построения расписания для формализованной таким образом проблемы должен учитывать эти обстоятельства при принятии решения о приоритезации работ для минимизации времени выполнения всего проекта, а также при принятии решения о политике перераспределения ресурсов, не нарушающей естественный поток работ.
А, 1 | Used 5 units К 1 ?Л
а2\ Аг\ а4 і ^*1 Used 4 units 2Д)_. г у Щ Used 3 units К ті'і. А4 г- * Used 4 units 1
Г(1,1,4)
Required Required Required 4 units 3 units 4 units
-l.lLi’hAI____
4 units Required Required released 3 units 4 units
1 units released
4 units reserved
1 units released
1 units released
3 units Required released 4 units
/lw/ w. w., w w.
t * і
543.3.4
r(l,l,4)
Рис. 3. Пример непрерывного потока работ.
На рис. 3 представлен пример расписания, составленного с учетом фактора непрерывности потока работ. Расписание состоит из 4 работ А1-А4, использующих непересекающиеся рабочие пространства в форме простых прямоугольных параллелепипедов \V1-W4 соответственно и использующих
заданное количество единиц трудового ресурса «рабочий» как показано в надписях работ на диаграмме Ганта. Пусть для выполнения данных работ доступна бригада, состоящая из пяти рабочих. Выполнение проекта начинается с работы Аь использующей всю бригаду (5 единиц), которая размещается в рабочем пространстве Wi. После того, как работа Ai будет завершена, все единицы ресурса станут доступными для других работ расписания. Анализируя значения времён перемещения, возвращаемых функциями т(4,1,2), т(3,1,3), т(4Д,4), определяем т(4,1,2) как минимальное. Следовательно, между работами А, и А2 устанавливается взаимосвязь таким образом, что работа А2 начинается после завершения Аь Она использует четыре единицы ресурса, которые перемещаются в соответствующее рабочее пространство W2. Одна единица ресурса осталась свободной и расположенной в рабочем пространстве Wi. Остальные работы не могут начаться одновременно с А2, так как для их выполнения отсутствует требуемое количество свободных единиц ресурса.
Аналогичным образом, работа А3 начинается после завершения А2. Трое рабочих, необходимых для её выполнения, закрепляются за ней и перемещаются в рабочее пространство W3. Двое рабочих (один в Wb другой в W2) остаются свободными, но их недостаточно для начала работы А4. Наконец, после завершения работы А3, может быть начата работа А4, использующая четыре единицы ресурса. Три единицы перемещаются из соседнего рабочего пространства W3, а ещё одна может быть перемещена либо из рабочего пространства Wb либо из W2. Несмотря на то, что рабочее пространство Wi наиболее удалено от W4, единица ресурса, находящаяся в ней, была освобождена раньше, чем в W2, поэтому значение времени т(1Д,4) будет меньше, чем т(1,2,4). Следовательно, в расписании необходимо
определить еще две взаимосвязи: между работами А| и А4, а также между работами А3 и А4.
3. Метод планирования
Как упоминалось выше, задача ресурсного планирования состоит в построении такого расписания работ, чтобы время выполнения проекта было минимальным, все отношения предшествования были удовлетворены, а предел доступности каждого из ресурсов не был превышен. Результатом решения задачи в данном случае является вектор времен старта работ
Х = {?п}^=1. Определим обобщённую задачу пространственного
планирования (Workspace and Workflow Constrained Project Scheduling Problem, WWCPSP) как задачу минимизации времени выполнения проекта (1) при условиях (2), (3) с дополнительными ограничениями, налагаемыми на рабочие пространства (6) и потоки работ (7). Заметим, что решение обобщённой проблемы заключается не только в определении времён окончания для всех работ, но и в нахождении оптимальных маршрутов
перемещения ресурсов, которые позволят обеспечить каждую работу всеми необходимыми ресурсами к запланированному времени начала её выполнения. Таким образом, решением задачи пространственного
планирования является структура X = {?и, {ипк } к=1 }^=1. Являясь
обобщением задачи ресурсного планирования, задача пространственного планирования также остаётся ЫР-с ложной задачей и требует больших вычислительных затрат, чтобы найти даже неоптимальное решение. Рассмотрим предлагаемый метод составления расписания для решения обобщённой задачи пространственного планирования. Метод основан на так называемой последовательной схеме построения расписания и предусматривает дополнительные вычислительные процедуры и эвристические правила для составления расписания, удовлетворяющего всем наложенным требованиям и ограничениям.
3.1. Схема построения расписания
Для решения обобщённой задачи пространственного планирования используется последовательная схема составления расписания, описанная во многих работах, в частности [24]. Эта схема основана на пошаговом алгоритме, который расширяет на каяедом шаге частично составленное расписание (т. е. расписание, в котором времена начала и окончания назначены только для некоторого подмножества работ по выполнению проекта). С каждым шагом связаны два не пересекающихся подмножества работ, а именно: подмножество 8, содержащее уже спланированные работы, и подмножество Б, включающее работы, которые необходимо перепланировать на данном или последующих шагах. Таким образом, элементами подмножества 8 являются индексы работ, образующих частично составленное расписание, а подмножества Б - индексы работ, все предшественники которых входят в подмножество 8 (или работ, не имеющих предшественников, на первом шаге). На каждом шаге из подмножества Б выбирается одна работа в соответствии с некоторым правилом приоритезации (в случае неоднозначности выбора применяется следующее правило приоритезации или выбирается работа с наименьшим индексом). После этого выбранная работа планируется на самое раннее время с учетом отношений предшествования, а также исходя из условий доступности ресурсов и рабочих пространств. Затем она удаляется из подмножества Б и добавляется в подмножество 8. Последнее действие, в свою очередь, может привести к появлению новых работ в подмножестве Б, все предшественники которых к данному моменту оказались в подмножестве 8. Алгоритм завершит свою работу на шаге у = N, когда все работы попадут в подмножество 8, а подмножество Б окажется пустым.
Определение факта доступности рабочих пространств на каяедом шаге алгоритма предполагает проверку условий (5) или (6), для чего необходимо попарно пересекать конструктивные геометрические представления рабочих
пространств. Вообще говоря, подобный пространственный анализ может требовать значительных вычислительных ресурсов, поэтому целесообразным оказывается применение эффективных методов определения столкновений. Обзор подобных методов, а также описание перспективной вычислительной стратегии, сочетающей в себе методы пересечения канонических геометрических примитивов, методы пространственной декомпозиции и методы иерархий ограничивающих объемов, можно найти в работе [25]. Данная последовательная схема может быть формально описана следующим образом:
INITIALISATION: /' := 1 S . := 0 ;
*•' J
WHILE j<N
BEGIN
COMPUTE
Dj :=fyi = \,...,N\n£ Sj,\/m = 1 = Sc(m) —»Pr{m) e Svj
П ■= m[nnsDj k1 I в(п) = m[nnsDj №))}
FOR k = l,...,K BEGIN
:= ’V I T(“) = min, (t(m))J
CREATE LINKS BY END
t, := earliest start preserving!), (3), (6), (7) for\/t\t, <l < I +d ,
DJ+1 ■=D] \n
SJ+l := Sj u n
j-=j +1 END;
STOP;
В представленной схеме на каждом шаге j = \,...,N подмножество D формируется заново в соответствии с отношениями предшествования. Используя функцию приоритезации в(п). для всех работ, принадлежащих подмножеству D, вычисляются значения их приоритетов и выбирается та, для которой это значение будет максимальным. Схема допускает применение нескольких правил приоритезации.
Для приоритезированной работы а ф, и для каждого используемого ею ресурса гк определяется оптимальный маршрут йп*к путем минимизации времени перемещения т(и »к) на множестве всех возможных маршрутов
C/J = {{aUnnk nm ^Sj,m = 1 ,...,М{п,к)\, выходящих из рабочих
пространств уже спланированных работ, индексы которых содержатся в подмножестве S ■:
К*к ■= ^ I Ф) = Щ'п ,. №))) (8)
После определения данного маршрута между соответствующими работами создаются взаимосвязи перемещения с задержками по времени
тк (Au^k,i(nm, k),i{n*, к)) , затрачиваемому на перемещение требуемого
количества единиц ресурса Au%Zk. В итоге приоритезированная работа ап„
планируется так, чтобы были удовлетворены оба отношения предшествования
(2), не превышены установленные пределы доступности ресурсов (3), и соблюдены условия непереполнения рабочих пространств (6) и непрерывности потоков работ (7). После этого подмножества D и S обновляются соответствующим образом и метод переходит к следующему шагу.
3.2. Правила приоритезации
Количество известных правил приоритезации относительно велико. Упомянутые выше правила MTS, LST, GRPW, WRUP, LFT и MSLK подходят для решения задачи ресурсного планирования, но полностью игнорируют пространственные факторы. В связи с этим их применение при решении обсуждаемой задачи пространственного планирования представляется проблематичным. После введения дополнительных ограничений, налагаемых на рабочие пространства и потоки работ, для успешного решения обобщённой задачи следует разработать эффективные правила приоритезации, принимающие во внимание пространственный фактор. Для предотвращения нарушения потока работ и сохранения разумного маршрута перемещения ресурсов данные правила должны минимизировать время данного перемещения. Этого можно достичь, если перемещать требуемые ресурсы из соседних рабочих пространств за минимальное время, возвращаемое
функцией (8). Если количество единиц ресурса, находящегося в соседнем рабочем пространстве, является недостаточным для планируемой работы
ап, то поиск распространяется на более отдалённые рабочие пространства
в ожидании, что требуемое количество ресурсов может быть собрано из нескольких пространств. Время перемещения рассчитывается для каждого типа требуемых ресурсов и для каждой перераспределяемой части единиц ресурса одного и того же типа. Это время может повлиять на раннее время начала выполнения планируемой работы. Как результат, начало работы может быть задержано на время Adn из-за ожидания, когда все требуемые
ресурсы переместятся в её рабочее пространство. Работа, имеющая минимальную задержку по отношению к собственной продолжительности
чк > должна иметь наивысший приоритет для исключения
интенсивного движения ресурсов. Это правило можно назвать правилом относительной задержки перемещения (Moving Delay Ratio, MDR). Его следует применять в качестве первого правила приоритезации при вычислении значения функции в(п). В случае, если значение относительной задержки не является уникальным, дополнительно применяются правила LFT или MSLK.
3.3. Модель перераспределения ресурсов
Прежде всего, обсуждаемый метод основан на предположении, что временная функция перемещения может быть упрощена и её зависимость от количества единиц перемещаемого ресурса может быть представлена отдельным множителем следующим образом:
Tk(Au/,i")= 1 -рк(1'/) (9)
s'(Ам)
где значение sk (All) играет роль скорости перемещения ресурса, а
множитель рк (i',i") соответствует длине проложенного пути из рабочего
пространства И’(> в И’(„. Второй множитель может быть получен из
табличного представления {/?*,■»}, содержащего длины путей между всеми
парами рабочих пространств. К сожалению, использование табличного представления представляется нереалистичным для крупных индустриальных проектов, так как потребуется ручной ввод большого количества данных. Для практических целей наиболее удобным является аналитическое представление, основанное на Евклидовой, Манхэттенской или максимальной норме для трехмерного вектора, соединяющего центры или углы рабочих пространств. Однако, данный способ не всегда корректно может оценить длину пути, что приведёт в итоге к неправильному выбору следующей работы при обходе пространства проекта. Например, расстояние от одной комнаты до
смежной по коридору может быть таким же, как и расстояние из этой же комнаты в верхнюю, расположенную на следующем этаже. Но длины путей перемещения ресурсов между данными комнатами при этом окажутся существенно разными. Таким образом, если мы хотим приоритезировать работы так, чтобы ресурсы перемещались в наиболее быстро достижимые рабочие пространства, необходимо иметь ввиду, что основанные на норме оценки могут быть ошибочными.
Рис. 4. Кривые заполнения пространства для оценки времени перемещения.
Более перспективным методом является применение так называемых кривых заполнения пространства и учет пространственного фактора с помощью
функции расстояния, использующей эти кривые. На рис. 4 представлены построчная (а), однонаправленная построчная (б), спиральная (е) и и-образная (и) кривые заполнения пространства, а также кривые, основанные на известных порядках Мортона (в), Пиано-Гилберта (г), Кантора (д) и Грея (ж з). Каждый порядок заполнения может быть распространен на случай трехмерного пространства и адаптирован к пространству проекта с помощью изменения ориентации осей основной системы координат, порождая таким образом 48 частных кривых. Рис. 5 иллюстрирует это разнообразие, демонстрируя несколько частных кривых, использующих построчный порядок, а также порядок Пиано-Гилберта для заполнения трехмерного пространства. Выбирая один из порядков заполнения, корректируя его ориентацию в пространстве проекта и устанавливая размеры ячеек вдоль разных измерений, пользователь определяет простую автоматическую процедуру для оценки времени переразмещения ресурсов. Если выбранный порядок и сделанные корректировки соответствуют реальным условиям, оценки станут правдоподобными и могут быть применены при принятии решения о приоритезации работы и сохранении непрерывности потока работ.
Рис. 5. Кривые заполнения пространства в трехмерном случае.
4. Вычислительные эксперименты
В качестве примера для вычислительных экспериментов использовался простой проект по ремонту небольшой гостиницы с частичной заменой силовых электролиний. Гостиница является двухэтажным зданием, имеющим тридцать четыре номера трех типов, различающихся по размеру: стандартный, студия и семейный. Время, затрачиваемое на ремонт одного номера, зависит от его размера и составляет два дня для стандартного номера, четыре дня — для студии и шесть дней — для семейного. Ремонт выполняется последовательно, номер-за-номером одной бригадой рабочих. Последовательность выбора номеров для проведения ремонта не имеет значения. Замена силовых электролиний выполняется другой бригадой одновременно с выполнением ремонта в пять этапов длительностью по десять дней каждый. На первом этапе работы проводятся во всём здании гостиницы. Остальные четыре этапа могут быть выполнены только после завершения первого, и на каждом из них работы осуществляются в соответствующем крыле здания (левом и правом на первом и втором этажах).
Гб'1
______________________________________^_____________________________________
Рис. 6. Расписание ремонта гостиницы, составленное с использованием классического метода ресурсного планирования.
Традиционные системы планирования обычно рассматривают рабочее пространство как пространственный ресурс и назначают его на все работы, которые в нем выполняются. Эго позволяет контролировать доступность рабочего пространства как ресурса в ходе выполнения проекта. Тогда в рассматриваемом примере необходимо создать тридцать четыре пространственных ресурса (каждый представляет отдельный номер). Все они назначаются на работу, соответствующую первому этапу замены силовых электролиний. Затем ресурсы, представляющие номера, расположенные в соответствующих крыльях здания, назначаются на остальные работы по замене силовых электролиний. Наконец, каждый пространственный ресурс назначается на работу по ремонту соответствующего номера. Затем составляется расписание проекта в соответствии с предопределённым правилом приоритезации, например, с правилом «поздний срок окончания» (ЬРТ). Алгоритм построения расписания, основанный на данном правиле, относительно прост: в первую очередь выполняются работы с наибольшей продолжительностью (или с самым поздним временем окончания). Из работ с одинаковой продолжительностью сначала выбирается та, которая имеет наименьший индекс. Составленное таким образом расписание представлено на рис. 6а. Рис. 66 демонстрирует соответствующий ему маршрут перемещения бригад.
Недостаток подготовленного расписания очевиден. В соответствии с ним бригада, выполняющая ремонт номеров, вынуждена пять раз переместиться из одного крыла в другое на втором этаже, три раза - с одного этажа на другой и еще три раза - из одного крыла в другое на первом этаже. Бригада, занимающаяся заменой силовых электролиний, три раза перемещается с одного этажа на другой. Такие хаотичные перемещения неудобны для рабочих и могут неявно привести к дополнительным накладным расходам. Концептуальное отличие предлагаемого алгоритма заключается в том, что он принимает во внимание пространственный фактор при составлении расписания. Кроме того, используемая в нём модель рабочих пространств является более точной и гибкой, чем их представление в виде ресурсов, применяющееся в классических подходах. В соответствии с ней возможно наиболее полно загружать рабочие пространства. Например, применительно к рассматриваемому проекту, учитывается тот факт, что две бригады могут одновременно разделять одно и то же рабочее пространство, если это допустимо его коэффициентом использования. Отличительной чертой данного алгоритма является также и используемое в нем правило приоритезации работ, в соответствии с которым в первую очередь выполняются те работы, где время перемещения используемых ресурсов минимально. Работы с одинаковым временем перемещения приоритезируются аналогично классическим подходам. Составленное расписание представлено на рис. 7а. Важно, что в соответствии с ним время выполнения всего проекта на десять
НИЛОВЫ >1 агент рели НИН
кймнал
№Ю»
Рис. 7. Расписание ремонта гостиницы, составленное с использованием предложенного метода пространственного планирования.
Рис. 76 демонстрирует, что каждая из бригад перемещается с одного этажа на другой только один раз. По сравнению с предыдущим расписанием это более разумно и удобно. Таким образом, предлагаемый алгоритм составления расписания с соответствующим правилом приоритезации не увеличивает суммарное время выполнения проекта и улучшает качество потока работ по сравнению с классическими методами.
5. Заключение
Таким образом, предложена и математически формализована новая постановка составления расписаний, обобщающая классические задачи поиска критических путей и ресурсного планирования и учитывающая пространственные факторы. Предложен и исследован эффективный метод решения поставленной задачи, который обеспечивает поиск расписания путем минимизации времени выполнения всего проекта при соблюдении временных ограничений, отношений предшествования работ, установленных пределов доступности ресурсов. При этом метод гарантирует неперегруженность рабочих пространств и сохраняет пространственную непрерывность потоков работ и ресурсов. Проведённые вычислительные эксперименты подтверждают его эффективность с точки зрения генерации расписаний, близких к оптимальным, по крайней мере, на небольших контрольных тестах. В то же время, практический анализ вычислительной сложности выявляет ее квазилинейный характер от количества работ, что делает возможным
479
использование метода при планировании масштабных индустриальных программ. Примечательно, что современные системы и технологии пространственно-временного моделирования проектов [26, 27, 28, 29] позволяют совместить функции календарно-сетевого планирования проектов с их визуальным анализом. Это обуславливает программную реализацию предложенного метода пространственного планирования и его включение в состав основных средств данных систем.
Список литературы
[1] Ahuja Н. N.; Construction performance control by networks; John Wiley & Sons; New York; NY; 1976.
[2] Bowers J. A.; Criticality in resource-constrained networks; Journal of the operational research society; 1995; No. 46(1); 80-91.
[3] David E. W., Patterson J. H.; A comparison of heuristic and optimum solutions in resource-constrained project scheduling; Management science; 1975; No. 21(8); 944-955.
[4] Hegazy Т.; Optimization of resource allocation and leveling using genetic algorithms; Journal of construction engineering and management, ASCE; 1999; No. 125(3); 167-175.
[5] Brooks G. N., White C. R.; An algorithm for finding optimal or near optimal solutions to the production scheduling problem; Journal of Industrial Engineering; 1966; Vol. 17.2; 173-186.
[6] Gomory R. E.; An all integer programming algorithm; Industrial Scheduling, Prentice-Hall, New York, 1963.
[7] Szwarg W.; Solutions of the akers-friedman scheduling problem; Operations Research; 1960; Vol. 8.6; 782-788.
[8] Ashour S.; A Decomposition Approach for the Machine Scheduling Problem; University of Iowa; 1967.
[9] Giffler B., Thompson G. L., Van Ness V.; Numerical experience with the linear and Monte-Carlo algorithms for solving production scheduling problems; Industrial Scheduling; 1963; Chapter 3.
[10] Page E. S.; An approach to the scheduling of the N jobs on M machines; Journal of the Royal Statistical Society, В Series; 1961; Vol. 23(2); 484^92.
[11] Kolisch R.; Efficient priority rules for the resource-constrained project scheduling problem; Journal of Operations Management; 1996; No. 14; 179-192.
[12] Boctor F. F.; Some efficient multi-heuristic procedures for resource constrained project scheduling; European journal of operational research; 1990; No. 49, 3-13.
[13] Siddesh К Pai, Preeti Verguese, Shweta Rai; Application of Line of Balance Scheduling Technique (LOBST) for a Real estate sector; International Journal of Science, Engineering and Technology Research (IJSETR); 2013; Vol. 2, Is. 1; 82-95.
[14] Choo H. J., Tommelein I. D.; Space Scheduling Using Flow Analysis; Proceedings IGLC-7; 1999; 299-312.
[15] Zouein P. P., Tommelein I. D.; Dynamic Layout Planning Using a Hybrid Incremental Solution Method; Journal of Construction Engineering and Management; 1999; No. 125(6); 400-408.
[16] Thabet W. Y., Beliveau Y. J.; HVLS: Horizontal and Vertical Logic Scheduling for Multistory Projects; Journal of Construction Engineering and Management; 1994; No. 120(4); 875-892.
[17] Yeoh K. W., David K. H. Chua; Mitigating Workspace Congestion: A Genetic Algorithm Approach; EPPM2012 Conference; 2012; 107-118.
[18] Thabet W. Y., Beliveau Y. J.; Modeling Work Space to Schedule Repetitive Floors in Multistory Buildings; Journal of Construction Engineering and Management; 1994; No. 120(1); 96-116.
[19] Ellips M., Davoud S.; Classic and Heuristic Approaches in Robot Motion Planning - A Chronological Review; Proceedings of world academy of science, engineering and technology 23; 2007; 101-106.
[20] Kolisch R., Sprechrr A., Drexl A.; Characterization and generation of a general class of resource-constrained project scheduling problems; Management Science; 1995; No. 41(10); 1693-1703.
[21] Lavalle S. M.; Planning algorithms; Cambridge University Press; UK; 2006.
[22] Chua D., Yeoh K, Song Y.; Quantification of spatial temporal congestion in Fourdimensional computer-aided design; Journal of Construction Engineering and Management; 2010; Vol. 136, No. 6; 641-649.
[23] Chavada R., Dawood N., Kassem M.; Construction workspace management: the development and application of a novel nD planning approach and tool; Journal of Information Technology in Construction; 2012; Vol. 17; 213-236.
[24] Kolisch R.; Serial and parallel resource-constrained project scheduling methods revisited: Theory and computation; Journal of Operations Management; 1996; No. 90; 320-333.
[25] Semenov V.A., Kazakov K.A., Zolotov V.A., Jones EL, Jones S., Combined strategy for efficient collision detection in 4D planning applications. // In Computing in Civil and Building Engineering, Proceedings of the International Conference, W. Tizani (Editor), 2010, Nottingham, UK, Nottingham University Press, p. 31-39, ISBN 978-1-907284-60-1.
[26] Semenov V.A., Kazakov K.A., Morozov S.V., Tarlapan O.A., Zolotov V.A., Dengenis T., 4D modeling of large industrial projects using spatio-temporal decomposition. // eWork and eBusiness in Architecture, Engineering and Construction, eds. K. Menzel and R. Scherer, CRC Press, Taylor & Francis Group,London, UK, 2010, pp. 89-95.
[27] Semenov V.A., Kazakov K. A, Zolotov V. A., Virtual Construction: 4D Planning and Validation; Proceedings of the XI International Conference on Construction Applications of Virtual Reality; 2011; 135-142.
[28] Semenov V.A., Zolotov V.A., Kazakov K.A., Spatio-temporal validation of construction projects against path conflicts; Proceedings of 12th Conference on Construction Applications of Virtual Reality, National Taiwan University Press; 2012; 542-551.
[29] Semenov V.A., Anichkin A.S., Morozov S.V., Tarlapan O.A., Zolotov V. A., Visual Planning and Scheduling of Industrial Projects with Spatial Factors; Proceedings of 20th ISPE International Conference on Concurrent Engineering, eds. C. Bil, J. Mo, J. Stjepandic, IOS Press, Melbourne, Australia, ISBN 978-1-61499-301-8; 2013; 343-352.
Effective Method For Scheduling Complex Industrial Programs Under Spatio-Temporal Constraints
V. A. Semenov,
A. S. Anichkin,
S. V. Morozov,
O. A. Tarlapan,
V. A. Zolotov {sem, stey}(a)isvras.ru
Abstract: Effective project management implies the use of advanced planning and scheduling methods that allow to determine the feasible sequences of activities and to complete a project on time and on budget. Traditional scheduling tools like fundamental Critical Path Method (CPM) and various methods for Resource Constrained Project Scheduling Problem (RCPSP) and Time Constrained Project Scheduling Problem (TCPSP) have many shortcomings for the construction projects where spatial factor plays critically important role. Previously taken attempts to interpret space as a specific resource were successful for particular problems of line-of-balance scheduling, space scheduling, dynamic layout planning, horizontal and vertical logic scheduling, workspace congestion mitigating, scheduling multiple projects with movable resources, spatial scheduling of repeated and grouped activities, motion planning. However, none of these methods considers the spatio-temporal requirements in a holistic framework of generic RCPSP problem and provides feasible results accounting for workspace and workflow factors. In the paper we start with the classical RCPSP statement and then present mathematically strong formalization of the extended generalized problem taking into account workspace congestion and workflow disturbance constraints specified in practically meaningful and computationally constructive ways. For the generalized RCPSP problem an effective scheduling method is proposed. The method tends to minimize the project makespan while satisfying timing constraints and precedence relations, not exceeding resource utilization limits, avoiding workspace congestion and keeping workflows continuous. The method reuses so-called serial scheduling scheme and provides for additional computational routines and heuristic priority rules to generate feasible schedules satisfying all the imposed requirements. In order to evaluate the method, benchmark sets are proposed and investigated. Advantages of the method and prospects for its application to industrial needs are outlined in the paper too.
Keywords: planning and scheduling; resource-constrained project scheduling problem; priority rules; 4D modeling; workspace management.