Professional Documents
Culture Documents
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
2/63
Problem Classes
Nonlinear
Convex
Non-convex
Logical
T
F
3/63
Problem Classes
Nonlinear
Convex
Non-convex
Logical
T
F
Nonlinear opt.
No MIP
Mixed-integer Programming for Control
4/63
Problem Classes
Nonlinear
Convex
Non-convex
Logical
T
F
Nonlinear opt.
No MIP
MIP
Mixed-integer Programming for Control
5/63
Problem Classes
Nonlinear
Convex
Non-convex
Logical
T
F
Nonlinear opt.
No MIP
Approximate
by MIP
Mixed-integer Programming for Control
MIP
6/63
Problem Classes
Nonlinear
Convex
Non-convex
Logical
T
F
Two main goals of MIP approach:
capture non-convexity and logic
T
F
Nonlinear opt.
No MIP
Approximate
by MIP
Mixed-integer Programming for Control
MIP
7/63
Problem Classes
Nonlinear
Convex
Non-convex
Logical
T
F
Two main goals of MIP approach:
capture non-convexity and logic
T
Encode non-convexity
using
F
integers
Nonlinear opt.
No MIP
8/63
Assignment
Non-convex constraints
Piecewise affine systems
Solving MIP
Using optimization for feedback control
Techniques for online solution of MIP
Examples
Mixed-integer Programming for Control
9/63
10/63
Web Resources
Slides and sample codes available online
Web resources
acl.mit.edu/MILP
seis.bris.ac.uk/~aeagr
Email
arthur.richards@bristol.ac.uk
jhow@mit.edu
11/63
Formal Definition
Mixed-integer Linear Program (MILP)
Inherently non-convex
NP-complete
BUT with good software, can find globaloptimum in many useful instances
Mixed-integer Programming for Control
12/63
(B1,A1)
(B3,A3) (B4,A4)
14/63
15/63
16/63
17/63
or a2x b2
MILP form
18/63
or a2x b2
e.g. choose z1 = 1
MILP form
requires z2 = 0
19/63
or a2x b2
e.g. choose z1 = 1
MILP form
requires z2 = 0
20/63
or a2x b2
e.g. choose z1 = 1
MILP form
requires z2 = 0
21/63
or a2x b2
OR choose z2 = 1
MILP form
requires z1 = 0
22/63
Similar to disjunction
Point (x, y) must be outside obstacle
x x max Mc 1
and x min x Mc 2 c1=0
and y y max Mc 3 c =0
2
and y min y Mc 4
and
c
k =1
c3=0
(xmax , ymax)
(xmin , ymin)
c4=0
23/63
24/63
25/63
26/63
MIP representation
27/63
2-norm approximation
28/63
29/63
Modelling References
C. Floudas Nonlinear and Mixed-Integer Programming Fundamentals and Applications Oxford University
Press, 1995.
A. Bemporad and M. Morari Control of systems
integrating logic, dynamics, and constraints,
Automatica, 35:407-427, 1999
H. Williams and S. Brailsford, ``Computational Logic
and Integer Programming," in Advances in Linear and
Integer Programming, Editor J. E. Beasley, Clarendon
Press, 1996, pp.249-281.
D. Bertsimas and J. N. Tsitsiklis, Introduction to Linear
Optimization, Athena Scientific, 1997.
Mixed-integer Programming for Control
30/63
MIP Solution
32/63
33/63
34/63
35/63
Other Software
36/63
Special cases
Dynamic programming for knapsack problem
Mixed-integer Programming for Control
37/63
39/63
40/63
Properties of MPC
41/63
Properties of MPC
42/63
Properties of MPC
43/63
Properties of MPC
Very
Use general
recursion
to prove
cost
decrease
results,
easily
handling
MIP
If notconstraints
at setpoint, J(k+1)
J(k)
a(x(k))
[Bemporad
and Morari, 1999]
dynamics,
and cost
44/63
45/63
46/63
Terminal
Control limits
Mode logic
47/63
Computation Time
Need to solve MIP online
Good computer and solver handle most cases
Still NP-hard problem some instances of large
problems can be slow
49/63
50/63
51/63
Strategy:
Group time-steps
Time
(secs)
No plume
constraints
All plume
constraints
1800
(limit)
Groups of three
587
52/63
Approximate Cost-to-Go
Replace tail of long plan with approximate
plan
Re-plan online as goal approached
53/63
Multi-Parametric MIP
Calculate solution offline as a piecewise
affine function of the initial condition
[Bemporad et al 2004]
Offline
Online
Solve
mpMIP
PWA
lookup
Solution
map
Execute
first step
54/63
HVT
SAM
56/63
Experimental Scenario
4 vehicles
16 tasks
Full horizon assignment
approach
not scalable for real-time
assignment
Environment with dynamic
changes
Original assignment
Vehicle death
Pop-up target
Vehicle death
Target location update
Mixed-integer Programming for Control
57/63
Experimental Scenario
4 vehicles
16 tasks
Full horizon assignment
approach
not scalable for real-time
assignment
Environment with dynamic
changes
Original assignment
Vehicle death
Pop-up target
Vehicle death
Target location update
Mixed-integer Programming for Control
58/63
UAV Example
UAV Example
Very simple trial example
One UAV avoiding one obstacle
Uses MPC and MIP
Problem
Download: http://seis.bris.ac.uk/~aeagr
Mixed-integer Programming for Control
60/63
UAV Example
Very simple trial example
One UAV avoiding one obstacle
Uses MPC and MIP
Implementation
Download: http://seis.bris.ac.uk/~aeagr
Mixed-integer Programming for Control
61/63
Session Outline
62/63
Questions?
Web resources
acl.mit.edu/MILP
seis.bris.ac.uk/~aeagr
Email
arthur.richards@bristol.ac.uk
jhow@mit.edu
63/63