for Control
Arthur Richards
and
Jonathan How
Motivation
• What is Mixed-integer Programming?
– MIP is an optimization method that combines
continuous and discrete variables
• Why is it useful?
– MIP can model complex planning and control
problems involving both continuous and discrete
decisions
T F
T F
Nonlinear opt.
No MIP
Mixed-integer Programming for Control 4/63
Problem Classes
Nonlinear Non-convex Logical
Convex
T F
T F
T F
Two main goals of MIP approach:
capture non-convexity and logic
T
T F
Two main goals of MIP approach:
capture non-convexity and logic
T
• Encode non-convexity
F
using
integers
• Then apply powerful integer
Nonlinear opt. Approximate MIP
optimization tools to non-convex
No MIP by MIP
problems
Mixed-integer Programming for Control 8/63
Session Outline (1/2)
1. Introduction to MIP
– MIP definition
– Modeling
• Assignment
• Non-convex constraints
• Piecewise affine systems
– Solving MIP
– Using optimization for feedback control
– Techniques for online solution of MIP
– Examples
• Inherently non-convex
• NP-complete
BUT with good software, can find global-
optimum in many useful instances
Mixed-integer Programming for Control 12/63
Modelling using MIP
MIP Modelling 1: PWA
[Example from Bersimas and Tsitsiklis]
(B5,A5)
(B2,A2)
(B3,A3) (B4,A4)
(B1,A1)
• MILP form
requires z2 = 0
requires z2 = 0
requires z2 = 0
requires z1 = 0
• Similar to disjunction
• Point (x, y) must be outside obstacle
x − x max ≥ − Mc 1
and x min − x ≥ − Mc 2 c1=0 ⇒
y (xmax , ymax)
and y − y max ≥ − Mc 3 c =0 ⇒
2
and y min − y ≥ − Mc 4 (xmin , ymin)
4 c3=0 ⇒ x
and ∑c
k =1
k ≤3
c4=0 ⇒
Mode 2
Mode 2
• MIP representation
• Implements branch-and-bound in
conjunction with tried and tested
branching heuristics
• Interfaces
– AMPL
– Matlab MEX
– C API
– Cost
• Very
Use general
recursion to prove
results, cost
easily decrease
handling MIP
dynamics, at setpoint, J(k+1)
– If notconstraints ≤ J(k)
and cost – a(x(k))
[Bemporad and Morari, 1999]
Mode 2
Dynamics
Initial condition
Terminal
Control limits
Mode logic
• Strategy:
All plume 1800
– Group time-steps
constraints (limit)
SAM
• Problem
– Matlab sim script
– AMPL data file
– AMPL state file
– AMPL script
– AMPL model file
• Download: http://seis.bris.ac.uk/~aeagr
• Implementation
– Matlab sim script
– AMPL data file
– AMPL state file
– AMPL script
– AMPL model file
• Download: http://seis.bris.ac.uk/~aeagr
• Web resources
acl.mit.edu/MILP
seis.bris.ac.uk/~aeagr
• Email
arthur.richards@bristol.ac.uk
jhow@mit.edu