Piecewise Parametric Structure in the Pooling Problem - from Sparse - - PowerPoint PPT Presentation

piecewise parametric structure in the pooling problem
SMART_READER_LITE
LIVE PREVIEW

Piecewise Parametric Structure in the Pooling Problem - from Sparse - - PowerPoint PPT Presentation

Piecewise Parametric Structure in the Pooling Problem - from Sparse Strongly-Polynomial Solutions to NP-Hardness - Radu Baltean-Lugojan* radu.baltean-lugojan09@imperial.ac.uk Ruth Misener r.misener@imperial.ac.uk Computational Optimisation


slide-1
SLIDE 1

Piecewise Parametric Structure in the Pooling Problem

  • from Sparse Strongly-Polynomial Solutions to NP-Hardness -

Radu Baltean-Lugojan*

radu.baltean-lugojan09@imperial.ac.uk

Ruth Misener

r.misener@imperial.ac.uk Computational Optimisation Group Centre for Process Systems Engineering Department of Computing

29 Mar 2017

http://www.optimization-online.org/DB_HTML/2016/05/5457.html

*EPSRC EP/P008739/1 funding for RBL

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 1 / 27

slide-2
SLIDE 2

Pooling Problem - Where does it appear?

Inputs Directs Pools Outputs

in1 p1

  • 1

in2 p2

  • 2

di1

x11 x22 z12 y11 y22

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 2 / 27

slide-3
SLIDE 3

Globally Optimizing Pooling Problems

. . . . . . . . . . . .

in1 di1 p1

  • 1

in2 di2 p2

  • 2

in3 di3 p3

  • 3

inI diH pL

  • O

x11 xIL z

1 1

zHO y11 yLO

Previous work

Explore P / NP boundary Alfaki and Haugland [2013] • Haugland [2016] • Haugland and Hendrix [2016] • Boland et al. [2016] MIP Approximation Dey and Gupte [2015] • Gupte et al. [2016] Cutting Planes D’Ambrosio et al. [2011] • Gupte et al. [2016] Finding Patterns Ceccon et al. [2016]

This work: Parameterize with respect to pool concentration

Develop strongly polynomial algorithms for several pooling subproblems; Use patterns of dominating topologies to find piecewise active network structure (nodes with flows strictly > 0) and motivate problem sparsity. Exploit sparsity to decompose large scale instances in smaller sub-problems

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 3 / 27

slide-4
SLIDE 4

How to solve problems multiplying quality times flowrate?

Haverly [1978]

Solve pooling problem via sequential linear programming, i.e., approximate nonconvex bilinear terms as linear.

Beale et al. [1965]

In Iron-Making Track manganese concentration between two blast furnaces and a sinter plant; To Solve Reformulate as a separable program and apply a piecewise linear approximation; Key Assumption Only a few variables are active at once and the associated functions can be approximated linearly.

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 4 / 27

slide-5
SLIDE 5

Previous Piecewise Schemes - Bilinear Envelopes

McCormick [1976], Al-Khayyal and Falk [1983]

Envelope of z = x · y            z ≥ x · yL + xL · y − xL · yL z ≥ x · yU + xU · y − xU · yU z ≤ x · yL + xU · y − xU · yL z ≤ x · yU + xL · y − xL · yU

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 5 / 27

slide-6
SLIDE 6

Previous Piecewise Schemes - Piecewise Bilinear Envelopes

Balas [1979], Floudas [1995], Karuppiah and Grossmann [2006], Meyer and Floudas [2006], Wicaksono and Karimi [2008], Misener and Floudas [2012]

Piecewise Envelope of z = x · y                      ∨n                      z ≥ x · yL + a(n) · y − a(n) · yL z ≥ x · yU + a(n + 1) · y − a(n + 1) · yU z ≤ x · yL + a(n + 1) · y − a(n + 1) · yL z ≤ x · yU + a(n) · y − a(n) · yU a(n) ≤ x ≤ a(n + 1) yL ≤ y ≤ yU

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 6 / 27

slide-7
SLIDE 7

Standard Pooling Network p-Formulation

Objective max

xil,ylj,zij,plk

  • (l,j)∈TY

dj · ylj +

  • (i,j)∈TZ

dj · zij −

  • (i,l)∈TX

γi · xil −

  • (i,j)∈TZ

γi · zij Feed Avail  AL

i ≤

  • l:(i,l)∈TX

xil +

  • j:(i,j)∈TZ

zij ≤ AU

i

∀ i Pool Capacity  SL

l ≤

  • i:(i,l)∈TX

xil ≤ SU

l

∀ l Product Demand  DL

j ≤

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij ≤ DU

j

∀ j Material Balance  

  • i:(i,l)∈TX

xil −

  • j:(l,j)∈TY

ylj = 0 ∀ l Quality Balance  

  • i:(i,l)∈TX

Cikxil = plk

  • j:(l,j)∈TY

ylj ∀ l, k Product Quality     

  • l:(l,j)∈TY

plkylj +

  • i:(i,j)∈TZ

Cikzij          ≥ PL

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ≤ PU

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ∀ j, k

