BLOM: Berkeley Library for Optimization Modeling

Slides:



Advertisements
Similar presentations
Visual Scripting of XML
Advertisements

What is GAMS?. While they are not NLP solvers, per se, attention should be given to modeling languages like: GAMS- AIMMS-
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
MotoHawk Training Model-Based Design of Embedded Systems.
SSP Re-hosting System Development: CLBM Overview and Module Recognition SSP Team Department of ECE Stevens Institute of Technology Presented by Hongbing.
INTEGRATED DESIGN OF WASTEWATER TREATMENT PROCESSES USING MODEL PREDICTIVE CONTROL Mario Francisco, Pastora Vega University of Salamanca – Spain European.
A COMPUTER BASED TOOL FOR THE SIMULATION, INTEGRATED DESIGN, AND CONTROL OF WASTEWATER TREAMENT PROCESSES By P. Vega, F. Alawneh, L. González, M. Francisco,
NORM BASED APPROACHES FOR AUTOMATIC TUNING OF MODEL BASED PREDICTIVE CONTROL Pastora Vega, Mario Francisco, Eladio Sanz University of Salamanca – Spain.
SIMULINK Dr. Samir Al-Amer. SIMULINK SIMULINK is a power simulation program that comes with MATLAB Used to simulate wide range of dynamical systems To.
Tejas Bhatt and Dennis McCain Hardware Prototype Group, NRC/Dallas Matlab as a Development Environment for FPGA Design Tejas Bhatt June 16, 2005.
By Hrishikesh Gadre Session I Introduction to EES Department of Mechanical Engineering Louisiana State University Engineering Equation.
ECE Introduction to Control Systems -
Page - 1 Rocketdyne Propulsion & Power Role of EASY5 in Integrated Product Development Frank Gombos Boeing Canoga Park, CA.
Introduction to BIM BIM Curriculum 01.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Overview of Model Predictive Control in Buildings
VIRTUAL PROTOTYPING of ROBOTS DYNAMICS E. Tarabanov.
MapleSim and the Advantages of Physical Modeling
WorkPlace Pro Utilities.
Easy-to-Use CFD for Electronics Design. Introduction A CFD thermal simulation tool specifically designed for the electronics industry Future Facilities.
Extensions to the OSiL schema: Matrix and cone programming Horand I. Gassmann, Dalhousie University Jun Ma, Kipp Martin, Imre Polik.
Research, Development, Consulting, Training High Fidelity Modeling and Simulation Where we are going… …future plans.
MathCore Engineering AB Experts in Modeling & Simulation WTC.
What is a model Some notations –Independent variables: Time variable: t, n Space variable: x in one dimension (1D), (x,y) in 2D or (x,y,z) in 3D –State.
3DCS Advanced Analyzer/Optimizer Module © Dimensional Control Systems Inc DCS Advanced Analyzer/Optimizer Equation Based Tolerance Analysis Quick.
Efficient Integration of Large Stiff Systems of ODEs Using Exponential Integrators M. Tokman, M. Tokman, University of California, Merced 2 hrs 1.5 hrs.
September Bound Computation for Adaptive Systems V&V Giampiero Campa September 2008 West Virginia University.
240-Current Research Easily Extensible Systems, Octave, Input Formats, SOA.
Outline The role of information What is information? Different types of information Controlling information.
SIMULINK-Tutorial 1 Class ECES-304 Presented by : Shubham Bhat.
Department of Mechanical Engineering, LSUSession VII MATLAB Tutorials Session VII Introduction to SIMULINK Rajeev Madazhy
EE3417 – Introduction to Simulink
Intro to Simulink April 15, Copyright , Andy Packard. This work is licensed under the Creative Commons.
Application model integration in the Virtual Test Bed Roger A. Dougal Dept of Electrical Engineering University of South Carolina Columbia, SC 29208
System To Generate Test Data: The Analysis Program Syed Nabeel.
1 Circuitscape Capstone Presentation Team Circuitscape Katie Rankin Mike Schulte Carl Reniker Sean Collins.
Chapter – 8 Software Tools.
Intro to Simulink Modified by Gary Balas 20 Feb 2011 Copyright , Andy Packard. This work is licensed under.
“Moh’d Sami” AshhabSummer 2008University of Jordan MATLAB By (Mohammed Sami) Ashhab University of Jordan Summer 2008.
Optimization of Pallet Packaging Space and a Robotic SCARA Manipulator for Package Stacking Group-4 Puneet Jethani Erica Neuperger Siddharth Kodgi Zarvan.
Standards Certification Education & Training Publishing Conferences & Exhibits Process Control & Safety Symposium November Houston, Texas USA.
SysML and Modelica Integration using FMI\System of Systems March The seventh National Conference INCOSE_IL 2013 System of Systems "SysML and Modelica.
Getting started with Simulink An introductory tutorial.
Optimizing the Performance of Sparse Matrix-Vector Multiplication
The New Generation of CAD Tools
Experience Report: System Log Analysis for Anomaly Detection
Transfer Functions Convenient representation of a linear, dynamic model. A transfer function (TF) relates one input and one output: The following terminology.
Bounded Nonlinear Optimization to Fit a Model of Acoustic Foams
Advanced Programing practices
Integration of OCP and SIMULINK
Automatic Control Theory
MESB374 System Modeling and Analysis
Software Metrics 1.
State Space Representation
Solver & Optimization Problems
ECEN/MAE 3723 – Systems I MATLAB Lecture 2.
WORKSHOP 3 GSE IMPORT.
(Mohammed Sami) Ashhab
Matlab as a Development Environment for FPGA Design
SAT-Based Area Recovery in Technology Mapping
GENERAL VIEW OF KRATOS MULTIPHYSICS
State Space Analysis UNIT-V.
MATHEMATICAL MODELING
Introduction To Simulink
ENERGY 211 / CME 211 Lecture 27 November 21, 2008.
Introduction To MATLAB
Lecture 3: Signals & Systems Concepts
Topology Optimization through Computer Aided Software
Multichannel Link Path Analysis
Presentation transcript:

