Wether you use AnyLogic, Arena, Simio, FlexSim or any other simulations Software in the market, when you develop a model using the discrete-events paradigm, you will get access to a number of blocks that you can connect with each other to generate a flow with agents or entities flowing from one block to the next. In AnyLogic you have around 40 blocks you can use, each block with a series of functionalities, but who decided that those are the functionalities you need? Why do you have a delay block? Why do you have a queue block?
Well, it’s true that these blocks represent the most common functionalities in a manufacturing process, but not all of them are strictly needed. I often ask my students to replicate a block’s behavior with some or all its functionalities as an exercise to improve the modeling mindset. At the end of the day, building a discrete-events model can be seen as building a puzzle with the pieces you are given.
In my opinion, replicating blocks functionalities is one of the best ways to learn the discrete-events mindset, to practice your skills and to start becoming creative in your solutions. All that without spending hours or days building complicated problems. Wanna try this in AnyLogic? Build a delay without using a delay block. How can you do it?
There are many ways of doing this in fact, since the delay is a pretty simple block. Let me show you a couple.
Solution 1
Use a wait block. Adjust the capacity, enable exit through timeout and there you go, you don’t need a delay ever again.
Solution 2
You can get much crazier with the combinations you can use. Use restricted areas to limit the capacity, use an exit block to make the agent wait, and use a dynamic event to cover the delay time. An enter block will then send your agent out of the delay.
Conclusion
Working on your creativity through small things like this can significantly improve your ability to build very complex functionalities. Creativity is in fact one of the most important practices you can train to become a really good modeling professional, and these exercises can help you out when you are limited in time, when you want a small challenge or when you just want to have fun.
Now go back to your AnyLogic Software and practice with the following blocks:
- Match
- Assembler
- Batch/Unbatch
- Pickup/Dropoff
- Hold
To test and validate your model, you can use a split block to investigate exactly how your puzzle compares with the block you are trying to replicate. You can check how the split is used downloading the example for the delay block in the following link.