Decide on Lunch with 3D Discrete Event Simulator

Published by on April 12, 2016 at 11:37 am.

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?lunch 1

Well as we saw, we had three options:

  1. Keep Fighting
    Pros: Makes it more exciting
    Cons: Probably not good in the long run
  2. Bring Our Own Lunch
    Pros: Less expensive
    Cons: We like variety
  3. Over Engineer a Solution
    Pros: Computer decides, get lunch variety
    Cons: NONE!!!!

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.

lunch 2Before 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.

Framework Overview

Step 1: Pull out ingredients from fridge

We used LML’s Action Diagram to lay out the steps.

action diagram



innoslate action diagram


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

lunch 5lunch 6lunch 7

Resources & Inputs/Outputs

Physical objects that are consumed, produced or seized

Data that can trigger Actions to execute

Example Action Diagram

lunch 8


Model Overview

Step 2: Place ingredients between bread slices

innoslate scriptingInnoslate Scripting






Now we will create an A0 (Black Box).

lunch 11

Logic Overview

Then we looked at all the different possible impacts, such as weather, specials, and birthdays.

Weather Impact
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.

Specials Impact
The local sandwich shop is closed on Monday.
Cafe-Rio has Taco Tuesday.

Birthday Impact
Company buys pizza on Friday for birthdays.

Here’s an example of what that logic would look like in Innoslate.

LML action diagram systems engineering

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.

lunch 13

Simulator Overview

We use a Real Time Discrete Event Simulator. The simulator predicates key system/project metrics including:

  • Cost
  • Schedule
  • Performance
    • Asset Utilization
    • Resource Consumption

lunch 14

Simulator User Interface

innoslate 3d discrete event simulator

Simulation Results

innoslate discrete event simulator

The discrete event simulator chose for us.

Tuesday – Jersey Mikes

Wednesday – Chick fil a

Thursday – Potbelly’s

Friday – Dominos

Saturday – Chipotle

“Tlunch 17here’s no such thing as a free lunch”, may be a true statement, but few decisions are harder than where a group of co-workers should go for that lunch. The decision process developed provides a framework into which restaurant to go to by capturing cost and quality of restaurants, frequency of visits, and individual’s daily preferences. The software was developed in WebGL and JavaScript that applies new modeling techniques including 3D visualizations and interruptible simulators to simulate the process. As you saw, once we captured the initial conditions, the simulators provided us a recommendation for which restaurant to go to for lunch.


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

Project Management

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.

Table Top
Simulating a response plan
Simulating a business process
Simulating a review

Program Management
Process bottlenecks
Cost Analysis
Schedule Analysis
Critical Path Analysis

Complex Functional Analysis
Manufacturing processes
Health Care processes
Engineering processes
Trade Studies



Topics: ,