Earlier this year I saw a very impressive fleet management model. It was not all that large or even very complex. It was, however very flexible. By changing only the data in the model, it could represent any kind of fleet from cruise ships to delivery trucks. The key to the success of this model was that the model builder began by structuring the model data.
Often our first impulse is to approach a simulation problem by dropping blocks onto the model worksheet. This is partially our fault as a software developer. We have made it so easy to create a model that it is hard to resist dropping some blocks onto the screen and getting the instant gratification of a running model. Once the blocks have been connected together then you can begin the task of fitting the data to the model. While this may work fine for smaller, well defined systems, the build first, data later approach makes it difficult to create scalable reusable models.
Starting by designing a database for the model has a number of advantages:
- You will know early in the modeling process what data to collect.
- Data problems can be identified at the start of the simulation project.
- Opportunities to create smaller, more elegant models may be discovered. Patterns in the data often point to reusable model segments that are identical in structure.
- The data will fit more naturally into the model.
- Fewer structural model revisions will be required to fit the data into an already completed model.
- People who do not know anything about simulation can be part of the design process.
- Your models will be more scalable.
So, before beginning your next project, rather than flowcharting the process, try flowcharting the data structures. You will probably become a better modeler.