OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
OMOPTIM PRESENTATIONLinköping, February 6th 2012
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
WHAT IS OMOPTIM ?
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
What OMOptim intends to be ?
Optimization platform designed to :– Facilitate algorithms development– Share optimization functions– Apply optimization easily and efficiently
End‐user oriented
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
Two main users
Hubert Thieriot – OMOptim Presentation 4
Academics
A platform to developand test optimizationmethods
Academics
A platform to developand test optimizationmethods
Industrial
A user‐friendly tool to perform processoptimizations
Industrial
A user‐friendly tool to perform processoptimizations
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
Applications
Design optimizationParameters optimizationComponents selection (beta)
Sensitivity analysisOptimal controlHybrid systems
Planned Optimization Methods
Evolution strategies (e.g. genetic algorithms)Gradient based methods (e.g. SQP)Relaxation techniquesHybrid algorithms
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
STATIC PARAMETERSOPTIMIZATION
What OMOptim can do ?
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
e.g. Optimization of heat‐pump parametersC
onde
nser
Compressor
CompressorEvaporator
Valve
Valve
Heat-Exchanger
P
P
A
Freedom
•pressure levels
• heat-exchanger area
• Parameters are static : constant during one simulation
• Simulation can still be dynamic
• Objective functions can consider evolution
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
STRUCTURE OPTIMIZATIONWhat OMOptim can do ?
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
Cooling
Heating
Drying
Cooling
Heating’ Heating’’
Drying’
• Introduction of alternative options
• Optimal choice
Structure optimization
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
WHICH OBJECTIVES ?What OMOptim can do ?
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
Multi‐objectives
Pareto criteria allows several objectives simultaneouslyInvestment cost
Operational cost
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
Scanning variables
e.g.• minimize total energy consumption over the four seasons• minimize standard deviation of temperature related to
mass flow
Configuration A
Simulation 1 Simulation 2 Simulation 3 Simulation 4
Scanning function A Scanning function B
Objective A Objective B
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
PROJECTS
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
Two energy related projects
EDOP
- Integration of modelization and optimization
‐ Dynamic optimal control of startup and load cycles
EDOP
- Integration of modelization and optimization
‐ Dynamic optimal control of startup and load cycles
CERES
-Identify best energy paths withinindustrial processes
- Design optimization
CERES
-Identify best energy paths withinindustrial processes
- Design optimization
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
OPTIMIZATION ALGORITHMS
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
• Many simulations required• Model as a Black‐box
Meta‐heuristics
• Require jacobiansGradient based
• cf. EDOP projectRelaxation techniques
…
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
Meta‐heuristic algorithms implemented
• Evolutionary strategies (SPEA2, NSGA2)• Particle Swarm Optimization• Simulated Annealing
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
PLUGIN FUNCTIONALITY
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
Plugin
‐ Allows to implement specific functionalities‐ Dynamically/Statically linked
OMOptim
MyPlugin
MyPlugin
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
Energy integration pluginCERES project
• Increase heat recovery within processes• Select best fitted utilities• Build heat exchangers network
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
Energy integration - example
Steam
Energy integrationalgorithms
Chaudière 1
MILP solvers
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
Plugin
‐ Why not a NMPC plugin ?‐ Parameter identification
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
FUTURE DEVELOPMENTS
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
First developments
• FMI compliance• Parallelization• Gradient based methods
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
Applications
Design optimizationContinuous parametersComponents selection (beta)
Sensitivity analysisOptimal controlHybrid systems
Planned Optimization Methods
Evolution strategies (e.g. genetic algorithms)Gradient based methods (e.g. SQP)Relaxation techniquesHybrid algorithms
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
DEMONSTRATION
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
INTERESTED IN ?
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
• Website– www.openmodelica.org
• Source codehttps://openmodelica.org/svn/OpenModelica/trunk/OMOptim/
• Mailhubert.thieriot@mines‐paristech.fr
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
THANKS FOR YOUR ATTENTION
Model structure Model VariablesOptimized parameters
Optimized Objectives
Problems
Solved problemsResult plot Export result data .csv
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
Top‐levelconceptualviewofOMOptimanditsinterfaces
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
To be done …
• Finalize OMOptim structure
• Strengthen link Simulation – Optimization– Derivative information– Structural change– Parallelization
• Organize sharability of optimization functions
OMOptim – Model-based optimization with OpenModelicaHubert Thieriot
Open Modelica
Corba
Open Modelica, Dymola,
…
OMOptim Optimization
Simulation
Reading Writing
Modelica model
•Heuristic•Linear programming
C++, QtC++,External libs
Reading/ modifyingvariables
Reading/ modifying
model structure
Files