36
Bilevel Programming and Price Optimization Martine Labbé Computer Science Department Université Libre de Bruxelles INOCS Team, INRIA Lille NPCG19, IHP, Paris 1

Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

Bilevel Programming and Price Optimization

Martine Labbé

Computer Science Department Université Libre de Bruxelles

INOCS Team, INRIA Lille

NPCG19, IHP, Paris 1

Page 2: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

Bilevel Program

NPCG19, IHP, Paris

maxx,y

f(x, y)

s.t. (x, y) 2 X

y 2 S(x)

where S(x) = argmaxy

g(x, y)

s.t.(x, y) 2 Y

2

Page 3: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

Adequate framework for Stackelberg game

NPCG19, IHP, Paris

• Leader: 1st level,

• Follower: 2nd level,

• Leader takes follower’s optimal reaction into account.

3

Heinrich von Stackelberg (1905 - 1946)

Page 4: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

NPCG19, IHP, Paris

First paper on bilevel optimization

4

Bracken & McGill (OR,1973): First bilevel model, structural properties, military application.

Mathematical Programs with Optimization Problems

in the Constraints

Jerome Bracken and James T. McGill

Institute for Defense Analyses, Arlington, Virginia

(Received October 5, 1971)

This paper considers a class of optimization problems characterized by con-

straints that themselves contain optimization problems. The problems in the constraints can be linear programs, nonlinear programs, or two-sided optimiza-

tion problems, including certain types of games. The paper presents theory dealing primarily with properties of the relevant functions that result in convex programming problems, and discusses interpretations of this theory. It gives

an application with linear programs in the constraints, and discusses computa- tional methods for solving the problems.

THE STANDARD mathematical program can be stated as finding a vector

x = (xI, *, x) to minimize f (x) (1)

subject to

gi(x) > ri, (i= I, m) (2)

where the functionsf() and gi() are real-valued, and r = (ri, *.., rm) is a specified vector of scalars. If f (.) is a convex function and gi ( ) is a concave function for i= 1, , m, then the problem given by (1) and (2) is called a convex program.

Usually the right-hand-side vector r is considered to be a specified constant. More generally, this vector can be taken to be a parameterization of the mathe- matical program. For the class of problems treated herein, the vector r will be a variable used to link a nested hierarchy of mathematical programs. In general, the vector r will be confined to some set of values of interest, denoted by R.

The constraint set given in (2) can be more generally defined, for any rER, as

S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3)

The mathematical programming problem can be restated as one of finding a vector

