Title: SIMO%20SIMulation%20and%20Optimization%20
1SIMO SIMulation and OptimizationNew generation
forest planning system
- 15.11.2005
- Antti Mäkinen Jussi Rasinmäki
- Dept. of Forest Resource Management / University
of Helsinki
2Need for new planning system?
- Forestry databases maintained in Finland mostly
collected either with - National Forest Inventory
- compartment-wise inventory
- Current forest management planning packages are
designed to suit these two data sets - Stand volume, timber assortments and growth are
predicted using single tree models - In the future the data sources are much more
variable, including data from several grain
levels - ? Need for new planning tools
3Aims of SIMO
- FLEXIBLE with respect to data it demands and
models that it uses - ADAPTABLE to the planning problem
- EXTENDABLE for possible future needs
- provide decision support for different grain
levels
4Aims of SIMO continued
- To produce a set of lightweight program modules,
which the users can interface into their planning
systems - Modules should be adaptable to different planning
tasks and needs - Simulation parameters can be (easily) controlled
by the user - Simulations can be locally calibrated
- Uncertainty in the data can be taken into account
5Aims of SIMO continued
- New models can be implemented by the user
- Possibility to utilize different data sources
- Planning system is not a black box user
should know what happens inside the program - Inconsistent or erroneus data can be handled, but
the user will be informed precisely
6SIMO software development
- The core elements of the planning system will be
produced in this project (no user interfaces) - All the products will be open-source code (MIT
license) - The users will handle the integration into their
own systems - At the moment the simulator module is well
underway and other modules under construction
7SIMO Simulator
- Simulator module consists of
- simulator core (the simulator program)
- XML files (data, simulation control, simulation
logic etc.) - Model library (all the models, functions etc.
used in the simulations) - Business logic and Application logic
separated - Other modules will be produced and integrated
into the system
8Simulator core
- The programmatic component, contains the
application logic
- Intakes simulation control instructions, model
chains, model definitions and data in XML format
- Processes the user defined model chains for each
computing unit in the data
- Calls the Model Library whenever some value needs
to be calculated
- Prints the resulting values into a result XML file
9XML Files (eXtended Markup Language)
- Syntax definition which can be used to express
hierarchical data - Platform independent, self-describing
- In SIMO, XML is used for the business logic
- Passing data in and out of simulator (Data XML)
- Passing simulation instructions (Simulation
XML) - Encoding the simulation logic (Model Chain XML)
- Passing information of the models and variables
to the simulator (Model XML and Variable XML)
10(No Transcript)
11(No Transcript)
12Model Library
- Includes all models used in the simulator
- Users can add new models to the library or create
additional model libraries
- Reports warnings and errors to the simulator
- Risk level models not yet implemented
13Missing modules
- Finds the best alternative from the alternatives
generated by the simulator
- Possibly many alternative optimizing methods?
- Validates the XML files with XSD (Schema) files
and by external rules
- Makes sure that the XML files are well-formed and
contain all necessary elements
14Strengths of SIMO XML Simulator
- Virtually any kind of model can be used in the
simulations and added to the model library
- User can define the model chains freely for
different kinds of simulations
- User can define correction/rectification factors
for the models, (eg. different factors for
geographical areas)
- Data levels are not confined to strict predifined
standard
- Extensive warning and error reporting system
(risk control coming later...)
15What can be calculated at the moment?
- Estimating forest variable development at both
stand level tree level is possible at the
moment (300 models implemented), but
- Forestry operations not yet implemented in the
simulator
? real world simulations not yet possible
- Bucking models still not ready
- Optimizing module still missing
16(No Transcript)
17How the simulation process works in SIMO?
XML Files
Reporter Module
IN XML data OUT transformed XML, graphs
IN data, simulation control, modelchains, model
definitions OUT results
SIMULATOR
IN modelname, input variables OUT model
result, warnings errors
SIMULATION PROCESS
MODEL LIBRARY
18What is missing?
XML Files
Reporter Module
Validator Module
SIMULATOR
Optimizer Module
MODEL LIBRARY
MODEL LIBRARY
MODEL LIBRARY
MODEL LIBRARY
19Reporting Module
- Used for visualizing data transforming the
results from XML format to other formats
- Intakes data and processing instructions in XML
format
- At the moment can plot different kinds of graphs
of given variables
- XML transformations to be implemented later...
20Model risk management
- Two levels
- Individual parameter values out of bounds
- All individual parameter values acceptable, but
is the specific combination of them acceptable? - Case 1 already in the simulator
- Case 2 Suggestion
- get the k nearest neighbours from the VMI data,
- evaluate the model for the data point and the k
nearest neighbours. - If the difference for the model estimate between
the data point and the neighbours is too big,
generate an event of unacceptable model
estimate
21- Isnt that procedure too heavy computationally?
- Probably, not yet evaluated
- But what about if we store the risk evaluation
results and use those primarily - Is it safe to call ModelA with parameters (5, 6,
10) when we accept risk level X? - Has the risk been evaluated with parameter values
(5,6,10) and risk level X before. If yes, get the
answer from a table of risk evaluations - If not, get k nearest neighbours for data point
(5,6,10), evaluate the model with (5,6,10) and k
neighbours - Store the risk evaluation result and the mean
model result for k neighbours for the data point
(5,6,10) and risk level X
22(No Transcript)
23- Open questions
- When evaluating model result shall we compare it
to values derived directly from the nearest VMI
permanent sample plotsORmodel estimates for the
nearest VMI sample plots?
24Software license for SIMO
- Types of Open Source licenses
- MIT Co Do whatever you want
- LGPL Everything you do to the original code
must be open source, anything on top of that can
be closed - GPL Co Everything you do is open source,
well almost - GPL under the hood "derivative work" or "mere
aggregation? Derivative work must be open
source, but aggregation can be closed source
25- The case of MySQLDouble licensing open source
GPL, commercial development with a commercial
license that allows closed source
26General software architecture
- Individual components that communicate over the
network - Validator
- Simulator this is well underway
- Optimiser
- Reporter simulation results to figures and
other data formats than XML, or different XML
format etc. - Implications to licensing? What about if one of
the components uses a sub component that is
published under GPL?
27Architecture continued
- TCP/IP based communication
- Security issues?
- secured traffic (SSL, SSH)
- inside firewall
- Scalable