Convex Relaxations in Mixed-Integer Optimization – Methods and Control Applications
Robin Vujanic
Institut f¨ ur Automatik (IfA) Department of Electrical Engineering Swiss Federal Institute of Technology (ETHZ)
August 20, 2014
1 / 19
Convex Relaxations in Mixed-Integer Optimization Methods and - - PowerPoint PPT Presentation
Convex Relaxations in Mixed-Integer Optimization Methods and Control Applications Robin Vujanic Institut f ur Automatik (IfA) Department of Electrical Engineering Swiss Federal Institute of Technology (ETHZ) August 20, 2014 1 / 19
1 / 19
2 / 19
◮ physical measurements of voltages ◮ concentrations ◮ and positions in space
◮ on/off decisions ◮ switches ◮ and logic reasoning (if, or, . . . )
3 / 19
◮ bad in a control context
4 / 19
◮ Power Systems ◮ Supply Chain Optimization
◮ Scheduling under Uncertainty ◮ PWM Systems 5 / 19
◮ Power Systems ◮ Supply Chain Optimization
◮ Scheduling under Uncertainty ◮ PWM Systems 5 / 19
6 / 19
◮ subsystem model is Xi (mixed–integer) ◮ coupled by shared resources → coupling constraints
i Hixi ≤ b
7 / 19 . . .
Substation
. . . . . . . . . . . . . . .
aggregated flow Rest of the Network critical branch flow
8 / 19
◮ violate coupling constraints 9 / 19
◮ technique based on Shapley–Folkman–Starr theorem [CDC ’14] ◮ or simplex tableaux argument [MED ’13] ◮ these arguments are used to show bounded duality gap [Ekeland ’76,
10 / 19
11 / 19
A B C D E F 1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 14 20 21 22 23 25 26 27 24 28 Subsystems A B C D E F 7 13 14 19 23 20 24 28 − − − − k-th row [Hi]i∈Ik 1 6 − A1 H1 H2 HI A2 AI . . . . . . . . . . . . . . . . . .
12 / 19
13 / 19
14 / 19
◮ required final State of Charge ◮ fixed charge rates ◮ battery capacity limits
◮ network congestion avoidance
◮ “valley fill”, cost min., . . . 15 / 19
from [Lopes ’11] 0:00 1:30 3:00 4:30 6:00 7:30 10 20 State of Charge (kWh) SoC desired final SoC 0:00 1:30 3:00 4:30 6:00 7:30 0.5 1 Charge Control Time of the Day
◮ support extensions (e.g., vehicle–to–grid “V2G”)
◮ greedy subproblem structure 16 / 19
0:00 1:30 3:00 4:30 6:00 7:30 2 4 6 8 10 Time of the Day Power Profiles (MW) reference iteration #80 final iteration
14:00 17:00 20:00 23:00 2:00 5:00 8:00 11:00 10 20 30 40 50 60 70 Time of the Day Total Power Flow (MW) base load base + EVs load
0:00 1:30 3:00 4:30 6:00 7:30 0.5 1 1.5 2 2.5 3 Time of the Day Branch Power Flow (MW) line capacity contracted line cap. flow iteration #80 final iteration
0:00 1:30 3:00 4:30 6:00 7:30 10 20 State of Charge (kWh) SoC desired final SoC 0:00 1:30 3:00 4:30 6:00 7:30 −1 1 Charge Control Time of the Day
17 / 19
◮ control of TCLs ◮ large fleet of generators
18 / 19
19 / 19
19 / 19
19 / 19
19 / 19
X1 X2 min .
s.t.
Aixi ≤ di xi ∈ {0, 1}ni X1 X2 min .
s.t.
Aixi ≤ di conv
X1 X2 min .
s.t.
conv
Aixi ≤ di
xi ∈ {0, 1}ni
X1 X2 min .
s.t. conv
Aixi ≤ di xi ∈ {0, 1}ni
19 / 19
19 / 19
19 / 19
λ≥0
x1,x2∈{0,1}
19 / 19
λ≥0
x1,x2∈{0,1}
19 / 19
λ≥0
x1,x2∈{0,1}
19 / 19
λ≥0
x1,x2∈{0,1}
LP
19 / 19
19 / 19
19 / 19
19 / 19
19 / 19
x∈X
x∈X
λ≥0 d(λ) 19 / 19
x∈X
λ≥0 d(λ)
19 / 19
x∈X
λ≥0 d(λ)
x∈X
λ≥0 d(λ)
19 / 19
x∈X
λ≥0 d(λ)
19 / 19
x∈X
λ≥0 d(λ)
19 / 19
◮ feasible w.r.t. the complicating constraints ◮ returns integral solutions for |I| − m subproblems
19 / 19
◮ feasible w.r.t. the complicating constraints ◮ returns integral solutions for |I| − m subproblems
19 / 19
0.5 1 0.5 1 X1 0.5 1 X2 0.5 1 0 0.5 1 2 X3 0.5 1 0.5 1 X4
−2 2 −3 −2 −1 1 2 3
1 2
○
1 2
19 / 19
0.5 1 0.5 1 X1 0.5 1 X2 0.5 1 0 0.5 1 2 X3 0.5 1 0.5 1 X4
−2 2 1 2 3 S1 = H1X1 0.5 1 −3 −2 −1 S2 = H2X2 −1 1 −1 1 2 S3 = H3X3 1 2 0.5 1 1.5 S4 = H4X4
−2 2 −3 −2 −1 1 2 3
1 2
○
1 2
19 / 19
0.5 1 0.5 1 X1 0.5 1 X2 0.5 1 0 0.5 1 2 X3 0.5 1 0.5 1 X4
−2 2 1 2 3 S1 = H1X1 0.5 1 −3 −2 −1 S2 = H2X2 −1 1 −1 1 2 S3 = H3X3 1 2 0.5 1 1.5 S4 = H4X4
−2 2 4 6 −3 −2 −1 1 2 3 4 5 6 H1(x) H2(x) S =
iHiXi
○ + b1 b2
19 / 19
0.5 1 0.5 1 X1 0.5 1 X2 0.5 1 0 0.5 1 2 X3 0.5 1 0.5 1 X4
−2 2 1 2 3 S1 = H1X1 0.5 1 −3 −2 −1 S2 = H2X2 −1 1 −1 1 2 S3 = H3X3 1 2 0.5 1 1.5 S4 = H4X4
−2 2 4 6 −3 −2 −1 1 2 3 4 5 6 H 1(x) H 2(x) S and conv(S) b1 b2
19 / 19
0.5 1 0.5 1 X1 0.5 1 X2 0.5 1 0 0.5 1 2 X3 0.5 1 0.5 1 X4
−2 2 1 2 3 S1 = H1X1 0.5 1 −3 −2 −1 S2 = H2X2 −1 1 −1 1 2 S3 = H3X3 1 2 0.5 1 1.5 S4 = H4X4
−2 2 4 6 −3 −2 −1 1 2 3 4 5 6 H 1(x) H 2(x) S and conv(S) b1 b2
19 / 19
19 / 19
◮ demand uncertainty and high storage costs ◮ restrictions on manufacturing capacity
◮ EITHER fully supply a smaller set of customers ◮ OR partially supply a larger set
19 / 19
◮ demand uncertainty and high storage costs ◮ restrictions on manufacturing capacity
◮ EITHER fully supply a smaller set of customers ◮ OR partially supply a larger set
19 / 19
19 / 19
◮ at N = 300, M = 75
19 / 19
◮ s(k) steplength, pick s(k) = α/k. ◮ γ(k) a subgradient, pick γ(k) =
i∈I Hixi(λ(k)) − b.
19 / 19
◮ |I1| ≥ |I| − m − 1
◮ EITHER ˆ
i = 0
◮ OR set b → b −
i∈I1 Hi ˆ
i , and solve smaller dimensional problem
19 / 19
e,u,v
i∈I
i
i ui − E out i
i
i
i
19 / 19
◮ solved using a subgradient method ◮ constant stepsize, decreased every 20–30 iterations
◮ charge only: optimal local solution is greedy (easy to show) ◮ charge+V2G: deploy DP (local problems are 1D) 19 / 19
19 / 19
19 / 19
19 / 19
19 / 19
19 / 19
50 100 150 1.5 2 2.5 3 3.5 4 4.5 5 iteration # dual objective (k euro) 50 100 150 1 2 3 4 5 iteration # dual objective (k euro) 50 100 150 20 40 60 80 100 iteration #
i∈I Hixi − b)+
lower bound infeas. upper bound infeas.
50 100 150 20 40 60 80 100 iteration #
i∈I Hixi − b)+
lower bound infeas. upper bound infeas.
19 / 19
Proposed Method CPLEX
Solve time (sec) Solve time (sec) # of EVs Min Avg Max Min Avg Max Min Avg Max 200 3.24 3.32 3.41 * * * 1.97 2.16 3.74 350 2.21 2.44 2.58 * * * 1.13 1.79 2.30 500 1.40 1.46 1.54 * * * 1.02 1.24 1.52 700 1.01 1.05 1.10 0.31 0.31 0.31 1.27 1.29 1.31 1000 0.68 0.72 0.76 0.44 0.44 0.44 1.68 1.70 1.73 1500 0.46 0.47 0.49 0.67 0.70 0.70 2.39 2.42 2.45 2000 0.33 0.35 0.36 0.88 0.88 0.89 3.22 3.30 3.41 5000 0.13 0.14 0.14 2.17 2.21 2.23 8.00 8.18 8.43 7000 0.05 0.05 0.06 3.14 3.15 3.16 11.40 11.74 13.25 10000 0.03 0.03 0.04 4.45 4.51 4.52 17.41 17.77 18.43 (*) ≤ 0.3 sec (imprecise measurements).
19 / 19
Proposed Method CPLEX
Solve time (min) Solve time (min) # of EVs Min Avg Max Min Avg Max Min Avg Max 200 8.82 10.51 12.37 1.05 1.06 1.08 0.06 0.07 0.07 350 2.93 3.24 3.51 1.48 1.49 1.52 1.56 6.89 15.81 500 2.05 2.15 2.24 1.85 1.93 2.62 15.21(*) 65.10(*) 262.81(*) 700 1.48 1.54 1.61 2.43 2.44 2.48 – – – 1000 1.01 1.05 1.10 3.24 3.26 3.28 – – – 1500 0.65 0.68 0.72 4.72 4.74 4.81 – – – 2000 0.45 0.50 0.53 6.19 6.21 6.23 – – – 5000 0.12 0.15 0.20 14.88 14.90 14.95 – – – 7000 0.09 0.10 0.12 20.59 20.77 21.94 – – – 10000 0.06 0.07 0.07 29.34 29.39 29.58 – – – (*) failed to solve two instances (out of memory) (–) out of memory before attaining the desired optimality gap
19 / 19
19 / 19
◮ p is dimension K (huge), hence requires K equalities to be determined ◮ in PLP, only |I| + m equalities, so K − (|I| + m) equalities have to be
i ≥ 0
◮ hence at most |I| + m entries pj
i can be > 0 (“at most” comes from
19 / 19
19 / 19
encode possible delay
task A is length 2
19 / 19
encode possible delay
task A is length 2
19 / 19
encode possible delay
task A is length 2 the algorithm produces...
19 / 19
1
2
I
19 / 19
19 / 19
◮ ”optimal decision is taken at each stage in the horizon” ◮ uk = π(xk) ◮ often intractable
◮ ”decide now for the entire horizon” (plan can’t be modifed) ◮ uk = vk ◮ poor performance, infeasibility issues
◮ ”decisions are affinely adjusted once disturb. are meas.” ◮ 19 / 19
◮ ”optimal decision is taken at each stage in the horizon” ◮ uk = π(xk) ◮ often intractable
◮ ”decide now for the entire horizon” (plan can’t be modifed) ◮ uk = vk ◮ poor performance, infeasibility issues
◮ ”decisions are affinely adjusted once disturb. are meas.” ◮ 19 / 19
◮ ”optimal decision is taken at each stage in the horizon” ◮ uk = π(xk) ◮ often intractable
◮ ”decide now for the entire horizon” (plan can’t be modifed) ◮ uk = vk ◮ poor performance, infeasibility issues
◮ ”decisions are affinely adjusted once disturb. are meas.” ◮ 19 / 19
◮ ”optimal decision is taken at each stage in the horizon” ◮ uk = π(xk) ◮ often intractable
◮ ”decide now for the entire horizon” (plan can’t be modifed) ◮ uk = vk ◮ poor performance, infeasibility issues
◮ ”decisions are affinely adjusted once disturb. are meas.” ◮ uk = vk + k
j=0 Kkjxj
19 / 19
◮ ”optimal decision is taken at each stage in the horizon” ◮ uk = π(xk) ◮ often intractable
◮ ”decide now for the entire horizon” (plan can’t be modifed) ◮ uk = vk ◮ poor performance, infeasibility issues
◮ ”decisions are affinely adjusted once disturb. are meas.” ◮ uk = vk + k
j=0 Mkjwj
19 / 19
19 / 19
19 / 19
◮ in the dynamics, e.g. switching between modes ◮ in the constr., e.g. logic conditions on the inputs
19 / 19
19 / 19
19 / 19
19 / 19
RL RC id(t) L C Rout
Vin
iL(t) VC(t) Vo(t)
19 / 19
19 / 19
*
*
19 / 19
C,ref
C/33V (avg)
19 / 19
19 / 19
0.2 0.4 0.6 0.8 1 binary input control signal 0.2 0.4 0.6 0.8 1 time (A) AVERAGED (B) HYBRID cycle
19 / 19
VC s
A12 B1 A21 A22 B2 1
VC s
B2 1 −1
δ+ δ−
G2
k , δ− k ∈ {0, 1}
k ≤ uc,k ≤ δ+ k
i=0 δ+ k+i ≤ 1
i=0 δ− k+i ≤ 1
19 / 19
*
C/V C *
19 / 19
C/33V
C,ref
C/33V (avg)
hyb
19 / 19