BLOM: Berkeley Library for Optimization Modeling Anthony Kelman Email: kelman@berkeley.edu Website: www.mpc.berkeley.edu Sergey Vichik, Francesco Borrelli Department of Mechanical Engineering University of California Berkeley, CA November 12, 2012 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAAAAAAAAAAAAAAA

Outline Motivation and Background Components and Workflow of BLOM Optimization modeling, existing tools Dynamic optimization and model predictive control (MPC) Components and Workflow of BLOM Simulink front end Efficient problem representation Compiled interface to optimization solvers Performance Results Release Availability and License Ongoing Development Conclusions and Demo

Motivation and Background Want to solve optimization problems from Optimal control System identification Scheduling, resource allocation, etc Conventional approach Manual formulation and coding Time consuming, error prone (especially gradients, Jacobian, Hessian) Difficult to change solvers Tricky to get good performance Better way: use an optimization modeling tool

Optimization Modeling Tools Overview of existing tools Standalone, text-based, proprietary: AMPL, GAMS, AIMMS Standalone, text-based, open source: ACADO Modelica-based, open source: Optimica Matlab-based, proprietary: TOMLAB Matlab-based, open source: Yalmip, CVX Simulink-based, open source: BLOM BLOM created to fill need for Intuitive user-friendly model creation Good performance on large scale nonconvex problems Integration with Matlab/Simulink environment

Dynamic Optimization System model propagating over time horizon States x(t), inputs u(t), disturbances w(t) Constant parameters p MPC: p known, x(0) measured, w(t) predicted, optimize u(t) System ID: x(t), u(t), w(t) measured/estimated, optimize p Continuous-time model: Discrete-time model: Dynamic optimization leads to specific structure BLOM, ACADO, Optimica designed for this structure Otherwise requires manual replication of model over time