x in the set S (r) that minimizes f (x). The vector r, then, parameterizes the pro- gram. As r varies over a set of values R, the minimal value of the objective function may also vary. EVANS AND GOULD [31 give conditions for which the variation of the minimum is a continuous function of r. ROCKAFELLAR[71 also considers the continuity problem for convex programs, using conjugate function theory. He also shows that the variation of the minimum is a convex function of r for certain types of parameterizations [reference 6, p. 174].

Section I presents a formulation of mathematical programs with optimization problems in the constraints; Lemmas 1 and 2 there give conditions guaranteeing that the optimal value of the objective function of certain parameterized mathe- matical programs is concave. These results are applied to the constraints of the

37

This content downloaded from 164.15.128.33 on Tue, 03 Jan 2017 11:05:26 UTCAll use subject to http://about.jstor.org/terms

Page 5: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

Adequate framework for Price Setting Problem

NPCG19, IHP, Paris

maxT2⇥,x,y

F (T, x, y)

s.t. minx,y

f(T, x, y)

s.t.(x, y) 2 ⇧

5

Page 6: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

Applications

NPCG19, IHP, Paris 6

Page 7: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

Price Setting Problem with linear constraints

NPCG19, IHP, Paris 7

maxT,x,y

Tx

s.t. TC � f

minx,y

(c+ T )x+ dy

s.t. Ax+By � b

• ⇧ = {x, y : Ax+By � b} is bounded

• {(x, y) 2 ⇧ : x = 0} is nonempty

Page 8: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

NPCG19, IHP, Paris 8

M. Labbé, A. Violin

(a) (b)

Fig. 1 Graphical example of objective functions in two-dimensional case (Labbé et al. 1998). a Secondlevel—feasible solutions, b first level—objective function (in bold)

level problem will always have a finite solution. The non-emptiness of Π2 guaranteesthe existence of a tax-free solution for the follower, which is necessary to preventthe leader from imposing an infinite tax on his/her activities, leading to an infiniterevenue.

To illustrate the concepts introduced so far, we consider the particular case wherethe second level has only two decision variables, meaning that the followers canchoose between a taxed activity and a free one, and the leader has one tax value T todetermine. The formulation is the same as described above, with decision variablesT, x, y ∈ R, parameters c1, c2 ∈ R and vectors A1, A2, b ∈ Rm . In such a case agraphical representation of the problem can be provided and the optimal solution canbe found using a relatively straightforward procedure.

In Fig. 1a the second level objective function is represented, with the set of feasiblesolutions Π . Each vertex of Π represents a potential optimal solution for the follower.

From linear programming theory, one can easily conclude that a vertex of Π isoptimal if the opposite of the objective function coefficient vector (− (c1 + T ),− c2)

belongs to the cone generated by the coefficient vectors of the active constraints atthat vertex. This allows one to determine, for each vertex, the values of T for which itis optimal. For instance, vertex (x0, y0) is optimal for T ∈ [0, T0], (x1, y1) is optimalfor T ∈ [T0, T1], and so on. The first level objective function T y is depicted in termsof T in Fig. 1b. One can observe that this function is discontinuous and piecewiselinear with slopes y0, y1, etc. The optimal solution in this simple example is given byT1 and (x1, y1).

For further details on this case, we refer the interested reader to Labbé et al. (1998).

4 The network pricing problem

The network pricing problem (NPP) is a pricing problem on a network, with an author-ity which owns a subset of arcs and imposes tolls on them, and users who travel onthe network. The authority is the leader who wants to maximize his/her revenue, andnetwork users are the followers who want to minimize their costs, and so will alwaystravel on the minimum cost path.

123

Author's personal copyExample: 2 variables in

second level

Page 9: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

The first level revenue

NPCG19, IHP, Paris 9

M. Labbé, A. Violin

(a) (b)

Fig. 1 Graphical example of objective functions in two-dimensional case (Labbé et al. 1998). a Secondlevel—feasible solutions, b first level—objective function (in bold)

level problem will always have a finite solution. The non-emptiness of Π2 guaranteesthe existence of a tax-free solution for the follower, which is necessary to preventthe leader from imposing an infinite tax on his/her activities, leading to an infiniterevenue.

To illustrate the concepts introduced so far, we consider the particular case wherethe second level has only two decision variables, meaning that the followers canchoose between a taxed activity and a free one, and the leader has one tax value T todetermine. The formulation is the same as described above, with decision variablesT, x, y ∈ R, parameters c1, c2 ∈ R and vectors A1, A2, b ∈ Rm . In such a case agraphical representation of the problem can be provided and the optimal solution canbe found using a relatively straightforward procedure.

In Fig. 1a the second level objective function is represented, with the set of feasiblesolutions Π . Each vertex of Π represents a potential optimal solution for the follower.

From linear programming theory, one can easily conclude that a vertex of Π isoptimal if the opposite of the objective function coefficient vector (− (c1 + T ),− c2)

belongs to the cone generated by the coefficient vectors of the active constraints atthat vertex. This allows one to determine, for each vertex, the values of T for which itis optimal. For instance, vertex (x0, y0) is optimal for T ∈ [0, T0], (x1, y1) is optimalfor T ∈ [T0, T1], and so on. The first level objective function T y is depicted in termsof T in Fig. 1b. One can observe that this function is discontinuous and piecewiselinear with slopes y0, y1, etc. The optimal solution in this simple example is given byT1 and (x1, y1).

For further details on this case, we refer the interested reader to Labbé et al. (1998).

4 The network pricing problem

The network pricing problem (NPP) is a pricing problem on a network, with an author-ity which owns a subset of arcs and imposes tolls on them, and users who travel onthe network. The authority is the leader who wants to maximize his/her revenue, andnetwork users are the followers who want to minimize their costs, and so will alwaystravel on the minimum cost path.

123

Author's personal copy

Page 10: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

Price setting problem: single level reformulation

NPCG19, IHP, Paris 10

maxT,x,y

Tx

s.t. TC � f

Ax+By � b

�A = c+ T

�B = d

(c+ T )x+ dy = �b

maxT,x,y

Tx

s.t. TC � f

minx,y

(c+ T )x+ dy

s.t. Ax+By � b

Page 11: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

Network pricing problem (Labbé et al. 1998, Labbé & Violin, 2013)

NPCG19, IHP, Paris

• network with toll arcs (A1) and non toll arcs (A2)

• Costs ca on arcs

• Commodities (ok, dk, nk)

• Routing on cheapest (cost + toll) path

• Maximize total revenue

11

Page 12: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

Example

NPCG19, IHP, Paris

• UB on (T1 + T2) = SPL(T = 1)� SPL(T = 0) = 22� 6 = 16

• T2,3 = 5, T4,5 = 10

1 2 3 4 5

10

9

2 2 2 0

12

12

Page 13: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

Example with negative toll arc

NPCG19, IHP, Paris 13

2 2

6

0 001 2 3T12 = 4 T23 = −2 T34 = 4

4

Page 14: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

Network pricing problem (Labbé et al., 1998, Roch at al., 2005)

NPCG19, IHP, Paris 14

• Strongly NP-hard even for only one commodity.

• Polynomial for

– one commodity if lower level path is known

– one commodity if toll arcs with positive flows are known

– one single toll arc.

• Polynomial algorithm with worst-case guarantee of (log |A1|)/2 + 1

Page 15: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

One toll arc

NPCG19, IHP, Paris

• For each k, compute UB(k) on profit(k) if k uses toll arc

• UB(1) � UB(2) � . . . � UB(K)

• Ta = UB(i⇤), i⇤ 2 argmaxi

{UB(i)Pki

nk}

15

Page 16: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

Network pricing problem

NPCG19, IHP, Paris 16

maxT

X

a2A1

Ta

X

k2K

nkxka

minx,y

X

k2K

(X

a2A1

(ca + Ta)xka +

X

a2A2

cayka)

s.t.X

a2i+

(xka + yka)�

X

a2i�

(xka + yka) = bki 8k, i

xka, y

ka � 0, 8k, a

<latexit sha1_base64="PEl0YqFa8Jg1BwMk+9AoG+tUzW8=">AAADa3icbVJNb9NAEN04fJQAJaUHEHBYEdVKSRrZ4QAXpCI4IHEpUtJWyibWeLNJV16vHe8axbJ84C9y4x9w4T+wjlNok4xk6WnmzXuz4/FjwZV2nF81q37n7r37ew8aDx893n/SPHh6rqI0oWxIIxEllz4oJrhkQ821YJdxwiD0Bbvwg09l/eI7SxSP5EBnMRuHMJd8xilok/IOaj+Iz+Zc5mwhIUkge1M0SAhLInjItfIG2LYxUWl4nciBcIk/em4x8OBWIcBl5WshJwFeTgIPMCFGi8t/jGU3K2x7Z1N7t0ebGpkONlbHlWRn5zD9ouRlJeO4NNVsqXPV071NuxWfTzpF+1quasInO3T55GSL9wH7BnBMFilMMZlFCQiBgy43tra9IncrLiZztsBOt6L+Z0KDMDm9sW+v2XJ6zirwNnDXoIXWceY1f5JpRNOQSU0FKDVynViPc0g0p4KZ/5cqFgMNYM5GBkoImRrnq1sp8JHJTLGZxnxS41X2ZkcOoVJZ6BtmCPpKbdbK5K7aKNWz9+OcyzjVTNLKaJYKrCNcHh6e8oRRLTIDgCbczIrpFSRAtTnPhlmCu/nkbXDe77lve863fuv083ode+gleo3ayEXv0Cn6gs7QENHab2vfemY9t/7UD+sv6q8qqlVb9xyiW1E/+gseQBPy</latexit>

Page 17: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

NPP: single level reformulation

NPCG19, IHP, Paris 17

maxT,x,y,�

X

k2K

nkX

a2Ak

Taxka

s.t.X

a2i+

(xka + yka)�

X

a2i�

(xka + yka) = bki 8k, i

�ki � �k

j ca + Ta 8k, a 2 A1, i, j

�ki � �k

j ca 8k, a 2 A2, i, jX

a2A1

(ca + Ta)xka +

X

a2A2

cayka = �k

ok � �kdk

xka, y

ka � 0 8k, a

Ta � 0 8a 2 A1<latexit sha1_base64="onNiJ/Z8R1CViI4xNXCUjehp4GU=">AAAEYnicnVPPb9MwFM7ajo0AW8uOcLCoqDaWVUk5wAVpwAWJy5DabVLdRo7jdl4cJ40d1CjyP8mNExf+EJw0lP7aBUtJXp6/973vfbK9mFEhbfvnXq3e2H90cPjYfPL02dFxs/X8WkRpgskARyxKbj0kCKOcDCSVjNzGCUGhx8iNF3wu9m++k0TQiPdlFpNRiKacTihGUqfcVm0OPTKlPCczjpIEZW+UCUM0h4yGVAo371tzK7Ng2SlPiK9yyDS9j5QCnQ6AIg2X2ABAysFXxcfBWh4V6Y9uoPouAvNxoN8QmlCSucxFV3ZVp7ONp+NzdboAn4Os+J6BC7ALd7GF+wA8HVAAZynyAZxECWIMBBbVbQvR29OUcE2//LvXMZkBXNIWuje5qqEci1r36r94H6LsPUS5w1NHnS4lnv11YRewpwpc6Y+255+ePBoHak1h7uvMon1JaFVVcKp12wvRq5pLnf0NwHIqBCqhJiTcXzlmbrNtd+1yge3AqYK2Ua0rt/kD+hFOQ8IlZkiIoWPHcpSjRFLMiD62qSAxwgGakqEOOQqJGOWlfwq81hkfaE364RKU2dWKHIVCZKGnkSGSd2Jzr0ju2humcvJ+lFMep5JwvGg0SRmQESjuG/BpQrBkmQ4QTqjWCvAdShCW+laa2gRnc+Tt4LrXdd527W+99uWnyo5D44Xxyjg1HOOdcWl8Ma6MgYFrv+r79aP6cf13w2y0GicLaG2vqjkx1lbj5R/uQGiA</latexit>

Page 18: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

NPCG19, IHP, Paris 18

NPP: single level reformulation

18

maxT,x,y,�

X

k2K

nkX

a2Ak

Taxka

s.t.X

a2i+

(xka + yka)�

X

a2i�

(xka + yka) = bki 8k, i

�ki � �k

j ca + Ta 8k, a 2 A1, i, j

�ki � �k

j ca 8k, a 2 A2, i, jX

a2A1

(ca + Ta)xka +

X

a2A2

cayka = �k

ok � �kdk

xka, y

ka � 0 8k, a

Ta � 0 8a 2 A1<latexit sha1_base64="onNiJ/Z8R1CViI4xNXCUjehp4GU=">AAAEYnicnVPPb9MwFM7ajo0AW8uOcLCoqDaWVUk5wAVpwAWJy5DabVLdRo7jdl4cJ40d1CjyP8mNExf+EJw0lP7aBUtJXp6/973vfbK9mFEhbfvnXq3e2H90cPjYfPL02dFxs/X8WkRpgskARyxKbj0kCKOcDCSVjNzGCUGhx8iNF3wu9m++k0TQiPdlFpNRiKacTihGUqfcVm0OPTKlPCczjpIEZW+UCUM0h4yGVAo371tzK7Ng2SlPiK9yyDS9j5QCnQ6AIg2X2ABAysFXxcfBWh4V6Y9uoPouAvNxoN8QmlCSucxFV3ZVp7ONp+NzdboAn4Os+J6BC7ALd7GF+wA8HVAAZynyAZxECWIMBBbVbQvR29OUcE2//LvXMZkBXNIWuje5qqEci1r36r94H6LsPUS5w1NHnS4lnv11YRewpwpc6Y+255+ePBoHak1h7uvMon1JaFVVcKp12wvRq5pLnf0NwHIqBCqhJiTcXzlmbrNtd+1yge3AqYK2Ua0rt/kD+hFOQ8IlZkiIoWPHcpSjRFLMiD62qSAxwgGakqEOOQqJGOWlfwq81hkfaE364RKU2dWKHIVCZKGnkSGSd2Jzr0ju2humcvJ+lFMep5JwvGg0SRmQESjuG/BpQrBkmQ4QTqjWCvAdShCW+laa2gRnc+Tt4LrXdd527W+99uWnyo5D44Xxyjg1HOOdcWl8Ma6MgYFrv+r79aP6cf13w2y0GicLaG2vqjkx1lbj5R/uQGiA</latexit>

Page 19: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

NPP: obtaining a MIP

NPCG19, IHP, Paris 19

Taxka = pka

pka Mkax

ka

Ta � pka Na(1� xka)

pka Ta

xka 2 {0, 1}

Page 20: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

Particular case: highway pricing

NPCG19, IHP, Paris

�20

Page 21: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

Particular case: highway pricing

NPCG19, IHP, Paris

• Polynomial number of paths for commodities

• Tolls non additive: one toll for each path

ok

dk

ok

dk

Set of entry and exit nodes!! complete graph

�21

Page 22: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

Particular case: highway pricing

NPCG19, IHP, Paris 22

ok

dk

Set of entry and exit nodes! complete graph

Page 23: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

Possible additional constraints

NPCG19, IHP, Paris 23

c

ab

Ta Tb + Tc

Ta � Tb

Page 24: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

An equivalent problem: Product pricing

NPCG19, IHP, Paris 24

Seller

P1

P2

P3

r(i,j)

Consumers

C1

C2

lundi 1 décembre 14

• pi = price of product i

• r(i, j) = reservation price of consumer group Cj for product i

Page 25: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

Product pricing (PPP)

NPCG19, IHP, Paris 25

k

p1

p2

p3

r(i, k) = cko,d � cki<latexit sha1_base64="yNgPNp/cN5MLduWKjav6vlVjqe0=">AAACBXicbZDLSsNAFIYn9VbrLepSF4OtUKGWpC50IxTduKxgL9DGMJlM2iGTCzMToYRu3Pgqblwo4tZ3cOfbOE2z0NYfBj7+cw5nzu/EjAppGN9aYWl5ZXWtuF7a2Nza3tF39zoiSjgmbRyxiPccJAijIWlLKhnpxZygwGGk6/jX03r3gXBBo/BOjmNiBWgYUo9iJJVl64cVXqU1/wReQnzv22lUcyfwNGNasfWyUTcywUUwcyiDXC1b/xq4EU4CEkrMkBB904illSIuKWZkUhokgsQI+2hI+gpDFBBhpdkVE3isHBd6EVcvlDBzf0+kKBBiHDiqM0ByJOZrU/O/Wj+R3oWV0jBOJAnxbJGXMCgjOI0EupQTLNlYAcKcqr9CPEIcYamCK6kQzPmTF6HTqJtndeO2UW5e5XEUwQE4AlVggnPQBDegBdoAg0fwDF7Bm/akvWjv2sestaDlM/vgj7TPH8Dili4=</latexit>

Ok

dk

Page 26: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

PPP= bilevel formulation

NPCG19, IHP, Paris 26

maxT�0

X

k2K

nkX

a2Ak

Taxka

s.t.(x, y) 2 argminx,y

X

k2K

(X

a2Ak

(ca + Ta)xka + ckody

k)

s.t.X

a2Ak

xka + yk = 1, 8k 2 K

xka, y

k 2 {0, 1}

Page 27: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

PPP: single level formulation

NPCG19, IHP, Paris 27

maxT�0

X

k2K

nkX

a2Ak

Taxka

s.t.X

a2Ak

(cka + Ta)xka + ckody

k Tb + ckb , 8k, b

X

a2Ak

(cka + Ta)xka + ckody

k ckod, 8k

X

a2Ak

xka + yk = 1 8k

xka, y

k 2 {0, 1}

Page 28: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

PPP: MIP formulation (Heilporn et al., 2010, 2011)

NPCG19, IHP, Paris 28

maxX

k2K

nkX

a2Ak

pka

s.t.X

a2Ak

(ckaxka + pka) + ckody

k Tb + ckb , 8k, b

X

a2Ak

(ckaxka + pka) + ckody

k ckod, 8k

X

a2Ak

xka + yk = 1 8k

pka Mkax

ka 8k, a

Ta � pka Na(1� xka) 8k, a

0 pka Ta 8k, axka, y

k 2 {0, 1}

Page 29: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

PPP: MIP formulation

NPCG19, IHP, Paris 29

• StrengtheningP

a2Ak

(ckaxka + pka) + ckody

k Tb + ckb) facet and divides gap

by 2

• LP-relaxation(strengthened formulation) = ideal formulation for one com-modity

<latexit sha1_base64="2KZGSTqyTwmg780T/v0hUXLQ2n0=">AAAC8nicbVLLjtMwFHXCq5RXB5ZsrmiROqqo0rKADdIAGxYsCkxnRmraynFuU6t+BNsZJkT5DDYsQIgtX8OOvyHJVKNhhivZOj732j732FEquHVB8Mfzr1y9dv1G62b71u07d+91du4fWJ0ZhlOmhTZHEbUouMKp407gUWqQykjgYbR5XecPj9FYrtW+y1OcS5oovuKMuopa7nitMMKEq4I7lPwzlu2wRvDBGVSJW6PiKoFeaDMZCi65s8uCQsgVvFxsyj5bbJYUTup5AGmz2B3UZKHjMl9sIBT4EfaXEQygpiMIG82Fwbgswvc8WTtqjP5U9mBFGTqgKoaYH/MYLSQ0hSiH8VYTvJ08MSjoSaO9b88kYgwrbWQmmsQu9F70oDqAivN0jUErBKal1DF3eTtEFZ81vux0g2HQBFwGoy3okm1Mlp3fYaxZJlE5Jqi1s1GQunlBjeNM1EZmFlPKNjTBWQUVlWjnRdN+CY8rplFdDeWgYc/vKKi0NpdRVSmpW9uLuZr8X26WudXzecFVmjlU7PSiVSbAaajfv/LWIHMirwBlhldaga2pocxVv6RdmTC62PJlcDAejp4Og3fj7t6rrR0t8pA8In0yIs/IHnlDJmRKmKe9L94377vv/K/+D//naanvbfc8IP+E/+svaaHtzQ==</latexit>

Page 30: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

PPP: gap (Violin, 2014)

NPCG19, IHP, Paris 30

142

the cuts separation reduces the solution time and provides a bigger gap with respect tothe first strategy, but we still have a big improvement compared to not adding (SSPI),for both formulations. Furthermore, for Shioda et al. instances we notice that (HPDW)formulation with (SSPI) and the second separation procedure has a smaller gap than(HPL) formulation with (SSPI) and the first separation procedure, and a smaller (or verysimilar) solution time. For complete and partial graph instances (HPDW) formulationwith (SSPI) and the second separation procedure provides a gap which is of the sameorder of (HPL) formulation with (SSPI) and the first separation procedure, especiallyfor instances with a lot of commodities and few toll paths, and the solution time is stillsmaller or very similar. For A1 instances the gap of both formulations with (SSPI) usingboth separation procedures is almost the same, but (HPL) formulation is much quickerto be solved. For this class of instances using (SSPI) provides a very small gap, lessthan one percent, and in some cases we are able to solve the integer problem at the rootnode.

5 · 10�2 0.1 0.15 0.20

20

40

60

80

Gap

Num

ber

ofin

stan

ces

HPDW+SSPI-Str2HPL

+SSPI-Str2

(a) Complete graph instances

0.1 0.2 0.3 0.4 0.5 0.60

20

40

60

80

Gap

Num

ber

ofin

stan

ces

HPDW+SSPI-Str2HPL

+SSPI-Str2

(b) Partial graph instances

1 2 3 4·10�2

20

40

60

80

Gap

Num

ber

ofin

stan

ces

HPDW+SSPI-Str2HPL

+SSPI-Str2

(c) Shioda et al.’s instances

5 · 10�2 0.1 0.15

20

40

60

80

Gap

Num

ber

ofin

stan

ces

HPDW+SSPI-Str2HPL

+SSPI-Str2

(d) A1 instances

Figure 4.16: Performance profile graphs on the gap for thelinear relaxation for (HPL) and (HPDW) with SSPI

20 - 90 arcs 20 - 90 commodities

Page 31: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

PPP: computing time

NPCG19, IHP, Paris 31

5.8. BRANCH-AND-CUT-AND-PRICE FRAMEWORK 175

10�1 100 101 102 103 104

20

40

60

80

Time (log scale)

Num

ber

ofin

stan

ces

HPLHPL+SSPIHPDW-Try

HPDW-Tun1HPDW-Tun1+SSPI

Figure 5.6: Performance profile graphs on solving (HP) for A1 instances,comparing (HPL) and (HPDW) with different configurations of HP-B&C&P

“Tun 1” finds a better integer solution than “Tun 2” in 33 cases, and almost alwaysthe heuristic finds the best solution for both configurations in a very small time (lessthan one second). The heuristic also finds many of the optimal solutions for the smallerinstances.

For A1 instances we tested only the best configuration found by the tuner, as theyare all quite similar, noted as “Tun 1”. With this configuration we solve all instancesexcept 14 of the 91 commodities, 3 more with respect to the “Try” configuration. Alsofor this class of instances the solution time is significantly decreased by “Tun 1”, inparticular by a factor of ten for instances with 91 commodities and 20 toll paths. Letus remark that the increase in the solution time for instances with 91 commodities and55 or 91 toll paths is due to the fact that we solve more instances (and so more difficultones), and we report the average. The considerations for the number of nodes, columnsand iterations, and for the time to solve each (MP) are similar as for the other class ofinstances, so we do not repeat them. We just underline that for the bigger A1 instanceseach (MP) is solved in average in 0.04 seconds, whilst for the bigger complete graphinstances it takes around 0.24 seconds: we already noticed this difference when testingthe column generation algorithm to solve the linear relaxation of the problem, in Section4.10.3. Also for A1 instances the heuristic finds most of the optimal solutions.

Compare now the (HPDW) and (HPL) formulations: from the graphs of Figures 5.5and 5.6 we notice that (HPL) solves more instances and in less time, for both classes of

Page 32: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

RECAP

NPCG19, IHP, Paris 32

Pricing problems

Second level: LP

Second level: shortest path Second level: “One out of N”

Bilevel optimization

Page 33: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

NPCG19, IHP, Paris 33

RECAP

33

Pricing problems

Second level: LP

Second level: shortest path Second level: “One out of N”

Bilevel optimization

Single level nonlinearreformulation

Page 34: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

NPCG19, IHP, Paris 34

RECAP

34 34

Pricing problems

Second level: LP

Second level: shortest path Second level: “One out of N”

Bilevel optimization

Single level nonlinearreformulation

MIP

Page 35: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

Conclusion

NPCG19, IHP, Paris 35

• Bilevel model: rich framework for pricing in network-based industries.

• Models: theoretically and computationally challenging.

• Need to exploit problem’s inner structure.

• Analysis of basic model: relevant and useful for attacking real applications.

• Integration of real-life features (congestion, market segmentation, dynam-ics, uncertainty...).

• Investigate variants of product pricing: rank pricing, single minded cus-tomers, bundle pricing, etc. See my Google page.

<latexit sha1_base64="2gNVin+kYMyyMiz7CUSCb4jB2D8=">AAAGp3icbVTbbtNAEB0KCVBuLTwhXlZUICq1aUKFQEhAgQcuEjfRm9RG1Wa9Tqz6JntdCFE+lC/gNzgz3rRpUlu2Z2dmZ86ZmXUvj6PStdt/Ly1cvtJoXr12ffHGzVu37ywt390ts6owdsdkcVbs93Rp4yi1Oy5ysd3PC6uTXmz3esfv2b53YosyytJtN8xtN9H9NAojox1U2fLCNh1Sjyz1KaKURng7rBJ8/+A7pkXYJzpF7yDHkE/wxFgnlFEg8kusClgNDSCFkDWsln7Bo6Bj0bGkKPd+nK+PNX8VHossE+91YNJUQhd4j4AqrJ3stZBaM8i+nCIpBYsDDivROC7n07DFNIRNSzwFXYa9OSI76Ngrg+XMj7nUKytYa8Szmb/iW+N02K8g/0bMGDL71Hwz8OEoiboPfDUjZsz1qFlVyObwZryzGd56VEP4RrI/QzWVrxFzm++E9X1irm6KcyVVDfGNp3rC7LkGBrWf9IVjaPHS4MCM6ipO6jTfg0+Si2epmPKboJ3EW5dIIVZK3vqUNzN7Il1hBFYqU8dYE4ZaZsMKn1LyJNKZ6e6xZ4BKpTJ/jLgUXQWNkYqzdyS7hmDA9+qFTE5OEfQlPuM9EQyRr+pZJ+oeB76LszNed4T3HM/Z1oRLLceSI/Hzbv2M1nOfCdfCs+kJn8DvmI/INTJgpeinTKcCu4HUOMQZH0i3czkpG7hLmfQM0ZhdCzEy3DWelpzlDYnuznX/jZ+lgl7RHvIc0TfaBLJPmNf6/kyPETeGnWOMkTmRc/VhKj6j19Ltse+CFWZzf6KjpZV2qy2Xmhc6Xlghf30/Wvp3GGSmSmzqTKzL8qDTzl13pAsXmdiOFw+r0ubaHOu+PYCY6sSW3ZH8UsfqETSBCrMCT+qUaKd3jHRSlsOkB89Eu0E5a2PlRbaDyoUvuqMozStnU1MnCqtYuUzx/1kFUWGNi4cQtCkiYFVmoAttHP7i57IM4F4UNuTKdGbrMC/sPm11NlvtH09XtrZ8ja7RA3qIE9eh57RFH+k77ZBp3Gk8a7xuvGmuNr81d5v7tevCJb/nHp27mvo/wtFvww==</latexit>

Page 36: Bilevel Programming and Price Optimization · 2019. 4. 19. · S (r) = Ix:gi (x, r) _O, i= 1, , . ml. (3) The mathematical programming problem can be restated as one of finding a

NPCG19, IHP, Paris 36