Как динамически использовать ресурсы в anylogic? - PullRequest
0 голосов
/ 04 февраля 2019

Я занимаюсь моделированием индустрии в Anylogic.Он состоит из трех одинаковых производственных линий, все они имеют одинаковое количество процессов (в случае сервисов), и к каждой услуге подключен ресурс (он же машина).Продукты, которые производятся в трех линиях, будут объединены только в конце (в конечном запасе перед поставкой).Тем не менее, мой последний процесс каждой строки может иметь увеличение или уменьшение ресурсов (машин), когда это необходимо.Например, в строке 1 произошел сбой компьютера, и он остановился на некоторое время, и теперь вместо 4-х компьютеров для выполнения заказа потребуется 6. Кроме того, если один из этих компьютеров, помещенных в этот процесс, выходит из строя (из-за сбоя),Мне нужен сервис, чтобы продолжать работать, но с меньшими ресурсами.Так, например, у меня есть 4 машины в последнем процессе линии 1, одна из этих машин вышла из строя, я хотел бы, чтобы другие 3 продолжали производство.Какое возможное решение может быть использовано для этого?Я попытался смоделировать это в самом сервисе, но он не работает с меньшим количеством ресурсов, чем указано.

1 Ответ

0 голосов
/ 04 февраля 2019

Из того, что я понял, я думаю, что вам нужно смоделировать три линии отдельно и использовать три разных ресурса resourcePools для ваших машин.Делая это, вы будете контролировать емкость ресурсов в каждой строке и можете изменять их в зависимости от любых событий.Если ваш вопрос касается того, как изменить емкость одной строки в случае сбоя другой линии, я предлагаю использовать опцию «отправить в потоковую диаграмму» при сбое ресурса, и вы можете использовать блоки потоковой диаграммы для изменения пропускной способности и выполнения любого другого необходимого кода.

Если ваши 3 строки идентичны, вы можете создать пользовательский блок потоковой диаграммы и передать resourcePool в качестве параметра к пользовательскому блоку. Таким образом, вам не нужно повторять свою логику три раза.

...