Ограниченное пространство производства работ

Обсуждение примера на официальном Форуме

Ограниченное пространство производства работ На практике часто возникают ситуации, когда оптимально было бы производить несколько работ параллельно, поскольку это позволит сократить длительность проекта, но какие-либо ограничения не позволяют это сделать. В сложной модели проекта подобное косвенное влияние друг на друга могут оказать Операции, технологически не связанные или даже относящиеся к двум различным Фазам проекта (двум проектам в портфеле). Учитывать подобное влияние при моделировании необходимо, поскольку в противном случае мы получим в модели неверные сроки производства работ, считая, что работы возможно производить параллельно, а также сформируем некорректное плановое задание, которое физически Ресурсы выполнить не в состоянии.

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

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

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

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

 Решение
 В данном примере используется инструмент оптимизации расписания по поставкам материалов. Для этого необходима версия программы Spider Professional.

Для начала опишем работу на одном из этажей здания. Например, штукатуры и монтажники должны пройти две квартиры, разделенные холлом. Для простоты описания будем считать, что штукатуры и монтажники являются работниками одной субподрядной организации и вышли на объект (доступны) одновременно. Допустим, мы решили в модели в первой технологической Структуре (см. пример <Множественные структуры>) описать работы, сгруппировав их в ИСР (Иерархическая Структура Работ) по этажам и квартирам.

Технологическая ИСР с разбивкой на блоки по квартирам (один этаж).

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

Работы монтажников и штукатуров в квартире.

Теперь необходимо реализовать задачу — сделать так, чтобы отделочники и монтажники не смогли одновременно работать в одной квартире, даже если по времени и доступности бригад такое возможно, но могли одновременно осуществлять работы в холле.
Для этого добавим в нашу модель виртуальный Материал Квартира 1.

Таблица материалов. Материал Квартира 1.

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

Настройка следующая: на первой Операции технологической цепи указываем расход Материала Квартира 1 в количестве 1, а в профиле указываем 1;0, что означает, что вся Квартира 1 израсходована сразу в начале Операции. На последней Операции технологической цепи указываем производство (отрицательный расход) материала Квартира 1 в количестве -1, а в профиле указываем 0;-1, что означает, что вся Квартира 1 полностью произвелась в конце Операции. После этого данный Материал опять есть в наличии и его может использовать другая бригада.

Данное действие проводим для первой и последней Операции цепи штукатуров и цепи монтажников.

Настройка первой операции цепи.

Настройка последней операции цепи.

Чтобы нашим исполнителям было что тратить, заходя в квартиры (<занимать> их), необходимо изначально добавить в модель Квартиру 1 в количестве 1. Для этого создадим Контрольное событие Начало работ на этаже и в закладке Материалы укажем Фиксированный расход нашей Квартиры 1 в количестве -1, что означает ее <поставку> в нашу модель перед началом работ в количестве 1.

Контрольное событие Начало работ на этаже.

Поставка квартиры в модель.

Квартира 1 готова к началу работ. Теперь любой исполнитель, блокирующий своим присутствием данную квартиру, расходует ее, начиная работы, а другие не имеют возможности начать работы, поскольку текущее количество необходимой квартиры равно нулю.

После подобного назначения Материала мы получили возможность выравнивать по нему нашу модель. Запустим Расчет с выравниванием и в настройках Выравнивание по расходам укажем, что мы выравниваемся по Материалам, а в списке добавим нашу Квартиру 1 в материалы для выравнивания.

Настройка выравнивания по расходам. Галка на материалах.

Настройка материалов для выравнивания.

После этого Спайдер расчитает нам оптимальную расстановку бригад в данной квартире. Одновременную работу двух разных бригад в одной квартире программа теперь не допускает.

Результат расчета с выравниванием по Квартире 1.

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

Чекбокс Учитывать приоритет операций.

Расчет с учетом приоритета операций.

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

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

Добавление Квартиры 2 в таблице Ресурсы.

Добавление Квартиры 2 в контрольное событие Начало работ на этаже.

В цепочках работ по Квартире 2 точно так же указываем ее расход и производство по каждой цепи.
Не забудьте в свойствах Расчета расписания с выравниванием ресурсов добавить для выравнивания материал Квартира 2.
Для аналогичных работ в холле никаких ограничений указывать не нужно, поскольку там работы могут производиться параллельно.
Для того, чтобы все Операции данного блока при расчетах не ушли в другие области проекта, в случае если алгоритм программы найдет им другое оптимальное время исполнения, не совпадающее с временем производства работ на конкретном этаже, начало и окончание всех цепочек Операций на этом этаже замкнем двумя контрольными событиями начала и окончания. Теперь данная группа Операций всегда будет выполняться совместно, и мы получаем возможность управлять последовательностью производства работ на этажах. Это послужит небольшим ограничением, но допустим, что на нашем объекте данные бригады переходят вместе с оборудованием на следующий этаж только при полной готовности текущего этажа.

Добавление работ на всех квартирах, в холле и контрольного события Окончание работ на этаже. Расчет с выравниванием.

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

Бригада штукатуров и Бригада монтажников в таблице Ресурсы.

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

Бригада штукатуров и Бригада монтажников на операциях.

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

Результаты расчета с выравниванием по Расходам и Ресурсам.

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

Задача решена.

Примеры
Пример модели в Spider Project