Building Forio Web Simulations: Introduction to Model Building
description
Transcript of Building Forio Web Simulations: Introduction to Model Building
Web simulation development fundamentals using Forio Simulate
Michael Bean
Forio Business Simulations
In six hours over six weeks, you’ll know the fundamentals of building a web simulation
Model BuildingWeek 1: Introduction to model building Week 2: Intermediate model building
Interface DesignWeek 3: Basic user interface design Week 4: Intermediate interface design
Advanced ConceptsWeek 5: Multi-player games Week 6: Game design and project management
What we will discuss today
Introduction to model buildingSimilarities and differences to spreadsheetsFive statement types used in creating modelsSample of functions in Forio SimulateHow to use the Model Explorer to test modelsArray range basicsThe biggest mistake that new modelers make
Throughout the workshop, we’ll use real examples
A simulation is like a spreadsheet optimized for solving problems that occur over time
"It is a confusion of ideas to suppose that the economical use of fuel is equivalent to diminished consumption. The very contrary is the truth."
Jevons argued that improvements in fuel efficiency tend to increase, rather than decrease, fuel use.
Energy Efficiency = Higher Productivity
Higher Productivity =Lower Implicit Price
Lower Implicit Price =Higher Demand
There are only five statement types in a Forio Simulate model:
V is a Variable
D is a Decision
M is a Model-wide property
P is a Property of a variable or decision
R is a Range
A variable can be either a constant or an equation:
V Initial Size = 17
V Average Size = Initial Size V Yearly Spending on Electricity = Price of kWh Electricity * Average Refrigerator Size * kWh Electricity Consumed per Cubic Foot
ABS - Absolute valueCEILING - Round UpFLOOR - Round downROUND - RoundINT - IntegerFRAC - Fractional part of a numberMOD - ModulusSAFEDIV0 - Return 0 if divisor is 0MAX - Maximum valueMIN - Minimum vale
IF - ConditionalREMEMBER - Store value when condition is trueLOOKUP – Look up a value from a list
HIVAL - Finds the highest value during a sim runLOVAL - Finds the lowest value during a sim runPREVIOUS - The value from the previous step
STEP = Current Step (always starts at 0)TIME = Current Time
RAND - Uniform random numberRANDBETWEEN - Random number between two valuesNORMAL - Normally distributed random numberEXPRND - Exponential distribution random numberLOGNORMAL - Log-normal distributionPOISSON - Poisson distribution
Sample functions that work in Forio Simulate
A decision is a number that the user of the simulation can enter or change:
D kWh Electricity Consumed per Cubic Foot = 1239 / Initial Refrigerator Size
D Price of kWh Electricity = 0.11
Model-wide properties set the default properties for all variables and decisions:
M StartTime = 2010M EndTime = 2020M InitialSteps = 2M ExecuteDecisionImmediately = TRUEM NumberFormat = #,##0.00
Concepts taught during today’s class
Similarities and differences to spreadsheets
Five statement types used in creating models
Variables
Decisions
Model-wide properties
variable and decision Properties
Ranges
Sample of functions in Forio Simulate
How to use the Model Explorer to test models
Array range basics
The biggest mistake that new modelers make
Single biggest mistake that new modelers make:
Writing too many equations before testing.
You should test your model in the model explorer after every one or two new equations or model changes.
Challenges for the coming week
Try extending this model to include a third array element such as a dishwasher.
Try to include the price per kWh into the refrigerator size calculation.
Start on your own model.
What’s next?
Advanced array functions
State functions
Games versus planning tools
Locating and solving model errors
We’ll continue building our model of Jevon’s paradox.
Resources to help you
forio.com/simulate
Email will be sent to you containing:Link to presentationLink to EIA dataLink to view and copy model
Need help with your model? Ask us questions on the help forum.
Search old questions or online documentation