312
Mixed-Integer programming approaches for some non-convex and combinatorial 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 R´ e, Thomas Rutherford, and Stephen Wright 1

Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 2: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 3: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 4: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 5: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 6: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Part 1: MIP techniques for some non-convex problems.

FPSO

Field

Reservoir

Well

Injection Lines Fiscal Model

Production Model

PLF Model

3

Page 7: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Oil Field Development Life Cycle

Exploration

Appraisal

Development

Production

Abandonment

Data Collection

Strategic Planning

4

Page 8: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Oil Field Development Life Cycle

Exploration

Appraisal

Development

Production

Abandonment

Data Collection

Strategic Planning

4

Page 9: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Oil Field Development Infrastructure1

1Statoil Peregrino Field

5

Page 10: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Oil Field Development Infrastructure1

FPSO

Field

Reservoir

Well

Injection Lines

1Tarhan, Grossmann, and Goel, Industrial & Engineering Chemistry Research (2009)

6

Page 11: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 12: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 13: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 14: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 15: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Supermodel...

FPSO

Field

Reservoir

Well

Injection Lines

8

Page 16: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Dissected Supermodel...

FPSO

Field

Reservoir

Well

Injection Lines

9

Page 17: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Dissected Supermodel...

FPSO

Field

Reservoir

Well

Injection Lines

9

Page 18: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Dissected Supermodel...

FPSO

Field

Reservoir

Well

Injection Lines

9

Page 19: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Dissected Supermodel...

FPSO

Field

Reservoir

Well

Injection Lines

9

Page 20: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Dissected Supermodel...

FPSO

Field

Reservoir

Well

Injection Lines Fiscal Model

Production Model

PLF Model

9

Page 21: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Key Challenges while Modelling Oil Field Infrastructure Planning

FPSO

Field

Reservoir

Well

Injection Lines Fiscal Model

Production Model

PLF Model

10

Page 22: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 23: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 24: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 25: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Challenge I: MIP Formulations for PLFs with Indicator Variables.

FPSO

Field

Reservoir

Well

Injection Lines Fiscal Model

Production Model

PLF Model

12

Page 26: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Challenge I: MIP Formulations for PLFs with Indicator Variables.

FPSO

Field

Reservoir

Well

Injection Lines Fiscal Model

Production Model

PLF Model

12

Page 27: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Challenge I: MIP Formulations for PLFs with Indicator Variables.

FPSO

Field

Reservoir

Well

Injection Lines

12

Page 28: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 29: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 30: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 31: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 32: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 33: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 34: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 35: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 36: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 37: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 38: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 39: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Challenge II: Bilinear Terms in Production Process

FPSO

Field

Reservoir

Well

Injection Lines Fiscal Model

Production Model

PLF Model

16

Page 40: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Challenge II: Bilinear Terms in Production Process

FPSO

Field

Reservoir

Well

Injection Lines Fiscal Model

Production Model

PLF Model

16

Page 41: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 42: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 43: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 44: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 45: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 46: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 47: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 48: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 49: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 50: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 51: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Challenge III: Production Planning Problems with Complex Fiscal Terms.

FPSO

Field

Reservoir

Well

Injection Lines Fiscal Model

Production Model

PLF Model

21

Page 52: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 53: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 54: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Dissected Supermodel...

FPSO

Field

Reservoir

Well

Injection Lines Fiscal Model

Production Model

PLF Model

Set (X )

23

Page 55: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 56: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 57: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 58: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 59: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 60: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 61: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 62: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 63: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 64: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 65: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 66: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 67: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 68: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Markets (Ringfences)

FPSO 1 FPSO 2

Market 1 Market 2

Market 3

Reservoirs

28

Page 69: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 70: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 71: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 72: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 73: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 74: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 75: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 76: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 77: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 78: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 79: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 80: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 81: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 82: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 83: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 84: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Markets are Everything!

FPSO 1 FPSO 2

Market 1 Market 2

Market 3

Reservoirs

33

Page 85: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 86: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 87: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 88: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 89: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 90: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 91: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Finding Feasible Solutions

FPSO 1 FPSO 2

Market 1 Market 2

Market 3

Reservoirs

36

Page 92: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 93: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 94: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 95: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 96: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 97: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 98: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 99: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 100: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 101: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 102: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 103: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 104: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 105: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 106: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 107: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Solution Bounds: Market Based Decomposition

