Miriana
Miriana

Reputation: 95

Model Logic Error: My model doesn't work if I don't put queue block, but this block slow down the process

I'm modeling a hospital ward. I am experiencing this error: "Model logic error:root.delay7: An agent was not able to leave the port root.delay7.out at time 8.302 / date Nov 3, 2020, 8:18:05 AM (current model time is 8.311). Consider increasing capacities and/or throughputs of the subsequent object(s) or using PULL protocol"enter image description here

I know that before a hold I have to put a queue block, but in the path to follow the patient has already been inserted! If I insert more queue blocks they slow down the process, because once the patient enters the queue block he is not released immediately! Why does this error occur? How can I fix it?

I attach the picture, the red circle indicates the point where the flow is blocked.

Upvotes: 0

Views: 1164

Answers (1)

Felipe
Felipe

Reputation: 9431

it's simple...

the hold is a door, and if it's blocked, the door is closed If you try to push a cat through a closed door, the universe will tell you that the cat just cannot do that, either by you killing the cat, or the cat killing you.

AnyLogic is doing the same thing here... It's not a requirement to put a queue before the hold block, but you need to think this from a more realistic way.

If your cat is in the delay block, and now you want to move the cat out of the delay block, but the door is closed, the question is... what do you want to do with the cat?

The answer to that question, will bring you an answer to your model... tell the model what you want to do with the agent after the delay block, if the hold is blocked... do you even need a hold block there? Think again on what you are trying to do, and revise your model based on your concept.

People tend to forget that with a model you are trying to represent reality... do that... investigate what reality looks like, and make a model that maps with that reality

Upvotes: 1

Related Questions