Bounds [xil, ylj, zij ≥ 0 ∀ i, l, j

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

. . .

Pools [1,. . . ,L]

. . .

Outputs [1,. . . ,O]

in1 di1 p1

  • 1

in2 di2 p2

  • 2

in3 di3 p3

  • 3

inI diH pL

  • O

x11 xIL z

11

z

H O

y11 yLO Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 7 / 27

slide-8
SLIDE 8

Standard Pooling Network p-Formulation

Objective max

xil,ylj,zij,plk

  • (l,j)∈TY

dj · ylj +

  • (i,j)∈TZ

dj · zij −

  • (i,l)∈TX

γi · xil −

  • (i,j)∈TZ

γi · zij Feed Avail  AL

i ≤

  • l:(i,l)∈TX

xil +

  • j:(i,j)∈TZ

zij ≤ AU

i

∀ i Pool Capacity  SL

l ≤

  • i:(i,l)∈TX

xil ≤ SU

l

∀ l Product Demand  DL

j ≤

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij ≤ DU

j

∀ j Material Balance  

  • i:(i,l)∈TX

xil −

  • j:(l,j)∈TY

ylj = 0 ∀ l Quality Balance  

  • i:(i,l)∈TX

Cikxil = plk

  • j:(l,j)∈TY

ylj ∀ l, k Product Quality     

  • l:(l,j)∈TY

plkylj +

  • i:(i,j)∈TZ

Cikzij          ≥ PL

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ≤ PU

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ∀ j, k

Bounds [xil, ylj, zij ≥ 0 ∀ i, l, j

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

. . .

Pools [1,. . . ,L]

. . .

Outputs [1,. . . ,O]

in1 di1 p1

  • 1

in2 di2 p2

  • 2

in3 di3 p3

  • 3

inI diH pL

  • O

x11 xIL z

11

z

H O

y11 yLO Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 7 / 27

slide-9
SLIDE 9

Standard Pooling Network p-Formulation

Objective max

xil,ylj,zij,plk

  • (l,j)∈TY

dj · ylj +

  • (i,j)∈TZ

dj · zij −

  • (i,l)∈TX

γi · xil −

  • (i,j)∈TZ

γi · zij Feed Avail  AL

i ≤

  • l:(i,l)∈TX

xil +

  • j:(i,j)∈TZ

zij ≤ AU

i

∀ i Pool Capacity  SL

l ≤

  • i:(i,l)∈TX

xil ≤ SU

l

∀ l Product Demand  DL

j ≤

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij ≤ DU

j

∀ j Material Balance  

  • i:(i,l)∈TX

xil −

  • j:(l,j)∈TY

ylj = 0 ∀ l Quality Balance  

  • i:(i,l)∈TX

Cikxil = plk

  • j:(l,j)∈TY

ylj ∀ l, k Product Quality     

  • l:(l,j)∈TY

plkylj +

  • i:(i,j)∈TZ

Cikzij          ≥ PL

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ≤ PU

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ∀ j, k

Bounds [xil, ylj, zij ≥ 0 ∀ i, l, j

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

. . .

Pools [1,. . . ,L]

. . .

Outputs [1,. . . ,O]

in1 di1 p1

  • 1

in2 di2 p2

  • 2

in3 di3 p3

  • 3

inI diH pL

  • O

x11 xIL x11 z

11

z

H O

y11 yLO Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 7 / 27

slide-10
SLIDE 10

Standard Pooling Network p-Formulation

Objective max

xil,ylj,zij,plk

  • (l,j)∈TY

dj · ylj +

  • (i,j)∈TZ

dj · zij −

  • (i,l)∈TX

γi · xil −

  • (i,j)∈TZ

γi · zij Feed Avail  AL

i ≤

  • l:(i,l)∈TX

xil +

  • j:(i,j)∈TZ

zij ≤ AU

i

∀ i Pool Capacity  SL

l ≤

  • i:(i,l)∈TX

xil ≤ SU

l

∀ l Product Demand  DL

j ≤

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij ≤ DU

j

∀ j Material Balance  

  • i:(i,l)∈TX

xil −

  • j:(l,j)∈TY

ylj = 0 ∀ l Quality Balance  

  • i:(i,l)∈TX

Cikxil = plk

  • j:(l,j)∈TY

ylj ∀ l, k Product Quality     

  • l:(l,j)∈TY

plkylj +

  • i:(i,j)∈TZ

Cikzij          ≥ PL

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ≤ PU

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ∀ j, k

Bounds [xil, ylj, zij ≥ 0 ∀ i, l, j

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

. . .

Pools [1,. . . ,L]

. . .

Outputs [1,. . . ,O]

in1 di1 p1

  • 1

in2 di2 p2

  • 2

in3 di3 p3

  • 3

inI diH pL

  • O

x11 xIL x11 z

11

z

H O

y11 yLO Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 7 / 27

slide-11
SLIDE 11

Standard Pooling Network p-Formulation

Objective max

xil,ylj,zij,plk

  • (l,j)∈TY

dj · ylj +

  • (i,j)∈TZ

dj · zij −

  • (i,l)∈TX

γi · xil −

  • (i,j)∈TZ

γi · zij Feed Avail  AL

i ≤

  • l:(i,l)∈TX

xil +

  • j:(i,j)∈TZ

zij ≤ AU

i

∀ i Pool Capacity  SL

l ≤

  • i:(i,l)∈TX

xil ≤ SU

l

∀ l Product Demand  DL

j ≤

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij ≤ DU

j

∀ j Material Balance  

  • i:(i,l)∈TX

xil −

  • j:(l,j)∈TY

ylj = 0 ∀ l Quality Balance  

  • i:(i,l)∈TX

Cikxil = plk

  • j:(l,j)∈TY

ylj ∀ l, k Product Quality     

  • l:(l,j)∈TY

plkylj +

  • i:(i,j)∈TZ

Cikzij          ≥ PL

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ≤ PU

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ∀ j, k

Bounds [xil, ylj, zij ≥ 0 ∀ i, l, j

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

. . .

Pools [1,. . . ,L]

. . .

Outputs [1,. . . ,O]

in1 di1 p1

  • 1

in2 di2 p2

  • 2

in3 di3 p3

  • 3

inI diH pL

  • O

x11 xIL z

11

z

H O

z

H O

y11 yLO yLO Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 7 / 27

slide-12
SLIDE 12

Standard Pooling Network p-Formulation

Objective max

xil,ylj,zij,plk

  • (l,j)∈TY

dj · ylj +

  • (i,j)∈TZ

dj · zij −

  • (i,l)∈TX

γi · xil −

  • (i,j)∈TZ

γi · zij Feed Avail  AL

i ≤

  • l:(i,l)∈TX

xil +

  • j:(i,j)∈TZ

zij ≤ AU

i

∀ i Pool Capacity  SL

l ≤

  • i:(i,l)∈TX

xil ≤ SU

l

∀ l Product Demand  DL

j ≤

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij ≤ DU

j

∀ j Material Balance  

  • i:(i,l)∈TX

xil −

  • j:(l,j)∈TY

ylj = 0 ∀ l Quality Balance  

  • i:(i,l)∈TX

Cikxil = plk

  • j:(l,j)∈TY

ylj ∀ l, k Product Quality     

  • l:(l,j)∈TY

plkylj +

  • i:(i,j)∈TZ

Cikzij          ≥ PL

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ≤ PU

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ∀ j, k

Bounds [xil, ylj, zij ≥ 0 ∀ i, l, j

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

. . .

Pools [1,. . . ,L]

. . .

Outputs [1,. . . ,O]

in1 di1 p1

  • 1

in2 di2 p2

  • 2

in3 di3 p3

  • 3

inI diH pL

  • O

x11 xIL x11 z

11

z

H O

y11 yLO y11 Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 7 / 27

slide-13
SLIDE 13

Standard Pooling Network p-Formulation

Objective max

xil,ylj,zij,plk

  • (l,j)∈TY

dj · ylj +

  • (i,j)∈TZ

dj · zij −

  • (i,l)∈TX

γi · xil −

  • (i,j)∈TZ

γi · zij Feed Avail  AL

i ≤

  • l:(i,l)∈TX

xil +

  • j:(i,j)∈TZ

zij ≤ AU

i

∀ i Pool Capacity  SL

l ≤

  • i:(i,l)∈TX

xil ≤ SU

l

∀ l Product Demand  DL

j ≤

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij ≤ DU

j

∀ j Material Balance  

  • i:(i,l)∈TX

xil −

  • j:(l,j)∈TY

ylj = 0 ∀ l Quality Balance  

  • i:(i,l)∈TX

Cikxil = plk

  • j:(l,j)∈TY

ylj ∀ l, k Product Quality     

  • l:(l,j)∈TY

plkylj +

  • i:(i,j)∈TZ

Cikzij          ≥ PL

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ≤ PU

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ∀ j, k

Bounds [xil, ylj, zij ≥ 0 ∀ i, l, j

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

. . .

Pools [1,. . . ,L]

. . .

Outputs [1,. . . ,O]

in1 di1 p1

  • 1

in2 di2 p2

  • 2

in3 di3 p3

  • 3

inI diH pL

  • O

x11 xIL x11 z

11

z

H O

y11 yLO y11 Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 7 / 27

slide-14
SLIDE 14

Standard Pooling Network p-Formulation

Objective max

xil,ylj,zij,plk

  • (l,j)∈TY

dj · ylj +

  • (i,j)∈TZ

dj · zij −

  • (i,l)∈TX

γi · xil −

  • (i,j)∈TZ

γi · zij Feed Avail  AL

i ≤

  • l:(i,l)∈TX

xil +

  • j:(i,j)∈TZ

zij ≤ AU

i

∀ i Pool Capacity  SL

l ≤

  • i:(i,l)∈TX

xil ≤ SU

l

∀ l Product Demand  DL

j ≤

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij ≤ DU

j

∀ j Material Balance  

  • i:(i,l)∈TX

xil −

  • j:(l,j)∈TY

ylj = 0 ∀ l Quality Balance  

  • i:(i,l)∈TX

Cikxil = plk

  • j:(l,j)∈TY

ylj ∀ l, k Product Quality     

  • l:(l,j)∈TY

plkylj +

  • i:(i,j)∈TZ

Cikzij          ≥ PL

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ≤ PU

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ∀ j, k

Bounds [xil, ylj, zij ≥ 0 ∀ i, l, j

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

. . .

Pools [1,. . . ,L]

. . .

Outputs [1,. . . ,O]

in1 di1 p1

  • 1

in2 di2 p2

  • 2

in3 di3 p3

  • 3

inI diH pL

  • O

x11 xIL z

11

z

H O

z

H O

y11 yLO yLO Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 7 / 27

slide-15
SLIDE 15

Standard Pooling Network p-Formulation

Objective max

xil,ylj,zij,plk

  • (l,j)∈TY

dj · ylj +

  • (i,j)∈TZ

dj · zij −

  • (i,l)∈TX

γi · xil −

  • (i,j)∈TZ

γi · zij Feed Avail  AL

i ≤

  • l:(i,l)∈TX

xil +

  • j:(i,j)∈TZ

zij ≤ AU

i

∀ i Pool Capacity  SL

l ≤

  • i:(i,l)∈TX

xil ≤ SU

l

∀ l Product Demand  DL

j ≤

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij ≤ DU

j

∀ j Material Balance  

  • i:(i,l)∈TX

xil −

  • j:(l,j)∈TY

ylj = 0 ∀ l Quality Balance  

  • i:(i,l)∈TX

Cikxil = plk

  • j:(l,j)∈TY

ylj ∀ l, k Product Quality     

  • l:(l,j)∈TY

plkylj +

  • i:(i,j)∈TZ

Cikzij          ≥ PL

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ≤ PU

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ∀ j, k

Bounds [xil, ylj, zij ≥ 0 ∀ i, l, j

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

. . .

Pools [1,. . . ,L]

. . .

Outputs [1,. . . ,O]

in1 di1 p1

  • 1

in2 di2 p2

  • 2

in3 di3 p3

  • 3

inI diH pL

  • O

x11 xIL z

11

z

H O

y11 yLO Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 7 / 27

slide-16
SLIDE 16

Standard Pooling Network p-Formulation - Our Aim So Far

Objective max

xil,ylj,zij,plk

  • (l,j)∈TY

dj · ylj +

  • (i,j)∈TZ

dj · zij −

  • (i,l)∈TX

γi · xil −

  • (i,j)∈TZ

γi · zij Feed Avail  AL

i ≤

  • l:(i,l)∈TX

xil +

  • j:(i,j)∈TZ

zij ≤ AU

i

∀ i Pool Capacity  SL

l ≤

  • i:(i,l)∈TX

xil ≤ SU

l

∀ l Product Demand  DL

j ≤

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij ≤ DU

j

∀ j Material Balance  

  • i:(i,l)∈TX

xil −

  • j:(l,j)∈TY

ylj = 0 ∀ l Quality Balance  

  • i:(i,l)∈TX

Cikxil = plk

  • j:(l,j)∈TY

ylj ∀ l, k Product Quality     

  • l:(l,j)∈TY

plkylj +

  • i:(i,j)∈TZ

Cikzij          ≥ PL

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ≤ PU

jk

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ∀ j, k

Bounds [xil, ylj, zij ≥ 0 ∀ i, l, j

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

. . .

Pools [1,. . . ,L]

. . .

Outputs [1,. . . ,O]

in1 di1 p1

  • 1

in2 di2 p2

  • 2

in3 di3 p3

  • 3

inI diH pL

  • O

x11 xIL z

11

z

H O

y11 yLO Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 7 / 27

slide-17
SLIDE 17

Standard Pooling Network Restricted p-Formulation

Objective max

xil ,ylj ,zij ,pl

  • (l,j)∈TY

dj · ylj +

  • (i,j)∈TZ

dj · zij −

  • (i,l)∈TX

γi · xil −

  • (i,j)∈TZ

γi · zij Product Demand  

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij ≤ DU

j

∀ j Material Balance  

  • i:(i,l)∈TX

xil −

  • j:(l,j)∈TY

ylj = 0 ∀ l Quality Balance  

  • i:(i,l)∈TX

Cixil = pl

  • j:(l,j)∈TY

ylj ∀ l Product Quality     

  • l:(l,j)∈TY

plylj +

  • i:(i,j)∈TZ

Cizij        ≥ PL

j

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ≤ PU

j

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ∀ j

Bounds [xil, ylj, zij ≥ 0 ∀ i, l, j . . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

. . .

Pools [1,. . . ,L]

. . .

Outputs [1,. . . ,O]

in1 di1 p1

  • 1

in2 di2 p2

  • 2

in3 di3 p3

  • 3

inI diH pL

  • O

x11 xIL z

11

z

H O

y11 yLO Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 8 / 27

slide-18
SLIDE 18

Standard Pooling Network Restricted p-Formulation

Objective max

xil ,ylj ,zij ,pl

  • (l,j)∈TY

dj · ylj +

  • (i,j)∈TZ

dj · zij −

  • (i,l)∈TX

γi · xil −

  • (i,j)∈TZ

γi · zij Product Demand  

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij ≤ DU

j

∀ j Material Balance  

  • i:(i,l)∈TX

xil −

  • j:(l,j)∈TY

ylj = 0 ∀ l Quality Balance  

  • i:(i,l)∈TX

Cixil = pl

  • j:(l,j)∈TY

ylj ∀ l Product Quality     

  • l:(l,j)∈TY

plylj +

  • i:(i,j)∈TZ

Cizij        ≥ PL

j

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ≤ PU

j

  • l:(l,j)∈TY

ylj +

  • i:(i,j)∈TZ

zij

  • ∀ j

Bounds [xil, ylj, zij ≥ 0 ∀ i, l, j . . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

. . .

Pools [1,. . . ,L]

. . .

Outputs [1,. . . ,O]

in1 di1 p1

  • 1

in2 di2 p2

  • 2

in3 di3 p3

  • 3

inI diH pL

  • O

x11 xIL z

11

z

H O

y11 yLO

Assumptions

No bounds on feed availability or pool capacity. No lower bounds and finite upper bounds on product demand. Only 1 quality k. The problem is feasible and profitable (f ∗ > 0) Known: NP-hard [Haugland, 2016]

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 8 / 27

slide-19
SLIDE 19

Restricted p-Formulation for One Pool, One Output

Objective max

{xi },y,{zi },p f = d · y +

  • i:(i,1)∈TZ

d · zi −

  • i:(i,1)∈TX

γi · xi −

  • i:(i,1)∈TZ

γi · zi Product Demand  y +

  • i:(i,1)∈TZ

zi ≤ DU Material Balance  

  • i:(i,1)∈TX

xi − y = 0 Quality Balance  

  • i:(i,1)∈TX

Cixi = p · y Product Quality     p · y +

  • i:(i,1)∈TZ

Ci · zi        ≥ PL

  • y +
  • i:(i,1)∈TZ

zi

  • ≤ PU
  • y +
  • i:(i,1)∈TZ

zi

  • Bounds [xi, y, zi ≥ 0 ∀ i

Pool Output

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

in1 di1 in2 di2 in3 di3 inI diH p

  • x1

x

I

z

1

z

H

y Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 9 / 27

slide-20
SLIDE 20

Restricted p-Formulation for One Pool, One Output

Objective max

{xi },y,{zi },p f = d · y +

  • i:(i,1)∈TZ

d · zi −

  • i:(i,1)∈TX

γi · xi −

  • i:(i,1)∈TZ

γi · zi Product Demand  y +

  • i:(i,1)∈TZ

zi ≤ DU Material Balance  

  • i:(i,1)∈TX

xi − y = 0 Quality Balance  

  • i:(i,1)∈TX

Cixi = p · y Product Quality     p · y +

  • i:(i,1)∈TZ

Ci · zi        ≥ PL

  • y +
  • i:(i,1)∈TZ

zi

  • ≤ PU
  • y +
  • i:(i,1)∈TZ

zi

  • Bounds [xi, y, zi ≥ 0 ∀ i

Pool Output

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

in1 di1 in2 di2 in3 di3 inI diH p

  • x1

x

I

z

1

z

H

y

Known result

Can solve with a polynomial number of LPs of polynomial size [Haugland and Hendrix, 2016, Boland et al., 2016]

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 9 / 27

slide-21
SLIDE 21

Restricted p-Formulation for One Pool, One Output

max

{xi},{zi} f = d · DU −

  • i∈TX

γi · xi −

  • i∈TZ

γi · zi                               

  • i∈TX

xi +

i∈TZ

zi = DU PL ≤

i∈TX

Cixi +

  • i∈TZ

Cizi

  • i∈TX

xi +

  • i∈TZ

zi ≤ PU p =

i∈TX

Cixi

i∈TX

xi 0 ≤ xi, ∀ i ∈ TX 0 ≤ zi, ∀ i ∈ TZ

Pool Output

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

in1 di1 in2 di2 in3 di3 inI diH p

  • x1

x

I

z

1

z

H

y Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 10 / 27

slide-22
SLIDE 22

Restricted p-Formulation for One Pool, One Output

max

{xi},{zi} f = d · DU −

  • i∈TX

γi · xi −

  • i∈TZ

γi · zi                               

  • i∈TX

xi +

i∈TZ

zi = DU PL ≤

i∈TX

Cixi +

  • i∈TZ

Cizi

  • i∈TX

xi +

  • i∈TZ

zi ≤ PU p =

i∈TX

Cixi

i∈TX

xi 0 ≤ xi, ∀ i ∈ TX 0 ≤ zi, ∀ i ∈ TZ

Pool Output

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

in1 di1 in2 di2 in3 di3 inI diH p

  • x1

x

I

z

1

z

H

y

Solve by treating in turn:

No directs (only inputs and quality constraints dropped) No inputs (only directs and quality constraints kept) Inputs + directs (quality constraints present)

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 10 / 27

slide-23
SLIDE 23

Only Input → Pool Flows (No Directs)

max

{xi } f = d · DU −

  • i∈TX

γi · xi           

  • i∈TX

xi = DU p =

i∈TX

Cixi

i∈TX

xi 0 ≤ xi, ∀ i ∈ TX For fixed p, consider 2 input nodes in2, in3 where C2 ≤ p ≤ C3. Then the flows are: x2 = DU(p − C3) C2 − C3 , x3 = DU(p − C2) C3 − C2 ,

Pool Output

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

in1 di1 in2 di2 in3 di3 inI diH p

  • x1

x

I

z

1

z

H

y

More generally, input pair {i, j} has the best return on investment for a fixed p when: {i, j} = arg min

x={i,j}⊆TX

γx(p) = γi(p − Cj) + γj(Ci − p) Ci − Cj and {i, j} is the dominant input active set (over any cardinality). The breakpoint in dominance of {i, j} w.r.t. a given {k, l} occurs at points p{i,j},{k,l} = γjCi − γiCj Ci − Cj − γlCk − γkCl Ck − Cl γi − γj Ci − Cj − γk − γl Ck − Cl

  • i, j, k, l ∈ TX,

{i, j} = {l, k}

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 11 / 27

slide-24
SLIDE 24

Only Input → Pool Flows (No Directs)

max

{xi } f = d · DU −

  • i∈TX

γi · xi           

  • i∈TX

xi = DU p =

i∈TX

Cixi

i∈TX

xi 0 ≤ xi, ∀ i ∈ TX For fixed p, consider 2 input nodes in2, in3 where C2 ≤ p ≤ C3. Then the flows are: x2 = DU(p − C3) C2 − C3 , x3 = DU(p − C2) C3 − C2 ,

Pool Output

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

in1 di1 in2 di2 in3 di3 inI diH p

  • x1

x

I

z

1

z

H

y

More generally, input pair {i, j} has the best return on investment for a fixed p when: {i, j} = arg min

x={i,j}⊆TX

γx(p) = γi(p − Cj) + γj(Ci − p) Ci − Cj and {i, j} is the dominant input active set (over any cardinality). The breakpoint in dominance of {i, j} w.r.t. a given {k, l} occurs at points p{i,j},{k,l} = γjCi − γiCj Ci − Cj − γlCk − γkCl Ck − Cl γi − γj Ci − Cj − γk − γl Ck − Cl

  • i, j, k, l ∈ TX,

{i, j} = {l, k}

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 11 / 27

slide-25
SLIDE 25

Only Input → Pool Flows (No Directs)

max

{xi } f = d · DU −

  • i∈TX

γi · xi           

  • i∈TX

xi = DU p =

i∈TX

Cixi

i∈TX

xi 0 ≤ xi, ∀ i ∈ TX For fixed p, consider 2 input nodes in2, in3 where C2 ≤ p ≤ C3. Then the flows are: x2 = DU(p − C3) C2 − C3 , x3 = DU(p − C2) C3 − C2 ,

Pool Output

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

in1 di1 in2 di2 in3 di3 inI diH p

  • x1

x

I

z

1

z

H

y

More generally, input pair {i, j} has the best return on investment for a fixed p when: {i, j} = arg min

x={i,j}⊆TX

γx(p) = γi(p − Cj) + γj(Ci − p) Ci − Cj and {i, j} is the dominant input active set (over any cardinality). The breakpoint in dominance of {i, j} w.r.t. a given {k, l} occurs at points p{i,j},{k,l} = γjCi − γiCj Ci − Cj − γlCk − γkCl Ck − Cl γi − γj Ci − Cj − γk − γl Ck − Cl

  • i, j, k, l ∈ TX,

{i, j} = {l, k}

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 11 / 27

slide-26
SLIDE 26

Only Input → Pool Flows (No Directs)

max

{xi } f = d · DU −

  • i∈TX

γi · xi           

  • i∈TX

xi = DU p =

i∈TX

Cixi

i∈TX

xi 0 ≤ xi, ∀ i ∈ TX For fixed p, consider 2 input nodes in2, in3 where C2 ≤ p ≤ C3. Then the flows are: x2 = DU(p − C3) C2 − C3 , x3 = DU(p − C2) C3 − C2 ,

Pool Output

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

in1 di1 in2 di2 in3 di3 inI diH p

  • x1

x

I

z

1

z

H

y

More generally, input pair {i, j} has the best return on investment for a fixed p when: {i, j} = arg min

x={i,j}⊆TX

γx(p) = γi(p − Cj) + γj(Ci − p) Ci − Cj and {i, j} is the dominant input active set (over any cardinality). The breakpoint in dominance of {i, j} w.r.t. a given {k, l} occurs at points p{i,j},{k,l} = γjCi − γiCj Ci − Cj − γlCk − γkCl Ck − Cl γi − γj Ci − Cj − γk − γl Ck − Cl

  • i, j, k, l ∈ TX,

{i, j} = {l, k}

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 11 / 27

slide-27
SLIDE 27

Only Input → Pool Flows: Numerical Example

Pool Output

1 2 3 4 5 p

  • y

(C1 = 1, γ1 = 135), (C2 = 2, γ2 = 105), (C3 = 3, γ3 = 90), (C4 = 4, γ4 = 111), (C5 = 5, γ5 = 140); DU = 100; d = 150; ∂f ∗/∂p = −DU(γi − γj)/(Ci − Cj)

1 1.5 2 2.5 3 3.5 4 4.5 5

p

1000 2000 3000 4000 5000 6000 7000

f*

Active {1,2} Active {3,4} Active {4,5} breakpoint breakpoint breakpoint Active {2,3}

Figure 1: Optimal Objective Function f ∗(p) vs. pool concentration p

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 12 / 27

slide-28
SLIDE 28

Only Input → Pool Flows: Numerical Example

Pool Output

1 2 3 4 5 p

  • y

(C1 = 1, γ1 = 135), (C2 = 2, γ2 = 105), (C3 = 3, γ3 = 90), (C4 = 4, γ4 = 111), (C5 = 5, γ5 = 140); DU = 100; d = 150; ∂f∗/∂p = −DU(γi − γj)/(Ci − Cj)

1 1.5 2 2.5 3 3.5 4 4.5 5

p

1000 2000 3000 4000 5000 6000 7000

f*

Active {1,2} Active {3,4} Active {4,5} breakpoint breakpoint breakpoint Active {2,3}

Figure 1: Optimal Objective Function f ∗(p) vs. pool concentration p

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 12 / 27

slide-29
SLIDE 29

Only Input → Output Flows (No Pool)

max

{zi} f = d · DU −

  • i∈TZ

γi · zi           

  • i∈TZ

zi = DU PL ≤

i∈TZ

Cizi

i∈TZ

zi ≤ PU 0 ≤ zi, ∀ i ∈ TZ Given θ, the lowest cost direct node, i.e., γθ = min

i∈TZ γi,

Pool Output

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

in1 di1 in2 di2 in3 di3 inI diH p

  • x1

x

I

z1 z

H

y

if Cθ ∈ [PL, PU] then θ is the dominant direct active set. Otherwise a feasible active direct pair {i, j} dominates any alternative:

{i, j} = arg min

{α,β}⊆TZ

γα(P⋆ − Cβ) + γβ(Cα − P⋆) Cα − Cβ , P⋆ =

  • PL, if (Cα − Cβ)(γα − γβ) > 0

PU, if (Cα − Cβ)(γα − γβ) < 0

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 13 / 27

slide-30
SLIDE 30

Only Input → Output Flows (No Pool)

max

{zi} f = d · DU −

  • i∈TZ

γi · zi           

  • i∈TZ

zi = DU PL ≤

i∈TZ

Cizi

i∈TZ

zi ≤ PU 0 ≤ zi, ∀ i ∈ TZ Given θ, the lowest cost direct node, i.e., γθ = min

i∈TZ γi,

Pool Output

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

in1 di1 in2 di2 in3 di3 inI diH p

  • x1

x

I

z1 z

H

y

if Cθ ∈ [PL, PU] then θ is the dominant direct active set. Otherwise a feasible active direct pair {i, j} dominates any alternative:

{i, j} = arg min

{α,β}⊆TZ

γα(P⋆ − Cβ) + γβ(Cα − P⋆) Cα − Cβ , P⋆ =

  • PL, if (Cα − Cβ)(γα − γβ) > 0

PU, if (Cα − Cβ)(γα − γβ) < 0

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 13 / 27

slide-31
SLIDE 31

Only Input → Output Flows (No Pool)

max

{zi} f = d · DU −

  • i∈TZ

γi · zi           

  • i∈TZ

zi = DU PL ≤

i∈TZ

Cizi

i∈TZ

zi ≤ PU 0 ≤ zi, ∀ i ∈ TZ Given θ, the lowest cost direct node, i.e., γθ = min

i∈TZ γi,

Pool Output

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

in1 di1 in2 di2 in3 di3 inI diH p

  • x1

x

I

z1 z

H

y

if Cθ ∈ [PL, PU] then θ is the dominant direct active set. Otherwise a feasible active direct pair {i, j} dominates any alternative:

{i, j} = arg min

{α,β}⊆TZ

γα(P⋆ − Cβ) + γβ(Cα − P⋆) Cα − Cβ , P⋆ =

  • PL, if (Cα − Cβ)(γα − γβ) > 0

PU, if (Cα − Cβ)(γα − γβ) < 0

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 13 / 27

slide-32
SLIDE 32

Both Inputs and Directs: Intuition

max

{xi },{zi } f = d · DU −

  • i∈TX

γi · xi −

  • i∈TZ

γi · zi                                   

  • i∈TX

xi +

i∈TZ

zi = DU PL ≤  

i∈TX

Cixi +

  • i∈TZ

Cizi    

i∈TX

xi +

  • i∈TZ

zi   ≤ PU p =

i∈TX

Cixi

i∈TX

xi 0 ≤ xi, ∀ i ∈ TX 0 ≤ zi, ∀ i ∈ TZ

Pool Output

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

in1 di1 in2 di2 in3 di3 inI diH p

  • x1

x

I

z

1

z

H

y

Calculate the breakpoints in strongly polynomial time (details: Optimization Online). For a fixed p, the dominant active set is one of the following:

1

x = {i, j} delivering at output concentration p (equiv. to input → pool only).

2

z = {k, l} delivering at output concentration P⋆ (equiv. to input → output only).

3

{x, q} = {i, j, q} delivering at output concentration P(x, q), where x is the blend

  • f nodes i, j with concentration p.

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 14 / 27

slide-33
SLIDE 33

Both Inputs and Directs: Intuition

max

{xi },{zi } f = d · DU −

  • i∈TX

γi · xi −

  • i∈TZ

γi · zi                                   

  • i∈TX

xi +

i∈TZ

zi = DU PL ≤  

i∈TX

Cixi +

  • i∈TZ

Cizi    

i∈TX

xi +

  • i∈TZ

zi   ≤ PU p =

i∈TX

Cixi

i∈TX

xi 0 ≤ xi, ∀ i ∈ TX 0 ≤ zi, ∀ i ∈ TZ

Pool Output

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

in1 di1 in2 di2 in3 di3 inI diH p

  • x1

x

I

z

1

z

H

y

Calculate the breakpoints in strongly polynomial time (details: Optimization Online). For a fixed p, the dominant active set is one of the following:

1

x = {i, j} delivering at output concentration p (equiv. to input → pool only).

2

z = {k, l} delivering at output concentration P⋆ (equiv. to input → output only).

3

{x, q} = {i, j, q} delivering at output concentration P(x, q), where x is the blend

  • f nodes i, j with concentration p.

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 14 / 27

slide-34
SLIDE 34

Both Inputs and Directs: Intuition

max

{xi },{zi } f = d · DU −

  • i∈TX

γi · xi −

  • i∈TZ

γi · zi                                   

  • i∈TX

xi +

i∈TZ

zi = DU PL ≤  

i∈TX

Cixi +

  • i∈TZ

Cizi    

i∈TX

xi +

  • i∈TZ

zi   ≤ PU p =

i∈TX

Cixi

i∈TX

xi 0 ≤ xi, ∀ i ∈ TX 0 ≤ zi, ∀ i ∈ TZ

Pool Output

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

in1 di1 in2 di2 in3 di3 inI diH p

  • x1

x

I

z

1

z

H

y

Calculate the breakpoints in strongly polynomial time (details: Optimization Online). For a fixed p, the dominant active set is one of the following:

1

x = {i, j} delivering at output concentration p (equiv. to input → pool only).

2

z = {k, l} delivering at output concentration P⋆ (equiv. to input → output only).

3

{x, q} = {i, j, q} delivering at output concentration P(x, q), where x is the blend

  • f nodes i, j with concentration p.

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 14 / 27

slide-35
SLIDE 35

Both Inputs and Directs: Intuition

max

{xi },{zi } f = d · DU −

  • i∈TX

γi · xi −

  • i∈TZ

γi · zi                                   

  • i∈TX

xi +

i∈TZ

zi = DU PL ≤  

i∈TX

Cixi +

  • i∈TZ

Cizi    

i∈TX

xi +

  • i∈TZ

zi   ≤ PU p =

i∈TX

Cixi

i∈TX

xi 0 ≤ xi, ∀ i ∈ TX 0 ≤ zi, ∀ i ∈ TZ

Pool Output

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

in1 di1 in2 di2 in3 di3 inI diH p

  • x1

x

I

z

1

z

H

y

Calculate the breakpoints in strongly polynomial time (details: Optimization Online). For a fixed p, the dominant active set is one of the following:

1

x = {i, j} delivering at output concentration p (equiv. to input → pool only).

2

z = {k, l} delivering at output concentration P⋆ (equiv. to input → output only).

3

{x, q} = {i, j, q} delivering at output concentration P(x, q), where x is the blend of nodes i, j with concentration p.

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 14 / 27

slide-36
SLIDE 36

Both Inputs and Directs: Example & Algorithm

Pool Output

in1 in2 in3 in4 in5 di1 di2 di3 p

  • y

(Cin1 = 1, γin1 = 135), (Cin2 = 2, γin2 = 105), (Cin3 = 3, γin3 = 90), (Cin4 = 4, γin4 = 111), (Cin5 = 5, γin5 = 140); (Cdi1 = 1.5, γdi1 = 150), (Cdi2 = 8, γdi2 = 115), (Cdi3 = 4.5, γdi3 = 120), DU = 100; d = 150; PL = 1; PU = 3;

1 1.5 2 2.5 3 3.5 4 4.5 5

p

1000 2000 3000 4000 5000 6000 7000

f*

Active {in4,in5,di1} Active {di1,di3} Active {in3,in4,di1} Active {in2,in3} Active {in1,in2, di3} Active {in1,in2, di2} Active {in1,in2}

breakpoint breakpoint breakpoint breakpoint breakpoint breakpoint

Figure 2: Optimal Objective Function f ∗(p) vs. pool concentration p

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 15 / 27

slide-37
SLIDE 37

Both Inputs and Directs: Example & Algorithm

Over a Breakpoint (p) Interval I:

If a direct-only active set z dominates over I, f ∗(p) is constant w.r.t. p over I. If an input-only active set x dominates over I, f ∗(p) is linear w.r.t. p over I. If a mixed (input and direct) active set m dominates over I, f ∗(p) is monotone and either convex or concave w.r.t. p over I.

1 1.5 2 2.5 3 3.5 4 4.5 5

p

1000 2000 3000 4000 5000 6000 7000

f*

Active {in4,in5,di1} Active {di1,di3} Active {in3,in4,di1} Active {in2,in3} Active {in1,in2, di3} Active {in1,in2, di2} Active {in1,in2}

breakpoint breakpoint breakpoint breakpoint breakpoint breakpoint

Figure 2: Optimal Objective Function f ∗(p) vs. pool concentration p

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 15 / 27

slide-38
SLIDE 38

Both Inputs and Directs: Example & Algorithm

Finding the Global Solution

In strongly polynomial-time, find optimal objective f ∗ = max

  • max

p∈B f ∗(p), f ∗ z

  • ,

where B is the set of all breakpoints between dominant input-only and mixed active sets, and f ∗

z is the optimal objective for the dominant direct-only active set.

1 1.5 2 2.5 3 3.5 4 4.5 5

p

1000 2000 3000 4000 5000 6000 7000

f*

Active {in4,in5,di1} Active {di1,di3} Active {in3,in4,di1} Active {in2,in3} Active {in1,in2, di3} Active {in1,in2, di2} Active {in1,in2}

breakpoint breakpoint breakpoint breakpoint breakpoint breakpoint

Figure 2: Optimal Objective Function f ∗(p) vs. pool concentration p

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 15 / 27

slide-39
SLIDE 39

One Pool, Multiple Outputs: Problem

Objective max

{xi},{yj},{zij},p f =

  • j∈TY

dj · yj +

  • (i,j)∈TZ

dj · zij −

  • i∈TX

γi · xi −

  • (i,j)∈TZ

γi · zij Product Demand  yj +

  • i:(i,j)∈TZ

zij ≤ DU

j

∀ j Material Balance  

i∈TX

xi −

  • j∈TY

yj = 0 Quality Balance  

i∈TX

Cixi = p

  • j∈TY

yj Product Quality      p · yj+

  • i:(i,j)∈TZ

Ci · zij          ≥ PL

j

  • yj +
  • i:(i,j)∈TZ

zij

  • ≤ PU

j

  • yj +
  • i:(i,j)∈TZ

zij

  • ∀ j

Bounds [xi, yj, zij ≥ 0 ∀ i, j

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

. . .

Pool p

. . .

Outputs [1,. . . ,O]

in1 di1

  • 1

in2 di2

  • 2

in3 di3

  • 3

inI diH

  • O

p

x1 x

I

z

1 1

z

H O

y1 yO Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 16 / 27

slide-40
SLIDE 40

One Pool, Multiple Outputs: Problem

Objective max

{xi},{yj},{zij},p f =

  • j∈TY

dj · yj +

  • (i,j)∈TZ

dj · zij −

  • i∈TX

γi · xi −

  • (i,j)∈TZ

γi · zij Product Demand  yj +

  • i:(i,j)∈TZ

zij ≤ DU

j

∀ j Material Balance  

i∈TX

xi −

  • j∈TY

yj = 0 Quality Balance  

i∈TX

Cixi = p

  • j∈TY

yj Product Quality      p · yj+

  • i:(i,j)∈TZ

Ci · zij          ≥ PL

j

  • yj +
  • i:(i,j)∈TZ

zij

  • ≤ PU

j

  • yj +
  • i:(i,j)∈TZ

zij

  • ∀ j

Bounds [xi, yj, zij ≥ 0 ∀ i, j

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

. . .

Pool p

. . .

Outputs [1,. . . ,O]

in1 di1

  • 1

in2 di2

  • 2

in3 di3

  • 3

inI diH

  • O

p

x1 x

I

z

1 1

z

H O

y1 yO

Known result

Can solve with a polynomial number of LPs of polynomial size [Haugland and Hendrix, 2016, Boland et al., 2016]

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 16 / 27

slide-41
SLIDE 41

One Pool, Multiple Outputs: Additivity Intuition

. . . Inputs [1,. . . ,I] . . . Directs [1,. . . ,H] . . . Pool p . . . Outputs [1,. . . ,O]

in1 di1

  • 1

in2 di2

  • 2

in3 di3

  • 3

inI diH

  • O

p

x

1

x

I

z11 zHO y

1

yO

=

Pool Output

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

. . . + . . .

in1 di1 in2 di2 in3 di3 inI diH p

  • 1

x1,1 xI,1 z1,1 zH,1 y1

Pool Output

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

in1 di1 in2 di2 in3 di3 inI diH p

  • O

x1,O xI,O z1,O zH,O yO

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 17 / 27

slide-42
SLIDE 42

One Pool, Multiple Outputs: Additivity over Outputs

max

{xi },{yj },{zij },p f =

  • j∈TY

dj · yj +

  • (i,j)∈TZ

dj · zij −

  • i∈TX

γi · xi −

  • (i,j)∈TZ

γi · zij   yj +

  • i:(i,j)∈TZ

zij ≤ DU

j

∀ j  

i∈TX

xi −

  • j∈TY

yj = 0     p · yj +

  • i:(i,j)∈TZ

Ci · zij          ≥ PL

j

  • yj +
  • i:(i,j)∈TZ

zij

  • ≤ PU

j

  • yj +
  • i:(i,j)∈TZ

zij

  • ∀ j

 

i∈TX

Ci xi = p

  • j∈TY

yj        0 ≤ xi ∀ i ∈ TX 0 ≤ yj ∀ j ∈ TY 0 ≤ zij ∀ (i, j) ∈ TZ min

i

Ci ≤ p ≤ max

i

Ci

                      

f (p) =

j∈TY fj (p)

⇔ max

{xi },{yj },{zij },p f =

= max

p

  • j∈TY

max

{xij },{zij } fj (p)

  • ,

xi =

  • j∈TY

xij ∀i ∈ TX , yj =

  • i∈TX

xij ∀j ∈ TY , p =

  • i∈TX

Ci xi

  • j∈TY

yj ,

For j given, ∀j:

max

{xij },{zij } fj (p) = dj · yj +

  • i:(i,j)∈TZ

dj · zij −

  • i∈TX

γi · xij −

  • i:(i,j)∈TZ

γi · zij   yj +

  • i:(i,j)∈TZ

zij ≤ DU

j

 

i∈TX

xij − yj = 0     p · yj +

  • i:(i,j)∈TZ

Ci · zij          ≥ PL

j

  • yj +
  • i:(i,j)∈TZ

zij

  • ≤ PU

j

  • yj +
  • i:(i,j)∈TZ

zij

i∈TX

Ci xij = p · yj        0 ≤ xij ∀ i ∈ TX 0 ≤ yj 0 ≤ zij ∀ i : (i, j) ∈ TZ min

i

Ci ≤ p ≤ max

i

Ci

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 18 / 27

slide-43
SLIDE 43

One Pool, Multiple Outputs: Decomposed Problem

max

{xi },{yj },{zij },p f = max p j∈TY

max

{xij },{zij } fj(p)

  • ,

                                                     xi =

j∈TY

xij ∀i ∈ TX , yj =

i∈TX

xij ∀j ∈ TY , p =

i∈TX

Cixi

j∈TY

yj, ∀j ∈ TY                              max

{xij },{zij } fj(p) = dj · DU j − i∈TX

γi · xij −

i∈TZ

γi · zij,                     

  • i∈TX

xij +

i∈TZ

zij = DU

j ,

PL

j ≤

  • i∈TX

Cixij +

i∈TZ

Cizij

  • i∈TX

xij +

i∈TZ

zij

  • ≤ PU

j ,

p =

i∈TX

Cixij

i∈TX

xij, 0 ≤ xij, ∀ i ∈ TX 0 ≤ zij, ∀ i ∈ TZ .

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 19 / 27

slide-44
SLIDE 44

One Pool, Multiple Outputs: Numerical Example

Pool Outputs 1 and 2

in1 in2 di1 di2

  • 1
  • 2

p

y1 y

2

(Cin1 = 3, γin1 = 6), (Cin2 = 1, γin2 = 13), (Cdi1 = 1.5, γdi1 = 12), (Cdi2 = 2.5, γdi2 = 3), DU

1 = 200; DU 2 = 150; d1 = 15; d2 = 15;

PL

1 = 1; PU 1 = 2; PL 2 = 1; PU 2 = 2; 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3

p

200 400 600 800 1000 1200 1400 1600 1800 2000

f*1(p) f*2(p) f*(p) Active {di1} breakpoint Nonconvex interval! Active {in1,in2,di1} Active {in1,in2} breakpoint Active {in1,in2,di2}

Figure 3: Optimal Objective Function f ∗(p) vs. pool concentration p

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 20 / 27

slide-45
SLIDE 45

One Pool, Multiple Outputs: Algorithm

Overcoming Non-Convexity

f ∗(p) can be non-convex, but we have its derivative over a breakpoint interval I (additivity over outputs):

∂f ∗(p) ∂p =

j∈TYm

DU

j

  • C j

q − Pj(x, q)

  • (C j

i − C j k)(p − C j q)2 ·

  • C j

q(γj k−γj i )+C j j (γj i −γj q)+C j i (γj q−γj k)

  • +C,

where C is a determined constant, j superscript is the output and TYm are the outputs where a mixed active set dominates over I. 2|TY |-bounded degree polynomial when derivative is ∂f ∗(p)/∂p = 0 has rational coefficients and can be solved in polynomial-time by Lenstra-Lenstra-Lovacz algorithm.

Solves Haverly’s pooling problem to global optimality!

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 21 / 27

slide-46
SLIDE 46

Two Pools, One Output: Numerical Example

Pool Output

in1 in2 in3 in4 di1 di2 di3 p1 p2

  • (Cin1 = 3, γin1 = 6), (Cin2 = 1, γin2 = 13),

(Cin3 = 4, γin3 = 10), (Cin4 = 2, γin4 = 9); (Cdi1 = 2, γdi1 = 10), (Cdi2 = 6, γdi2 = 3), (Cdi3 = 4, γdi3 = 12), DU = 200; d = 15; PL = 1; PU = 2.5;

Pool p2 Pool p1 f*(p)

1 1100 4 2 1200 3.5 3 1300 2.5 3 1400 2 1.5 1500 4 1 Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 22 / 27

slide-47
SLIDE 47

Extending to Multiple Pools (Full Topology)

Multiple Pools, One Output

For all pi fixed, pools and directs act as inputs for output, meaning max two are active Solve problem for all active set cases ( L+H

2

  • + L + H), and choose best solution

. . .

Inputs [1,. . . ,I]

. . .

Directs [1,. . . ,H]

. . .

Pools [1,. . . ,L] Output

in1 di1 p1 in2 di2 p2 inI diH pL

  • Multiple Pools, Multiple Outputs

Pools / Directs L+H Outputs O

p1 p2 p3

  • 1
  • 2

(possible unconstrained flows) choose active flows/topology at optimality

Case 1.

p1 p2 p3

  • 1
  • 2

Separable sub-problems

Case 2.

. . .

p1 p2 p3

  • 1
  • 2

Fewer Links (sparser problem)

Case 12.

= ⇒ ((L + H)(L + H + 1)/2)O cases !

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 23 / 27

slide-48
SLIDE 48

Full Topology - Decomposition of each case

Active full topology with only upper outputs flow bounds

  • If 2 output sets share no active node → separable sub-problems over them.
  • If outputs from a separable set/sub-problem:

Share all their active nodes → additivity over outputs as in 1 or 2 pool case, solve algorithmically (polynomial time). Share partially active nodes → P/NP boundary, use global algorithm.

Multiple Pools, Multiple Outputs

Pools / Directs L+H Outputs O

p1 p2 p3

  • 1
  • 2

(possible unconstrained flows) choose active flows/topology at optimality

Case 1.

p1 p2 p3

  • 1
  • 2

Separable sub-problems

Case 2.

. . .

p1 p2 p3

  • 1
  • 2

Fewer Links (sparser problem)

Case 12.

= ⇒ ((L + H)(L + H + 1)/2)O cases !

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 24 / 27

slide-49
SLIDE 49

Full Topology - Greedy Exploration of Cases

Greedy Search over Active Topologies

  • For each output, independent of other outputs, create profit hierarchy given all

choices of active pool/direct pairs/single nodes sending flow to it.

  • Enforce dependencies at the top hierarchy choice for each output - feasible sol.
  • Until no positive objective change move available, sequence of greedy steps:

Select hierarchy choice change for one output that produces max objective improvement among all choices from current state, and enact it.

Multiple Pools, Multiple Outputs

Pools / Directs L+H Outputs O

p1 p2 p3

  • 1
  • 2

(possible unconstrained flows) choose active flows/topology at optimality

Case 1.

p1 p2 p3

  • 1
  • 2

Separable sub-problems

Case 2.

. . .

p1 p2 p3

  • 1
  • 2

Fewer Links (sparser problem)

Case 12.

= ⇒ ((L + H)(L + H + 1)/2)O cases !

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 25 / 27

slide-50
SLIDE 50

Example: 60 Inputs, 30 Pools, 40 Outputs, 1 Quality

Solver Optimal Objective Value: 234469.185069, Time = 143.5s

Built output hierarchies - time= 7.226015 s, obj = 233566.895813

1 obj = 233789.56, ∆ = +222.66 – for 39, 3→10; time= 22.18 s 2 obj = 233976.01, ∆ = +186.44 – for 17, 3→8; time= 3.98 s 3 obj = 234146.37, ∆ = +170.36 – for 7, 3→(8,25); time= 8.31 s 4 obj = 234280.37, ∆ = +134.00 – for 9, 3→5; time= 15.04 s 5 obj = 234397.80, ∆ = +117.42 – for 28, 4→(2,19); time= 5.52 s 6 obj = 234429.67, ∆ = +31.86 – for 29, 3→(19,21); time= 22.89 s 7 obj = 234453.67, ∆ = +24.00 – for 36, 3→8; time= 33.20 s 8 obj = 234463.44, ∆ = +9.76 – for 32, 3→12; time= 19.72 s 9 obj = 234469.18, ∆ = +5.74 – for 18, 12→(17,20); time= 5.27 s

Time greedy heuristic (unoptimized Python code): 183.94 s

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 26 / 27

slide-51
SLIDE 51

Conclusion

Main Ideas

Found topological sparsity (analytical solutions where possible) that induces a mathematical piecewise structure in problem sub-instances - this proves the intuition of Professor Floudas and justifies the good results of piecewise schemes and heuristics. Deliniated a complete P/NP boundary around topological sparsity, extending previous work with new boundary cases that can lead to efficient greedy decompositions or disjunctive cuts for non-sparse instances (Dey and Gupte [2015])

Related Projects ...

Dr Ruth Misener is looking for a postdoctoral research associate in the area of developing open-source mixed-integer nonlinear optimisation solver. Email r.misener@imperial.ac.uk for more details.

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 27 / 27

slide-52
SLIDE 52

References:

  • F. A. Al-Khayyal and J. E. Falk. Jointly constrained biconvex
  • programming. Math. Oper Res, 8(2):273 – 286, 1983.

Alfaki and Haugland. A multi-commodity flow formulation for the generalized pooling problem. J Glob Optim, 56(3):917–937, 2013. Egon Balas. Disjunctive programming. Annals of Discrete Mathematics, 5: 3–51, 1979. Beale, Coen, and Flowerdew. Separable programming applied to an ore purchasing problem. J Roy Statistical Soc. Series C (Applied Statistics), 14(2/3):89–101, 1965. Boland, Kalinowski, and Rigterink. A polynomially solvable case of the pooling problem. J Glob Optim, 2016. DOI 10.1007/s10898-016-0432-6. Ceccon, Kouyialis, and Misener. Using functional programming to recognize named structure in an optimization problem: Application to

  • pooling. AIChE J, 2016. ISSN 1547-5905. doi: 10.1002/aic.15308.

C D’Ambrosio, J Linderoth, and J Luedtke. IPCO 2011, chapter Valid Inequalities for the Pooling Problem with Binary Variables, pages 117–129. Springer Berlin Heidelberg, Berlin, Heidelberg, 2011.

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 27 / 27

slide-53
SLIDE 53

Dey and Gupte. Analysis of MILP techniques for the pooling problem. Oper Res, 63(2):412–427, 2015. Christodoulos A Floudas. Nonlinear and mixed-integer optimization: fundamentals and applications. Oxford University Press on Demand, 1995. Gupte, Ahmed, Dey, and Cheon. Relaxations and discretizations for the pooling problem. J Glob Optim, 2016. DOI 10.1007/s10898-016-0434-4.

  • Haugland. The computational complexity of the pooling problem. J Glob

Optim, 64:199–215, 2016. Haugland and Hendrix. Pooling problems with polynomial-time algorithms. J Optim Theory Appl, 2016. DOI 10.1007/s10957-016-0890-5.

  • Haverly. Studies of the behavior of recursion for the pooling problem.

ACM SIGMAP Bull., 25:19 – 28, 1978.

  • R. Karuppiah and I. E. Grossmann. Global optimization for the synthesis
  • f integrated water systems in chemical processes. Comput. Chem.

Eng., 30:650 – 673, 2006.

  • G. P. McCormick. Computability of global solutions to factorable

nonconvex programs: Part 1-convex underestimating problems. Math. Program., 10(1):147 – 175, 1976.

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 27 / 27

slide-54
SLIDE 54
  • C. A. Meyer and C. A. Floudas. Global optimization of a combinatorially

complex generalized pooling problem. AIChE J., 52(3):1027 – 1037, 2006.

  • R. Misener and C. A. Floudas. Global optimization of mixed-integer

quadratically-constrained quadratic programs (MIQCQP) through piecewise-linear and edge-concave relaxations. Math. Program. B, 136: 155–182, 2012.

  • D. S. Wicaksono and I. A. Karimi. Piecewise MILP under-and
  • verestimators for global optimization of bilinear programs. AIChE J.,

54(4):991 – 1008, 2008.

Baltean-Lugojan, Misener Piecewise Parametric Pooling Problem 29 Mar 2017 27 / 27