Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Mixed-Integer programming approaches for some non-convex andcombinatorial optimization problems.
Srikrishna Sridhar
Computer Sciences
University of Wisconsin-Madison
http://www.cs.wisc.edu/∼srikris/
Advised By
Jeff Linderoth, James Luedtke, and Stephen Wright
Committee
Jeff Linderoth, James Luedtke, Christopher Re, Thomas Rutherford, and Stephen Wright
1
Life since 2009
I Part 1: Mixed integer programming (MIP) techniques with applications in:
I Chemical processes design.
I Compressors scheduling in petroleum reservoirs.
I Hydro turbine performance modelling.
I Part 2: Approximation algorithms for combinatorial problems using approximate LPRounding.
2
Life since 2009
I Part 1: Mixed integer programming (MIP) techniques with applications in:
I Extraction of natural resources like oil and natural gas.
I Chemical processes design.
I Compressors scheduling in petroleum reservoirs.
I Hydro turbine performance modelling.
I Part 2: Approximation algorithms for combinatorial problems using approximate LPRounding.
2
Life since 2009
I Part 1: Mixed integer programming (MIP) techniques with applications in:
I Extraction of natural resources like oil and natural gas. Sample Application!
I Chemical processes design.
I Compressors scheduling in petroleum reservoirs.
I Hydro turbine performance modelling.
I Part 2: Approximation algorithms for combinatorial problems using approximate LPRounding.
2
Life since 2009
I Part 1: Mixed integer programming (MIP) techniques with applications in:
I Extraction of natural resources like oil and natural gas.
I Chemical processes design.
I Compressors scheduling in petroleum reservoirs.
I Hydro turbine performance modelling.
I Part 2: Approximation algorithms for combinatorial problems using approximate LPRounding.
2
Part 1: MIP techniques for some non-convex problems.
FPSO
Field
Reservoir
Well
Injection Lines Fiscal Model
Production Model
PLF Model
3
Oil Field Development Life Cycle
Exploration
Appraisal
Development
Production
Abandonment
Data Collection
Strategic Planning
4
Oil Field Development Life Cycle
Exploration
Appraisal
Development
Production
Abandonment
Data Collection
Strategic Planning
4
Oil Field Development Infrastructure1
1Statoil Peregrino Field
5
Oil Field Development Infrastructure1
FPSO
Field
Reservoir
Well
Injection Lines
1Tarhan, Grossmann, and Goel, Industrial & Engineering Chemistry Research (2009)
6
Why do we care?
FPSO development & installation. ≈ $5B1
Oil field development & installation. ≈ $1B1
20 year operational expenses. ≈ $5B1
Knowing optimal strategic & operational de-cisions for a 20 year horizon.
1Estimate: Do not start an oil company based on these estimates.
7
Why do we care?
FPSO development & installation. ≈ $5B1
Oil field development & installation. ≈ $1B1
20 year operational expenses. ≈ $5B1
Knowing optimal strategic & operational de-cisions for a 20 year horizon.
1Estimate: Do not start an oil company based on these estimates.
7
Why do we care?
FPSO development & installation. ≈ $5B1
Oil field development & installation. ≈ $1B1
20 year operational expenses. ≈ $5B1
Knowing optimal strategic & operational de-cisions for a 20 year horizon.
1Estimate: Do not start an oil company based on these estimates.
7
Why do we care?
FPSO development & installation. ≈ $5B1
Oil field development & installation. ≈ $1B1
20 year operational expenses. ≈ $5B1
Knowing optimal strategic & operational de-cisions for a 20 year horizon. Priceless2
1Estimate: Do not start an oil company based on these estimates.2Accurate: You may start a company based on this estimate.
7
Supermodel...
FPSO
Field
Reservoir
Well
Injection Lines
8
Dissected Supermodel...
FPSO
Field
Reservoir
Well
Injection Lines
9
Dissected Supermodel...
FPSO
Field
Reservoir
Well
Injection Lines
9
Dissected Supermodel...
FPSO
Field
Reservoir
Well
Injection Lines
9
Dissected Supermodel...
FPSO
Field
Reservoir
Well
Injection Lines
9
Dissected Supermodel...
FPSO
Field
Reservoir
Well
Injection Lines Fiscal Model
Production Model
PLF Model
9
Key Challenges while Modelling Oil Field Infrastructure Planning
FPSO
Field
Reservoir
Well
Injection Lines Fiscal Model
Production Model
PLF Model
10
Contributions
I PLF Model: Perfect MIP models for piecewise linear functions (PLFs) with indicatorvariables.1
I Production Model: Convex reformulation of the production planning process toeliminate the bilinear terms from the MIP model. 2
I Fiscal Model: MIP models, solution techniques, and algorithms for productionplanning problems in the presence of complex fiscal objectives. 3
1Sridhar, Linderoth, and Luedtke Operations Research Letters (2013)
11
Contributions
I PLF Model: Perfect MIP models for piecewise linear functions (PLFs) with indicatorvariables.1
I Production Model: Convex reformulation of the production planning process toeliminate the bilinear terms from the MIP model. 2
I Fiscal Model: MIP models, solution techniques, and algorithms for productionplanning problems in the presence of complex fiscal objectives. 3
1Sridhar, Linderoth, and Luedtke Operations Research Letters (2013)2Sridhar, Linderoth, and Luedtke Journal of Global Optimization (2014) – under review
11
Contributions
I PLF Model: Perfect MIP models for piecewise linear functions (PLFs) with indicatorvariables.1
I Production Model: Convex reformulation of the production planning process toeliminate the bilinear terms from the MIP model. 2
I Fiscal Model: MIP models, solution techniques, and algorithms for productionplanning problems in the presence of complex fiscal objectives. 3
1Sridhar, Linderoth, and Luedtke Operations Research Letters (2013)2Sridhar, Linderoth, and Luedtke Journal of Global Optimization (2014) – under review2Sridhar, Linderoth, Luedtke, and Wright – in preparation
11
Challenge I: MIP Formulations for PLFs with Indicator Variables.
FPSO
Field
Reservoir
Well
Injection Lines Fiscal Model
Production Model
PLF Model
12
Challenge I: MIP Formulations for PLFs with Indicator Variables.
FPSO
Field
Reservoir
Well
Injection Lines Fiscal Model
Production Model
PLF Model
12
Challenge I: MIP Formulations for PLFs with Indicator Variables.
FPSO
Field
Reservoir
Well
Injection Lines
12
Challenge I: Nonlinear Production Functions
I The production process creates a mixture of useful products P+ and byproducts P−.
I Production function f (·) is a concave function that determines the maximumproduction rate as a function of total production v(t).
I Product fraction functions gp(·) evolve monotonically as a function of the totalproduction v(t).
Total production (v(t))
Maximum production rate (f)
Total production (v(t))
Product fraction (gp)
Useful product
By-product
13
Challenge I: Nonlinear Production Functions
I The production process creates a mixture of useful products P+ and byproducts P−.
I Production function f (·) is a concave function that determines the maximumproduction rate as a function of total production v(t).
I Product fraction functions gp(·) evolve monotonically as a function of the totalproduction v(t).
Total production (v(t))
Maximum production rate (f)
Total production (v(t))
Product fraction (gp)
Useful product
By-product
13
Challenge I: Nonlinear Production Functions
I The production process creates a mixture of useful products P+ and byproducts P−.
I Production function f (·) is a concave function that determines the maximumproduction rate as a function of total production v(t).
I Product fraction functions gp(·) evolve monotonically as a function of the totalproduction v(t).
Total production (v(t))
Maximum production rate (f)
Total production (v(t))
Product fraction (gp)
Useful product
By-product
13
Challenge I: Nonlinear Production Functions
I The production process creates a mixture of useful products P+ and byproducts P−.
I Production function f (·) is a concave function that determines the maximumproduction rate as a function of total production v(t).
I Product fraction functions gp(·) evolve monotonically as a function of the totalproduction v(t).
Total production (v(t))
Maximum production rate (f)
Total production (v(t))
Product fraction (gp)
Useful product
By-product
13
Challenge I: Nonlinear Production Functions
Contribution: Piecewise linear functions (PLFs) with indicator variables to tacklenonlinearity!1
B0 B1 B2 B3
Variable (x)
Funct
ion f
(x)
[B0 ,f(B0 )]
[B1 ,f(B1 )]
[B2 ,f(B2 )] [B3 ,f(B3 )]
1Sridhar, Linderoth, and Luedtke Operations Research Letters (2013)
13
Challenge I: MIP Formulations for PLFs with Indicator Variables
MIP formulations for PLFs that are evaluated when an indicator variable (z) is turned on.
z = 0︸ ︷︷ ︸Binary variable
⇒ x = 0︸ ︷︷ ︸Function argument
, f (x) = 0︸ ︷︷ ︸PLF
.
Application Reference
Gas network optimization Martin et al. (2006)
Transmissions expansion planning Alguacil et al. (2003)
Thermal unit commitment Carrion et al. (2006)
Oil field development Gupta et al. (2012)
Hydro Scheduling Borghetti et al. (2008)
Sales resource allocation Lodish et al. (1971)
14
Challenge I: MIP Formulations for PLFs with Indicator Variables
MIP formulations for PLFs that are evaluated when an indicator variable (z) is turned on.
z = 0︸ ︷︷ ︸Binary variable
⇒ x = 0︸ ︷︷ ︸Function argument
, f (x) = 0︸ ︷︷ ︸PLF
.
Application Reference
Gas network optimization Martin et al. (2006)
Transmissions expansion planning Alguacil et al. (2003)
Thermal unit commitment Carrion et al. (2006)
Oil field development Gupta et al. (2012)
Hydro Scheduling Borghetti et al. (2008)
Sales resource allocation Lodish et al. (1971)
14
Challenge I: MIP Formulations for PLFs with Indicator Variables
MIP formulations for PLFs that are evaluated when an indicator variable (z) is turned on.
z = 0︸ ︷︷ ︸Binary variable
⇒ x = 0︸ ︷︷ ︸Function argument
, f (x) = 0︸ ︷︷ ︸PLF
.
Application Reference
Gas network optimization Martin et al. (2006)
Transmissions expansion planning Alguacil et al. (2003)
Thermal unit commitment Carrion et al. (2006)
Oil field development Gupta et al. (2012)
Hydro Scheduling Borghetti et al. (2008)
Sales resource allocation Lodish et al. (1971)
14
Challenge I: MIP Formulations for PLFs with Indicator Variables
MIP formulations for PLFs that are evaluated when an indicator variable (z) is turned on.
z = 0︸ ︷︷ ︸Binary variable
⇒ x = 0︸ ︷︷ ︸Function argument
, f (x) = 0︸ ︷︷ ︸PLF
.
SOS2 Model
B0 B1 B2 B3
Variable (x)
Funct
ion f
(x)
[B0 ,f(B0 )]
[B1 ,f(B1 )]
[B2 ,f(B2 )] [B3 ,f(B3 )]
Beale and Tomlin(1970)
Incremental Model
B0 B1 B2 B3 B4 B5
Variable (x)
Funct
ion f
(x)
δ0 δ1 δ2 δ3 δ4
Markowitz and Manne(1957)
Multiple Choice
B0 B1 B2 B3
Variable (x)
Funct
ion f
(x)
z0 =1 z1 =1 z2 =1
Balakrishnan and Graves(1989)
14
Challenge I: MIP Formulations for PLFs with Indicator Variables
MIP formulations for PLFs that are evaluated when an indicator variable (z) is turned on.
z = 0︸ ︷︷ ︸Binary variable
⇒ x = 0︸ ︷︷ ︸Function argument
, f (x) = 0︸ ︷︷ ︸PLF
.
Theoretical Results1
I Our proposed formulations is locally ideal.
I Previously proposed formulations are not locally ideal. (counter example)
1Sridhar, Linderoth, and Luedtke Operations Research Letters (2013)
14
Challenge I: Numerical Experiments
Solve time
0 800 1600 2400 3200MIP Solve time (s)
0.0
0.2
0.4
0.6
0.8
1.0
Fract
ion o
f data
sets
P(S2 ) P(S1 )
Root LP gap
0 10 20 30 40LP relaxation gap (%)
0.0
0.2
0.4
0.6
0.8
1.0
Fract
ion o
f data
sets
P(S2 ) P(S1 )
Nodes explored
0 400 800 1200 1600Nodes
0.0
0.2
0.4
0.6
0.8
1.0
Fract
ion o
f data
sets
P(S2 ) P(S1 )
Average Performance Improvement1
I 40x faster solve times.
I 15x fewer nodes explored.
I 20% better root node gaps.
1Sridhar, Linderoth, and Luedtke Operations Research Letters (2013)
15
Challenge II: Bilinear Terms in Production Process
FPSO
Field
Reservoir
Well
Injection Lines Fiscal Model
Production Model
PLF Model
16
Challenge II: Bilinear Terms in Production Process
FPSO
Field
Reservoir
Well
Injection Lines Fiscal Model
Production Model
PLF Model
16
Challenge II: Bilinear Terms in Production Process
Cumulative production v(t) is calculatedusing production rate x(t)
v(t) =
∫ t
0
x(s)ds
Production rate is limited by a productionfunction f (·)
x(t) ≤ f (v(t))
Product production rates yp(t) calculatedby fraction functions gp(·)
yp(t) = x(t) gp(v(t))
Production profiles are active only after thestart time z(t)
z(t) = 0⇒ v(t) = 0
Total production (v(t))
Maximum production rate (f)
Total production (v(t))
Product fraction (gp)
Useful product
By-product
17
Challenge II: Bilinear Terms in Production Process
Cumulative production v(t) is calculatedusing production rate x(t)
v(t) =
∫ t
0
x(s)ds
Production rate is limited by a productionfunction f (·)
x(t) ≤ f (v(t))
Product production rates yp(t) calculatedby fraction functions gp(·)
yp(t) = x(t) gp(v(t))
Production profiles are active only after thestart time z(t)
z(t) = 0⇒ v(t) = 0
Total production (v(t))
Maximum production rate (f)
Total production (v(t))
Product fraction (gp)
Useful product
By-product
17
Challenge II: Bilinear Terms in Production Process
Cumulative production v(t) is calculatedusing production rate x(t)
v(t) =
∫ t
0
x(s)ds
Production rate is limited by a productionfunction f (·)
x(t) ≤ f (v(t))
Product production rates yp(t) calculatedby fraction functions gp(·)
yp(t) = x(t) gp(v(t))
Production profiles are active only after thestart time z(t)
z(t) = 0⇒ v(t) = 0
Total production (v(t))
Maximum production rate (f)
Total production (v(t))
Product fraction (gp)
Useful product
By-product
17
Challenge II: Bilinear Terms in Production Process
Cumulative production v(t) is calculatedusing production rate x(t)
v(t) =
∫ t
0
x(s)ds
Production rate is limited by a productionfunction f (·)
x(t) ≤ f (v(t))
Product production rates yp(t) calculatedby fraction functions gp(·)
yp(t) = x(t) gp(v(t))
Production profiles are active only after thestart time z(t)
z(t) = 0⇒ v(t) = 0
Total production (v(t))
Maximum production rate (f)
Total production (v(t))
Product fraction (gp)
Useful product
By-product
17
Challenge II: Bilinear Terms in Production Process
Cumulative production v(t) is calculatedusing production rate x(t)
v(t) =
∫ t
0
x(s)ds
Mixture production rate is limited byproduction function f (·)
x(t) ≤ f (v(t))
Product production rates yp(t) calculatedby fraction functionsgp(·)
yp(t) = x(t) gp(v(t))︸ ︷︷ ︸non-convex bilinear terms
Production profiles are active only after thetime z(t)
z(t) = 0⇒ v(t) = 0
Total production (v(t))
Maximum production rate (f)
Total production (v(t))
Product fraction (gp)
Useful product
By-product
17
Production Functions: Applications
Total production (v(t))
Maximum production rate (f)
Total production (v(t))
Product fraction (gp)
Useful product
By-product
Application Reference
Oil & Natural gas Iyer et al. (1998) Tarhan et al. (2009)
Gas network optimization Martin et al. (2006)
Hydro Scheduling Borghetti et al. (2008)
Compressor Scheduling Camponogara et al. (2011)
18
Main Results1
I Reformulate based on cumulative product production!
I Up to 30% more accurate than Tarhan et al. (2009).
I Order of magnitude faster because it deals with convex functions while Tarhan et. al(2009) deals with bilinear terms.
Total production (vt)
Product fraction (gp)
Useful product
By-product
Total production (vt)
Cumulative product (hp)
Useful product
By-product
1Sridhar, Linderoth, and Luedtke Journal of Global Optimization (2014) – under review
19
Main Results1
I Reformulate based on cumulative product production!
I Up to 30% more accurate than Tarhan et al. (2009).
I Order of magnitude faster because it deals with convex functions while Tarhan et. al(2009) deals with bilinear terms.
0.2 0.4 0.6 0.8
Total Production (vt)
0.0
0.2
0.4
0.6
0.8
1.0
Useful product fraction (gp+ )
F1
F2
0.2 0.4 0.6 0.8
Total Production (vt)
0.0
0.2
0.4
0.6
0.8
1.0
By-product fraction (gp− )
F1
F2
1Sridhar, Linderoth, and Luedtke Journal of Global Optimization (2014) – under review
19
Main Results1
I Reformulate based on cumulative product production!
I Up to 30% more accurate than Tarhan et al. (2009).
I Order of magnitude faster because it deals with convex functions while Tarhan et. al(2009) deals with bilinear terms.
Total production (vt)
Product fraction (gp)
Useful product
By-product
Total production (vt)
Cumulative product (hp)
Useful product
By-product
1Sridhar, Linderoth, and Luedtke Journal of Global Optimization (2014) – under review
19
Solving the Production Model
Piecewise Linear Approximation (PLA)
Total production (vt)
Maximum production rate (f)
Total production (vt)
Cumulative useful product (gp+ )
Total production (vt)
Cumulative by-product (hp− )
Approximate all the nonlinear production functions using PLFs.
20
Challenge III: Production Planning Problems with Complex Fiscal Terms.
FPSO
Field
Reservoir
Well
Injection Lines Fiscal Model
Production Model
PLF Model
21
Challenge III: non-convex Objective Function1
Production
Profit Oil Royalty Cost Oil
Contractor's Share Government's Share
Total contractor Share Total Government Share
Contractor's after-tax share Income Tax
Tranche Model
Tax Model
Capex Model
1Image source: World Bank Survey 22
Challenge III: non-convex Objective Function1
Production
Profit Oil Royalty Cost Oil
Contractor's Share Government's Share
Total contractor Share Total Government Share
Contractor's after-tax share Income Tax
Tranche Model
Tax Model
Capex Model
1Image source: World Bank Survey 22
Dissected Supermodel...
FPSO
Field
Reservoir
Well
Injection Lines Fiscal Model
Production Model
PLF Model
Set (X )
23
Problem Setup
I Multi period planning problem X with T := {1, 2 . . .T} time periods.
I Continuous operational decision variables x ∈ Rm × {0, 1}n which produce a set ofcash flows for each time period ft .
I The cash flows are broken down into revenue streams rt ∀t ∈ T and expensestreams ct ∀t ∈ T .
ft = rt − ct ∀t ∈ T
Complex fiscal terms like can be viewed as optimizing a discontinuous, non-convexfunction G : RT × RT → R.
max G(r , c)︸ ︷︷ ︸Noncovex function
subject to (r , c, x) ∈ X︸ ︷︷ ︸MIP Production Model
24
Problem Setup
I Multi period planning problem X with T := {1, 2 . . .T} time periods.
I Continuous operational decision variables x ∈ Rm × {0, 1}n which produce a set ofcash flows for each time period ft .
I The cash flows are broken down into revenue streams rt ∀t ∈ T and expensestreams ct ∀t ∈ T .
ft = rt − ct ∀t ∈ T
Complex fiscal terms like can be viewed as optimizing a discontinuous, non-convexfunction G : RT × RT → R.
max G(r , c)︸ ︷︷ ︸Noncovex function
subject to (r , c, x) ∈ X︸ ︷︷ ︸MIP Production Model
24
Problem Setup
I Multi period planning problem X with T := {1, 2 . . .T} time periods.
I Continuous operational decision variables x ∈ Rm × {0, 1}n which produce a set ofcash flows for each time period ft .
I The cash flows are broken down into revenue streams rt ∀t ∈ T and expensestreams ct ∀t ∈ T .
ft = rt − ct ∀t ∈ T
Complex fiscal terms like can be viewed as optimizing a discontinuous, non-convexfunction G : RT × RT → R.
max G(r , c)︸ ︷︷ ︸Noncovex function
subject to (r , c, x) ∈ X︸ ︷︷ ︸MIP Production Model
24
Problem Setup
I Multi period planning problem X with T := {1, 2 . . .T} time periods.
I Continuous operational decision variables x ∈ Rm × {0, 1}n which produce a set ofcash flows for each time period ft .
I The cash flows are broken down into revenue streams rt ∀t ∈ T and expensestreams ct ∀t ∈ T .
ft = rt − ct ∀t ∈ T
Complex fiscal terms like can be viewed as optimizing a discontinuous, non-convexfunction G : RT × RT → R.
max G(r , c)︸ ︷︷ ︸Noncovex function
subject to (r , c, x) ∈ X︸ ︷︷ ︸MIP Production Model
24
Production Sharing Contracts
Net Present Value (NPV)
Given a time series of cash flows (f[1,t]) and rate of interest (q)
h(q, f[1,t]) =t∑
s=1
fs(1 + q)s︸ ︷︷ ︸
Present value of money
Internal rate of return (IRR)
Rate of return for which the NPV function is zero.
h(qt , f[1,t]) = 0︸ ︷︷ ︸Solve in each time period
25
Production Sharing Contracts
Net Present Value (NPV)
Given a time series of cash flows (f[1,t]) and rate of interest (q)
h(q, f[1,t]) =t∑
s=1
fs(1 + q)s︸ ︷︷ ︸
Present value of money
Internal rate of return (IRR)
Rate of return for which the NPV function is zero.
h(qt , f[1,t]) = 0︸ ︷︷ ︸Solve in each time period
25
Illustration: Production Sharing Contracts
0.0 0.2 0.4 0.6 0.8
Discounting rate (q)
400
200
0
200
400
Net
pre
sent
valu
e h
(·)
IRR
Production Sharing Contracts (PSC)I IRR scale into tranches
(K := {1, 2 . . .K})
I Contractors to retain µk fraction ofthe profit during time period t, ifassociated with tranche k.
Applications
I Oil & natural gas fieldinfrastructure planning.
I Portfolio optimization.
I Production planning.
26
Illustration: Production Sharing Contracts
0.0 0.2 0.4 0.6 0.8
Discounting rate (q)
400
200
0
200
400
Net
pre
sent
valu
e h
(·)
IRR
Production Sharing Contracts (PSC)I IRR scale into tranches
(K := {1, 2 . . .K})I Contractors to retain µk fraction of
the profit during time period t, ifassociated with tranche k.
Applications
I Oil & natural gas fieldinfrastructure planning.
I Portfolio optimization.
I Production planning.
26
Illustration: Production Sharing Contracts
0.0 0.2 0.4 0.6 0.8
Discounting rate (q)
400
200
0
200
400
Net
pre
sent
valu
e h
(·)
IRR
Production Sharing Contracts (PSC)I IRR scale into tranches
(K := {1, 2 . . .K})I Contractors to retain µk fraction of
the profit during time period t, ifassociated with tranche k.
Applications
I Oil & natural gas fieldinfrastructure planning.
I Portfolio optimization.
I Production planning.
26
Example PSC
Time(t)
Cost(ct )
Revenue(pt )
IRR(qt )
Tranche(k(t))
Contractorshare(µk(t))
Cash flow(µk(t)rt −ct )
1 4000 0 n.a 1 70% -4000
2 0 2300 -49.8% 1 70% 1610
3 0 6000 20% 1 70% 4200
4 0 5000 46.7% 2 60% 3000
5 0 4000 49.0% 3 15% 600
27
Example PSC
Time(t)
Cost(ct )
Revenue(pt )
IRR(qt )
Tranche(k(t))
Contractorshare(µk(t))
Cash flow(µk(t)rt −ct )
1 4000 0 n.a 1 70% -4000
2 0 2300 -49.8% 1 70% 1610
3 0 6000 20% 1 70% 4200
4 0 5000 46.7% 2 60% 3000
5 0 4000 49.0% 3 15% 600
27
Example PSC
Time(t)
Cost(ct )
Revenue(pt )
IRR(qt )
Tranche(k(t))
Contractorshare(µk(t))
Cash flow(µk(t)rt −ct )
1 4000 0 n.a 1 70% -4000
2 0 2300 -49.8% 1 70% 1610
3 0 6000 20% 1 70% 4200
4 0 5000 46.7% 2 60% 3000
5 0 4000 49.0% 3 15% 600
27
Example PSC
Time(t)
Cost(ct )
Revenue(pt )
IRR(qt )
Tranche(k(t))
Contractorshare(µk(t))
Cash flow(µk(t)rt −ct )
1 4000 0 n.a 1 70% -4000
2 0 2300 -49.8% 1 70% 1610
3 0 6000 20% 1 70% 4200
4 0 5000 46.7% 2 60% 3000
5 0 4000 49.0% 3 15% 600
27
Markets (Ringfences)
FPSO 1 FPSO 2
Market 1 Market 2
Market 3
Reservoirs
28
Solution Restrictions
1. Given a series of cash flows f[1,t], the equation h(q, f[1,t]) = 0 alwayshas at most one root.1
2. The sequence of tranches associated with each time period isnon-decreasing.2
0.0 0.2 0.4 0.6 0.8
Discounting rate (q)
400
200
0
200
400
Net
pre
sent
valu
e h
(·)
IRR
0.2 0.0 0.2 0.4 0.6
Discounting rate (q)400
200
0
200
400
600
800
Net
pre
sent
valu
e h
(·)
q1
q2
q3
q4
q5
1Sufficient conditions: Single sign change test & the Norstrøm condition (1972).
29
Solution Restrictions
1. Given a series of cash flows f[1,t], the equation h(q, f[1,t]) = 0 alwayshas at most one root.1
2. The sequence of tranches associated with each time period isnon-decreasing.2
0.0 0.2 0.4 0.6 0.8
Discounting rate (q)
400
200
0
200
400
Net
pre
sent
valu
e h
(·)
IRR
0.2 0.0 0.2 0.4 0.6
Discounting rate (q)400
200
0
200
400
600
800
Net
pre
sent
valu
e h
(·)
q1
q2
q3
q4
q5
1Sufficient conditions: Single sign change test & the Norstrøm condition (1972).2Sufficient conditions: Single sign change test.
29
Tranche Model: Key Idea
0.0 0.2 0.4 0.6 0.8
Discounting rate (q)
400
200
0
200
400
Net
pre
sent
valu
e h
(·)
IRR
h(q, f[1,t])
NPV
=t∑
s=1
fa,s(1 + q)s
h( qt
IRR
, f[1,t]) = 0
qt ∈ [l , u]
IRR between [l,u]
if h(l , f[1,t]) ≥ 0 and h(u, f[1,t]) < 0
30
Tranche Model: Key Idea
0.0 0.2 0.4 0.6 0.8
Discounting rate (q)
400
200
0
200
400
Net
pre
sent
valu
e h
(·)
IRR
h(q, f[1,t])
NPV
=t∑
s=1
fa,s(1 + q)s
h( qt
IRR
, f[1,t]) = 0
qt ∈ [l , u]
IRR between [l,u]
if h(l , f[1,t]) ≥ 0 and h(u, f[1,t]) < 0
30
Tranche Model: Key Idea
0.0 0.2 0.4 0.6 0.8
Discounting rate (q)
400
200
0
200
400
Net
pre
sent
valu
e h
(·)
IRR
h(q, f[1,t])
NPV
=t∑
s=1
fa,s(1 + q)s
h( qt
IRR
, f[1,t]) = 0
qt ∈ [l , u]
IRR between [l,u]
if h(l , f[1,t]) ≥ 0 and h(u, f[1,t]) < 0
30
Tranche Model: Key Idea
0.0 0.2 0.4 0.6 0.8
Discounting rate (q)
400
200
0
200
400
Net
pre
sent
valu
e h
(·)
IRR
h(q, f[1,t])
NPV
=t∑
s=1
fa,s(1 + q)s
h( qt
IRR
, f[1,t]) = 0
qt ∈ [l , u]
IRR between [l,u]
if h(l , f[1,t]) ≥ 0 and h(u, f[1,t]) < 0
30
Tranche Model: MIP Formulation
0.0 0.2 0.4 0.6 0.8
Discounting rate (q)
400
200
0
200
400
Net
pre
sent
valu
e h
(·)
IRR
ha,k,t
NPV at λk
=t∑
s=1
fa,s(1 + λk )s
ba,k,t =
{0 ha,k,t−1 ≤ 0
1 otherwise
fa,t
Cash flow retained by contractor
=
{µk ra,t − ca,t ba,k,t = 1, ba,k+1,t = 0
µ1ra,t − ca,t otherwise
(r , c, x) ∈ X Production model
Notation
Markets: a ∈ A, Tranches: k ∈ K, Timeperiods: t ∈ T
31
Tranche Model: MIP Formulation
0.0 0.2 0.4 0.6 0.8
Discounting rate (q)
400
200
0
200
400
Net
pre
sent
valu
e h
(·)
IRR
ha,k,t
NPV at λk
=t∑
s=1
fa,s(1 + λk )s
ba,k,t =
{0 ha,k,t−1 ≤ 0
1 otherwise
fa,t
Cash flow retained by contractor
=
{µk ra,t − ca,t ba,k,t = 1, ba,k+1,t = 0
µ1ra,t − ca,t otherwise
(r , c, x) ∈ X Production model
Notation
Markets: a ∈ A, Tranches: k ∈ K, Timeperiods: t ∈ T
31
Tranche Model: MIP Formulation
0.0 0.2 0.4 0.6 0.8
Discounting rate (q)
400
200
0
200
400
Net
pre
sent
valu
e h
(·)
IRR
ha,k,t
NPV at λk
=t∑
s=1
fa,s(1 + λk )s
ba,k,t =
{0 ha,k,t−1 ≤ 0
1 otherwise
fa,t
Cash flow retained by contractor
=
{µk ra,t − ca,t ba,k,t = 1, ba,k+1,t = 0
µ1ra,t − ca,t otherwise
(r , c, x) ∈ X Production model
Notation
Markets: a ∈ A, Tranches: k ∈ K, Timeperiods: t ∈ T
31
Tranche Model: MIP Formulation
0.0 0.2 0.4 0.6 0.8
Discounting rate (q)
400
200
0
200
400
Net
pre
sent
valu
e h
(·)
IRR
ha,k,t
NPV at λk
=t∑
s=1
fa,s(1 + λk )s
ba,k,t =
{0 ha,k,t−1 ≤ 0
1 otherwise
fa,t
Cash flow retained by contractor
=
{µk ra,t − ca,t ba,k,t = 1, ba,k+1,t = 0
µ1ra,t − ca,t otherwise
(r , c, x) ∈ X Production model
Notation
Markets: a ∈ A, Tranches: k ∈ K, Timeperiods: t ∈ T
31
Tranche Model: MIP Formulation
0.0 0.2 0.4 0.6 0.8
Discounting rate (q)
400
200
0
200
400
Net
pre
sent
valu
e h
(·)
IRR
ha,k,t
NPV at λk
=t∑
s=1
fa,s(1 + λk )s
ba,k,t =
{0 ha,k,t−1 ≤ 0
1 otherwise
fa,t
Cash flow retained by contractor
=
{µk ra,t − ca,t ba,k,t = 1, ba,k+1,t = 0
µ1ra,t − ca,t otherwise
(r , c, x) ∈ X Production model
Notation
Markets: a ∈ A, Tranches: k ∈ K, Timeperiods: t ∈ T
31
Tranche Model: MIP Formulation
0.0 0.2 0.4 0.6 0.8
Discounting rate (q)
400
200
0
200
400
Net
pre
sent
valu
e h
(·)
IRR
ha,k,t
NPV at λk
=t∑
s=1
fa,s(1 + λk )s
mha,k,t−1︸ ︷︷ ︸
Min NPV
(1− ba,k,t) ≤ ha,k,t−1 ≤ Mha,k,t−1︸ ︷︷ ︸
Max NPV
ba,k,t
fa,t
Cash flow retained by contractor
=
{µk ra,t − ca,t ba,k,t = 1, ba,k+1,t = 0
µ1ra,t − ca,t otherwise
(r , c, x) ∈ X Production model
Notation
Markets: a ∈ A, Tranches: k ∈ K, Timeperiods: t ∈ T
31
Tranche Model: MIP Formulation
0.0 0.2 0.4 0.6 0.8
Discounting rate (q)
400
200
0
200
400
Net
pre
sent
valu
e h
(·)
IRR
ha,k,t
NPV at λk
=t∑
s=1
fa,s(1 + λk )s
mha,k,t−1︸ ︷︷ ︸
Min NPV
(1− ba,k,t) ≤ ha,k,t−1 ≤ Mha,k,t−1︸ ︷︷ ︸
Max NPV
ba,k,t
fa,t
Cash flow retained by contractor
=
{µk ra,t − ca,t ba,k,t = 1, ba,k+1,t = 0
µ1ra,t − ca,t otherwise
(r , c, x) ∈ X Production model
Notation
Markets: a ∈ A, Tranches: k ∈ K, Timeperiods: t ∈ T
31
Tranche Model: MIP Formulation
0.0 0.2 0.4 0.6 0.8
Discounting rate (q)
400
200
0
200
400
Net
pre
sent
valu
e h
(·)
IRR
ha,k,t =t∑
s=1
fa,s(1 + λk )s
mha,k,t−1︸ ︷︷ ︸
Min NPV
(1− ba,k,t) ≤ ha,k,t−1 ≤ Mha,k,t−1︸ ︷︷ ︸
Max NPV
ba,k,t
pa,k,t ≤ Mpa,k,t︸ ︷︷ ︸
Max Profit
(ba,k,t − ba,k+1,t)
ra,t =∑k∈K
µkpa,k,t
ba,k,t ≥ ba,k+1,t
fa,t = ra,t − ca,t
(r , c, x) ∈ X
ba,k,t ≥ ba,k,t+1
Notation
Markets:a ∈ A, Tranches: k ∈ K, Timeperiods: t ∈ T
32
Tranche Model: MIP Formulation
0.2 0.0 0.2 0.4 0.6
Discounting rate (q)400
200
0
200
400
600
800
Net
pre
sent
valu
e h
(·)
q1
q2
q3
q4
q5
ha,k,t =t∑
s=1
fa,s(1 + λk )s
mha,k,t−1︸ ︷︷ ︸
Min NPV
(1− ba,k,t) ≤ ha,k,t−1 ≤ Mha,k,t−1︸ ︷︷ ︸
Max NPV
ba,k,t
pa,k,t ≤ Mpa,k,t︸ ︷︷ ︸
Max Profit
(ba,k,t − ba,k+1,t)
ra,t =∑k∈K
µkpa,k,t
ba,k,t ≥ ba,k+1,t
fa,t = ra,t − ca,t
(r , c, x) ∈ X
ba,k,t ≥ ba,k,t+1
Notation
Markets:a ∈ A, Tranches: k ∈ K, Timeperiods: t ∈ T
32
Markets are Everything!
FPSO 1 FPSO 2
Market 1 Market 2
Market 3
Reservoirs
33
Markets are hard!1
Markets # Variables (binary) # Constraints Solve time (s) Gap (%) Nodes
1 15132 (1457) 22101 680.39 - 1323
2 15263 (1514) 22401 1117.4 - 2934
3 15389 (1568) 22701 3670.3 - 12136
4 15515 (1622) 23001 - 8.24 28208
5 15646 (1679) 23301 - 34.4 22381
6 15762 (1727) 23601 - 66.2 10515
1Solution statistics for for a single instance of the MIP for a sample application problem solved using Gurobi5.0.1 with 2 threads for 7200 seconds.
34
Markets are hard!1
Markets # Variables (binary) # Constraints Solve time (s) Gap (%) Nodes
1 15132 (1457) 22101 680.39 - 1323
2 15263 (1514) 22401 1117.4 - 2934
3 15389 (1568) 22701 3670.3 - 12136
4 15515 (1622) 23001 - 8.24 28208
5 15646 (1679) 23301 - 34.4 22381
6 15762 (1727) 23601 - 66.2 10515
1Solution statistics for for a single instance of the MIP for a sample application problem solved using Gurobi5.0.1 with 2 threads for 7200 seconds.
34
Markets are hard!1
Markets # Variables (binary) # Constraints Solve time (s) Gap (%) Nodes
1 15132 (1457) 22101 680.39 - 1323
2 15263 (1514) 22401 1117.4 - 2934
3 15389 (1568) 22701 3670.3 - 12136
4 15515 (1622) 23001 - 8.24 28208
5 15646 (1679) 23301 - 34.4 22381
6 15762 (1727) 23601 - 66.2 10515
1Solution statistics for for a single instance of the MIP for a sample application problem solved using Gurobi5.0.1 with 2 threads for 7200 seconds.
34
Contributions1
Complex fiscal terms like can be viewed as optimizing a discontinuous,non-convex function G : RT × RT → R.
max G(r , c)︸ ︷︷ ︸Noncovex function
subject to (r , c, x) ∈ X︸ ︷︷ ︸MIP Production Model
1. Search algorithms for finding high-quality feasible solutions.
2. Decomposition approaches for finding solution bounds.
1Sridhar, Linderoth, Luedtke, and Wright – in preparation
35
Contributions1
Complex fiscal terms like can be viewed as optimizing a discontinuous,non-convex function G : RT × RT → R.
max G(r , c)︸ ︷︷ ︸Noncovex function
subject to (r , c, x) ∈ X︸ ︷︷ ︸MIP Production Model
1. Search algorithms for finding high-quality feasible solutions.
2. Decomposition approaches for finding solution bounds.
1Sridhar, Linderoth, Luedtke, and Wright – in preparation
35
Contributions1
Complex fiscal terms like can be viewed as optimizing a discontinuous,non-convex function G : RT × RT → R.
max G(r , c)︸ ︷︷ ︸Noncovex function
subject to (r , c, x) ∈ X︸ ︷︷ ︸MIP Production Model
1. Search algorithms for finding high-quality feasible solutions.
2. Decomposition approaches for finding solution bounds.
1Sridhar, Linderoth, Luedtke, and Wright – in preparation
35
Finding Feasible Solutions
FPSO 1 FPSO 2
Market 1 Market 2
Market 3
Reservoirs
36
Notation
Definition: Tranche configuration κ := {tk} where tk is the last time periodwhere the system moves from tranche k − 1 to k.
Time(t)
Cost(ct )
Revenue(pt )
IRR qt Tranche(k(t))
Contractorshare(µk(t))
Cashflow(ft )
1 4000 0 n.a 1 70% -4000
2 0 2300 -43% 1 70% 1610
3 0 3000 20% 1 70% 2110
4 0 2800 44% 2 60% 1680
5 0 1000 48% 3 15% 150
Example
The tranche configuration is [0 3 4] (Note: Separate for each market).
37
Fixed Tranche Problem
Function arguments: Tranche configurations
The function uses tranche configurations of the form [0,3,4] as input.
Function evaluation: Operational planning problem
Solve a fixed-tranche version of the operational problem by forcing signs on theNPV at each time period.
First to second tranche
6
8
10
12
14
16
18
Second to
third
tranch
e
6
8
10
12
14
16
18
Obje
ctiv
e f
unct
ion
0
5
10
15
20
25
30
35
40
45
38
Fixed Tranche Problem
Function arguments: Tranche configurations
The function uses tranche configurations of the form [0,3,4] as input.
Function evaluation: Operational planning problem
Solve a fixed-tranche version of the operational problem by forcing signs on theNPV at each time period.
First to second tranche
6
8
10
12
14
16
18
Second to
third
tranch
e
6
8
10
12
14
16
18
Obje
ctiv
e f
unct
ion
0
5
10
15
20
25
30
35
40
45
38
Fixed Tranche Problem
Function arguments: Tranche configurations
The function uses tranche configurations of the form [0,3,4] as input.
Function evaluation: Operational planning problem
Solve a fixed-tranche version of the operational problem by forcing signs on theNPV at each time period.
First to second tranche
6
8
10
12
14
16
18
Second to
third
tranch
e
6
8
10
12
14
16
18
Obje
ctiv
e f
unct
ion
0
5
10
15
20
25
30
35
40
45
38
Discrete Domain Search
Pattern search for finding tranche configurations over a discrete space?
First to second tranche
6
8
10
12
14
16
18
Second to
third
tranch
e
6
8
10
12
14
16
18
Obje
ctiv
e f
unct
ion
0
5
10
15
20
25
30
35
40
45
Search Directions
I Coarse.
I Computationally Expensive.
39
Discrete Domain Search
Pattern search for finding tranche configurations over a discrete space?
First to second tranche
6
8
10
12
14
16
18
Second to
third
tranch
e
6
8
10
12
14
16
18
Obje
ctiv
e f
unct
ion
0
5
10
15
20
25
30
35
40
45
Search Directions
I Coarse.
I Computationally Expensive.
39
Continuous Tranche Space
Question: What does it mean for the system to to move from tranche 1 to 2 at time 2.9.
That would define a tranche configuration [0, 2.9, 4]!
First to second tranche
6
8
10
12
14
16
18
Second to
third
tranch
e
6
8
10
12
14
16
18
Obje
ctiv
e f
unct
ion
0
5
10
15
20
25
30
35
40
45
100 200 300 400 500 600 700 800 900
First to second tranche
100
200
300
400
500
600
700
800
900
Seco
nd t
o t
hir
d t
ranch
e
0
5
10
15
20
25
30
35
40
I Accurate search directions using finite difference.
I Search directions are computationally cheaper!
I Convert the fractional tranche configuration to feasible solution.
40
Continuous Tranche Space
Question: What does it mean for the system to to move from tranche 1 to 2 at time 2.9.
That would define a tranche configuration [0, 2.9, 4]!
First to second tranche
6
8
10
12
14
16
18
Second to
third
tranch
e
6
8
10
12
14
16
18
Obje
ctiv
e f
unct
ion
0
5
10
15
20
25
30
35
40
45
100 200 300 400 500 600 700 800 900
First to second tranche
100
200
300
400
500
600
700
800
900
Seco
nd t
o t
hir
d t
ranch
e
0
5
10
15
20
25
30
35
40
I Accurate search directions using finite difference.
I Search directions are computationally cheaper!
I Convert the fractional tranche configuration to feasible solution.
40
Continuous Tranche Space
Question: What does it mean for the system to to move from tranche 1 to 2 at time 2.9.
That would define a tranche configuration [0, 2.9, 4]!
First to second tranche
6
8
10
12
14
16
18
Second to
third
tranch
e
6
8
10
12
14
16
18
Obje
ctiv
e f
unct
ion
0
5
10
15
20
25
30
35
40
45
100 200 300 400 500 600 700 800 900
First to second tranche
100
200
300
400
500
600
700
800
900
Seco
nd t
o t
hir
d t
ranch
e
0
5
10
15
20
25
30
35
40
I Accurate search directions using finite difference.
I Search directions are computationally cheaper!
I Convert the fractional tranche configuration to feasible solution.
40
Continuous Tranche Space
Question: What does it mean for the system to to move from tranche 1 to 2 at time 2.9.
That would define a tranche configuration [0, 2.9, 4]!
First to second tranche
6
8
10
12
14
16
18
Second to
third
tranch
e
6
8
10
12
14
16
18
Obje
ctiv
e f
unct
ion
0
5
10
15
20
25
30
35
40
45
100 200 300 400 500 600 700 800 900
First to second tranche
100
200
300
400
500
600
700
800
900
Seco
nd t
o t
hir
d t
ranch
e
0
5
10
15
20
25
30
35
40
I Accurate search directions using finite difference.
I Search directions are computationally cheaper!
I Convert the fractional tranche configuration to feasible solution.
40
Continuous Tranche Space
Question: What does it mean for the system to to move from tranche 1 to 2 at time 2.9.
That would define a tranche configuration [0, 2.9, 4]!
First to second tranche
6
8
10
12
14
16
18
Second to
third
tranch
e
6
8
10
12
14
16
18
Obje
ctiv
e f
unct
ion
0
5
10
15
20
25
30
35
40
45
100 200 300 400 500 600 700 800 900
First to second tranche
100
200
300
400
500
600
700
800
900
Seco
nd t
o t
hir
d t
ranch
e
0
5
10
15
20
25
30
35
40
I Accurate search directions using finite difference.
I Search directions are computationally cheaper!
I Convert the fractional tranche configuration to feasible solution.
40
Contractor Share
Question: What does it mean for the system to to move to tranche 2 at time 2.9.
That would define a tranche configuration [0, 2.9, 4]!
Tranche IRR Range (%) Contractor Share
k [λk , λk+1) µk
1 [-∞, 10) 70%
2 [10, 25) 50%
3 [25, ∞) 30%
100 200 300 400 500 600 700 800 900
First to second tranche
100
200
300
400
500
600
700
800
900
Seco
nd t
o t
hir
d t
ranch
e
0
5
10
15
20
25
30
35
40
Contractor share rate for time period 3
0.9× 70%
Tranche 1
+ 0.1× 50%
Tranche 2
≈ 68%.
41
Fractional NPV
Continuous NPV2
h(f[1,t+1], λ, t
Integer
+ δ
Fractional
) =t∑
s=1
fs(1 + λ)s
Discrete NPV
+ (δft+1)e−λc (δ+t)
Continuous discounting
where δ ∈ [0, 1], λc = log(1 + λ)︸ ︷︷ ︸Continuous discounting rate
.
.
1The continuous NPV function ˆh(·) is consistent with the NPV function h(·) when δ ∈ {0, 1}42
Search Algorithm
First to second tranche
6
8
10
12
14
16
18
Second to
third
tranch
e
6
8
10
12
14
16
18
Obje
ctiv
e f
unct
ion
0
5
10
15
20
25
30
35
40
45
100 200 300 400 500 600 700 800 900
First to second tranche
100
200
300
400
500
600
700
800
900
Seco
nd t
o t
hir
d t
ranch
e
0
5
10
15
20
25
30
35
40
43
Search Algorithm
FPSO 1 FPSO 2
Market 1 Market 2
Market 3
Reservoirs
100 200 300 400 500 600 700 800 900
First to second tranche
100
200
300
400
500
600
700
800
900
Seco
nd t
o t
hir
d t
ranch
e
0
5
10
15
20
25
30
35
40
43
Solution Bounds: Market Based Decomposition
FPSO 1 FPSO 2
Market 1 Market 2
Market 3
Reservoirs
44
Market Based Decomposition
FPSO 1 FPSO 2
Market 1 Market 2
Market 3
Reservoirs
Observations
I A single market problem cansolve in < 10 minutes.
Decompose by markets?
I Lagrangian decomposition.
I ADMM (Progressive Hedging).1
1Boyd et al. Foundations and Trends in Machine Learning (2009).
45
Market Based Decomposition
FPSO 1 FPSO 2
Market 1 Market 2
Market 3
Reservoirs
max∑a∈A
∑t∈T
πt fa,t subject to
(ba, ca, fa, ha, pa, ra) ∈ Ya︸ ︷︷ ︸Fiscal model
∀a ∈ A
(ca, ra, xa,w) ∈ Xa︸ ︷︷ ︸Production model
∀a ∈ A
w ∈W︸ ︷︷ ︸FPSO Constraints∑
a∈A
Caxa + Dw ≤ d︸ ︷︷ ︸Aggregate constraints
Notation
Markets: a ∈ A, Tranches: k ∈ K, Timeperiods: t ∈ T
46
Market Based Decomposition
FPSO 1 FPSO 2
Market 1 Market 2
Market 3
Reservoirs
max∑a∈A
∑t∈T
πt fa,t subject to
(ba, ca, fa, ha, pa, ra) ∈ Ya︸ ︷︷ ︸Fiscal model
∀a ∈ A
(ca, ra, xa,w) ∈ Xa︸ ︷︷ ︸Production model
∀a ∈ A
w ∈W︸ ︷︷ ︸FPSO Constraints∑
a∈A
Caxa + Dw ≤ d︸ ︷︷ ︸Aggregate constraints
Notation
Markets: a ∈ A, Tranches: k ∈ K, Timeperiods: t ∈ T
46
Market Based Decomposition
FPSO 1 FPSO 2
Market 1 Market 2
Market 3
Reservoirs
max∑a∈A
∑t∈T
πt fa,t subject to
(ba, ca, fa, ha, pa, ra) ∈ Ya︸ ︷︷ ︸Fiscal model
∀a ∈ A
(ca, ra, xa,w) ∈ Xa︸ ︷︷ ︸Production model
∀a ∈ A
w ∈W︸ ︷︷ ︸FPSO Constraints∑
a∈A
Caxa + Dw ≤ d︸ ︷︷ ︸Aggregate constraints
Notation
Markets: a ∈ A, Tranches: k ∈ K, Timeperiods: t ∈ T
46
Market Based Decomposition
FPSO 1 FPSO 2
Market 1 Market 2
Market 3
Reservoirs
max∑a∈A
∑t∈T
πt fa,t subject to
(ba, ca, fa, ha, pa, ra) ∈ Ya︸ ︷︷ ︸Fiscal model
∀a ∈ A
(ca, ra, xa,w) ∈ Xa︸ ︷︷ ︸Production model
∀a ∈ A
w ∈W︸ ︷︷ ︸FPSO Constraints
∑a∈A
Caxa + Dw ≤ d︸ ︷︷ ︸Aggregate constraints
Notation
Markets: a ∈ A, Tranches: k ∈ K, Timeperiods: t ∈ T
46
Market Based Decomposition
FPSO 1 FPSO 2
Market 1 Market 2
Market 3
Reservoirs
max∑a∈A
∑t∈T
πt fa,t subject to
(ba, ca, fa, ha, pa, ra) ∈ Ya︸ ︷︷ ︸Fiscal model
∀a ∈ A
(ca, ra, xa,w) ∈ Xa︸ ︷︷ ︸Production model
∀a ∈ A
w ∈W︸ ︷︷ ︸FPSO Constraints∑
a∈A
Caxa + Dw ≤ d︸ ︷︷ ︸Aggregate constraints
Notation
Markets: a ∈ A, Tranches: k ∈ K, Timeperiods: t ∈ T
46
Market Based Decomposition
Original Problem
max∑a∈A
∑t∈T
πt fa,t subject to
(ba, ca, fa, ha, pa, ra) ∈ Ya ∀a ∈ A(ca, ra, xa,w) ∈ Xa︸︷︷︸
Relax
∀a ∈ A
w︸︷︷︸Make copies
∈ W︸︷︷︸Relax∑
a∈A
Caxa + Dw ≤ d
Relaxation
max∑a∈A
∑t∈T
πt fa,t s.t
(ba, ca, fa, ha, pa, ra) ∈ Ya ∀a ∈ A(ca, ra, xa,wa) ∈ LP(Xa) ∀a ∈ A
wa ∈ LP(W ) ∀a ∈ A1
A
∑a′∈A
wa′ = wa ∀a ∈ A
∑a∈A
Caxa + Dwa ≤ d ∀a ∈ A
47
Market Based Decomposition
Original Problem
max∑a∈A
∑t∈T
πt fa,t subject to
(ba, ca, fa, ha, pa, ra) ∈ Ya ∀a ∈ A(ca, ra, xa,w) ∈ Xa︸︷︷︸
Relax
∀a ∈ A
w︸︷︷︸Make copies
∈ W︸︷︷︸Relax∑
a∈A
Caxa + Dw ≤ d
Relaxation
max∑a∈A
∑t∈T
πt fa,t s.t
(ba, ca, fa, ha, pa, ra) ∈ Ya ∀a ∈ A(ca, ra, xa,wa) ∈ LP(Xa) ∀a ∈ A
wa ∈ LP(W ) ∀a ∈ A1
A
∑a′∈A
wa′ = wa ∀a ∈ A
∑a∈A
Caxa + Dwa ≤ d ∀a ∈ A
47
Lagrangian Decomposition
Define the Lagrangian as
La(xa, ya; Θ) :=∑t∈T
πt fa,t − ∆Ta wa︸ ︷︷ ︸
Relax copy equality
− θT( d
A− Caxa −
Dwa
A
)︸ ︷︷ ︸
Aggregate constraints relaxed
.
where for each market a ∈ A, we solve
LDa (Θ) := max
xa,wa ya
{La(xa, ya; Θ) s.t. xa ∈ LP(Xa),wa ∈ LP(W ), ya ∈ Ya
}︸ ︷︷ ︸
Single market MIP
.
Lagrangian Dual problem:
G∗D := minΘ
{∑a∈A
LDa (Θ) : θ ≥ 0
}Solve for θ
48
Lagrangian Decomposition
Define the Lagrangian as
La(xa, ya; Θ) :=∑t∈T
πt fa,t − ∆Ta wa︸ ︷︷ ︸
Relax copy equality
− θT( d
A− Caxa −
Dwa
A
)︸ ︷︷ ︸
Aggregate constraints relaxed
.
where for each market a ∈ A, we solve
LDa (Θ) := max
xa,wa ya
{La(xa, ya; Θ) s.t. xa ∈ LP(Xa),wa ∈ LP(W ), ya ∈ Ya
}︸ ︷︷ ︸
Single market MIP
.
Lagrangian Dual problem:
G∗D := minΘ
{∑a∈A
LDa (Θ) : θ ≥ 0
}Solve for θ
48
Lagrangian Decomposition
Define the Lagrangian as
La(xa, ya; Θ) :=∑t∈T
πt fa,t − ∆Ta wa︸ ︷︷ ︸
Relax copy equality
− θT( d
A− Caxa −
Dwa
A
)︸ ︷︷ ︸
Aggregate constraints relaxed
.
where for each market a ∈ A, we solve
LDa (Θ) := max
xa,wa ya
{La(xa, ya; Θ) s.t. xa ∈ LP(Xa),wa ∈ LP(W ), ya ∈ Ya
}︸ ︷︷ ︸
Single market MIP
.
Lagrangian Dual problem:
G∗D := minΘ
{∑a∈A
LDa (Θ) : θ ≥ 0
}Solve for θ
48
Augmented/Regularized Decomposition
Primal update
(xa, ya)i+1 ← argmaxxa,wa ,ya
{La(xa, ya; Θ)− ρi
2‖wa − w i‖2︸ ︷︷ ︸
Single market MIQP
:
xa ∈ LP(Xa),w ∈ LP(W ), ya ∈ Ya
}
Dual update
∆i+1a ← ∆i
a + ρi(w i+1
a − w i+1)
a ∈ A
θi+1i ← θi
i + ηid
(d −
∑a∈A
Caxi+1a − D
∑a∈A
w i+1a
A
)+
Step size
δi+1s ← δ0
s /(i + 1)
ρe+1 ← max{ρdρe , ρm}︸ ︷︷ ︸
Geometrically decreasing
where ρd < 1, ρm > 0
49
Augmented/Regularized Decomposition
Primal update
(xa, ya)i+1 ← argmaxxa,wa ,ya
{La(xa, ya; Θ)− ρi
2‖wa − w i‖2︸ ︷︷ ︸
Single market MIQP
:
xa ∈ LP(Xa),w ∈ LP(W ), ya ∈ Ya
}Dual update
∆i+1a ← ∆i
a + ρi(w i+1
a − w i+1)
a ∈ A
θi+1i ← θi
i + ηid
(d −
∑a∈A
Caxi+1a − D
∑a∈A
w i+1a
A
)+
Step size
δi+1s ← δ0
s /(i + 1)
ρe+1 ← max{ρdρe , ρm}︸ ︷︷ ︸
Geometrically decreasing
where ρd < 1, ρm > 0
49
Experiments
Goals
I Compare the quality of the solutions obtained by the MIP with that obtained by thecontinuous domain formulation.
I Compare the quality of the solution bounds obtained by the MIP with thedecomposition algorithms.
100 200 300 400 500 600 700 800 900
First to second tranche
100
200
300
400
500
600
700
800
900
Seco
nd t
o t
hir
d t
ranch
e
0
5
10
15
20
25
30
35
40
FPSO 1 FPSO 2
Market 1 Market 2
Market 3
Reservoirs
50
Feasible Solution Quality (5min)
Average gap to the best feasible solution (%)
Markets TRMIP1 HEU+M2
t=300 t =1800 t =7200 t=300 t =1800 t =7200
2 3.89 0.01 0.00 0.77 0.17 0.15
3 2.76 0.37 0.00 0.70 0.22 0.18
4 5.34 1.02 0.23 0.67 0.27 0.17
5 8.47 1.39 0.30 0.62 0.33 0.10
6 8.23 1.57 0.79 0.68 0.41 0.25
Average 5.74 0.87 0.26 0.69 0.28 0.17
1TRMIP: Tranche MIP formulation.2HEU+M: Search algorithm (multi-start).
51
Feasible Solution Quality (30min)
Average gap to the best feasible solution (%)
Markets TRMIP1 HEU+M2
t=300 t =1800 t =7200 t=300 t =1800 t =7200
2 3.89 0.01 0.00 0.77 0.17 0.15
3 2.76 0.37 0.00 0.70 0.22 0.18
4 5.34 1.02 0.23 0.67 0.27 0.17
5 8.47 1.39 0.30 0.62 0.33 0.10
6 8.23 1.57 0.79 0.68 0.41 0.25
Average 5.74 0.87 0.26 0.69 0.28 0.17
1TRMIP: Tranche MIP formulation.2HEU+M: Search algorithm (multi-start).
51
Feasible Solution Quality (2 hour)
Average gap to the best feasible solution (%)
Markets TRMIP1 HEU+M2
t=300 t =1800 t =7200 t=300 t =1800 t =7200
2 3.89 0.01 0.00 0.77 0.17 0.15
3 2.76 0.37 0.00 0.70 0.22 0.18
4 5.34 1.02 0.23 0.67 0.27 0.17
5 8.47 1.39 0.30 0.62 0.33 0.10
6 8.23 1.57 0.79 0.68 0.41 0.25
Average 5.74 0.87 0.26 0.69 0.28 0.17
1TRMIP: Tranche MIP formulation.2HEU+M: Search algorithm (multi-start).
51
Solution Bound Quality (30min)
Average gap to the best feasible solution (%)
Markets TRMIP1 DD+LP2 D+LP3
t=1800 t =7200 t =1800 t=7200 t =1800 t =7200
2 0.23 0.01 2.41 2.13 2.87 2.17
3 14.93 0.03 3.24 2.57 3.34 2.59
4 43.25 11.65 4.49 2.99 3.81 2.92
5 66.43 36.77 6.04 3.54 3.93 3.05
6 81.20 51.86 8.80 4.74 4.60 3.53
Average 41.21 20.06 4.99 3.19 3.71 2.85
1TRMIP: Tranche MIP formulation.2DD+LP: Lagrangian Decomposition.3D+LP: Regularized Lagrangian Decomposition.
52
Solution Bound Quality (2 hour)
Average gap to the best feasible solution (%)
Markets TRMIP1 DD+LP2 D+LP3
t=1800 t =7200 t =1800 t=7200 t =1800 t =7200
2 0.23 0.01 2.41 2.13 2.87 2.17
3 14.93 0.03 3.24 2.57 3.34 2.59
4 43.25 11.65 4.49 2.99 3.81 2.92
5 66.43 36.77 6.04 3.54 3.93 3.05
6 81.20 51.86 8.80 4.74 4.60 3.53
Average 41.21 20.06 4.99 3.19 3.71 2.85
1TRMIP: Tranche MIP formulation.2DD+LP: Lagrangian Decomposition.3D+LP: Regularized Lagrangian Decomposition.
52
Part 1 Conclusion
FPSO
Field
Reservoir
Well
Injection Lines Fiscal Model
Production Model
PLF Model
53
Part 1 Conclusion
100 200 300 400 500 600 700 800 900
First to second tranche
100
200
300
400
500
600
700
800
900
Seco
nd t
o t
hir
d t
ranch
e
0
5
10
15
20
25
30
35
40
FPSO 1 FPSO 2
Market 1 Market 2
Market 3
Reservoirs
(Fiscal Model, Search Algorithm)
53
Part 1 Conclusion
FPSO 1 FPSO 2
Market 1 Market 2
Market 3
Reservoirs
(Fiscal Model, Decomposition)
53
Part 2: Approximation algorithms for large combinatorial problems
vertex cover
multiway cut
independent set
54
One slide summary
Background
I Motivation: Sometimes approximate is good enough.
I Approximation algorithms via LP rounding.
Contributions1
I Rounding approximate LP solutions.
I Building a parallel solver to approximately solve large LPs.
I Theoretical results bounding runtime and solution quality for approximatingcombinatorial problems.
1Sridhar, Bittorf, Liu, Zhang, Re, and Wright NIPS (2013)
55
One slide summary
Background
I Motivation: Sometimes approximate is good enough.
I Approximation algorithms via LP rounding.
Contributions1
I Rounding approximate LP solutions.
I Building a parallel solver to approximately solve large LPs.
I Theoretical results bounding runtime and solution quality for approximatingcombinatorial problems.
1Sridhar, Bittorf, Liu, Zhang, Re, and Wright NIPS (2013)
55
One slide summary
Background
I Motivation: Sometimes approximate is good enough.
I Approximation algorithms via LP rounding.
Contributions1
I Rounding approximate LP solutions.
I Building a parallel solver to approximately solve large LPs.
I Theoretical results bounding runtime and solution quality for approximatingcombinatorial problems.
1Sridhar, Bittorf, Liu, Zhang, Re, and Wright NIPS (2013)
55
One slide summary
Background
I Motivation: Sometimes approximate is good enough.
I Approximation algorithms via LP rounding.
Contributions1
I Rounding approximate LP solutions.
I Building a parallel solver to approximately solve large LPs.
I Theoretical results bounding runtime and solution quality for approximatingcombinatorial problems.
1Sridhar, Bittorf, Liu, Zhang, Re, and Wright NIPS (2013)
55
One slide summary
Background
I Motivation: Sometimes approximate is good enough.
I Approximation algorithms via LP rounding.
Contributions1
I Rounding approximate LP solutions.
I Building a parallel solver to approximately solve large LPs.
I Theoretical results bounding runtime and solution quality for approximatingcombinatorial problems.
1Sridhar, Bittorf, Liu, Zhang, Re, and Wright NIPS (2013)
55
One slide summary
Background
I Motivation: Sometimes approximate is good enough.
I Approximation algorithms via LP rounding.
Contributions1
I Rounding approximate LP solutions.
I Building a parallel solver to approximately solve large LPs.
I Theoretical results bounding runtime and solution quality for approximatingcombinatorial problems.
1Sridhar, Bittorf, Liu, Zhang, Re, and Wright NIPS (2013)
55
Motivating Applications
Problem Applications
Set Covering Classification (Bien 2009), Multi-objecttracking (Wu 2012)
Set Packing MAP-inference (Sanghavi 2007), Naturallanguage (Kschischang 2001)
Multiway-cut Computer vision (Yuri 2004), Entity resolu-tion (Lee 2011)
Graphical Models Semantic role labeling (Roth 2005), Cluster-ing (Van Gael 2007)
56
Vertex Cover
Problem StatementGiven a graph G = (V ,E), find a subset of vertices V ⊂ V that covers all edges.
min∑v∈V
cvxv
subject to xu + xv ≥ 1︸ ︷︷ ︸Chose one vertex
∀(u, v) ∈ E
Edges
xv ∈ {0, 1} ∀v ∈ V
Vertices
vertex cover
57
Rounding 101
Integer program
min∑v∈V
cvxv
xu + xv ≥ 1 ∀(u, v) ∈ E
xv ∈ {0, 1} ∀v ∈ V
LP relaxation
min∑v∈V
cvxv
xu + xv ≥ 1 ∀(u, v) ∈ E
xv ∈ [0, 1] ∀v ∈ V
Algorithm 1: 2 Approx
1. Compute an optimal solution xLP of the LP relaxation.
2. Round xLP to an integral feasible solution xIP .
3. Clearly, c ′xIP ≤ 2c ′xLP︸ ︷︷ ︸2 approx
.
58
Rounding 101
Integer program
min∑v∈V
cvxv
xu + xv ≥ 1 ∀(u, v) ∈ E
xv ∈ {0, 1} ∀v ∈ V
LP relaxation
min∑v∈V
cvxv
xu + xv ≥ 1 ∀(u, v) ∈ E
xv ∈ [0, 1] ∀v ∈ V
Algorithm 1: 2 Approx
1. Compute an optimal solution xLP of the LP relaxation.
2. Round xLP to an integral feasible solution xIP .
3. Clearly, c ′xIP ≤ 2c ′xLP︸ ︷︷ ︸2 approx
.
58
Rounding 101
Formulate MIP
Relax MIP to an LP
Solve the LP
Round LP solution
59
Well Known LP Rounding Schemes 1
Problem family Approx factor Applications
Set Covering f (Hochbaum 1982) Classification (Bien 2009), Multi-object tracking (Wu 2012)
Set Packing es + o(s) (Bansal 2012). MAP-inference (Sanghavi 2007),Natural language (Kschischang2001)
Multiway-cut 3/2− 1/k (Rabini 1998). Computer vision (Yuri 2004), Entityresolution (Lee 2011).
Graphical Models Heuristic Semantic role labeling (Roth 2005),Clustering (Van Gael 2007)
1The parameter f refers to the frequency of the most frequent element; s refers to s-column sparsematrices; and k refers to the number of terminals. e refers to the Euler’s constant.
60
Definitions
α-factor approx
An α-factor approximation provides a solution that is at most α times the cost ofthe true optimal solution.
Integer program
min∑v∈V
cvxv
xu + xv ≥ 1 ∀(u, v) ∈ E
xv ∈ {0, 1} ∀v ∈ V
LP relaxation
min∑v∈V
cvxv
xu + xv ≥ 1 ∀(u, v) ∈ E
xv ∈ [0, 1] ∀v ∈ V
Integrality gap
The worst case ratio between the LP optimum and the integer programmingsolution is the integrally gap.
61
Definitions
Feasible IP Solution
Optimal LP Solution
α factor
Optimal IP Solution
Integrality gap
62
Do we need the optimal LP solution?
Integer program
min∑v∈V
cvxv
xu + xv ≥ 1 ∀(u, v) ∈ E
xv ∈ {0, 1} ∀v ∈ V
LP relaxation
min∑v∈V
cvxv
xu + xv ≥ 1 ∀(u, v) ∈ E
xv ∈ [0, 1] ∀v ∈ V
Algorithm 1: 2 Approx
1. Compute an optimal a feasible solution xLP of the LP relaxation.
2. Round xLP to an integral feasible solution xIP .
3. Clearly, c ′xIP ≤ 2c ′xLP︸ ︷︷ ︸2 approx
.
63
Main Result
Formulate MIP
Relax MIP to an LP
Solve the LP approximately
Round approximate LP solution
64
Contribution: Oblivious Rounding
Feasible IP Solutions
Optimal LP Solution
α factor
Feasible LP Solution
ɣ factor oblivious
Optimal IP Solution
65
Oblivious LP Rounding Schemes
For a minimization problem Φ with an IP formulation P whose LP relaxation is denotedby LP(P), a γ-factor ‘oblivious’ rounding scheme converts any feasible point xf ∈ LP(P)to an integral solution xI ∈ P with cost at most γ times the cost of LP(P) at xf .
vertex cover
multiway cut
independent set
Oblivious Rounding + Feasible LP Solution = Feasible Integral66
Handling Infeasible LP Solutions
(ε, δ) approximate LP solutions
A point x is an (ε, δ) approximate solution of the LP
min cT x s.t Ax = b, x ≥ 0
if x ≥ 0 and ∃ε > 0 and δ > 0 such that
||Ax − b||∞ ≤ ε
infeasibility
|cT x − cT x∗| ≤ δcT x∗
sub-optimality
.
Key Idea
Convert an (ε, δ)︸ ︷︷ ︸Infeasible
LP solution to a (0, δ)︸ ︷︷ ︸Feasible
LP solution.
67
Handling Infeasible LP Solutions
(ε, δ) approximate LP solutions
A point x is an (ε, δ) approximate solution of the LP
min cT x s.t Ax = b, x ≥ 0
if x ≥ 0 and ∃ε > 0 and δ > 0 such that
||Ax − b||∞ ≤ ε
infeasibility
|cT x − cT x∗| ≤ δcT x∗
sub-optimality
.
Key Idea
Convert an (ε, δ)︸ ︷︷ ︸Infeasible
LP solution to a (0, δ)︸ ︷︷ ︸Feasible
LP solution.
67
Main Results I: Approximate LP Rounding
Let x be an (ε, δ) approximate solution for the LP relaxation of vertex cover withε ∈ [0, 1). Then, x = Π[0,1]n ((1− ε)−1x) is a (0, δ(1− ε)−1)-approximate solutionfor vertex cover..
α-‐factor approxExact LP solution
Exact LP rounding
-‐approx LP solution
Approx LP rounding (✏, �)
factor approx↵(1 + �(1 � ✏)�1)
Rounding approximate LP solutions are good enough!
Extends to covering, packing and multiway-cuts!
68
Main Results II: Computing Approximate LP Solutions
min cT x s.t
Ax = b, x � 0LP
x(�) := arg minx�0
cT x � uT (Ax � b) +�
2kAx � bk2 +
1
2�kx � xk2
Quadratic penalty formulation
69
Main Results II: Computing Approximate LP Solutions
x(β) := arg minx≥0
fβ(x) := cT x − uT (Ax − b)
Dual multiplier
+β
2‖Ax − b‖2
Quadratic penalty
+1
2β‖x − x‖2
Regularizer
1Liu et al. Arxiv (2013)2Depends on the conditioning of the underlying LP.
70
Main Results II: Computing Approximate LP Solutions
x(β) := arg minx≥0
fβ(x) := cT x − uT (Ax − b)
Dual multiplier
+β
2‖Ax − b‖2
Quadratic penalty
+1
2β‖x − x‖2
Regularizer
ASCD1 is ideal for large solving QPs!
3 2 1 0 1 2 33
2
1
0
1
2
2.000
6.000
10.000
20.000
30.000
30.000
40.000
40.000
40.000
40.000
Coordinate Descent steps
1Liu et al. Arxiv (2013)2Depends on the conditioning of the underlying LP.
70
Main Results II: Computing Approximate LP Solutions
x(β) := arg minx≥0
fβ(x) := cT x − uT (Ax − b)
Dual multiplier
+β
2‖Ax − b‖2
Quadratic penalty
+1
2β‖x − x‖2
Regularizer
I For a large enough β, the unique solution x(β) of the QP approximation is an(ε, δ) approximate LP solution2.
I ASCD1 helps provide a O(m3n2ε−2) complexity estimate for the vertex coverproblem for a graph with m edges and n vertices.
1Liu et al. Arxiv (2013)2Depends on the conditioning of the underlying LP.
70
Main Results II: Computing Approximate LP Solutions
x(β) := arg minx≥0
fβ(x) := cT x − uT (Ax − b)
Dual multiplier
+β
2‖Ax − b‖2
Quadratic penalty
+1
2β‖x − x‖2
Regularizer
I For a large enough β, the unique solution x(β) of the QP approximation is an(ε, δ) approximate LP solution2.
I ASCD1 helps provide a O(m3n2ε−2) complexity estimate for the vertex coverproblem for a graph with m edges and n vertices.
1Liu et al. Arxiv (2013)2Depends on the conditioning of the underlying LP.
70
Results: Comparisons with Cplex-LP and Cplex-IP
Instance # Vars # Nonzeros Speedup 1 Quality 2
frb59-26-1 0.12M 0.37M 2.8 1.04
Amazon 0.39M 1.17M 8.4 1.23
DBLP 0.37M 1.13M 8.3 1.25
Google+ 0.71M 2.14M 9.0 1.21
1S: (time taken by Cplex-LP)/(time taken by our solver)2Q: (our objective)/(Cplex-IP objective)
71
Results: Comparisons with Cplex-LP and Cplex-IP
Instance # Vars # Nonzeros Speedup 1 Quality 2
frb59-26-1 0.12M 0.37M 2.8 1.04
Amazon 0.39M 1.17M 8.4 1.23
DBLP 0.37M 1.13M 8.3 1.25
Google+ 0.71M 2.14M 9.0 1.21
I Rounding approximate LP solutions produced feasible integral solutions ofcomparable quality with rounding exact LP solutions.
I On larger problems like multiway-cut, we found solutions within 2 minuteswhile Cplex-LP timed out!.
I On statistical inference problems, we obtain identical application level qualitysolutions in comparison with Cplex-LP and Cplex-IP.
1S: (time taken by Cplex-LP)/(time taken by our solver)2Q: (our objective)/(Cplex-IP objective)
71
Part 2 Conclusion
Formulate MIP
Relax MIP to an LP
Solve the LP approximately
Round approximate LP solution
72
Part 2 Conclusion
Feasible IP Solutions
Optimal LP Solution
α factor
Feasible LP Solution
ɣ factor oblivious
Optimal IP Solution
72
Part 2 Conclusion
α-‐factor approxExact LP solution
Exact LP rounding
-‐approx LP solution
Approx LP rounding (✏, �)
factor approx↵(1 + �(1 � ✏)�1)
Rounding approximate LP solutions are good enough!
72
Part 2 Conclusion
min cT x s.t
Ax = b, x � 0LP
x(�) := arg minx�0
cT x � uT (Ax � b) +�
2kAx � bk2 +
1
2�kx � xk2
Quadratic penalty formulation
3 2 1 0 1 2 33
2
1
0
1
2
2.000
6.000
10.000
20.000
30.000
30.000
40.000
40.000
40.000
40.000
Coordinate Descent steps
72
Thats’ all folks!
73
Backup Slides
1
Results: Vertex Cover
VC Cplex-IP Cplex-LP Thetis
(min) t (secs) BFS Gap(%) t (secs) LP RSol t (secs) LP RSol
frb59-26-1 - 1475 0.7 2.48 767.0 1534 0.88 959.7 1532
frb59-26-2 - 1475 0.6 3.93 767.0 1534 0.86 979.7 1532
frb59-26-3 - 1475 0.5 4.42 767.0 1534 0.89 982.9 1533
Amazon 85.5 1.60×105 - 24.8 1.50×105 2.04×105 2.97 1.50×105 1.97×105
DBLP 22.1 1.65×105 - 22.3 1.42×105 2.08×105 2.70 1.42×105 2.06×105
Google+ - 1.06×105 0.01 40.1 1.00×105 1.31×105 4.47 1.00×105 1.27×105
2
Results: Vertex Cover
Cplex-LP
Instance ε = 1× 10−1 ε = 1× 10−3 ε = 1× 10−5
t(s) LP RSol t(s) LP RSol t(s) LP RSol
frb59-26-1 2.48 767.0 1534 4.70 767.0 1534 4.59 767.0 1534
frb59-26-2 3.93 767.0 1534 4.61 767.0 1534 4.67 767.0 1534
frb59-26-3 4.42 767.0 1534 4.62 767.0 1534 4.76 767.0 1534
Amazon 24.8 1.50×105 2.04×105 21.0 1.50×105 1.99×105 46.7 1.50×105 1.99×105
DBLP 22.3 1.42×105 2.08×105 22.8 1.42×105 2.07×105 31.1 1.42×105 2.06×105
Google+ 40.1 1.00×105 1.31×105 61.1 1.00×105 1.29×105 60.0 1.00×105 1.30×105
Thetis
Instance ε = 1× 10−1 ε = 1× 10−3 ε = 1× 10−5
t(s) LP RSol t(s) LP RSol t(s) LP RSol
frb59-26-1 0.88 959.7 1532 13.7 767.0 1534 13.3 767.0 1534
frb59-26-2 0.86 979.7 1532 14.2 767.0 1534 14.1 767.0 1534
frb59-26-3 0.89 982.9 1533 12.9 767.0 1534 12.9 767.0 1534
Amazon 2.97 1.50×105 1.97×105 59.5 1.50×105 1.99×105 50.3 1.50×105 1.99×105
DBLP 2.70 1.42×105 2.06×105 39.2 1.42×105 2.07×105 59.1 1.42×105 2.07×105
Google+ 4.47 1.00×105 1.27×105 1420.1 1.00×105 1.29×105 2818.2 1.00×105 1.30×105
3
Results: Inference
Task Formulation PV NNZ Method P R F1 Rank
Cplex-IP .87 .91 .89 10/13
CoNLL Skip-chain CRF 25M 51M Thetis .87 .90 .89 10/13
Gibbs Sampling .86 .90 .88 10/13
Cplex-IP .80 .80 .80 6/17
TAC-KBP Factor graph 62K 115K Thetis .79 .79 .79 6/17
Gibbs Sampling .80 .80 .80 6/17
4
Results: Combinatorial Problems
VC Cplex-IP Cplex-LP (default) Thetis
(min) t (secs) BFS Gap(%) t (secs) LP RSol t (secs) LP RSol
frb59-26-1 - 1475 0.7 4.59 767.0 1534 0.88 959.7 1532
Amazon 85.5 1.60×105 - 21.6 1.50×105 1.99×105 2.97 1.50×105 1.97×105
DBLP 22.1 1.65×105 - 23.7 1.42×105 2.07×105 2.70 1.42×105 2.06×105
Google+ - 1.06×105 0.01 60.0 1.00×105 1.30×105 4.47 1.00×105 1.27×105
MC Cplex-IP Cplex-LP (default) Thetis (ε = 0.1)
(min) t (secs) BFS Gap(%) t (secs) LP RSol t (secs) LP RSol
frb59-26-1 547.4 346 - 397.0 346 346 5.86 352.3 349
Amazon - 12 NA - - - 55.8 7.28 5
DBLP - 15 NA - - - 63.8 11.70 5
Google+ - 6 NA - - - 109.9 5.84 5
MIS Cplex-IP Cplex-LP (default) Thetis (ε = 0.1)
(max) t (secs) BFS Gap(%) t (secs) LP RSol t (secs) LP RSol
frb59-26-1 - 50 18.0 4.88 767 16 0.88 447.7 18
Amazon 35.4 1.75×105 - 25.7 1.85×105 1.58×105 3.09 1.73×105 1.43×105
DBLP 17.3 1.52×105 - 24.0 1.75×105 1.41×105 2.72 1.66×105 1.34×105
Google+ - 1.06×105 0.02 68.8 1.11×105 9.40×104 4.37 1.00×105 8.67×104
5
Problem Description
6
Production Process
I The production process creates a mixture of useful products P+ and byproducts P−.
I Decisions span a planning horizon T .
I Discrete decisions determine the start time of the production process.
I Continuous decisions determine the production profile evaluated by productionfunctions f (·) and gp(·).
7
Production Process
I The production process creates a mixture of useful products P+ and byproducts P−.
I Decisions span a planning horizon T .
I Discrete decisions determine the start time of the production process.
I Continuous decisions determine the production profile evaluated by productionfunctions f (·) and gp(·).
7
Production Process
I The production process creates a mixture of useful products P+ and byproducts P−.
I Decisions span a planning horizon T .
I Discrete decisions determine the start time of the production process.
I Continuous decisions determine the production profile evaluated by productionfunctions f (·) and gp(·).
7
Production Process
I The production process creates a mixture of useful products P+ and byproducts P−.
I Decisions span a planning horizon T .
I Discrete decisions determine the start time of the production process.
I Continuous decisions determine the production profile evaluated by productionfunctions f (·) and gp(·).
7
Production functions
I Production function f (·) is a concave function that determines the maximumproduction rate as a function of total production.
I Product fraction functions gp(·) evolve monotonically as a function of the totalproduction.
Total production (v(t))
Maximum production rate (f)
Total production (v(t))
Product fraction (gp)
Useful product
8
Production functions
I Production function f (·) is a concave function that determines the maximumproduction rate as a function of total production.
I Product fraction functions gp(·) evolve monotonically as a function of the totalproduction.
Total production (v(t))
Maximum production rate (f)
Total production (v(t))
Product fraction (gp)
Useful product
8
Production functions
I Production function f (·) is a concave function that determines the maximumproduction rate as a function of total production.
I Product fraction functions gp(·) evolve monotonically as a function of the totalproduction.
Total production (v(t))
Maximum production rate (f)
Total production (v(t))
Product fraction (gp)
Useful product
9
Production functions
I Production function f (·) is a concave function that determines the maximumproduction rate as a function of total production.
I Product fraction functions gp(·) evolve monotonically as a function of the totalproduction.
Total production (v(t))
Maximum production rate (f)
Total production (v(t))
Product fraction (gp)
Useful product
By-product
10
Continous time formulation
Cumulative production v(t) is calculated using production rate x(t)
v(t) =
∫ t
0
x(s)ds
Mixture production rate is limited by production function f (·)
x(t) ≤ f (v(t))
Product production rates yp(t) calculated by fraction functions gp(·)
yp(t) = x(t) gp(v(t))
Production profiles are active only after the start time z(t)
v(t) ≤ M z(t)
11
Continous time formulation
Cumulative production v(t) is calculated using production rate x(t)
v(t) =
∫ t
0
x(s)ds
Mixture production rate is limited by production function f (·)
x(t) ≤ f (v(t))
Product production rates yp(t) calculated by fraction functions gp(·)
yp(t) = x(t) gp(v(t))
Production profiles are active only after the start time z(t)
v(t) ≤ M z(t)
11
Continous time formulation
Cumulative production v(t) is calculated using production rate x(t)
v(t) =
∫ t
0
x(s)ds
Mixture production rate is limited by production function f (·)
x(t) ≤ f (v(t))
Product production rates yp(t) calculated by fraction functions gp(·)
yp(t) = x(t) gp(v(t))
Production profiles are active only after the start time z(t)
v(t) ≤ M z(t)
11
Continous time formulation
Cumulative production v(t) is calculated using production rate x(t)
v(t) =
∫ t
0
x(s)ds
Mixture production rate is limited by production function f (·)
x(t) ≤ f (v(t))
Product production rates yp(t) calculated by fraction functions gp(·)
yp(t) = x(t) gp(v(t))
Production profiles are active only after the start time z(t)
v(t) ≤ M z(t)
11
Discrete Time Formulations
12
Discrete time formulations
A ‘natural’ discretization of this continuous time model (Tarhan 2009)
Continuous time formulation(CNT)
v(t) =
∫ t
0
x(s)ds
x(t) ≤ f (v(t))
yp(t) = x(t) gp(v(t))
v(t) ≤ M z(t)
z(t) :T → {0, 1}, increasing
vt Cumulative production up totime period t ∈ T .
xt Mixture production during timeperiod t ∈ T .
yp,t Product p ∈ P production dur-ing time period t ∈ T .
zt Facility on/off decision vari-able.
13
Discrete time formulations
A ‘natural’ discretization of this continuous time model (Tarhan 2009)
Continuous time formulation(CNT)
v(t) =
∫ t
0
x(s)ds
x(t) ≤ f (v(t))
yp(t) = x(t) gp(v(t))
v(t) ≤ M z(t)
z(t) :T → {0, 1}, increasing
vt Cumulative production up totime period t ∈ T .
xt Mixture production during timeperiod t ∈ T .
yp,t Product p ∈ P production dur-ing time period t ∈ T .
zt Facility on/off decision vari-able.
13
Discrete time formulations
A ‘natural’ discretization of this continuous time model (Tarhan 2009)
Continuous time formulation(CNT)
v(t) =
∫ t
0
x(s)ds
x(t) ≤ f (v(t))
yp(t) = x(t) gp(v(t))
v(t) ≤ M z(t)
z(t) :T → {0, 1}, increasing
vt Cumulative production up totime period t ∈ T .
xt Mixture production during timeperiod t ∈ T .
yp,t Product p ∈ P production dur-ing time period t ∈ T .
zt Facility on/off decision vari-able.
13
Discrete time formulations
A ‘natural’ discretization of this continuous time model (Tarhan 2009)
Continuous time formulation(CNT)
v(t) =
∫ t
0
x(s)ds
x(t) ≤ f (v(t))
yp(t) = x(t) gp(v(t))
v(t) ≤ M z(t)
z(t) :T → {0, 1}, increasing
vt Cumulative production up totime period t ∈ T .
xt Mixture production during timeperiod t ∈ T .
yp,t Product p ∈ P production dur-ing time period t ∈ T .
zt Facility on/off decision vari-able.
13
Discrete time formulations
A ‘natural’ discretization of this continuous time model (Tarhan 2009)
Continuous time formulation(CNT)
v(t) =
∫ t
0
x(s)ds
x(t) ≤ f (v(t))
yp(t) = x(t) gp(v(t))
v(t) ≤ M z(t)
z(t) :T → {0, 1}, increasing
vt Cumulative production up totime period t ∈ T .
xt Mixture production during timeperiod t ∈ T .
yp,t Product p ∈ P production dur-ing time period t ∈ T .
zt Facility on/off decision vari-able.
13
Discrete time formulations
A ‘natural’ discretization of this continuous time model (Tarhan 2009)
Continuous time formulation(CNT)
v(t) =
∫ t
0
x(s)ds
x(t) ≤ f (v(t))
yp(t) = x(t) gp(v(t))
v(t) ≤ M z(t)
z(t) :T → {0, 1}, increasing
vt Cumulative production up totime period t ∈ T .
xt Mixture production during timeperiod t ∈ T .
yp,t Product p ∈ P production dur-ing time period t ∈ T .
zt Facility on/off decision vari-able.
13
Discrete time formulations
Past models have proposed a natural discretization of this continuous time model.
Continuous time formulation(CNT)
v(t) =
∫ t
0
x(s)ds
x(t) ≤ f (v(t))
yp(t) = x(t) gp(v(t))
v(t) ≤ M z(t)
z(t) :T → {0, 1}, increasing
=⇒
Discrete time formulation (F1 )
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = xt gp(vt−1)
vt ≤ M zt
zt ≥ zt−1, zt ∈ {0, 1}
14
Discrete time formulations
Past models have proposed a natural discretization of this continuous time model.
Continuous time formulation(CNT)
v(t) =
∫ t
0
x(s)ds
x(t) ≤ f (v(t))
yp(t) = x(t) gp(v(t))
v(t) ≤ M z(t)
z(t) :T → {0, 1}, increasing
=⇒
Discrete time formulation (F1 )
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = xt gp(vt−1)
vt ≤ M zt
zt ≥ zt−1, zt ∈ {0, 1}
14
Discrete time formulations
Past models have proposed a natural discretization of this continuous time model.
Continuous time formulation(CNT)
v(t) =
∫ t
0
x(s)ds
x(t) ≤ f (v(t))
yp(t) = x(t) gp(v(t))
v(t) ≤ M z(t)
z(t) :T → {0, 1}, increasing
=⇒
Discrete time formulation (F1 )
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = xt gp(vt−1)
vt ≤ M zt
zt ≥ zt−1, zt ∈ {0, 1}
14
Discrete time formulations
Past models have proposed a natural discretization of this continuous time model.
Continuous time formulation(CNT)
v(t) =
∫ t
0
x(s)ds
x(t) ≤ f (v(t))
yp(t) = x(t) gp(v(t))
v(t) ≤ M z(t)
z(t) :T → {0, 1}, increasing
=⇒
Discrete time formulation (F1 )
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = xt gp(vt−1)
vt ≤ M zt
zt ≥ zt−1, zt ∈ {0, 1}
14
Discrete time formulations
Past models have proposed a natural discretization of this continuous time model.
Continuous time formulation(CNT)
v(t) =
∫ t
0
x(s)ds
x(t) ≤ f (v(t))
yp(t) = x(t) gp(v(t))
v(t) ≤ M z(t)
z(t) :T → {0, 1}, increasing
=⇒
Discrete time formulation (F1 )
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = xt gp(vt−1)
vt ≤ M zt
zt ≥ zt−1, zt ∈ {0, 1}
14
Discrete time formulations
Past models have proposed a natural discretization of this continuous time model.
Continuous time formulation(CNT)
v(t) =
∫ t
0
x(s)ds
x(t) ≤ f (v(t))
yp(t) = x(t) gp(v(t))
v(t) ≤ M z(t)
z(t) :T → {0, 1}, increasing
=⇒
Discrete time formulation (F1 )
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = xt gp(vt−1)
vt ≤ M zt
zt ≥ zt−1, zt ∈ {0, 1}
14
F1 formulation
How much product is produced up to time t?
wp,t :=∑s≤t
yp,s
=∑s≤t
xsgp(vs−1)
Discrete time formulation(F1 )
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = xt gp(vt−1)
vt ≤ M zt
zt ≥ zt−1, zt ∈ {0, 1}
15
F1 formulation
How much product is produced up to time t?
wp,t :=∑s≤t
yp,s
=∑s≤t
xsgp(vs−1)
Total Production (vt)
Useful product fraction (gp+ )
Total Production (vt)
By-product fraction (gp− )
Discrete time formulation(F1 )
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = xt gp(vt−1)
vt ≤ M zt
zt ≥ zt−1, zt ∈ {0, 1}
15
F1 formulation
How much product is produced up to time t?
wp,t :=∑s≤t
yp,s
=∑s≤t
xsgp(vs−1)
Total Production (vt)
Useful product fraction (gp+ )
Total Production (vt)
By-product fraction (gp− )
Discrete time formulation(F1 )
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = xt gp(vt−1)
vt ≤ M zt
zt ≥ zt−1, zt ∈ {0, 1}
15
F1 formulation
How much product is produced up to time t?
wp,t :=∑s≤t
yp,s
=∑s≤t
xsgp(vs−1)
0.2 0.4 0.6 0.8
Total Production (vt)
0.0
0.2
0.4
0.6
0.8
1.0
Useful product fraction (gp+ )
F1
0.2 0.4 0.6 0.8
Total Production (vt)
0.0
0.2
0.4
0.6
0.8
1.0
By-product fraction (gp− )
F1
Discrete time formulation(F1 )
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = xt gp(vt−1)
vt ≤ M zt
zt ≥ zt−1, zt ∈ {0, 1}
16
Alternate formulation
Can we do better?
Can we calculate exactly how much ofproduct p ∈ P is produced up to andincluding time period t ?
wp,t =
∫ t
0
yp(s)ds
=
∫ t
0
x(s) gp(v(s))ds
=
∫ vt
0
gp(v)dv
:= hp(vt)
Continuous timeformulation (CNT)
v(t) =
∫ t
0
x(s)ds
x(t) ≤ f (v(t))
yp(t) = x(t) gp(v(t))
v(t) ≤ M z(t)
z(t) :T → {0, 1}, inc
17
Alternate formulation
Can we do better?
Can we calculate exactly how much ofproduct p ∈ P is produced up to andincluding time period t ?
wp,t =
∫ t
0
yp(s)ds
=
∫ t
0
x(s) gp(v(s))ds
=
∫ vt
0
gp(v)dv
:= hp(vt)
Continuous timeformulation (CNT)
v(t) =
∫ t
0
x(s)ds
x(t) ≤ f (v(t))
yp(t) = x(t) gp(v(t))
v(t) ≤ M z(t)
z(t) :T → {0, 1}, inc
17
Alternate formulation
Can we do better?
Can we calculate exactly how much ofproduct p ∈ P is produced up to andincluding time period t ?
wp,t =
∫ t
0
yp(s)ds
=
∫ t
0
x(s) gp(v(s))ds
=
∫ vt
0
gp(v)dv
:= hp(vt)
Continuous timeformulation (CNT)
v(t) =
∫ t
0
x(s)ds
x(t) ≤ f (v(t))
yp(t) = x(t) gp(v(t))
v(t) ≤ M z(t)
z(t) :T → {0, 1}, inc
17
Alternate formulation
Can we do better?
Can we calculate exactly how much ofproduct p ∈ P is produced up to andincluding time period t ?
wp,t =
∫ t
0
yp(s)ds
=
∫ t
0
x(s) gp(v(s))ds
=
∫ vt
0
gp(v)dv
:= hp(vt)
Continuous timeformulation (CNT)
v(t) =
∫ t
0
x(s)ds
x(t) ≤ f (v(t))
yp(t) = x(t) gp(v(t))
v(t) ≤ M z(t)
z(t) :T → {0, 1}, inc
17
Alternate formulation
Can we do better?
Can we calculate exactly how much ofproduct p ∈ P is produced up to andincluding time period t ?
wp,t =
∫ t
0
yp(s)ds
=
∫ t
0
x(s) gp(v(s))ds
=
∫ vt
0
gp(v)dv
:= hp(vt)
Continuous timeformulation (CNT)
v(t) =
∫ t
0
x(s)ds
x(t) ≤ f (v(t))
yp(t) = x(t) gp(v(t))
v(t) ≤ M z(t)
z(t) :T → {0, 1}, inc
17
Alternate formulation
Can we do better?
Can we calculate exactly how much ofproduct p ∈ P is produced up to andincluding time period t ?
wp,t =
∫ t
0
yp(s)ds
=
∫ t
0
x(s) gp(v(s))ds
=
∫ vt
0
gp(v)dv
:= hp(vt)
Continuous timeformulation (CNT)
v(t) =
∫ t
0
x(s)ds
x(t) ≤ f (v(t))
yp(t) = x(t) gp(v(t))
v(t) ≤ M z(t)
z(t) :T → {0, 1}, inc
17
Alternate formulation
Can we do better?
Can we calculate exactly how much ofproduct p ∈ P is produced up to andincluding time period t ?
wp,t =
∫ t
0
yp(s)ds
=
∫ t
0
x(s) gp(v(s))ds
=
∫ vt
0
gp(v)dv
:= hp(vt)
Continuous timeformulation (CNT)
v(t) =
∫ t
0
x(s)ds
x(t) ≤ f (v(t))
yp(t) = x(t) gp(v(t))
v(t) ≤ M z(t)
z(t) :T → {0, 1}, inc
17
Comparing Formulations
Which formulation is better?
Formulation F1
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = xt gp(vt−1)
vt ≤ M zt
zt ≥ zt−1
Formulation F2
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = hp(vt)− hp(vt−1)
vt ≤ M zt
zt ≥ zt−1
I F2 is a more accurate formulation of CNT than F1 .I F2 is computationally better because it deals with convex functions while F1 deals
with bilinear terms.
18
Comparing Formulations
Which formulation is better?
I F2 is a more accurate formulation of CNT than F1 .
I F2 is computationally better because it deals with convex functions while F1 dealswith bilinear terms.
0.2 0.4 0.6 0.8
Total Production (vt)
0.0
0.2
0.4
0.6
0.8
1.0
Useful product fraction (gp+ )
F1
F2
0.2 0.4 0.6 0.8
Total Production (vt)
0.0
0.2
0.4
0.6
0.8
1.0
By-product fraction (gp− )
F1
F2
18
Comparing Formulations
Which formulation is better?
I F2 is a more accurate formulation of CNT than F1 .
I F2 is computationally better because it deals with convex functions while F1 dealswith bilinear terms.
Total production (vt)
Product fraction (gp)
Useful product
By-product
Total production (vt)
Cumulative product (hp)
Useful product
By-product
18
MIP Approximation & Relaxations
19
Approximations & Relaxations I
Piecewise Linear Approximation (PLA)
Approximate all the nonlinear production functions with piecewise linearizations.
I ProsI ‘Close’ to a feasible solution of the MINLP formulation.
I Cons
I Introduces additional SOS2 variables to branch on.I NOT a relaxation of the original formulation.
Total production (vt)
Maximum production rate (f)
Total production (vt)
Cumulative useful product (gp+ )
Total production (vt)
Cumulative by-product (hp− )
20
Approximations & Relaxations I
Piecewise Linear Approximation (PLA)
Approximate all the nonlinear production functions with piecewise linearizations.I Pros
I ‘Close’ to a feasible solution of the MINLP formulation.
I Cons
I Introduces additional SOS2 variables to branch on.I NOT a relaxation of the original formulation.
Total production (vt)
Maximum production rate (f)
Total production (vt)
Cumulative useful product (gp+ )
Total production (vt)
Cumulative by-product (hp− )
20
Approximations & Relaxations I
Piecewise Linear Approximation (PLA)
Approximate all the nonlinear production functions with piecewise linearizations.I Pros
I ‘Close’ to a feasible solution of the MINLP formulation.
I ConsI Introduces additional SOS2 variables to branch on.
I NOT a relaxation of the original formulation.
Total production (vt)
Maximum production rate (f)
Total production (vt)
Cumulative useful product (gp+ )
Total production (vt)
Cumulative by-product (hp− )
20
Approximations & Relaxations I
Piecewise Linear Approximation (PLA)
Approximate all the nonlinear production functions with piecewise linearizations.I Pros
I ‘Close’ to a feasible solution of the MINLP formulation.
I ConsI Introduces additional SOS2 variables to branch on.I NOT a relaxation of the original formulation.
Total production (vt)
Maximum production rate (f)
Total production (vt)
Cumulative useful product (gp+ )
Total production (vt)
Cumulative by-product (hp− )
20
Specially ordered sets (SOS)
Total production (vt)
[a0 ,gp (a0 )]
[a1 ,gp (a1 )]
[a2 ,gp (a2 )] [a3 ,gp (a3 )]
Cumulative useful product (gp+ ) Approximating gp(vt)
gp(vt) ≈∑o∈O
λt,ogp(ao)
1 =∑o∈O
λt,o
Structure: Only two adjacent nonzeros.
{λt,o |o ∈ O} ∈ S0S2
Specially ordered sets (SOS)
Total production (vt)
[a0 ,gp (a0 )]
[a1 ,gp (a1 )]
[a2 ,gp (a2 )] [a3 ,gp (a3 )]
Cumulative useful product (gp+ ) Approximating gp(vt)
gp(vt) ≈∑o∈O
λt,ogp(ao)
1 =∑o∈O
λt,o
Structure: Only two adjacent nonzeros.
{λt,o |o ∈ O} ∈ S0S2
Specially ordered sets (SOS)
Total production (vt)
[a0 ,gp (a0 )]
[a1 ,gp (a1 )]
[a2 ,gp (a2 )] [a3 ,gp (a3 )]
Cumulative useful product (gp+ ) Approximating gp(vt)
gp(vt) ≈∑o∈O
λt,ogp(ao)
1 =∑o∈O
λt,o
Structure: Only two adjacent nonzeros.
{λt,o |o ∈ O} ∈ S0S2
Specially ordered sets (SOS)
Total production (vt)
[a0 ,gp (a0 )]
[a1 ,gp (a1 )]
[a2 ,gp (a2 )] [a3 ,gp (a3 )]
Cumulative useful product (gp+ ) Approximating gp(vt)
gp(vt) ≈∑o∈O
λt,ogp(ao)
1 =∑o∈O
λt,o
Structure: Only two adjacent nonzeros.
{λt,o |o ∈ O} ∈ S0S2
Piecewise Linear Approximation (PLA)
Formulation F2
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = hp(vt)− hp(vt−1)
vt ≤ M zt
zt ≥ zt−1
Piecewise Linear Approximation(PLA)
vt =t∑
s=0
xs
vt =∑o∈O
Bo λt,o
xt ≤ ∆t
∑o∈O
Fo λt,o
yp,t = wp,t − wp,t−1
wp,t =∑o∈O
Hp,o λt,o
vt ≤ M zt
zt ≥ zt−1
1 =∑o∈O
λt,o
{λt,o |o ∈ O} ∈ S0S2
22
Piecewise Linear Approximation (PLA)
Formulation F2
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = hp(vt)− hp(vt−1)
vt ≤ M zt
zt ≥ zt−1
Piecewise Linear Approximation(PLA)
vt =t∑
s=0
xs
vt =∑o∈O
Bo λt,o
xt ≤ ∆t
∑o∈O
Fo λt,o
yp,t = wp,t − wp,t−1
wp,t =∑o∈O
Hp,o λt,o
vt ≤ M zt
zt ≥ zt−1
1 =∑o∈O
λt,o
{λt,o |o ∈ O} ∈ S0S2
22
Piecewise Linear Approximation (PLA)
Formulation F2
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = hp(vt)− hp(vt−1)
vt ≤ M zt
zt ≥ zt−1
Piecewise Linear Approximation(PLA)
vt =t∑
s=0
xs
vt =∑o∈O
Bo λt,o
xt ≤ ∆t
∑o∈O
Fo λt,o
yp,t = wp,t − wp,t−1
wp,t =∑o∈O
Hp,o λt,o
vt ≤ M zt
zt ≥ zt−1
1 =∑o∈O
λt,o
{λt,o |o ∈ O} ∈ S0S2
22
Piecewise Linear Approximation (PLA)
Formulation F2
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = hp(vt)− hp(vt−1)
vt ≤ M zt
zt ≥ zt−1
Piecewise Linear Approximation(PLA)
vt =t∑
s=0
xs
vt =∑o∈O
Bo λt,o
xt ≤ ∆t
∑o∈O
Fo λt,o
yp,t = wp,t − wp,t−1
wp,t =∑o∈O
Hp,o λt,o
vt ≤ M zt
zt ≥ zt−1
1 =∑o∈O
λt,o
{λt,o |o ∈ O} ∈ S0S2
22
Approximations & Relaxations II
Secant Relaxation (1-SEC)
Relax all the nonlinear production functions using inner and outer approximations.
I Pros
I Relaxation of the original formulation.I Does NOT introduce additional SOS2 variables.
I ConsI May not be ‘close’ to a feasible solution of the MINLP formulation.
Total production (vt)
Maximum production rate (f)
Total production (vt)
Cumulative useful product (hp+ )
Total production (vt)
Cumulative by-product (hp− )
23
Approximations & Relaxations II
Secant Relaxation (1-SEC)
Relax all the nonlinear production functions using inner and outer approximations.I Pros
I Relaxation of the original formulation.
I Does NOT introduce additional SOS2 variables.
I ConsI May not be ‘close’ to a feasible solution of the MINLP formulation.
Total production (vt)
Maximum production rate (f)
Total production (vt)
Cumulative useful product (hp+ )
Total production (vt)
Cumulative by-product (hp− )
23
Approximations & Relaxations II
Secant Relaxation (1-SEC)
Relax all the nonlinear production functions using inner and outer approximations.I Pros
I Relaxation of the original formulation.I Does NOT introduce additional SOS2 variables.
I ConsI May not be ‘close’ to a feasible solution of the MINLP formulation.
Total production (vt)
Maximum production rate (f)
Total production (vt)
Cumulative useful product (hp+ )
Total production (vt)
Cumulative by-product (hp− )
23
Approximations & Relaxations III
Multiple Secant Relaxation (k-SEC)
Relax all the nonlinear production functions using inner and outer approximations but usemultiple secants instead of a just a single one.
I ProsI ‘Close’ to a feasible solution of the MINLP formulation.
I Relaxation of the original formulation.
I Cons
I Introduces additional SOS2 variables to branch on.
Total production (vt)
Cumulative useful product (hp− )
Total production (vt)
Cumulative by-product (hp+ )
24
Approximations & Relaxations III
Multiple Secant Relaxation (k-SEC)
Relax all the nonlinear production functions using inner and outer approximations but usemultiple secants instead of a just a single one.
I ProsI ‘Close’ to a feasible solution of the MINLP formulation.I Relaxation of the original formulation.
I Cons
I Introduces additional SOS2 variables to branch on.
Total production (vt)
Cumulative useful product (hp− )
Total production (vt)
Cumulative by-product (hp+ )
24
Approximations & Relaxations III
Multiple Secant Relaxation (k-SEC)
Relax all the nonlinear production functions using inner and outer approximations but usemultiple secants instead of a just a single one.
I ProsI ‘Close’ to a feasible solution of the MINLP formulation.I Relaxation of the original formulation.
I Cons
I Introduces additional SOS2 variables to branch on.
Total production (vt)
Cumulative useful product (hp− )
Total production (vt)
Cumulative by-product (hp+ )
24
Approximations & Relaxations III
Multiple Secant Relaxation (k-SEC)
Relax all the nonlinear production functions using inner and outer approximations but usemultiple secants instead of a just a single one.
I ProsI ‘Close’ to a feasible solution of the MINLP formulation.I Relaxation of the original formulation.
I ConsI Introduces additional SOS2 variables to branch on.
Total production (vt)
Cumulative useful product (hp− )
Total production (vt)
Cumulative by-product (hp+ )
24
Trix
Key Idea
Production functions are positive only if the facility is open.
Original Formulation...
vt =∑o∈O
Bo λt,o
wp,t =∑o∈O
Hp,o λt,o
1 =∑o∈O
λt,o
vt ≤ Mzt
Stronger Formulation...
vt =∑o∈O
Bo λt,o
wp,t =∑o∈O
Hp,o λt,o
zt =∑o∈O
λt,o
25
Trix
Key Idea
Production functions are positive only if the facility is open.
Original Formulation...
vt =∑o∈O
Bo λt,o
wp,t =∑o∈O
Hp,o λt,o
1 =∑o∈O
λt,o
vt ≤ Mzt
Stronger Formulation...
vt =∑o∈O
Bo λt,o
wp,t =∑o∈O
Hp,o λt,o
zt =∑o∈O
λt,o
25
Trix
Key Idea
Production functions are positive only if the facility is open.
Original Formulation...
vt =∑o∈O
Bo λt,o
wp,t =∑o∈O
Hp,o λt,o
1 =∑o∈O
λt,o
vt ≤ Mzt
Stronger Formulation...
vt =∑o∈O
Bo λt,o
wp,t =∑o∈O
Hp,o λt,o
zt =∑o∈O
λt,o
25
Locally Ideal formulations
How do we determine which formulation is better?
I Strength of LP relaxations in the absence of other constraints.
Locally Ideal: A strong property of a MIP model
I Vertices of the LP relaxation of a MIP model always satisfy integrality [Padberg2000]
I In a more general sense, locally ideal could also mean that you get a property likeSOS2 also for free. [Keha2004]
Bottom line
I Locally ideal → we get integrality for free.
26
Locally Ideal formulations
How do we determine which formulation is better?
I Strength of LP relaxations in the absence of other constraints.
Locally Ideal: A strong property of a MIP model
I Vertices of the LP relaxation of a MIP model always satisfy integrality [Padberg2000]
I In a more general sense, locally ideal could also mean that you get a property likeSOS2 also for free. [Keha2004]
Bottom line
I Locally ideal → we get integrality for free.
26
Locally Ideal formulations
How do we determine which formulation is better?
I Strength of LP relaxations in the absence of other constraints.
Locally Ideal: A strong property of a MIP model
I Vertices of the LP relaxation of a MIP model always satisfy integrality [Padberg2000]
I In a more general sense, locally ideal could also mean that you get a property likeSOS2 also for free. [Keha2004]
Bottom line
I Locally ideal → we get integrality for free.
26
Locally Ideal formulations
How do we determine which formulation is better?
I Strength of LP relaxations in the absence of other constraints.
Locally Ideal: A strong property of a MIP model
I Vertices of the LP relaxation of a MIP model always satisfy integrality [Padberg2000]
I In a more general sense, locally ideal could also mean that you get a property likeSOS2 also for free. [Keha2004]
Bottom line
I Locally ideal → we get integrality for free.
26
Locally Ideal formulations
How do we determine which formulation is better?
I Strength of LP relaxations in the absence of other constraints.
Locally Ideal: A strong property of a MIP model
I Vertices of the LP relaxation of a MIP model always satisfy integrality [Padberg2000]
I In a more general sense, locally ideal could also mean that you get a property likeSOS2 also for free. [Keha2004]
Bottom line
I Locally ideal → we get integrality for free.
26
Locally Ideal formulations
How do we determine which formulation is better?
I Strength of LP relaxations in the absence of other constraints.
Locally Ideal: A strong property of a MIP model
I Vertices of the LP relaxation of a MIP model always satisfy integrality [Padberg2000]
I In a more general sense, locally ideal could also mean that you get a property likeSOS2 also for free. [Keha2004]
Bottom line
I Locally ideal → we get integrality for free.
26
Locally Ideal formulations
Locally Ideal
Non-integral extreme point
Not Locally Ideal
Bottom line
I Locally ideal → we get integrality for free.
27
Properties of MIP formulations
Theorem 1
I F1 is not locally ideal. (counter example)
Theorem 2
I F2 is locally ideal.
28
Other Piecewise Linear Formulations
Incremental Model
B0 B1 B2 B3 B4 B5
Variable (x)
Funct
ion f
(x)
δ0 δ1 δ2 δ3 δ4
[Markowitz and Manne 1957]
Multiple Choice
B0 B1 B2 B3
Variable (x)
Funct
ion f
(x)
z0 =1 z1 =1 z2 =1
[Balakrishna and Graves 1989]
29
Performance Evaluation
30
Experiments
Goals
I Impact on formulation accuracy in going from F1 to F2
I Impact in solution time in going from F1 to F2 as solved by our models.
I Impact of stronger formulations on solving the MIP approximation/relaxations.
Sample Application
Transportation problem with production facilities manufacturing products for customers.
31
Accuracy
2.5
3.0
3.5
4.0
4.5
Obje
ctiv
e f
unct
ion
Formulation F1
Total Production (vt)
Useful product fraction (gp+ )
I F1: Bilinear formulation of [Tarhan2009].
I F2: Our formulation.
32
Accuracy
2.5
3.0
3.5
4.0
4.5
Obje
ctiv
e f
unct
ion
Formulation F1
Repaired F2 solution
Total Production (vt)
Useful product fraction (gp+ )
F1
I F1: Bilinear formulation of [Tarhan2009].
I F2: Our formulation.
32
Accuracy
2.5
3.0
3.5
4.0
4.5
Obje
ctiv
e f
unct
ion
Formulation F1
Repaired F2 solution
Formulation F2
Total Production (vt)
Useful product fraction (gp+ )
F1
F2
I F1: Bilinear formulation of [Tarhan2009].
I F2: Our formulation.
32
Formulations
0 1 2 3 4 5
Gap to best feasible solution (%)
0.0
0.2
0.4
0.6
0.8
1.0
Fract
ion o
f in
stance
s
SEC-S kSEC-SS
0 1 2 3 4 5
Gap to best relaxation bound (%)
0.0
0.2
0.4
0.6
0.8
1.0
Fract
ion o
f in
stance
s
PLA-SS SEC-S kSEC-SS
33
Trix
1 10 1002 5 20
MIP Gaps (%)
0.0
0.2
0.4
0.6
0.8
1.0
Fract
ion o
f in
stance
s
Secant relaxation (1-SEC)
strengthening no strengthening
1 10 1002 5 20
MIP Gaps (%)
0.0
0.2
0.4
0.6
0.8
1.0
Fract
ion o
f in
stance
s
Multiple secant relaxation (3-SEC)
1 10 1002 5 20
MIP Gaps (%)
0.0
0.2
0.4
0.6
0.8
1.0
Fract
ion o
f in
stance
s
Piecewise linear approximation (PLA)
34
Conclusions
I Problem Description
I Defined a non-convex production process involving desirable & undesirable products.
I Ratio of byproducts to total production increases monotonically.
I Methods
I Reformulated an existing formulation (F1) to produce a more accurate formulation(F2) based on the cumulative product production function.
I Devised scalable MIP approximations & relaxations (PLA, 1-SEC, k-SEC).
I Conclusions
I F2 formulation is a more accurate evaluation of operations as compared to F1 .
I F2 is computationally more tractable than F1 .
35
Conclusions
I Problem Description
I Defined a non-convex production process involving desirable & undesirable products.
I Ratio of byproducts to total production increases monotonically.
I Methods
I Reformulated an existing formulation (F1) to produce a more accurate formulation(F2) based on the cumulative product production function.
I Devised scalable MIP approximations & relaxations (PLA, 1-SEC, k-SEC).
I Conclusions
I F2 formulation is a more accurate evaluation of operations as compared to F1 .
I F2 is computationally more tractable than F1 .
35
Conclusions
I Problem Description
I Defined a non-convex production process involving desirable & undesirable products.
I Ratio of byproducts to total production increases monotonically.
I Methods
I Reformulated an existing formulation (F1) to produce a more accurate formulation(F2) based on the cumulative product production function.
I Devised scalable MIP approximations & relaxations (PLA, 1-SEC, k-SEC).
I Conclusions
I F2 formulation is a more accurate evaluation of operations as compared to F1 .
I F2 is computationally more tractable than F1 .
35
Conclusions
I Problem Description
I Defined a non-convex production process involving desirable & undesirable products.
I Ratio of byproducts to total production increases monotonically.
I Methods
I Reformulated an existing formulation (F1) to produce a more accurate formulation(F2) based on the cumulative product production function.
I Devised scalable MIP approximations & relaxations (PLA, 1-SEC, k-SEC).
I Conclusions
I F2 formulation is a more accurate evaluation of operations as compared to F1 .
I F2 is computationally more tractable than F1 .
35
Conclusions
I Problem Description
I Defined a non-convex production process involving desirable & undesirable products.
I Ratio of byproducts to total production increases monotonically.
I Methods
I Reformulated an existing formulation (F1) to produce a more accurate formulation(F2) based on the cumulative product production function.
I Devised scalable MIP approximations & relaxations (PLA, 1-SEC, k-SEC).
I Conclusions
I F2 formulation is a more accurate evaluation of operations as compared to F1 .
I F2 is computationally more tractable than F1 .
35
Conclusions
I Problem Description
I Defined a non-convex production process involving desirable & undesirable products.
I Ratio of byproducts to total production increases monotonically.
I Methods
I Reformulated an existing formulation (F1) to produce a more accurate formulation(F2) based on the cumulative product production function.
I Devised scalable MIP approximations & relaxations (PLA, 1-SEC, k-SEC).
I Conclusions
I F2 formulation is a more accurate evaluation of operations as compared to F1 .
I F2 is computationally more tractable than F1 .
35
Conclusions
I Problem Description
I Defined a non-convex production process involving desirable & undesirable products.
I Ratio of byproducts to total production increases monotonically.
I Methods
I Reformulated an existing formulation (F1) to produce a more accurate formulation(F2) based on the cumulative product production function.
I Devised scalable MIP approximations & relaxations (PLA, 1-SEC, k-SEC).
I Conclusions
I F2 formulation is a more accurate evaluation of operations as compared to F1 .
I F2 is computationally more tractable than F1 .
35
Incremental Formulation
Set structure
I Function f (·) is evaluated only if a binary variable z is on.
Incremental formulation
B0 B1 B2 B3 B4 B5
Variable (x)
Funct
ion f
(x)
δ0 δ1 δ2 δ3 δ4
Original Formulation (∆1)
x =∑o∈O
[Bo − Bo−1]δo
y =∑o∈O
[Fo − Fo−1]δo
δ1 ≤ 1
δn ≥ 0
δi+1 ≤ bi ≤ δi ∀o ∈ Ob ∈ {0, 1}n
36
Incremental Formulation
Set structure
I Function f (·) is evaluated only if a binary variable z is on.
Incremental formulation
B0 B1 B2 B3 B4 B5
Variable (x)
Funct
ion f
(x)
δ0 δ1 δ2 δ3 δ4
Original Formulation (∆1)
x =∑o∈O
[Bo − Bo−1]δo
y =∑o∈O
[Fo − Fo−1]δo
δ1 ≤ 1
δn ≥ 0
δi+1 ≤ bi ≤ δi ∀o ∈ Ob ∈ {0, 1}n
36
Incremental Formulation
Set structure
I Function f (·) is evaluated only if a binary variable z is on.
Incremental formulation
B0 B1 B2 B3 B4 B5
Variable (x)
Funct
ion f
(x)
δ0 δ1 δ2 δ3 δ4
Original Formulation (∆1)
x =∑o∈O
[Bo − Bo−1]δo
y =∑o∈O
[Fo − Fo−1]δo
δ1 ≤ 1
δn ≥ 0
δi+1 ≤ bi ≤ δi ∀o ∈ Ob ∈ {0, 1}n
36
Incremental Formulation
Set structure
I Function f (·) is evaluated only if a binary variable z is on.
Stronger Formulation (∆2)
x =∑o∈O
[Bo − Bo−1]δo
y =∑o∈O
[Fo − Fo−1]δo
δ1 ≤ z
δn ≥ 0
δi+1 ≤ bi ≤ δi ∀o ∈ Ob ∈ {0, 1}n
Original Formulation (∆1)
x =∑o∈O
[Bo − Bo−1]δo
y =∑o∈O
[Fo − Fo−1]δo
δ1 ≤ 1
δn ≥ 0
δi+1 ≤ bi ≤ δi ∀o ∈ Ob ∈ {0, 1}n
37
Incremental Formulation
Set structure
I Function f (·) is evaluated only if a binary variable z is on.
Stronger Formulation (∆2)
x =∑o∈O
[Bo − Bo−1]δo
y =∑o∈O
[Fo − Fo−1]δo
δ1 ≤ z
δn ≥ 0
δi+1 ≤ bi ≤ δi ∀o ∈ Ob ∈ {0, 1}n
Original Formulation (∆1)
x =∑o∈O
[Bo − Bo−1]δo
y =∑o∈O
[Fo − Fo−1]δo
δ1 ≤ 1
δn ≥ 0
δi+1 ≤ bi ≤ δi ∀o ∈ Ob ∈ {0, 1}n
37
Numerical Experiments: Incremental Model
Numerical experiments performed on randomly generated instances of an advertisingbudget allocation problem.
Solve time
0 1500 3000 4500 6000
MIP Solve time (s)
0.0
0.2
0.4
0.6
0.8
1.0
Fract
ion o
f data
sets
P(∆2 ) P(∆1 )
Root LP gap
0 10 20 30 40
LP relaxation gap (%)
0.0
0.2
0.4
0.6
0.8
1.0Fr
act
ion o
f data
sets
P(∆2 ) P(∆1 )
Nodes explored
0 150 300 450 600
Nodes
0.0
0.2
0.4
0.6
0.8
1.0
Fract
ion o
f data
sets
P(∆2 ) P(∆1 )
38
Other Piecewise Linear Formulations
Many formulations can incorporate binary indicators variables in a locally ideal way!
Convex Combination
B0 B1 B2 B3
Variable (x)
Funct
ion f
(x)
[B0 ,f(B0 )]
[B1 ,f(B1 )]
[B2 ,f(B2 )] [B3 ,f(B3 )]
Incremental Model
B0 B1 B2 B3 B4 B5
Variable (x)
Funct
ion f
(x)
δ0 δ1 δ2 δ3 δ4
Multiple Choice
B0 B1 B2 B3
Variable (x)
Funct
ion f
(x)
z0 =1 z1 =1 z2 =1
39
Other Piecewise Linear Formulations
Incremental Model
B0 B1 B2 B3 B4 B5
Variable (x)
Funct
ion f
(x)
δ0 δ1 δ2 δ3 δ4
[Balakrishnan1989]
Multiple Choice
B0 B1 B2 B3
Variable (x)
Funct
ion f
(x)
z0 =1 z1 =1 z2 =1
[Dantzig1960]
40
Numerical Experiments: SOS2 Model
Numerical experiments performed on randomly generated instances of an advertisingbudget allocation problem.
Solve time
0 800 1600 2400 3200MIP Solve time (s)
0.0
0.2
0.4
0.6
0.8
1.0
Fract
ion o
f data
sets
P(S2 ) P(S1 )
Root LP gap
0 10 20 30 40LP relaxation gap (%)
0.0
0.2
0.4
0.6
0.8
1.0Fr
act
ion o
f data
sets
P(S2 ) P(S1 )
Nodes explored
0 400 800 1200 1600Nodes
0.0
0.2
0.4
0.6
0.8
1.0
Fract
ion o
f data
sets
P(S2 ) P(S1 )
41
Performance Evaluation
I Transportation problem with production facilities I manufacturing products P+ forcustomers J .
I Demand made by customers are known a priori.
I Facility operations follow known production functions.
I Facilities incur fixed, operating, transportation and penalty costs.
42
Performance Evaluation
I Transportation problem with production facilities I manufacturing products P+ forcustomers J .
I Demand made by customers are known a priori.
I Facility operations follow known production functions.
I Facilities incur fixed, operating, transportation and penalty costs.
42
Performance Evaluation
I Transportation problem with production facilities I manufacturing products P+ forcustomers J .
I Demand made by customers are known a priori.
I Facility operations follow known production functions.
I Facilities incur fixed, operating, transportation and penalty costs.
42
Performance Evaluation
I Transportation problem with production facilities I manufacturing products P+ forcustomers J .
I Demand made by customers are known a priori.
I Facility operations follow known production functions.
I Facilities incur fixed, operating, transportation and penalty costs.
42
Secant Relaxation (1-SEC)
Formulation F2
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = hp(vt)− hp(vt−1)
vt ≤ M zt
zt ≥ zt−1
Secant Relaxation (1-SEC)
vt =t∑
s=0
xs
vt =∑o∈O
Bo λt,o
xt ≤ ∆t
∑o∈O
Fo λt,o
yp,t = wp,t − wp,t−1
wp,t =∑o∈O
Hp,o λt,o
vt ≤ M zt
zt ≥ zt−1
1 =∑o∈O
λt,o
43
Secant Relaxation (1-SEC)
Formulation F2
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = hp(vt)− hp(vt−1)
vt ≤ M zt
zt ≥ zt−1
Secant Relaxation (1-SEC)
vt =t∑
s=0
xs
vt =∑o∈O
Bo λt,o
xt ≤ ∆t
∑o∈O
Fo λt,o
yp,t = wp,t − wp,t−1
wp,t =∑o∈O
Hp,o λt,o
vt ≤ M zt
zt ≥ zt−1
1 =∑o∈O
λt,o
43
Secant Relaxation (1-SEC)
Formulation F2
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = hp(vt)− hp(vt−1)
vt ≤ M zt
zt ≥ zt−1
Secant Relaxation (1-SEC)
vt =t∑
s=0
xs
vt =∑o∈O
Bo λt,o
xt ≤ ∆t
∑o∈O
Fo λt,o
yp,t = wp,t − wp,t−1
wp,t =∑o∈O
Hp,o λt,o
vt ≤ M zt
zt ≥ zt−1
1 =∑o∈O
λt,o
43
Secant Relaxation (1-SEC)
Formulation F2
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = hp(vt)− hp(vt−1)
vt ≤ M zt
zt ≥ zt−1
Secant Relaxation (1-SEC)
vt =t∑
s=0
xs
vt =∑o∈O
Bo λt,o
xt ≤ ∆t
∑o∈O
Fo λt,o
yp,t = wp,t − wp,t−1
wp,t =∑o∈O
Hp,o λt,o
vt ≤ M zt
zt ≥ zt−1
1 =∑o∈O
λt,o
43
Multiple Secant Relaxation (k-SEC)
Formulation F2
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = hp(vt)− hp(vt−1)
vt ≤ M zt
zt ≥ zt−1
Multiple Secant Relaxation (k-SEC)
vt =t∑
s=0
xs =∑o∈O
Bo λt,o
yp,t = wp,t − wp,t−1∑o∈O
Hp,o λt,o ≤ wp,t ≤∑o∈O
Hp,o λt,o ∀p ∈ P+
∑o∈O
Hp,o λt,o ≤ wp,t ≤∑o∈O
Hp,o λt,o ∀p ∈ P−
vt ≤ M zt
zt ≥ zt−1
1 =∑o∈O
λt,o
{λt,o |o ∈ O} ∈ S0S2
44
Multiple Secant Relaxation (k-SEC)
Formulation F2
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = hp(vt)− hp(vt−1)
vt ≤ M zt
zt ≥ zt−1
Multiple Secant Relaxation (k-SEC)
vt =t∑
s=0
xs =∑o∈O
Bo λt,o
yp,t = wp,t − wp,t−1∑o∈O
Hp,o λt,o ≤ wp,t ≤∑o∈O
Hp,o λt,o ∀p ∈ P+
∑o∈O
Hp,o λt,o ≤ wp,t ≤∑o∈O
Hp,o λt,o ∀p ∈ P−
vt ≤ M zt
zt ≥ zt−1
1 =∑o∈O
λt,o
{λt,o |o ∈ O} ∈ S0S2
44
Multiple Secant Relaxation (k-SEC)
Formulation F2
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = hp(vt)− hp(vt−1)
vt ≤ M zt
zt ≥ zt−1
Multiple Secant Relaxation (k-SEC)
vt =t∑
s=0
xs =∑o∈O
Bo λt,o
yp,t = wp,t − wp,t−1∑o∈O
Hp,o λt,o ≤ wp,t ≤∑o∈O
Hp,o λt,o ∀p ∈ P+
∑o∈O
Hp,o λt,o ≤ wp,t ≤∑o∈O
Hp,o λt,o ∀p ∈ P−
vt ≤ M zt
zt ≥ zt−1
1 =∑o∈O
λt,o
{λt,o |o ∈ O} ∈ S0S2
44
Multiple Secant Relaxation (k-SEC)
Formulation F2
vt =t∑
s=0
xs
xt ≤ ∆t f (vt−1)
yp,t = hp(vt)− hp(vt−1)
vt ≤ M zt
zt ≥ zt−1
Multiple Secant Relaxation (k-SEC)
vt =t∑
s=0
xs =∑o∈O
Bo λt,o
yp,t = wp,t − wp,t−1∑o∈O
Hp,o λt,o ≤ wp,t ≤∑o∈O
Hp,o λt,o ∀p ∈ P+
∑o∈O
Hp,o λt,o ≤ wp,t ≤∑o∈O
Hp,o λt,o ∀p ∈ P−
vt ≤ M zt
zt ≥ zt−1
1 =∑o∈O
λt,o
{λt,o |o ∈ O} ∈ S0S2
44
Breakpoint Selection
45
Multiple functions functions
I We consider a special case with multiple functions sharing the same domain.
Total production (v(t))
Maximum production rate (f)
Total production (v(t))
Product fraction (gp)
Useful product
By-product
This structure occurs in models from various applications!
46
Multiple functions functions
I We consider a special case with multiple functions sharing the same domain.
Total production (v(t))
Maximum production rate (f)
Total production (v(t))
Product fraction (gp)
Useful product
By-product
This structure occurs in models from various applications!
46
Model 1
Separately approximate each of the nonlinear functions.
I Pros: Accurate
I Cons: Introduces additional SOS2 variables for each function.
Total production (vt)
[b 11 ,f1 ]
[b 12 ,f2 ][b 1
0 , f0 ]
[b3 , f3 ]
Maximum production rate (f)
Total production (vt)
[b 20 ,f 2
0 ]
[b 21 ,f 2
1 ]
[b 22 ,f 2
2 ]
[b 23 ,f 2
3 ]
[b 24 ,f 2
4 ]
Cumulative useful product (gp+ )
Total production (vt)
[b 30 ,f 3
0 ][b 3
1 ,f 31 ]
[b 32 ,f 3
2 ]
Cumulative by-product (hp− )
47
Model 1
Separately approximate each of the nonlinear functions.
I Pros: Accurate
I Cons: Introduces additional SOS2 variables for each function.
Total production (vt)
[b 11 ,f1 ]
[b 12 ,f2 ][b 1
0 , f0 ]
[b3 , f3 ]
Maximum production rate (f)
Total production (vt)
[b 20 ,f 2
0 ]
[b 21 ,f 2
1 ]
[b 22 ,f 2
2 ]
[b 23 ,f 2
3 ]
[b 24 ,f 2
4 ]
Cumulative useful product (gp+ )
Total production (vt)
[b 30 ,f 3
0 ][b 3
1 ,f 31 ]
[b 32 ,f 3
2 ]
Cumulative by-product (hp− )
47
Model 1
Separately approximate each of the nonlinear functions.
I Pros: Accurate
I Cons: Introduces additional SOS2 variables for each function.
Total production (vt)
[b 11 ,f1 ]
[b 12 ,f2 ][b 1
0 , f0 ]
[b3 , f3 ]
Maximum production rate (f)
Total production (vt)
[b 20 ,f 2
0 ]
[b 21 ,f 2
1 ]
[b 22 ,f 2
2 ]
[b 23 ,f 2
3 ]
[b 24 ,f 2
4 ]
Cumulative useful product (gp+ )
Total production (vt)
[b 30 ,f 3
0 ][b 3
1 ,f 31 ]
[b 32 ,f 3
2 ]
Cumulative by-product (hp− )
47
Model 2
Use common SOS2 variables to approximate the nonlinear functions simultaneously.
I Pros: Fewer branching entities (SOS2 variables)
I Cons: Each function approximation is less accurate.
Total production (vt)
[b1 ,f1 )]
[b2 ,f2 )][b0 , f0 ]
[b3 , f3 ]
Maximum production rate (f)
Total production (vt)
[b0 ,f 20 ]
[b1 ,f 21 ]
[b2 ,f 22 ]
[b3 ,f 23 ]
Cumulative useful product (gp+ )
Total production (vt)
[b0 ,f 30 ]
[b1 ,f 31 ]
[b2 ,f 32 ]
[b3 ,f 33 ]
Cumulative by-product (hp− )
Applicable to piecewise linear relaxations
48
Model 2
Use common SOS2 variables to approximate the nonlinear functions simultaneously.
I Pros: Fewer branching entities (SOS2 variables)
I Cons: Each function approximation is less accurate.
Total production (vt)
[b1 ,f1 )]
[b2 ,f2 )][b0 , f0 ]
[b3 , f3 ]
Maximum production rate (f)
Total production (vt)
[b0 ,f 20 ]
[b1 ,f 21 ]
[b2 ,f 22 ]
[b3 ,f 23 ]
Cumulative useful product (gp+ )
Total production (vt)
[b0 ,f 30 ]
[b1 ,f 31 ]
[b2 ,f 32 ]
[b3 ,f 33 ]
Cumulative by-product (hp− )
Applicable to piecewise linear relaxations
48
Model 2
Use common SOS2 variables to approximate the nonlinear functions simultaneously.
I Pros: Fewer branching entities (SOS2 variables)
I Cons: Each function approximation is less accurate.
Total production (vt)
[b1 ,f1 )]
[b2 ,f2 )][b0 , f0 ]
[b3 , f3 ]
Maximum production rate (f)
Total production (vt)
[b0 ,f 20 ]
[b1 ,f 21 ]
[b2 ,f 22 ]
[b3 ,f 23 ]
Cumulative useful product (gp+ )
Total production (vt)
[b0 ,f 30 ]
[b1 ,f 31 ]
[b2 ,f 32 ]
[b3 ,f 33 ]
Cumulative by-product (hp− )
Applicable to piecewise linear relaxations
48
Model 2
Use common SOS2 variables to approximate the nonlinear functions simultaneously.
I Pros: Fewer branching entities (SOS2 variables)
I Cons: Each function approximation is less accurate.
Total production (vt)
[b1 ,f1 )]
[b2 ,f2 )][b0 , f0 ]
[b3 , f3 ]
Maximum production rate (f)
Total production (vt)
[b0 ,f 20 ]
[b1 ,f 21 ]
[b2 ,f 22 ]
[b3 ,f 23 ]
Cumulative useful product (gp+ )
Total production (vt)
[b0 ,f 30 ]
[b1 ,f 31 ]
[b2 ,f 32 ]
[b3 ,f 33 ]
Cumulative by-product (hp− )
Applicable to piecewise linear relaxations
48
Choosing breakpoints
Key question
Is there a way to select breakpoints of piecewise linear approximations & relaxationswhich are:
I As accurate as Model I.
I Use as few variables as Model II.
Contributions
I An NLP formulation to find the tightest possible piecewise linear relaxations orapproximations of a single/multiple convex function(s).
49
Single function approximation
Piecewise linear approximations that minimize maximum point-wise function evaluationerror.
x
f(x)
[a0 ,f(a0 )][B0 ,F0 ]
[B1 ,F1 ]
εε
ε
Single segment minimax solution
x
f(x)
[B0 ,F0 ][B1 ,F1 ]
[B2 ,F2 ]
[B3 ,F3 ]
[a0 ,f(a0 )]
[a1 ,f(a1 )]
[a2 ,f(a2 )]
Picewise linear approximation
We extend previous work [Imamoto2008], [Rote1992] to multiple univariateconvex/concave that share the same domain
50
Breakpoint selection: Single function approximation
x
f(x)
[a0 ,f(a0 )][B0 ,F0 ]
[B1 ,F1 ]
εε
ε
Single segment minimax solution
ε := maxx∈D|f (x)− ˆf (x)|
= |f (Bo)− Fo |
∀o ∈ O
= |Fo + f ′(ao)(ao − Bo)− f (ao)|
∀o ∈ O
51
Breakpoint selection: Single function approximation
x
f(x)
[a0 ,f(a0 )][B0 ,F0 ]
[B1 ,F1 ]
εε
ε
Single segment minimax solution
ε := maxx∈D|f (x)− ˆf (x)|
= |f (Bo)− Fo |
∀o ∈ O
= |Fo + f ′(ao)(ao − Bo)− f (ao)|
∀o ∈ O
51
Breakpoint selection: Single function approximation
x
f(x)
[a0 ,f(a0 )][B0 ,F0 ]
[B1 ,F1 ]
εε
ε
Single segment minimax solution
ε := maxx∈D|f (x)− ˆf (x)|
= |f (Bo)− Fo |
∀o ∈ O
= |Fo + f ′(ao)(ao − Bo)− f (ao)|
∀o ∈ O
51
Breakpoint selection: Single function approximation
x
f(x)
[B0 ,F0 ][B1 ,F1 ]
[B2 ,F2 ]
[B3 ,F3 ]
[a0 ,f(a0 )]
[a1 ,f(a1 )]
[a2 ,f(a2 )]
Picewise linear approximation
ε := maxx∈D|f (x)− ˆf (x)|
= |f (Bo)− Fo | ∀o ∈ O
= |Fo + f ′(ao)(ao − Bo)− f (ao)| ∀o ∈ O
51
Single function approximation
x
f(x)
[a0 ,f(a0 )][B0 ,F0 ]
[B1 ,F1 ]
εε
ε
Single segment minimax solution
MIP Formulation
minB,a,F
ε
Fo+1 − Fo = f ′(ao)(Bo+1 − Bo)
ε =∣∣Fo+1 − f (Bo)
∣∣ε =
∣∣Fo + f ′(ao)(ao − Bo)− f (ao)∣∣
ao ≤ ao+1
ao−1 ≤ Bo ≤ ao
52
Single function approximation
x
f(x)
[a0 ,f(a0 )][B0 ,F0 ]
[B1 ,F1 ]
εε
ε
Single segment minimax solution
MIP Formulation
minB,a,F
ε
Fo+1 − Fo = f ′(ao)(Bo+1 − Bo)
ε =∣∣Fo+1 − f (Bo)
∣∣ε =
∣∣Fo + f ′(ao)(ao − Bo)− f (ao)∣∣
ao ≤ ao+1
ao−1 ≤ Bo ≤ ao
52
Single function approximation
x
f(x)
[B0 ,F0 ][B1 ,F1 ]
[B2 ,F2 ]
[B3 ,F3 ]
[a0 ,f(a0 )]
[a1 ,f(a1 )]
[a2 ,f(a2 )]
Picewise linear approximation
MIP Formulation
minB,a,F
ε
Fo+1 − Fo = f ′(ao)(Bo+1 − Bo)
ε =∣∣Fo+1 − f (Bo)
∣∣ε =
∣∣Fo + f ′(ao)(ao − Bo)− f (ao)∣∣
ao ≤ ao+1
ao−1 ≤ Bo ≤ ao
52
Single function approximation
x
f(x)
[B0 ,F0 ][B1 ,F1 ]
[B2 ,F2 ]
[B3 ,F3 ]
[a0 ,f(a0 )]
[a1 ,f(a1 )]
[a2 ,f(a2 )]
Picewise linear approximation
MIP Formulation
minB,a,F
ε
Fo+1 − Fo = f ′(ao)(Bo+1 − Bo)
ε =∣∣Fo+1 − f (Bo)
∣∣ε =
∣∣Fo + f ′(ao)(ao − Bo)− f (ao)∣∣
ao ≤ ao+1
ao−1 ≤ Bo ≤ ao
52
Multiple functions
Total production (vt)
[b1 ,f1 )]
[b2 ,f2 )][b0 , f0 ]
[b3 , f3 ]
Maximum production rate (f)
Total production (vt)
[b0 ,f 20 ]
[b1 ,f 21 ]
[b2 ,f 22 ]
[b3 ,f 23 ]
Cumulative useful product (gp+ )
Total production (vt)
[b0 ,f 30 ]
[b1 ,f 31 ]
[b2 ,f 32 ]
[b3 ,f 33 ]
Cumulative by-product (hp− )
MIP Formulation
I Share the same variables Bo ∀o ∈ O.
I Objective function changed to a weighted error.
53
Single function relaxation
Piecewise linear relaxations that minimize area difference to the nonlinear function.
x
f(x)
[B0 ,F0 ][B1 ,F1 ]
[B2 ,F2 ]
[B3 ,F3 ]
[a0 ,f(a0 )]
[a1 ,f(a1 )]
[a2 ,f(a2 )]
Relaxing convex function f (·)
minB,F ,H,a
∑o∈O
(Fo + Fo−1)(Bo − Bo−1)
−∫ Mv
0
f (s)ds
Fo − f (ao+1) = f ′(ao+1)(Bo − ao+1)
Fo − f (ao) = f ′(ao)(Bo − ao)
ao ≤ ao+1
ao−1 ≤ Bo ≤ ao
f (Bo) ≤ Fo
Extension to multiple functions similar to the approximation case.
54
Single function relaxation
Piecewise linear relaxations that minimize area difference to the nonlinear function.
x
f(x)
[B0 ,F0 ][B1 ,F1 ]
[B2 ,F2 ]
[B3 ,F3 ]
[a0 ,f(a0 )]
[a1 ,f(a1 )]
[a2 ,f(a2 )]
Relaxing convex function f (·)
minB,F ,H,a
∑o∈O
(Fo + Fo−1)(Bo − Bo−1)
−∫ Mv
0
f (s)ds
Fo − f (ao+1) = f ′(ao+1)(Bo − ao+1)
Fo − f (ao) = f ′(ao)(Bo − ao)
ao ≤ ao+1
ao−1 ≤ Bo ≤ ao
f (Bo) ≤ Fo
Extension to multiple functions similar to the approximation case.
54
Single function relaxation
Piecewise linear relaxations that minimize area difference to the nonlinear function.
x
f(x)
[B0 ,F0 ][B1 ,F1 ]
[B2 ,F2 ]
[B3 ,F3 ]
[a0 ,f(a0 )]
[a1 ,f(a1 )]
[a2 ,f(a2 )]
Relaxing convex function f (·)
minB,F ,H,a
∑o∈O
(Fo + Fo−1)(Bo − Bo−1)
−∫ Mv
0
f (s)ds
Fo − f (ao+1) = f ′(ao+1)(Bo − ao+1)
Fo − f (ao) = f ′(ao)(Bo − ao)
ao ≤ ao+1
ao−1 ≤ Bo ≤ ao
f (Bo) ≤ Fo
Extension to multiple functions similar to the approximation case.
54
Single function relaxation
Piecewise linear relaxations that minimize area difference to the nonlinear function.
x
f(x)
[B0 ,F0 ][B1 ,F1 ]
[B2 ,F2 ]
[B3 ,F3 ]
[a0 ,f(a0 )]
[a1 ,f(a1 )]
[a2 ,f(a2 )]
Relaxing convex function f (·)
minB,F ,H,a
∑o∈O
(Fo + Fo−1)(Bo − Bo−1)
−∫ Mv
0
f (s)ds
Fo − f (ao+1) = f ′(ao+1)(Bo − ao+1)
Fo − f (ao) = f ′(ao)(Bo − ao)
ao ≤ ao+1
ao−1 ≤ Bo ≤ ao
f (Bo) ≤ Fo
Extension to multiple functions similar to the approximation case.
54
Single function relaxation
Piecewise linear relaxations that minimize area difference to the nonlinear function.
x
f(x)
[B0 ,F0 ][B1 ,F1 ]
[B2 ,F2 ]
[B3 ,F3 ]
[a0 ,f(a0 )]
[a1 ,f(a1 )]
[a2 ,f(a2 )]
Relaxing convex function f (·)
minB,F ,H,a
∑o∈O
(Fo + Fo−1)(Bo − Bo−1)
−∫ Mv
0
f (s)ds
Fo − f (ao+1) = f ′(ao+1)(Bo − ao+1)
Fo − f (ao) = f ′(ao)(Bo − ao)
ao ≤ ao+1
ao−1 ≤ Bo ≤ ao
f (Bo) ≤ Fo
Extension to multiple functions similar to the approximation case.
54
Single function relaxation
Piecewise linear relaxations that minimize area difference to the nonlinear function.
x
f(x)
[B0 ,F0 ][B1 ,F1 ]
[B2 ,F2 ]
[B3 ,F3 ]
[a0 ,f(a0 )]
[a1 ,f(a1 )]
[a2 ,f(a2 )]
Relaxing convex function f (·)
minB,F ,H,a
∑o∈O
(Fo + Fo−1)(Bo − Bo−1)
−∫ Mv
0
f (s)ds
Fo − f (ao+1) = f ′(ao+1)(Bo − ao+1)
Fo − f (ao) = f ′(ao)(Bo − ao)
ao ≤ ao+1
ao−1 ≤ Bo ≤ ao
f (Bo) ≤ Fo
Extension to multiple functions similar to the approximation case.
54
Performance Evaluation
55
Piecewise linear approximation: Accuracy
Pointwise function evaluation error between the piecewise linear approximations and thenon-linear functions over 592 instances.
Benchmarks
I Our method: NLP formulation usingcommon breakpoints.
I Optimal: NLP formulation usingseparate breakpoints.
I Uniform: Uniformly spaced commonbreakpoints.
Metrics
I Maximum relative difference infunction evaluation.
56
Piecewise linear approximation: Accuracy
Pointwise function evaluation error between the piecewise linear approximations and thenon-linear functions over 592 instances.
Benchmarks
I Our method: NLP formulation usingcommon breakpoints.
I Optimal: NLP formulation usingseparate breakpoints.
I Uniform: Uniformly spaced commonbreakpoints.
Metrics
I Maximum relative difference infunction evaluation.
56
Piecewise linear approximation: Accuracy
Pointwise function evaluation error between the piecewise linear approximations and thenon-linear functions over 592 instances.
Benchmarks
I Our method: NLP formulation usingcommon breakpoints.
I Optimal: NLP formulation usingseparate breakpoints.
I Uniform: Uniformly spaced commonbreakpoints.
Metrics
I Maximum relative difference infunction evaluation.
56
Piecewise linear approximation: Accuracy
Pointwise function evaluation error between the piecewise linear approximations and thenon-linear functions over 592 instances.
Benchmarks
I Our method: NLP formulation usingcommon breakpoints.
I Optimal: NLP formulation usingseparate breakpoints.
I Uniform: Uniformly spaced commonbreakpoints.
Metrics
I Maximum relative difference infunction evaluation.
56
Piecewise linear approximation: Accuracy
Pointwise function evaluation error between the piecewise linear approximations and thenon-linear functions over 592 instances.
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
Relative function evaluation error (%)
0.0
0.2
0.4
0.6
0.8
1.0
Fract
ion o
f in
stance
s
uniform
optimal
our method
Benchmarks
I Our method: NLP formulation usingcommon breakpoints.
I Optimal: NLP formulation usingseparate breakpoints.
I Uniform: Uniformly spaced commonbreakpoints.
Metrics
I Maximum relative difference infunction evaluation.
56
Piecewise linear relaxations: Accuracy
Relative area difference between the piecewise linear relaxations and the non-linearfunctions over 592 instances.
Benchmarks
I Our method: NLP formulation usingcommon breakpoints.
I Optimal: NLP formulation usingseparate breakpoints.
Metrics
I Relative difference in area under thecurve.
57
Piecewise linear relaxations: Accuracy
Relative area difference between the piecewise linear relaxations and the non-linearfunctions over 592 instances.
Benchmarks
I Our method: NLP formulation usingcommon breakpoints.
I Optimal: NLP formulation usingseparate breakpoints.
Metrics
I Relative difference in area under thecurve.
57
Piecewise linear relaxations: Accuracy
Relative area difference between the piecewise linear relaxations and the non-linearfunctions over 592 instances.
Benchmarks
I Our method: NLP formulation usingcommon breakpoints.
I Optimal: NLP formulation usingseparate breakpoints.
Metrics
I Relative difference in area under thecurve.
57
Piecewise linear relaxations: Accuracy
Relative area difference between the piecewise linear relaxations and the non-linearfunctions over 592 instances.
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
Relative area difference (%)
0.0
0.2
0.4
0.6
0.8
1.0
Fract
ion o
f in
stance
s
our method
optimal
Benchmarks
I Our method: NLP formulation usingcommon breakpoints.
I Optimal: NLP formulation usingseparate breakpoints.
Metrics
I Relative difference in area under thecurve.
57