FPSO 1 FPSO 2

Market 1 Market 2

Market 3

Reservoirs

44

Page 108: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 109: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 110: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 111: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 112: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 113: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 114: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 115: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 116: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 117: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 118: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 119: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 120: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 121: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 122: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 123: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 124: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 125: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 126: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 127: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Part 1 Conclusion

FPSO

Field

Reservoir

Well

Injection Lines Fiscal Model

Production Model

PLF Model

53

Page 128: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 129: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Part 1 Conclusion

FPSO 1 FPSO 2

Market 1 Market 2

Market 3

Reservoirs

(Fiscal Model, Decomposition)

53

Page 130: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Part 2: Approximation algorithms for large combinatorial problems

vertex cover

multiway cut

independent set

54

Page 131: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 132: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 133: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 134: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 135: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 136: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 137: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 138: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 139: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 140: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 141: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Rounding 101

Formulate MIP

Relax MIP to an LP

Solve the LP

Round LP solution

59

Page 142: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 143: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 144: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Definitions

Feasible IP Solution

Optimal LP Solution

α factor

Optimal IP Solution

Integrality gap

62

Page 145: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 146: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Main Result

Formulate MIP

Relax MIP to an LP

Solve the LP approximately

Round approximate LP solution

64

Page 147: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Contribution: Oblivious Rounding

Feasible IP Solutions

Optimal LP Solution

α factor

Feasible LP Solution

ɣ factor oblivious

Optimal IP Solution

65

Page 148: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 149: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 150: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 151: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 152: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 153: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 154: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 155: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 156: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 157: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 158: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 159: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Part 2 Conclusion

Formulate MIP

Relax MIP to an LP

Solve the LP approximately

Round approximate LP solution

72

Page 160: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Part 2 Conclusion

Feasible IP Solutions

Optimal LP Solution

α factor

Feasible LP Solution

ɣ factor oblivious

Optimal IP Solution

72

Page 161: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 162: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 163: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Thats’ all folks!

73

Page 164: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Backup Slides

1

Page 165: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 166: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 167: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 168: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 169: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Problem Description

6

Page 170: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 171: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 172: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 173: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 174: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 175: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 176: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 177: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 178: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 179: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 180: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 181: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 182: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Discrete Time Formulations

12

Page 183: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 184: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 185: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 186: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 187: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 188: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 189: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 190: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 191: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 192: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 193: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 194: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 195: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 196: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 197: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 198: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 199: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 200: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 201: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 202: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 203: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 204: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 205: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 206: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 207: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 208: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 209: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

MIP Approximation & Relaxations

19

Page 210: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 211: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 212: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 213: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 214: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 215: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 216: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 217: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 218: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 219: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 220: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 221: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 222: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 223: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 224: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 225: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 226: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 227: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 228: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 229: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 230: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 231: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 232: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 233: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 234: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 235: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 236: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 237: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 238: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Locally Ideal formulations

Locally Ideal

Non-integral extreme point

Not Locally Ideal

Bottom line

I Locally ideal → we get integrality for free.

27

Page 239: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Properties of MIP formulations

Theorem 1

I F1 is not locally ideal. (counter example)

Theorem 2

I F2 is locally ideal.

28

Page 240: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 241: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Performance Evaluation

30

Page 242: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 243: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 244: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 245: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 246: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 247: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 248: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 249: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 250: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 251: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 252: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 253: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 254: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 255: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 256: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 257: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 258: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 259: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 260: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 261: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 262: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 263: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 264: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 265: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 266: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 267: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 268: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 269: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 270: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 271: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 272: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 273: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 274: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 275: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 276: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Breakpoint Selection

45

Page 277: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 278: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 279: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 280: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 281: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 282: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 283: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 284: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 285: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 286: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 287: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 288: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 289: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 290: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 291: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 292: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 293: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 294: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 295: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 296: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 297: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 298: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 299: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 300: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 301: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 302: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 303: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

Performance Evaluation

55

Page 304: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 305: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 306: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 307: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 308: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 309: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 310: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 311: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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

Page 312: Mixed-Integer programming approaches for some non-convex ...srikris.github.io/presentations/Defense.pdf · Life since 2009 I Part 1:Mixed integer programming (MIP) techniques with

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