Like so many offices out there, our office deals with the daily dilemma of choosing where we should go to lunch. Every day we would waste precious work time trying to decide on where we should get lunch today. Sometimes our office lunch debate would look a little something like the picture over to the right. Unlike many offices though, we are mostly made up of software and systems engineers, so what did we do?
Well as we saw, we had three options:
- Keep Fighting
Pros: Makes it more exciting
Cons: Probably not good in the long run
- Bring Our Own Lunch
Pros: Less expensive
Cons: We like variety
- Over Engineer a Solution
Pros: Computer decides, get lunch variety
We are always willing to over engineer something, so went with option 3. We used the 3D Model Simulator we built for Innoslate to decide where we should get lunch every day for a week.
Before we had decided on using the 3D Model Simulator. We would use an entire white board to help us decide on where to go to lunch. We considered a lot of factors: location, cost, distance, favorability vote, and the last time we had visited. The whiteboard was helpful, but it didn’t predict the future and we ended up ignoring the board most of the time. Clearly, this wasn’t going to work. We knew we could do better.
That is when we decided to use systems engineering methods and simulate the week. Innoslate provided us with recommendations. In three steps, we had Innoslate decide for us where we would eat lunch every day.
Step 1: Pull out ingredients from fridge
We used LML’s Action Diagram to lay out the steps.
We added Sync Points to the action diagram. Sync points:
- Contains Parallel branches that execute at the same time
- When one branch completes, all other executing branches are killed
Resources & Inputs/Outputs
Physical objects that are consumed, produced or seized
Data that can trigger Actions to execute
Example Action Diagram
Step 2: Place ingredients between bread slices
Now we will create an A0 (Black Box).
Then we looked at all the different possible impacts, such as weather, specials, and birthdays.
We are more likely to go to a soup place when the weather is colder.
When the weather is warmer, we are more likely to go to an outdoor place.
The local sandwich shop is closed on Monday.
Cafe-Rio has Taco Tuesday.
Company buys pizza on Friday for birthdays.
Here’s an example of what that logic would look like in Innoslate.
Simulating the Model
Step 3: Eat Sandwich
Discrete Event Simulation
Now it’s time to use one of Innoslate’s simulators. Discrete event simulation (DES) is the process of codifying the behavior of a complex system as an ordered sequence of well-defined events. In this context, an event comprises a specific change in the system’s state at a specific point in time.
We use a Real Time Discrete Event Simulator. The simulator predicates key system/project metrics including:
- Asset Utilization
- Resource Consumption
Simulator User Interface
The discrete event simulator chose for us.
Tuesday – Jersey Mikes
Wednesday – Chick fil a
Thursday – Potbelly’s
Friday – Dominos
Saturday – Chipotle
Moving Beyond the Sandwich
Innoslate’s Discrete Event Simulator can be useful for thousands of other complex applications, besides just helping us pick where to go for lunch.
Table Top Exercises
So how can we move beyond the sandwich? We could use table top exercises. Table top exercises are used to simulate how people will react in an emergency situation. It is used extensively in the emergency management area, but has application in many domains.
The discrete event simulator can be ran in various speeds (including real time). This allows the team to watch the Actions happen “live.” You can speed up through parts of the model. The simulation can be paused and resumed. Sometimes day long simulations happen. Logic flow can be controlled via prompt questions, this supports discussions of best path.
Complex Functional Analysis
Another way to go beyond the sandwich, would be to use Innoslate for complex functional analysis.
Innoslate’s functional analysis feature can:
- Pull data from external sources
- Control how logic/IO/resources are handled
- Add distributions to any number value
- Adds randomness to the model
- Includes: normal, beta, log-normal, and more
- Be applied to: Actions, Resources, Assets
- Write custom scripts
- Do advanced logic by setting/getting global variables and/or selected database entities
Innoslate’s simulators can also be used for project management. The project management features can:
- Simulate and calculate a project’s cost/schedule/performance
- Actions, IOs, Assets, Resources, and Conduits can have cost
- Track throughput of resources through the system
- Run the simulation in Monte Carlo for a better statistical understanding of a process
- Produce a Gantt chart of a process
Below are some examples of how you can use Innoslate’s simulator for table top exercises, complex functional analysis, and project management.
Simulating a response plan
Simulating a business process
Simulating a review
Critical Path Analysis
Complex Functional Analysis
Health Care processes