BENSOLVE - a solver for multi-objective linear programs Andreas Löhne Martin-Luther-Universität Halle-Wittenberg, Germany ISMP 2012 Berlin, August 19-24, 2012
BENSOLVE is a solver project based on Benson's outer approximation algorithm aims is to establish an open source tool to solve linear vector optimization problems is still at the very beginning is open to contributions
Linear vector optimization problem (P) Minimize P : R n R q w.r.t. C over S = {x Ax b} P... (q n)-matrix C... ordering cone in R q : polyhedral, convex, pointed, solid x C y : y x C x < C y : y x int C A... (m n)-matrix b... vector in R m
Linear vector optimization problem - equivalent formulation Compute where P [S] + C P [S] := {P x x S}, P R q n S := {x R n Ax b}, A R m n, b R m C := { y R q Z T y 0 }, Z R q p, p q
Polyhedra P... convex polyhedron in R q H-representation... intersection of halfspaces: P = r i=1 { y R q (v i ) T y γ i } V-representation... generalized convex hull of generating points y 1,... y r R q and generating directions k 1,... k s R q \ {0}: P = conv (y 1,..., y s ) + cone (k 1,..., k t )
Problem Compute where P [S] + C P [S] := {P x x S}, P R q n S := {x R n Ax b}, A R m n, b R m C := { y R q Z T y 0 }, Z R q p
Special case: q=1 Compute where p T [S] + R + p T [S] := { p T x x S }, p R n S := {x R n Ax b}, A R m n, b R m Linear Program
In which sense are the problems equivalent? Compute the set P := P [S] + C Solve (P) bd P = wmin P (boundary point verication by H-representation) every vertex of P is minimal (ecient, nondominated) a weakly minimal point of P is minimal i it belongs to a supporting hyperplane of P with normal vector in int C + (no LPs to be solved) facets of P can be obtained if we have both an H-representation and a V-representation of P (no LPs to be solved)
Example (P) Minimize P : R n R q w.r.t. over S := {x R n Bx b} P = ( 1 1 1 1 ), B = 2 1 1 2 1 0 0 1, b = 6 6 0 0
Example y 2 y 2 6 P = P [S] + R q + 4 S 2 y 1 2 4 6 6 y 1 Solution to (P): S = {( 0 6 ), ( 2 2 )}, S h = {( 0 1 )}
Example y 2 y 2 6 P = P [S] + R q + 4 S 2 y 1 2 4 6 6 y 1 Solution to (P): S = {( 0 6 ), ( 2 2 )}, S h = {( 0 1 )}
Example y 2 y 2 6 P = P [S] + R q + 4 S 2 y 1 2 4 6 6 y 1 Solution ( S, S h ) to (P): S = {( 0 6 ), ( 2 2 )}, S h = {( 0 1 )}
Example D = D [T ] K 6 P = P [S] + R q + y 1 y 2 y 2 y 1 6 6 Solution T to (D ): T = 1 31 3 0 0 0 1, 0 0 1 0 1 2 1 2, 1 2 0 0 0 1 4 3 4
Algorithm P [S]
Algorithm P := P [S] + C Notation: P := P [S] + C
Weighted sum scalarization (P 1 (w)) min w T P x s.t. Ax b (D 1 (w)) max b T u s.t. A T u = P T w, u 0 w... columns of Z C := { y R q Z T y 0 }
Algorithm P := P [S] + C
Algorithm T t
Translative scalarization (P 2 (y)) min z s.t. Ax b, Z T P x Z T y + z Z T c y R q, c int C
Translative scalarization (P 2 (y)) min z s.t. Ax b, Z T P x Z T y + z Z T c y R q, c int C
Translative scalarization (P 2 (y)) min z s.t. Ax b, Z T P x Z T y + z Z T c ( D 2 (y)) max b T u y T Zv subject to A T u P T Zv = 0 c T Zv = 1 (u, v) 0. (D 2 (y)) max b T u y T w subject to A T u P T w = 0 c T w = 1 Y T w 0 u 0, Y... matrix whose columns are generating vectors of C Z... matrix whose columns are generating vectors of C + Y T w 0 y C : y T w 0 w C + v 0 : w = Zv
Translative scalarization Proposition. Let S and c int C. For every t R q, there exist optimal solutions ( x, z) to (P 2 (t)) and (ū, w) to (D 2 (t)). Each solution (ū, w) to (D 2 (t)) denes a supporting hyperplane H := { y R q w T y = b T ū } of P := P [S] + C such that s := t + z c H P. We have t P z < 0, t bd P z = 0, t int P z > 0.
Algorithm T t
Algorithm T t H
Algorithm
Algorithm t H
Algorithm t 1 t 2
Benson's Algorithm... Original variant: Benson 1998 Dual algorithm: Ehrgott/L./Shao 2007/2012 Extension for unbounded problems: L. 2011 Extension to pointed polyhedral ordering cones with nonempty interior: Hamel/L./Rudlo 2012 All LVOPs with polyhedral pointed solid odering cone can be solved (at least theoretically).
New variant of Benson's algorithm Input: Ha B, b, P, Z (data of (P)); Ha a solution ({0}, S h ) to (P h ); Ha a solution T h to (D h ); Output: Ha ( S, S h ) is a solution to (P); Ha T is a solution to (D ); Ha ( T p, ˆT p) is a V -representation of P; Ha ( T d, (0,..., 0, 1) T ) is a V -representation of D ;
Ha T {( solve(d 1 (w)), w ) (u, w) T h} ; Ha ag true; Ha while (ag) HaHa ag false; HaHa S ; HaHa T d { D (u, w) (u, w) T } ; HaHa (T p, ˆT p ) dual(t d, (0,..., 0, 1) T ); HaHa for i = 1 to T p do HaHaHa t T p [i]; HaHaHa (x, z, u, w) solve(p 2 (t)/d 2 (t)); HaHaHa if z 0 HaHaHaHa T T {(u, w)}; HaHaHaHa ag=true; HaHaHaHa break; (optional) HaHaHa else HaHaHaHa S S {x}; HaHaHa end; HaHa end; Ha end;
BENSOLVE - Matlab implementation: Example 1 B=[2 1 1 0;1 2 0 1]'; b=[6 6 0 0]'; P=[1-1; 1 1]; [S,Sh,T,PP,PPh,DD]=bensolve(P,B,b)
S = -0.0000 2.0000 6.0000 2.0000 Sh = 0 1 T = 0.3333 0 0.5000 0.3333 0 0 0 1.0000 0 0 0 0 0 0.5000 0.2500 1.0000 0.5000 0.7500 PP = -6.0000 0 6.0000 4.0000 PPh = -1 1 0 1 0 1 DD = 0 0.5000 0.2500 4.0000 0 3.0000
BENSOLVE - Matlab implementation: Example 2 B=[eye(3);ones(1,3);1 2 2;2 2 1;2 1 2]; b=[0 0 0 1 3/2 3/2 3/2]'; P=[1 1 0;0 1 1;1 0 1]'; Y=[1 0 0 ; 0 1 0 ; -1 0 2 ; 0-1 2]'; clear options; options.vert_enum='c'; [S,Sh,T,PP,PPh,DD]=bensolve(P,B,b,Y,[],[],options); plotresult(pp,pph,dd);
BENSOLVE - Matlab implementation
BENSOLVE - Matlab implementation dierent variants of vertex enumeration using: CDDLIB (by Komei Fukuda) the matlab function convhulln (based on the QHULL project)
BENSOLVE - Matlab implementation dierent LP solvers: (MATLAB linprog) GLPK (GNU Linear Programming Kit) CDDLIB
BENSOLVE - C++ library and executable (not yet released) vertex enumeration using CDDLIB with rational arithmetic (GMP) LP solvers: GLPK, CDDLIB/GMP graphical outputs via JAVAVIEW
Applications in Finance (a) Superhedging in markets with transaction costs [L./Rudlo (2011)] (b) Set-valued measures of risk [Hamel/Heyde (2010) Hamel/Rudlo/Yankova (2011) Hamel/L./Rudlo (2012) Heyde/Weiÿing (2012)...]
stock 1 8 10 EUR bid price ask price
stock 1 B A 8 10 EUR bid price ask price
stock 1 B A 8 10 EUR bid price ask price
stock 1 K 8 10 EUR bid price ask price
Example superhedging digital option (all-or-nothing option, binary option) 20, 26 18, 25 16, 23 t = 0 t = T X(ω) = (X 1 (ω), X 2 (ω)) = (0, I {S at K} (ω) ) strike price K = 24 X(ω 1 ) = (0, 1) T, X(ω 2 ) = (0, 0) T
Example superhedging stock P 1 SHP 0 (X) 6 4 100 P 1 K 0 P 3 60 20 P 4 20 2 P 2 cash
Problems solved using BENSOLVE: (a) Superhedging q = 2 assets, 1800 time steps (> 1.6 Million small LVOPs) q = 3 assets, 20 time steps (2870 small LVOPs) typical: n q, (# generating vectors of C) q (b) Set-valued measures of risk n 500, m 500 q = 2, 3, 4, 5 typical: n >> q, (# generating vectors of C) q
Choice of literature Benson, H. P.: An outer approximation algorithm for generating all ecient extreme points in the outcome set of a multiple objective linear programming problem. Journal of Global Optimization 13, 124 (1998) Ehrgott, M.; Löhne, A.; Shao, L.: A dual variant of Benson's outer approximation algorithm. J. Glob. Opt. 52 (4), 757-778 (2011) (submitted 2007) Ehrgott, M.; Shao, L.; Schöbel, A.: An approximation algorithm for convex multi-objective programming problems. J. Glob. Opt. 50, 397-?416 (2011) Hamel, A., Heyde, F.: Duality for set-valued measures of risk. SIAM J. on Financial Mathematics 1 (1), 6695 (2010) Hamel, A., Heyde, F., Rudlo, B.: Set-valued risk measures for conical market models. Mathematics and Financial Economics 5 (1), 128 (2011) Hamel, A., Löhne, A., Rudlo, B.: Linear vector optimization, algorithms and applications to nancial markets with frictions, draft Heyde, F., Löhne, A.: Solution concepts in vector optimization. A fresh look at an old story. Optimization, 60 (12), 1421-1440 (2011) Heyde, F., Löhne, A.: Geometric duality in multiple objective linear programming. SIAM Journal of Optimization 19 (2), 836845 (2008) Löhne, A.; Rudlo, B.: An algorithm for calculating the set of superhedging portfolios and strategies in markets with transaction costs, submitted Löhne, A.: Vector optimization with inmum and supremum. Springer (2011) Shao, L. and Ehrgott, M.: Approximately solving multiobjective linear programmes in objective space and an application in radiotherapy treatment planning. Math. Methods Oper. Res. 68(2), 257276 (2008)