На практике часто возникают ситуации, когда оптимально было бы производить несколько работ параллельно, поскольку это позволит сократить длительность проекта, но какие-либо ограничения не позволяют это сделать. В сложной модели проекта подобное косвенное влияние друг на друга могут оказать Операции, технологически не связанные или даже относящиеся к двум различным Фазам проекта (двум проектам в портфеле). Учитывать подобное влияние при моделировании необходимо, поскольку в противном случае мы получим в модели неверные сроки производства работ, считая, что работы возможно производить параллельно, а также сформируем некорректное плановое задание, которое физически Ресурсы выполнить не в состоянии.
К подобным ограничивающим факторам можно отнести занятость рабочей зоны вспомогательным оборудованием, ограничения по нагрузке на электро/газо/водоснабжение при производстве работ, технологические ограничения по загазованности, задымленности, уровню шума, ограничения по технике безопасности и множество других.
Заложить на стадии моделирования жесткие логические Связи между подобными Операциями в подавляющем большинстве случаев невозможно, поскольку мы не можем предугадать, как фактически будут исполняться данные Операции — произойдет их пересечение во времени или нет и в какой очередности они пройдут данную точку объекта к моменту времени, когда проект в своем исполнении дойдет до данного периода. Но для получения корректного расписания необходимо, чтобы определенные Операции ни при каких условиях не могли производиться, например, одновременно в одном помещении или с одновременным созданием нагрузки на какую-то вспомогательную систему.
| Задача |
Штукатуры осуществляют два прохода оштукатуривания — подготовительный и основной, монтажники производят две Операции монтажа следующие друг за другом — монтаж креплений и монтаж балок.
| Решение |
В данном примере используется инструмент оптимизации расписания по поставкам материалов. Для этого необходима версия программы Spider Professional.Для начала опишем работу на одном из этажей здания. Например, штукатуры и монтажники должны пройти две квартиры, разделенные холлом. Для простоты описания будем считать, что штукатуры и монтажники являются работниками одной субподрядной организации и вышли на объект (доступны) одновременно. Допустим, мы решили в модели в первой технологической Структуре (см. пример <Множественные структуры>) описать работы, сгруппировав их в ИСР (Иерархическая Структура Работ) по этажам и квартирам.
Добавим для квартиры две Операции штукатуров и две операции монтажников, связанные технологическими Связями.
Теперь необходимо реализовать задачу — сделать так, чтобы отделочники и монтажники не смогли одновременно работать в одной квартире, даже если по времени и доступности бригад такое возможно, но могли одновременно осуществлять работы в холле.Для этого добавим в нашу модель виртуальный Материал Квартира 1.
После этого настроим Операции так, чтобы, как только какая либо из бригад начала работы в данной квартире, то данный материал расходовался, а когда работы данной бригадой закончены — производился обратно. Данный подход позволит не допускать к производству работ в квартире другие бригады, пока не закончила цепочку своих работ бригада, пришедшая туда раньше. Для них отсутствует необходимый Материал в виде квартиры, пока он не будет произведён обратно.
Настройка следующая: на первой Операции технологической цепи указываем расход Материала Квартира 1 в количестве 1, а в профиле указываем 1;0, что означает, что вся Квартира 1 израсходована сразу в начале Операции. На последней Операции технологической цепи указываем производство (отрицательный расход) материала Квартира 1 в количестве -1, а в профиле указываем 0;-1, что означает, что вся Квартира 1 полностью произвелась в конце Операции. После этого данный Материал опять есть в наличии и его может использовать другая бригада.
Данное действие проводим для первой и последней Операции цепи штукатуров и цепи монтажников.
Квартира 1 готова к началу работ. Теперь любой исполнитель, блокирующий своим присутствием данную квартиру, расходует ее, начиная работы, а другие не имеют возможности начать работы, поскольку текущее количество необходимой квартиры равно нулю.
После подобного назначения Материала мы получили возможность выравнивать по нему нашу модель. Запустим Расчет с выравниванием и в настройках Выравнивание по расходам укажем, что мы выравниваемся по Материалам, а в списке добавим нашу Квартиру 1 в материалы для выравнивания.
Поскольку длительность Операций у нас одинаковая и другие ограничения отсутствуют, Спайдер выбирает одно из нескольких оптимальных решений. Если необходимо запустить в данную квартиру первыми определенных специалистов, то можно воспользоваться свойством Приоритет у соответствующих ОперацийУчитывать приоритеты операций в настройках расчета.
Инструмент учета приоритета операций в случае Стандартного метода расчета буквально начинает производство работ с высоким приоритетом в первую очередь. В случае других типов расчета программа может найти более оптимальное решение для сокращения сроков проекта и проигнорировать приоритеты.Теперь мы можем повторить данную конструкцию для Квартиры 2, не забывая добавить ее в модель в таблице Материалы и в свойствах Контрольного события Начало работ на этаже.
Не забудьте в свойствах Расчета расписания с выравниванием ресурсов добавить для выравнивания материал Квартира 2.
Для аналогичных работ в холле никаких ограничений указывать не нужно, поскольку там работы могут производиться параллельно.
Для того, чтобы все Операции данного блока при расчетах не ушли в другие области проекта, в случае если алгоритм программы найдет им другое оптимальное время исполнения, не совпадающее с временем производства работ на конкретном этаже, начало и окончание всех цепочек Операций на этом этаже замкнем двумя контрольными событиями начала и окончания. Теперь данная группа Операций всегда будет выполняться совместно, и мы получаем возможность управлять последовательностью производства работ на этажах. Это послужит небольшим ограничением, но допустим, что на нашем объекте данные бригады переходят вместе с оборудованием на следующий этаж только при полной готовности текущего этажа.
Теперь бригады в соответствии с ограничениями по рабочему пространству произведут работы в двух квартирах и одновременно отработают в холле. Полученный вариант производства работ возможен, если бригад у нас неограниченное количество. Мы видим, что на старте к работам приступают сразу три бригады монтажников. Что будет, если бригад каждой специализации не более одной?Для этого в таблице Ресурсы добавим две записи: Бригада штукатуров в количестве 1 и Бригада монтажников в количестве 1. Рассматриваем данные Ресурсы упрощенно, без детализации на людей и технику. Для примера нам это не нужно.
После этого, воспользовавшись для быстроты Групповым действием с операциями назначим бригаду штукатуров на все штукатурные Операции, а бригаду монтажников на все монтажные соответственно.
После этого произведем Расчет расписания с выравниванием ресурсов не только по Расходам материалов, но и по Ресурсам. Спайдер предложит одно из оптимальных решений.
Далее, используя Приоритеты Фаз и Операций, как один из инструментов оптимизации расписания, возможно менять последовательность производства работ в квартирах и холле, выбирая наиболее подходящую.
Задача решена.
Примеры Пример модели в Spider Project
