Anylogic Управление запасами

Я хочу смоделировать больницу. Пациент (заболевание показано цветом) прибывает в больницу, и врачу нужна медицинская тележка для лечения пациента. В медицинской тележке есть четыре различных категории товаров. Три категории элементов относятся к цвету пациента, и одна категория элементов используется для каждого пациента. Когда прибывает пациент, определенное количество медицинской тележки опорожняется, пока не достигнет определенного уровня запасов, и тележка перемещается в место для заполнения. Например, прибывает синий пациент, и синий инвентарь опускается вместе с общим инвентарем. Если в ряду три синих пациента, тележка отправляется на пополнение, даже если в ней еще есть запас для других пациентов. Полный пример мышления: доступно 40 тележек - каждая с лекарствами и т. Д. Для 4 синих пациентов, 3 зеленых, 2 красных и 10 общих. Если первые четыре пациента синие, тележки необходимо пополнить и активировать новую тележку.

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


person Christian    schedule 12.03.2018    source источник


Ответы (1)


Ваша корзина ДОЛЖНА быть ресурсом, захваченным врачом ... Когда вы отпускаете корзину, вы создаете selectOutput, задавая вопрос, заполнена ли корзина необходимыми предметами или нет ... Если это не так, она пополняется, как вы можете см. на следующем изображении:  пример выпуска

Теперь, чтобы задать вопрос «itemsMissing» ... вам нужно, чтобы ваш ресурс был агентом корзины с одной переменной для каждого элемента, которая ведет подсчет количества оставшихся элементов.

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

person Felipe    schedule 20.03.2018
comment
Спасибо большое, Фелипе - Ты спаситель жизни! Однако ваш ответ порождает новый вопрос, чтобы он работал у меня. Я создал тележку агента с переменными синий красный общий. Как мне получить к ним доступ в блоках realease и itemm´Missing? Когда я пытаюсь написать cart.variables.blue ‹0 или cart.blue‹ 0, я получаю сообщение об ошибке: Cart не может быть определен как переменная. Другой подвопрос: следует ли мне обрабатывать переменные, например, выделять только те переменные, которые мне нужны, или освобождать только те переменные, которые используются? - person Christian; 23.03.2018
comment
в выпуске вы можете сделать это в разделе действий: on release: (Cart) unit.variable В остальных модулях вы просто выполняете agent.variable - person Felipe; 23.03.2018
comment
Кажется, работает все, кроме оператора On realease. В случае с (Cart) .unit.red возвращает ошибку. red не может быть разрешен или не является полем вместе с синтаксической ошибкой на), оператор присваивания ожидается в (Cart) unit.red. Запись (Cart) unit.variable тоже не работает. Какие-либо предложения? - person Christian; 23.03.2018