Components and Workflow of BLOM BLOM model Forward simulation Model validation Auto translation Export opt problem Ipopt fmincon …. Optimization results Optimal Control System Identification Create model in Simulink with BLOM library Automatically generate efficient problem representation Compiled interface to optimization solvers

Simulink Front End Create block diagram model using BLOM library Cost function Constraints Unknown variable inputs Known external inputs Nonlinear function blocks Continuous-time or discrete-time states Intuitively captures signal flow, connectivity, and hierarchy of large scale models Same model used for forward simulation, model validation, and optimization Productivity and collaborative benefits of graphical model vs text-based code

Automatic Conversion of Simulink Model Every Simulink wire is a variable at each time step Nonlinear function blocks are equality constraints between inputs and outputs States are equality constraints between adjacent time steps Continuous states discretized using fixed-step implicit or explicit Runge Kutta, Euler, trapezoidal, etc (user selects discretization) Leads to many variables, but very sparse problem Need to capture and take advantage of sparsity structure Currently nonlinear functions must use our Polyblock format to extract structure, work in progress to automatically convert general Simulink blocks

Efficient Problem Representation Why are LP, QP easy? Standard format, e.g. for QP: Gradient, Jacobian, etc immediate Typical nonlinear approach: Code generation or parsing, algorithmic differentiation Explicit code gen does not scale well to very large problems BLOM is our proposal for standardized NLP format Represent nonlinear structure of model in sparse matrices Matrix of exponents/functions, matrix of coefficients Cost vector, upper and lower bound vectors Key to performance of optimization algorithms

BLOM Format Details Multivariate polynomial-like structure with sparse P, K Closed-form sparse Jacobian, Hessian

Interface to Optimization Solvers Solvers need functions for cost, constraint, gradient, Jacobian, Hessian evaluation given current x With BLOM format, these are simple wrappers Save P, K, c, and bound vectors from Matlab We mostly use Ipopt, which is open source and very fast Can use fmincon via Matlab code generation, only viable for small problems Can linearize and use linprog More can be added, just need to write wrapper functions to translate BLOM format into solver inputs Auto-generation of AMPL, ACADO, Optimica, etc for comparison

Performance Results EPMO model from Oct 29th 28 discrete-time states, 48 step prediction horizon 3900 total variables, 1100 fixed (external inputs) 1400 equality constraints, 3400 inequality constraints Time to extract model: < 3 sec Optimization solution using Ipopt and MUMPS linear solver: 7 sec (MA57 linear solver: 4 sec) Productivity and development savings vs manual formulation: probably hundreds of man-hours

Release Availability and License Publicly available since September Follow links at www.mpc.berkeley.edu, under Software BSD license: free to use, modify, or redistribute Please cite us if you find it useful (as academic courtesy, not a condition of license) Being used in Master’s level MPC course at Berkeley, HVAC MPC in our lab, wave energy conversion research Not application specific, feel free to evaluate for other projects

Ongoing Development Top priority: allow models constructed from built-in Simulink blocks – products, sums, nonlinear functions Would be able to take preexisting Simulink models (if simple), just mark cost, constraints, and inputs Improved documentation, including quick-start guide Code cleanup for better data structures, readability Interface to more optimization solvers, languages Thorough benchmarking vs other similar tools Simpler mechanism for terminal constraints and cost Norms over vector elements or time for cost, constraints Discretization enhancements, fixes, more methods

Conclusions BLOM eliminates manual coding of optimization model, facilitates very fast development cycle Don’t need optimization expert to perform a model update High performance for very large scale models Simplifies collaborative development and knowledge transfer between team members Using someone else’s block diagram vs reading their code Develop model once, use with any solver and environment later

Thanks! Any questions?

Demonstration…