Top Banner
Algorithms for Vector Optimization Problems Firdevs Ulus A Dissertation Presented to the Faculty of Princeton University in Candidacy for the Degree of Doctor of Philosophy Recommended for Acceptance by the Department of Operations Research & Financial Engineering Adviser: Professor Birgit Rudloff June 2015
112

Algorithms for Vector Optimization Problems · 2015. 6. 25. · Algorithms for Vector Optimization Problems Firdevs Ulus A Dissertation Presented to the Faculty of Princeton University

Jan 28, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • Algorithms for Vector Optimization

    Problems

    Firdevs Ulus

    A Dissertation

    Presented to the Faculty

    of Princeton University

    in Candidacy for the Degree

    of Doctor of Philosophy

    Recommended for Acceptance

    by the Department of

    Operations Research & Financial Engineering

    Adviser: Professor Birgit Rudloff

    June 2015

  • c© Copyright by Firdevs Ulus, 2015.

    All rights reserved.

  • Abstract

    This dissertation studies algorithms to solve linear and convex vector (multi-objective) op-

    timization problems. A parametric simplex algorithm for solving linear vector optimization

    problems (LVOPs) and two approximation algorithms for solving convex vector optimiza-

    tion problems (CVOPs) are provided. The algorithms work for any number of objectives

    and for general polyhedral ordering cones.

    The parametric simplex algorithm can be seen as a variant of the multi-objective simp-

    lex (Evans-Steuer) algorithm [17]. Different from it, this algorithm works in the parameter

    space and does not aim to find the set of all efficient solutions. Instead, it finds a subset

    of efficient solutions that is enough to generate the whole frontier and corresponds to

    a solution concept introduced in [34]. In that sense, this algorithm can also be seen as a

    generalization of the parametric self-dual simplex algorithm, which originally is designed for

    solving single objective linear optimization problems, and is modified to solve two objective

    bounded LVOPs with the positive orthant as the ordering cone in [43] by Ruszczyǹski

    and Vanderbei. The algorithm proposed here works for any dimension, any solid pointed

    polyhedral ordering cone and for bounded as well as unbounded problems.

    Numerical results are provided to compare the proposed algorithm with an objective

    space based LVOP algorithm (Benson’s algorithm in [22]), which also provides a solution in

    the sense of [34], and with the Evans-Steuer algorithm [17]. The results show that for non-

    degenerate problems the proposed algorithm outperforms Benson’s algorithm and is on par

    with Evan-Steuer algorithm. For highly degenerate problems Benson’s algorithm [22] excels

    the simplex-type algorithms as expected by being an objective space algorithm; however,

    the parametric simplex algorithm performs much better than Evans-Steuer algorithm.

    For solving convex vector optimization problems (CVOPs), two approximation algo-

    rithms are provided. Both algorithms solve the CVOP and its geometric dual problem

    simultaneously. The first algorithm is an extension of Benson’s outer approximation algo-

    iii

  • rithm, and the second one is a dual variant of it. Both algorithms provide an inner as well

    as an outer approximation of the (upper respectively lower) image. Only one scalar convex

    program has to be solved in each iteration. We allow objective and constraint functions

    that are not necessarily differentiable, allow solid pointed polyhedral ordering cones, and

    relate the approximations to an appropriate �-solution concept.

    Some illustrative examples and also numerical results are provided for the approxima-

    tion algorithms.

    iv

  • Acknowledgements

    My doctoral studies have come to this point thanks to many people that I have had the

    opportunity to interact.

    First of all, I am definitely indebted to my advisor, Prof. Birgit Rudloff for her invalu-

    able advice, her patience and encouragement throughout my Ph.D. studies at Princeton.

    She always had the time for our discussions that made this dissertation possible. The ques-

    tions she raised during those discussions not only shaped the research that is presented in

    here but also taught me how to think thoroughly and to be precise. Thank you Birgit, also

    for your kindness, for being an amazing role model and a friend!

    I would like to express my special gratitude to Prof. Erhan Çınlar for many reasons.

    Taking the amazing courses that he offered and also being a teaching assistant to his

    famous probability class have taught me how to think probabilistically. Besides, I had the

    privilege both to rejoice in and to observe his ’art of teaching’. My hope is to digest his

    principles while I will be the one who is teaching. Dear Prof. Çınlar, I have always felt

    your support and courage for all my endeavors since the very beginning of my doctoral

    studies at Princeton, thank you!

    I would like to thank Prof. Robert Vanderbei for his collaborations, his ceaseless support

    and kindness. I am thankful to Prof. Andreas Löhne for his time and collaborations. His

    generous and invaluable reviews were extremely helpful to complete this dissertation. I

    would like to thank Prof. Matthias Ehrgott for his support, Prof. Mengdi Wang to accept

    reviewing the material presented here and Prof. Amir Ali Ahmadi to be a part of my

    dissertation committee.

    Many thanks go to my friends Kobby (Nana) Aboagye, Buse Aktaş, Çağın Ararat,

    Emre Barut, Mehmet Emin Başbuğ, Sema Berkiten, Enis Dinç, Bianca Dumitrascu, Zach

    Feinstein, Georgina Hall, Canan Kaşıkara, Chintan Mehta, Özlem & Onur Özyeşil, Patrick

    v

  • Rebeschini, Tardu Sepin, Özlem & Yavuz Yetim and many others for their invaluable

    friendship and for the enjoyable memories at Princeton.

    ’Small World Coffee’ definitely needs to be mentioned here as the provider of the best

    coffee in town as well as a great environment to work. Most parts of this thesis have been

    written there. Thanks!

    Special thanks go to my parents, Ziya Ulus and Vasfiye Ulus, as well as my brothers

    Sadık Zeki Ulus and Özgür Ulus for their love and endless support. Teşekkürler sevgili

    ailem!

    Finally, to the one within: Thanks for reminding me all the time, ”Paradise is

    portable!”

    vi

  • To Ziya, Vasfiye, Sadık and Özgür.

    vii

  • Contents

    Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

    Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

    List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x

    List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

    1 Introduction 1

    1.1 Linear Vector Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.2 Convex Vector Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    1.3 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    2 Linear Vector Optimization Problems 9

    2.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    2.2 Problem Setting and Solution Concepts . . . . . . . . . . . . . . . . . . . . 11

    3 Parametric Simplex Algorithm for LVOPs 16

    3.1 Parametric Simplex Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 17

    3.1.1 The Parameter set Λ . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    3.1.2 Segmentation of Λ: Dictionaries and their optimality region . . . . 19

    3.1.3 The set JD of entering variables . . . . . . . . . . . . . . . . . . . . 21

    3.1.4 Pivoting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    3.1.5 Detecting unbounded problems and constructing the set X̄ h . . . . 24viii

  • 3.1.6 Partition of Λ: putting it all together . . . . . . . . . . . . . . . . . 26

    3.1.7 The algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    3.1.8 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    3.2 Illustrative Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    3.3 Comparison of Different Simplex Algorithms for LVOP . . . . . . . . . . . 48

    3.4 Numerical Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

    4 Convex Vector Optimization Problems 58

    4.1 Problem Setting and Solution Concepts . . . . . . . . . . . . . . . . . . . . 59

    4.2 Geometric Duality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

    5 Primal and Dual Approximation Algorithms for CVOPs 68

    5.1 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

    5.2 Primal Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

    5.3 Dual Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

    5.4 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

    5.5 Examples and numerical results . . . . . . . . . . . . . . . . . . . . . . . . 85

    Bibliography 97

    ix

  • List of Tables

    3.1 Statistics of results for randomly generated problems . . . . . . . . . . . . 54

    3.2 Numerical results for randomly generated problems . . . . . . . . . . . . . 55

    3.3 Statistics of results for randomly generated degenerate problems where q =

    3. For the first row n = 5,m = 15; for the second row n = m = 10; and for

    the last row n = 15,m = 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    3.4 Numerical results for degenerate problems where q = 3. For the first set of

    problems n = 5,m = 15; for the second set of problems n = m = 10; and

    for the last set of problems n = 15,m = 5. . . . . . . . . . . . . . . . . . . 56

    3.5 Statistics of results for randomly generated degenerate problems. . . . . . . 57

    5.1 Computational results for Example 5.5.1 . . . . . . . . . . . . . . . . . . . 90

    5.2 Computational results for Example 5.5.2 . . . . . . . . . . . . . . . . . . . 91

    5.3 Computational results for Example 5.5.3 . . . . . . . . . . . . . . . . . . . 94

    5.4 Computational results for Example 5.5.4 . . . . . . . . . . . . . . . . . . . 96

    x

  • List of Figures

    3.1 Optimality regions after the first iteration of Example 3.2.1. Green corre-

    sponds to visited and yellow corresponds to boundary dictionaries. . . . . . 40

    3.2 Optimality regions after the second iteration of Example 3.2.1. . . . . . . . 41

    3.3 Optimality regions after the third and fourth iterations of Example 3.2.1. . 42

    3.4 Optimality regions after the fifth, sixth and seventh iterations of Exam-

    ple 3.2.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    3.5 Lower image P of Example 3.2.1. . . . . . . . . . . . . . . . . . . . . . . . 44

    3.6 Parameter set after the first iteration of Example 3.2.5. Green corresponds

    to the optimality region of the visited dictionary D0 and gray corresponds

    to the region of unboundedness. . . . . . . . . . . . . . . . . . . . . . . . . 46

    3.7 The lower image P of Example 3.2.5. . . . . . . . . . . . . . . . . . . . . . 47

    3.8 Lower image P of Example 3.2.6. . . . . . . . . . . . . . . . . . . . . . . . 48

    3.9 Lower image P of Example 3.3.2. . . . . . . . . . . . . . . . . . . . . . . . 52

    5.1 Upper image (left) of the problem given in Example 5.5.1 and the lower

    image (right) of its geometric dual. . . . . . . . . . . . . . . . . . . . . . . 86

    5.2 The inner and outer approximations for the upper image after the first three

    iterations of Algorithm 2 with ‘break’ in line 18. . . . . . . . . . . . . . . . 87

    5.3 The inner and outer approximations of the upper image provided by Algo-

    rithm 2 (left) and its alternative (right). . . . . . . . . . . . . . . . . . . . 88

    xi

  • 5.4 The inner and outer approximations of the lower image of geometric dual

    problem after the first four iterations of Algorithm 3 with ‘break’ in line 21. 89

    5.5 The inner and outer approximations of the lower image D provided by Al-

    gorithm 3 (left) and its alternative (right). . . . . . . . . . . . . . . . . . . 90

    5.6 The outer approximation of the upper image (left) and the inner approxima-

    tion of the lower image (right) by Algorithm 2 for � = 0.01 for Example 5.5.2. 91

    5.7 The outer approximation of the upper image P̃ for Example 5.5.3 by Algo-

    rithm 2; displayed for p ∈ P̃ with p1 + p2 + p3 ≤ 36. Top left stands for

    the variant with‘break’ and with � = 0.1; top right for the variant with‘no

    break’ and with � = 0.1; bottom left for the variant with ‘break’ and with

    � = 0.05; bottom right for the variant with ‘no break’ and with � = 0.05. . 93

    xii

  • Chapter 1

    Introduction

    For a vector (multi-objective) optimization problem, several objective functions have to be

    optimized over a feasible set determined by constraint functions. In general, the objective

    functions are conflicting, hence a unique feasible solution optimizing all the criteria does

    not exist. Vector optimization problems (VOPs) have been studied for decades and many

    methods have been developed to solve or approximately solve them. As in scalar opti-

    mization, only special problem classes are tractable. Linear vector optimization problems

    (LVOPs) and convex vector optimization problems (CVOPs) can be listed as two of the

    most studied classes of VOPs. In this thesis both type of problems and some solution con-

    cepts are discussed. An algorithm to solve LVOPs and two algorithms to approximately

    solve CVOPs are presented as proposed and discussed in [42, 37].

    1.1 Linear Vector Optimization

    There are many methods to solve LVOPs in the literature. First, there are algorithms which

    are extensions of the simplex method and working in the variable space. In 1973, Evans

    and Steuer [17] developed a simplex algorithm that finds the set of all ’efficient extreme

    1

  • solutions’ and the set of all ’unbounded efficient edges’ in the variable space. Later, some

    variants of this algorithm have been developed, see for instance [28, 11, 54]. More recently,

    Ehrgott, Puerto and Rodriguez-Ch́ıa [13] developed a primal-dual simplex method that

    works in the parameter space. This algorithm does not guarantee to find the set of all

    efficient solutions, instead it provides a subset of efficient solutions that are enough to

    generate the whole efficient frontier in case the problem is ’bounded’. As stated in [13], it

    is expected to work better for LVOPs with a network structure. All of these simplex-type

    algorithms are designed to solve LVOPs with any number of objective functions where the

    ordering is component-wise. Among these, Evans-Steuer algorithm [17] is implemented as a

    software called ADBASE [51]. In [43], Ruszczyǹski and Vanderbei developed an algorithm

    to solve LVOPs with two objectives and the efficiency of this algorithm is equivalent to

    solving a single scalar linear program by the parametric simplex algorithm. Indeed, the

    algorithm is a modification of the parametric simplex method and it produces a subset of

    efficient solutions that generate the whole efficient frontier in case the problem is bounded.

    For more simplex-type methods one can see e.g. the survey paper by Ehrgott and Wiecek

    [16] and the references therein.

    Apart from the algorithms that work in the variable or parameter space, there are al-

    gorithms working in the objective space. In [9], Dauer provides an analysis of the objective

    space for LVOPs. Later, Dauer and Liu [10] proposed a procedure to determine the non-

    dominated extreme points and edges of the image of the feasible region. In 1998, Benson [3]

    proposed an outer approximation algorithm that also works in the objective space. These

    methods are motivated by observing that typically the dimension of the objective space

    is much smaller than the dimension of the variable space, decision makers tend to choose

    a solution based on objective values rather than variable values, and often many efficient

    solutions are mapped to a single efficient point in the objective space.

    2

  • Löhne [34] introduced a solution concept for LVOPs that takes into account these ideas.

    Accordingly, a solution consists of a set of ’point maximizers (efficient solutions)’ and a set

    of ’direction maximizers (unbounded efficient edges)’, which altogether generate the whole

    efficient frontier. If a problem is ’unbounded’, then a solution needs to have a nonempty

    set of direction maximizers. Recently, several variants of Benson’s algorithm, which give a

    solution in the sense described in [34] are developed. While some of these algorithms are

    designed to solve bounded problems only, some of them can solve unbounded problems as

    long as the efficient frontier has at least one vertex. However, this can be done only by

    using an additional Phase 1 algorithm, see for instance [34, Section 5.4]. The algorithms

    provided in [47, 48, 34, 12] solve in each iteration at least two LPs that are in the same

    size as the original problem. An improved variant where only one LP has to be solved in

    each iteration have been proposed independently in [7] and [22]. In addition to solving

    (at least) one LP, these algorithms solve a vertex enumeration problem in each iteration.

    As it can be seen in [14, 7, 38], it is also possible to employ an online vertex enumeration

    method. In this case, instead of solving a vertex enumeration problem from the scratch in

    each iteration, the vertices are updated after an addition of a new inequality.

    In this thesis, a parametric simplex algorithm to solve LVOPs in any size and with any

    solid pointed polyhedral ordering cone is presented, as it is proposed in [42]. Although

    the structure of the algorithm is similar to Evans-Steuer algorithm, it is different since

    the algorithm proposed here works on the parameter space and it finds a solution in the

    sense that Löhne proposed in [34]. In other words, instead of generating the set of all

    extreme points and direction maximizers, it only finds a subset of them that already allows

    to generate the whole efficient frontier. More specifically, the difference can be seen at two

    points. First, at each iteration, we employ a different and a more efficient method to find

    the ’entering (efficient nonbasic) variables’. Secondly, for each entering variable, instead of

    performing all possible pivots for all ’leaving (efficient basic) variables’, we perform a single

    3

  • pivot by picking only one of the leaving variables. In this sense, the algorithm provided

    here can also be seen as a generalization of the algorithm proposed by Ruszczyǹski and

    Vanderbei [43] to unbounded LVOPs with more than two objectives and with more general

    ordering cones.

    In each iteration the parametric simplex algorithm provides a set of parameters which

    make the current vertex optimal. This parameter set is given by a set of inequalities among

    which the redundant ones are eliminated. This is an easier procedure than the vertex

    enumeration problem, which is required in some objective space algorithms. Different

    from the objective space algorithms, the algorithm provided here doesn’t require to solve

    an additional LP in each iteration. Moreover, the parametric simplex algorithm works also

    for unbounded problems even if the efficient frontier has no vertex and generates direction

    maximizers at no additional cost.

    As in the scaler case, the efficiency of simplex-type algorithms are expected to be better

    whenever the problem is non-degenerate. In vector optimization problems, one may observe

    different types of redundancies if the problem is degenerate. The first one corresponds to

    the ’primal degeneracy’ concept in scalar problems. In this case, a simplex-type algorithm

    may find the same maximizer for many iterations. That is to say, one remains at the

    same vertex of the feasible region for multiple iterations. The second type of redundancy

    corresponds to the ’dual degeneracy’ concept in scaler problems. Accordingly, the algorithm

    may find different maximizers which yield the same objective values. In other words, one

    remains at the same vertex of the image of the feasible region. Different from these, a

    simplex-type algorithm may find maximizers which yield objective values that are not

    vertices of the image of the feasible region. Since these points are on a non-vertex face of

    the image set, they are not necessary to generate the whole efficient frontier. Thus, one

    can consider these solutions also as redundant.

    4

  • The parametric simplex algorithm provided here may also find redundant solutions.

    However, it will be shown that the algorithm terminates at a finite time, that is, there is

    no risk of cycling. Moreover, compared to the simplex-type algorithms in the literature,

    the parametric simplex algorithm finds much less redundant solutions in general.

    For the parametric simplex algorithm, we provide different initialization methods. One

    of the methods requires to solve two LPs while a second method can be seen as a Phase 1

    algorithm. Both of these methods work for any LVOP. Depending on the structure of the

    problem, it is also possible to initialize the algorithm without solving an LP or performing

    a Phase 1 algorithm.

    1.2 Convex Vector Optimization

    Convex vector optimization problems are more difficult to solve than LVOPs as expected.

    Most of the methods are dealing with the specific subclasses of CVOPs. There are many

    algorithms which work for bi-criteria problems. Within this subclass, there are algorithms

    which can solve problems where the two objective functions are required to be linear while

    the constraints are allowed to be convex, see for instance [6, 19, 53]. In addition, there are

    some algorithms that can solve general bi-criteria convex problems, see [24, 33].

    Some of the CVOP algorithms that can solve problems with possibly more than two

    objectives are designed to solve specific type of problems. For instance, Smirnov [49] pro-

    posed an algorithm to solve problems with linear objectives and convex constraints, Fliege

    and Heseler [18] proposed an algorithm to solve problems with convex quadratic objec-

    tive functions and linear constraints, and Chernyk [5] proposed an inner approximation

    algorithm for CVOPs where the image of the feasible set is required to be convex.

    A polyhedral inner approximation algorithm to solve more general CVOPs is provided

    by Shandl, Klamroth and Wiecek in [45]. Later, this method has been extended in [32] such

    5

  • that it provides both inner and outer approximations to the efficient frontier in the objective

    space. For solving CVOPs with possibly more than two objective functions, Nefëdov [40]

    also proposed an algorithm. Different from the others, this algorithm approximates the

    ’efficient set’ in the variable space.

    In the literature, the accuracy of the approximations of the efficient frontier are mea-

    sured in different ways. Many of these accuracy measures depend on some feedback from

    the decision maker, see for instance [45, 32]. In some of the bi-objective CVOP algorithms,

    as in [19, 53], the Hausdorff distance between the approximation and the efficient frontier

    is used as a measure. Among the algorithms for more general CVOPs, Nefëdov [40] used

    the Hausdorff distance to measure the accuracy of his approximation algorithm. For more

    detailed classification and comparison of approximation methods for solving CVOPs, see

    the survey paper by Ruzika and Wiecek [44].

    Recently, Ehrgott, Shao, and Schöbel [15] developed a Benson type approximation

    algorithm for solving bounded CVOPs. They extended Benson’s algorithm to approximate

    the set of all efficient values in the objective space from LVOPs to CVOPs and provide

    both an inner and an outer approximation to the efficient frontier. For the accuracy of the

    approximation, a measurement which does not depend on any feedback from the decision

    maker is employed. As this algorithm works in the objective space, it is motivated by the

    same arguments as given in Section 1.1 for objective space algorithms to solve LVOPs.

    In this thesis, we present a generalized and simplified version of the algorithm in [15],

    as it is proposed and studied in [37]. There are main differences between the algorithm

    presented in [15] and the one presented in here. First, at each iteration after solving a

    convex problem to find a point on the efficient frontier, we use the dual optimal solution

    of this problem to construct the next approximation, instead of solving one more convex

    program and computing the gradients of the objective and constraint functions at certain

    points depending on the optimal value of this additional convex program. This allows us

    6

  • to solve problems where objective and constraint functions are not differentiable, as long

    as the scaler problems can be solved. At the same time, we reduce the overall cost of the

    algorithm since we solve one convex program instead of two in each iteration.

    The second main difference between the two algorithms can be seen in measuring the

    approximation error. For the algorithm presented here, we employ the measure as used

    in [22]. As the one used in [15], this measure also does not depend on any feedback from

    the decision maker. Moreover, using this one allows the algorithms to be applicable to

    a larger class of problems. More specifically, we show that it is possible to solve some

    examples where the feasible region is not compact.

    In addition to these differences, we obtain a finer approximation by including suitable

    points in the primal and dual inner approximations throughout the algorithm. We relate

    the approximation to an �-solution concept involving infimum attainment. Accordingly, an

    �-solution yields an inner and outer approximation to the efficient frontier and the Hausdorff

    distance between the inner and the outer approximations is bounded by a constant multiple

    of �.

    For the algorithms provided here we allow more general ordering cones. Indeed, any

    solid pointed polyhedral cone can be used as the ordering cone. We motivate the necessity

    of using an ordering cone different from the positive orthant by an example for which a

    ’set valued risk measure’ is computed.

    Finally, in addition to the simplified variant of the algorithm presented in [15], we

    present a dual variant of it as proposed in [37]. The dual algorithm provides an alternative

    approximation and �-solution.

    7

  • 1.3 Outline

    In Chapter 2, the notations used through this thesis and some well known results from

    convex analysis are presented, the linear vector optimization problem and the solution

    concepts are discussed. The parametric simplex algorithm for solving linear vector opti-

    mization problems is explained in Chapter 3. We also provide some illustrative examples

    as well as numerical results regarding the algorithm in this chapter.

    The convex vector optimization problems and solution concepts are provided in

    Chapter 4. In addition, the geometric duality theory for CVOPs, which is used in the

    construction of the algorithms to solve CVOPs, is discussed. In Chapter 5 we explain the

    primal and dual approximation algorithms for CVOPs. Some examples to illustrate the

    algorithms and some numerical results are provided.

    8

  • Chapter 2

    Linear Vector Optimization Problems

    In this chapter, we review basic definitions and main results about the linear vector opti-

    mization problems. Section 2.1 introduces the notations and review some basic concepts

    from convex analysis that are used through this thesis. In Section 2.2, the problem setting

    and solution concepts of linear vector optimization problems are discussed. Some re-

    sults that are necessary to explain the parametric simplex algorithm are also presented in

    Section 2.2.

    2.1 Preliminaries

    The complement, interior, relative interior, closure, boundary, convex hull, and conic hull

    of a set A ∈ Rq is denoted by AC , intA, riA, clA, bdA, convA, coneA, respectively. We

    define cone ∅ = {0}. If A ⊆ Rq is a polyhedral convex set, it can be represented as the

    intersection of finitely many half spaces, that is,

    A =r⋂i=1

    {y ∈ Rq| (wi)Ty ≥ γi} (2.1.1)

    9

  • for some r ∈ N, w1, . . . , wr ∈ Rq \ {0}, and γ1, . . . , γr ∈ R. Every non-empty polyhedral

    convex set A can also be written as

    A = conv {x1, . . . , xs}+ cone {k1, . . . , kt}, (2.1.2)

    where s ∈ N \ {0}, t ∈ N, each xi ∈ Rq is a point, and each kj ∈ Rq \ {0} is a direction of

    A. Note that k ∈ Rq \ {0} is called a direction of A if A+ {αk ∈ Rq| α > 0} ⊆ A. The set

    A∞ := cone {k1, . . . , kt} is the recession cone of A. The set of points {x1, . . . , xs} together

    with the set of directions {k1, . . . , kt} are called the generators of the polyhedral convex set

    A. We say ({x1, . . . , xs}, {k1, . . . , kt}) is a V-representation of A whenever (2.1.2) holds,

    whereas representation (2.1.1) of A by half-spaces is called H-representation.

    A convex cone C is said to be solid, if it has a non-empty interior; pointed if it does

    not contain any line; and non-trivial if {0} ( C ( Rq. A non-trivial convex pointed cone

    C defines a partial ordering ≤C on Rq: v ≤C w if and only if w − v ∈ C.

    Let C ⊆ Rq be a non-trivial convex pointed cone. A point y ∈ A is called C-minimal

    element of A if ({y} − C \ {0}) ∩ A = ∅. If the cone C is solid, then a point y ∈ A

    is called weakly C-minimal element if ({y} − intC) ∩ A = ∅. The set of all (weakly)

    C-minimal elements of A is denoted by (w)MinC (A). Symmetrically, a point y ∈ A is a

    called C-maximal element of A if ({y}+ C \ {0})∩A = ∅ and weakly C-maximal element

    of A if ({y}+ intC) ∩ A = ∅, whenever C is solid. The set of all (weakly) C-maximal

    elements of A is denoted by (w)MaxC (A). Clearly, (w)MaxC (A) = (w)Min−C (A).

    The (positive) dual cone of C is the set C+ :={z ∈ Rq| ∀y ∈ C : zTy ≥ 0

    }.

    A subset F of a convex set A is called an exposed face of A if there exists a supporting

    hyperplane H to A, with F = A ∩H.

    10

  • 2.2 Problem Setting and Solution Concepts

    We consider a linear vector optimization problem (LVOP) in the following form

    maximize P Tx (with respect to ≤C) (P)

    subject to Ax ≤ b,

    x ≥ 0,

    where P ∈ Rn×q, A ∈ Rm×n, b ∈ Rm, and C ⊆ Rq is a solid pointed polyhedral ordering

    cone. We denote the feasible set by X := {x ∈ Rn| Ax ≤ b, x ≥ 0}. Throughout,

    we assume that (P) is feasible, i.e., X 6= ∅. The image of the feasible set is defined as

    P T [X ] := {P Tx ∈ Rq| x ∈ X}.

    We consider the solution concept for LVOPs introduced by Löhne in [34]. Note that this

    is an adaptation of a solution concept for complete-lattice-valued optimization problems

    which was introduced in [27], see also Remark 4.1.2 in Chapter 4. In [34], it is defined

    for minimization problems and here we adapt it to maximization problems. Accordingly,

    a point x̄ ∈ X is said to be a (weak) maximizer for (P) if P T x̄ is (weakly) C-maximal in

    P [X ]. The set of (weak) maximizers of (P) is denoted by (w)Max(P). The homogeneous

    problem of (P) is given by

    maximize P Tx (with respect to ≤C) (Ph)

    subject to Ax ≤ 0,

    x ≥ 0.

    The feasible region of (Ph), namely X h := {x ∈ Rn| Ax ≤ 0, x ≥ 0}, satisfies X h = X∞,

    that is, the non-zero points in X h are exactly the directions of X . A direction k ∈ Rn \{0}

    11

  • of X is called a (weak) maximizer for (P) if the corresponding point k ∈ X h \ {0} is a

    (weak) maximizer of the homogeneous problem (Ph).

    Definition 2.2.1 ([34, 22]). A set X̄ ⊆ X is called a set of feasible points for (P) and a

    set X̄ h ⊆ X h \ {0} is called a set of feasible directions for (P).

    A pair of sets(X̄ , X̄ h

    )is called a finite supremizer for (P) if X̄ is a non-empty finite

    set of feasible points for (P), X̄ h is a (not necessarily non-empty) finite set of feasible

    directions for (P), and

    convP T [X̄ ] + coneP T [X̄ h]− C = P T [X ]− C. (2.2.3)

    A finite supremizer (X̄ , X̄ h) of (P) is called a solution to (P) if it consists of only

    maximizers.

    The set P := P T [X ] − C is called the lower image of (P). Let {y1, . . . , yI} be the

    collection of the generating vectors of the ordering cone C. Then, ({0} , {y1, . . . , yI}) is

    a V-representation of the cone C, that is, C = cone {y1, . . . , yI}. Clearly, if (X̄ , X̄ h) is

    a finite supremizer, then (P T [X̄ ], P T [X̄ h] ∪ {−y1, . . . ,−yI}) is a V-representation of the

    lower image P .

    Definition 2.2.2. (P) is said to be bounded if there exists p ∈ Rq such that P ⊆ {p}−C.

    Remark 2.2.3. Note that the recession cone of the lower image, P∞, is equal to the lower

    image of the homogeneous problem, that is, P∞ = P T [X h] − C, see [34, Lemma 4.61].

    Clearly, P∞ ⊇ −C, which also implies P+∞ ⊆ −C+. In particular, if (P) is bounded, then

    we have P∞ = −C and X̄ h = ∅.

    12

  • The weighted sum scalarized problem for a parameter vector w ∈ C+ is

    maximize wTP Tx (P1(w))

    subject to Ax ≤ b,

    x ≥ 0,

    and the following well known proposition holds.

    Proposition 2.2.4 ([39, Theorem 2.5]). A point x̄ ∈ X is a maximizer (weak maxi-

    mizer) of (P) if and only if it is an optimal solution to (P1(w)) for some w ∈ intC+

    (w ∈ C+ \ {0}).

    Proposition 2.2.4 suggests that if one could generate optimal solutions, whenever they

    exist, to the problems (P1(w)) for w ∈ intC+, then this set of optimal solutions X̄ would

    be a set of (point) maximizers of (P). Indeed, it will be enough to solve problem (P1(w))

    for w ∈ riW , where

    W := {w ∈ C+ : wT c = 1}, (2.2.4)

    for some fixed c ∈ intC. Note that (P1(w)) is not necessarily bounded for all w ∈ riW .

    Denote the set of all w ∈ riW such that (P1(w)) has an optimal solution by Wb. If one can

    find a finite partition (W ib )di=0 of Wb such that for each i ∈ {0, . . . , d} there exists xi ∈ X

    which is an optimal solution to (P1(w)) for all w ∈ W ib , then, clearly, X̄ = {x0, . . . , xd} will

    satisfy (2.2.3) provided one can also generate a finite set of (direction) maximizers X̄ h.

    Trivially, if problem (P) is bounded, then (P1(w)) can be solved optimally for all

    w ∈ C+, X̄ h = ∅, and (X̄ , ∅) satisfies (2.2.3). If problem (P) is unbounded, we will construct

    in Section 3.1 a set X̄ h by adding certain directions to it whenever one encounters a set of

    weight vectors w ∈ C+ for which (P1(w)) cannot be solved optimally.

    13

  • The following proposition will be used to prove that this set X̄ h, together with

    X̄ = {x0, . . . , xd} will indeed satisfy (2.2.3). It provides a characterization of the recession

    cone of the lower image in terms of the weighted sum scalarized problems. More precisely,

    the negative of the dual of the recession cone of the lower image can be shown to consist

    of those w ∈ C+ for which (P1(w)) can be optimally solved.

    Proposition 2.2.5. The recession cone P∞ of the lower image satisfies

    −P+∞ = {w ∈ C+| (P1(w)) is bounded}.

    Proof. By Remark 2.2.3, we have P∞ = P T [X h] − C. By the definition of the dual cone

    and using 0 ∈ X h and 0 ∈ C, we obtain

    −P+∞ = {w ∈ Rq| ∀xh ∈ X h, ∀c ∈ C : wT (P Txh − c) ≤ 0}

    = {w ∈ C+| ∀xh ∈ X h : wTP Txh ≤ 0}. (2.2.5)

    Let w ∈ −P+∞, and consider the weighted sum scalarized problem of (Ph) given by

    maximize wTP Tx (Ph1(w))

    subject to Ax ≤ 0,

    x ≥ 0.

    By (2.2.5), xh = 0 is an optimal solution, which implies by strong duality of the linear

    program that there exist y∗ ∈ Rm with ATy∗ ≥ Pw and y∗ ≥ 0. Then, y∗ is also dual

    feasible for (P1(w)). By the weak duality theorem, (P1(w)) can not be unbounded.

    For the reverse inclusion, let w ∈ C+ be such that (P1(w)) is bounded, or equivalently,

    an optimal solution exists for (P1(w)) as we assume X 6= ∅. By strong duality, the dual

    14

  • problem of (P1(w)) has an optimal solution y∗, which is also dual feasible for (Ph1(w)).

    By weak duality, (Ph1(w)) is bounded and has an optimal solution x̃h. Then, w ∈ −P+∞

    holds. Indeed, if we assume the contrary, there exists x̄h ∈ X h with wTP T x̄h > 0. This is a

    contradiction to the optimality of x̃h since x̃h+x̄h ∈ X h and wTP T (x̃h+x̄h) > wTP T x̃h.

    15

  • Chapter 3

    Parametric Simplex Algorithm for

    LVOPs

    As briefly mentioned in Chapter 1, Evans and Steuer [17] proposed a simplex algorithm to

    solve linear multi-objective problems. The algorithm moves from one vertex of the feasible

    region to another until it finds the set of all (point and direction) maximizers. In this

    chapter we provide a parametric simplex algorithm to solve LVOPs where the structure of

    the algorithm is similar to the Evans-Steuer algorithm. Different from it, the parametric

    simplex algorithm provides a solution in the sense of Definition 2.2.1, that is, it finds a

    subset of point maximizers and a subset of direction maximizers that generate the lower

    image. This allows the algorithm to deal with the degenerate problems more efficiently

    than the Evans-Steuer algorithm. More detailed comparison of the two algorithms can be

    seen in Section 3.3.

    On the other hand, in [43], Ruszczyǹski and Vanderbei generalize the parametric self

    dual method, which originally is designed to solve scalar LPs [52], to solve bi-objective

    bounded linear vector optimization problems. This is done by treating the second objective

    function as the auxiliary function of the parametric self dual algorithm. In order to solve

    16

  • the bi-objective LVOP, that is, to find a solution in the sense of Definition 2.2.1, one needs

    to find the optimal basic solutions corresponding to all ’meaningful’ choices of parameters.

    In this sense, the algorithm provided here can be seen as a generalization of the parametric

    simplex algorithm from bi-objective bounded LVOPs to n-objective LVOPs (n ≥ 2) that

    are not necessarily bounded where we also allow for an arbitrary solid pointed polyhedral

    ordering cone C.

    For the particular examples considered in [43], the initialization is done by considering

    the structures of the problems. In [17] however, a general initialization step that would

    work for any problem is provided. Here, in addition to the existing initialization methods,

    we provide a third method which can be seen as a Phase 1 algorithm.

    This chapter is organized as follows. In Section 3.1, we describe the details of the para-

    metric simplex algorithm and prove that it finds a solution in the sense of Definition 2.2.1

    to any LVOP that has a solution. In Section 3.2, we provide some basic examples to illus-

    trate the parametric simplex algorithm. In particular, we show the different initialization

    methods by an example, we solve a bounded and an unbounded problem , and we solve a

    LVOP for which the lower image has no vertex. In Section 3.3, we compare the parametric

    simplex algorithm with the existing simplex type algorithms. We illustrate that the algo-

    rithm provided here has the potential to deal with degenerate problems better than the

    existing simplex-type algorithms. Finally, we provide numerical results in Section 3.4.

    3.1 Parametric Simplex Algorithm

    In this section we explain the algorithm steps in detail. We assume that the problems that

    we consider are known to have a solution. One can keep in mind that this assumption is

    not restrictive as the methods of initialization proposed in Section 3.1.8 will verify if the

    problem has a solution or not.

    17

  • Assumption 3.1.1. There exists a solution to problem (P).

    This assumption is equivalent to having a nontrivial lower image P , that is, ∅ 6= P ( Rq.

    Clearly P 6= ∅ implies X 6= ∅, which is equivalent to our standing assumption as given in

    Section 2.2. Moreover, by Definition 2.2.1 and Proposition 2.2.4, Assumption 3.1.1 implies

    that there exist a maximizer which guarantees that there exists some w0 ∈ intC+ such

    that problem (P1(w0)) has an optimal solution. In Section 3.1.8, we will propose methods

    to find such a w0. It will be seen that the algorithm provided here finds a solution if there

    exists one.

    3.1.1 The Parameter set Λ

    Throughout the algorithm we consider the scalarized problem (P1(w)) for w ∈ W where W

    is given by (2.2.4) for some fixed c ∈ intC. As W is q − 1 dimensional, we will transform

    the parameter set W into a set Λ ⊆ Rq−1. Assume without loss of generality that cq = 1.

    Indeed, since C was assumed to be a solid cone, there exists some c ∈ intC such that

    either cq = 1 or cq = −1. For cq = −1, one can consider problem (P) where C and P are

    replaced by −C and −P .

    Let c̃ = (c1, . . . , cq−1)T ∈ Rq−1 and define the function w(λ) : Rq−1 → Rq and the set

    Λ ⊆ Rq−1 as follows:

    w(λ) := (λ1, . . . , λq−1, 1− c̃Tλ)T ,

    Λ := {λ ∈ Rq−1 : w(λ) ∈ C+}.

    As we assume cq = 1, cTw(λ) = 1 holds for all λ ∈ Λ. Then, w(λ) ∈ W for all λ ∈ Λ

    and for any w ∈ W , (w1, . . . , wq−1)T ∈ Λ. Moreover, if λ ∈ int Λ, then w(λ) ∈ riW and

    if w ∈ riW , then (w1, . . . , wq−1)T ∈ int Λ. Throughout the algorithm, we consider the

    18

  • parametrized problem

    (Pλ) := (P1(w(λ)))

    for some generic λ ∈ Rq−1.

    3.1.2 Segmentation of Λ: Dictionaries and their optimality re-

    gion

    Throughout this thesis we will use the terminology for the simplex algorithm as it is used in

    [52]. First, we introduce slack variables [xn+1, . . . , xn+m]T to obtain x ∈ Rn+m and rewrite

    (Pλ) as follows

    maximize w(λ)T [P T 0]x (Pλ)

    subject to [A In]x = b,

    x ≥ 0,

    where In is the identity matrix and 0 is the zero matrix in the correct size. We consider

    a partition of the variable indices {1, 2, . . . , n + m} into two sets B and N . Variables

    xj, j ∈ B, are called basic variables and xj, j ∈ N , are called nonbasic variables. We write

    x =[xTB x

    TN]T

    and permute the columns of [A In] to obtain[B N

    ]satisfying [A In]x = BxB+NxN , where

    B ∈ Rm×m and N ∈ Rm×n. Similarly, we form matrices PB ∈ Rm×q, and PN ∈ Rn×q such

    that [P T 0]x = P TB xB + PTNxN . In order to keep the notation simple, instead of writing

    [P T 0]x we will occasionally write P Tx, where x stands then for the original decision

    variable in Rn without the slack variables.

    19

  • Whenever B is nonsingular, xB can be written in terms of the nonbasic variables as

    xB = B−1b−B−1NxN .

    Then, the objective function of (Pλ) is

    w(λ)T [P T 0]x = w(λ)T ξ(λ)− w(λ)TZTNxN ,

    where ξ(λ) = P TB B−1b and ZN = (B

    −1N)TPB − PN .

    We say that each choice of basic and nonbasic variables defines a unique dictionary.

    Denote the dictionary defined by B and N by D. The basic solution that corresponds to D

    is obtained by setting xN = 0. In this case, the values of the basic variables become B−1b.

    Both the dictionary and the basic solution corresponding to this dictionary are said to be

    primal feasible if B−1b ≥ 0. Moreover, if w(λ)TZTN ≥ 0, then we say that the dictionary

    D and the corresponding basic solution are dual feasible. We call a dictionary and the

    corresponding basic solution optimal if they are both primal and dual feasible.

    For j ∈ N , introduce the halfspace

    IDj := {λ ∈ Rq−1 : w(λ)TZTN ej ≥ 0},

    where ej ∈ Rn denotes the unit column vector with the entry corresponding to the variable

    xj being 1. Note that if D is known to be primal feasible, then D is optimal for λ ∈ ΛD,

    where

    ΛD :=⋂j∈N

    IDj .

    That is, the basic solution corresponding to D is an optimal solution for (Pλ) for all λ ∈ ΛD.

    The set ΛD ∩ Λ is said to be the optimality region of dictionary D.

    20

  • Proposition 2.2.4 already shows that a basic solution corresponding to a dictionary

    yields a (weak) maximizer of (P). Throughout the algorithm we will move from dictionary

    to dictionary and collect their basic solutions into a set X̄ . We will later show that

    this set will be part of the solution (X̄ , X̄ h) of (P). The algorithm will yield a partition

    of the parameter set Λ into optimality regions of dictionaries and regions where (Pλ) is

    unbounded. The next subsections explain how to move from one dictionary to another and

    how to detect and deal with unbounded problems.

    3.1.3 The set JD of entering variables

    We call (IDj )j∈JD the defining (non-redundant) collection of half-spaces of the optimality

    region ΛD ∩ Λ if JD ⊆ N satisfies

    ΛD ∩ Λ =⋂j∈JD

    IDj ∩ Λ and

    ΛD ∩ Λ (⋂j∈J

    IDj ∩ Λ, for any J ( JD.(3.1.1)

    For a dictionary D, any nonbasic variable xj, j ∈ JD, is a candidate entering variable. Let

    us call the set JD the index set of entering variables for dictionary D.

    For each dictionary throughout the algorithm, the index set of entering variables is

    found. This can be done by different methods. First, one can employ a modified Fourier-

    Motzkin elimination algorithm as described in [2]. Secondly, using the duality of polytopes,

    the problem of finding defining inequalities can be transformed to the problem of finding

    a convex hull of given points. Then, the algorithms developed for this matter can be

    employed. Finally, in order to check if j ∈ N corresponds to a defining or a redundant

    21

  • inequality one can consider the following linear program in λ ∈ Rq−1

    maximize w(λ)TZTN ej

    subject to w(λ)TZTN ej̄ ≥ 0, for all j̄ ∈ N \ ({j} ∪ J redun),

    w(λ)TY ≥ 0,

    where J redun is the index set of redundant inequalities that have been already found and

    Y = [y1, . . . , yI ] is the matrix where y1, . . . , yI are the generating vectors of the ordering

    cone C. The inequality corresponding to the nonbasic variable xj is redundant if and only

    if the optimal solution to this problem yields w(λ∗)TZTN ej ≤ 0. In this case, we add j to

    the set J redun. Otherwise, it is a defining inequality for the region ΛD ∩ Λ and we add j

    to the set JD. The set JD is obtained by solving this linear program successively for each

    untested inequality against the remaining.

    Remark 3.1.2. For the numerical examples provided in Section 3.2, the last method is

    employed. Note that the number of variables for each linear program is q − 1, which is

    much smaller than the number of variables n of the original problem in general. Therefore,

    each linear program can be solved accurately and fast. Thus, this is a reliable and sufficiently

    efficient method to find JD.

    Note that different methods may yield a different collection of indices as the set JD

    might not be uniquely defined. For example, whenever IDj = IDk for j 6= k ∈ N , at most

    one of j and k can be included in the set JD. Assuming that the corresponding inequality

    is nonredundant, there are at least two different collection of defining inequalities: the one

    including j but not k and the one including k but not j. Note that even if JD is not

    uniquely defined, the proposed algorithm works with any choice of JD.

    22

  • 3.1.4 Pivoting

    In order to initialize the algorithm one needs to find a dictionary D0 for the parametrized

    problem (Pλ) such that the optimality region of D0 satisfies ΛD

    0 ∩ int Λ 6= ∅. Note that

    the existence of D0 is guaranteed by Assumption 3.1.1 and by Proposition 2.2.4. There are

    different methods to find an initial dictionary and these will be discussed in Section 3.1.8.

    For now, assume that D0 is given. By Proposition 2.2.4, the basic solution x0 corresponding

    to D0 is a maximizer to (P). As a part of the initialization, we find the index set of entering

    variables JD0

    as defined by (3.1.1).

    Throughout the algorithm, for each dictionary D with given basic variables B,

    optimality region ΛD ∩ Λ, and index set of entering variables JD, we select an entering

    variable xj, j ∈ JD, and pick analog to the standard simplex method a leaving variable xi

    satisfying

    i ∈ arg mini ∈ B

    (B−1N)ij > 0

    (B−1b)i(B−1N)ij

    , (3.1.2)

    whenever there exists some i with (B−1N)ij > 0. Here, indices i, j are written on be-

    half of the entries that correspond to the basic variable xi and the nonbasic variable xj,

    respectively. Note that this rule of picking leaving variables, together with the initializa-

    tion of the algorithm with a primal feasible dictionary D0, guarantees that each dictionary

    throughout the algorithm is primal feasible.

    If there exists a basic variable xi with (B−1N)ij > 0 satisfying (3.1.2), we perform

    the pivot xj ↔ xi to form the dictionary D̄ with basic variables B̄ = (B ∪ {j}) \ {i}

    and nonbasic variables N̄ = (N ∪ {i}) \ {j}. For dictionary D̄, the optimality condition

    λ ∈ ID̄i with respect to the nonbasic variable xi is equivalent to λ ∈ cl (IDj )C = {λ ∈ Rq−1 :

    w(λ)TZTN ej ≤ 0}. In other words, we have ID̄i = cl (IDj )C .

    23

  • Assume dictionary D̄ is considered at some point in the algorithm and i ∈ J D̄. If xi

    is picked as the entering variable and xj is the corresponding leaving variable, it is known

    that the resulting dictionary will be the dictionary D considered above. Thus, we call

    (i, j) an explored pivot (or direction) for D̄. We denote the set of all explored pivots of

    dictionary D̄ by ED̄.

    3.1.5 Detecting unbounded problems and constructing the set

    X̄ h

    Now, consider the case where there is no candidate leaving variable for an entering variable

    xj, j ∈ JD, of dictionary D, that is, (B−1Nej) ≤ 0. As one can not perform a pivot, it

    is not possible to go beyond the halfspace IDj . Indeed, the parametrized problem (Pλ) is

    unbounded for λ /∈ IDj . The following proposition shows that in that case, a direction

    of the recession cone of the lower image can be found from the current dictionary D, see

    Remark 2.2.3.

    Proposition 3.1.3. Let D be a dictionary with basic and nonbasic variables B and N ,

    ΛD ∩ Λ be its optimality region satisfying ΛD ∩ int Λ 6= ∅, and JD be the index set of

    entering variables. If for some j ∈ JD, (B−1Nej) ≤ 0, then the direction xh defined by

    setting xhB = −B−1Nej and xhN = ej is a maximizer to (P) and P Txh = −ZTN ej.

    Proof. Assume (B−1Nej) ≤ 0 for j ∈ JD and define xh by setting xhB = −B−1Nej and

    xhN = ej. By definition, the direction xh would be a maximizer for (P) if and only if it is a

    (point) maximizer for the homogeneous problem (Ph), see Chapter 2. It holds

    [A In]xh = BxhB +Nx

    hN

    = B(−B−1Nej) +Nej

    = 0.

    24

  • Moreover, xhN = ej ≥ 0 and xhB = −B−1Nej ≥ 0 by assumption. Thus, xh is primal feasible

    for problem (Ph) and also for problem (Ph1(w(λ))) for all λ ∈ Λ, that is, xh ∈ X h \ {0}.

    Let λ ∈ ΛD ∩ int Λ, which implies w(λ) ∈ riW ⊆ intC+. Note that by definition of the

    optimality region, it is true that w(λ)TZTN ≥ 0. Thus, xh is also dual feasible for (Ph1(w(λ))),

    it is an optimal solution for the parametrized homogeneous problem for λ ∈ ΛD ∩ int Λ.

    By Proposition 2.2.4 (applied to (Ph) and (Ph1(w(λ)))), xh is a maximizer of (Ph). The

    value of the objective function of (Ph) at xh is given by

    [P T 0]xh = P TB xhB + P

    TNx

    hN

    = −P TB B−1Nej + P TN ej

    = −(P TB B

    −1N − P TN)ej

    = −ZTN ej.

    Remark 3.1.4. If for an entering variable xj, j ∈ JD, of dictionary D, there is no can-

    didate leaving variable, we conclude that the problem (P) is unbounded in the sense of

    Definition 2.2.2. Then, in addition to the set of point maximizers X̄ one also needs to find

    the set of (direction) maximizers X̄ h of (P), which by Proposition 3.1.3 can be obtained

    by collecting directions xh defined by xhB = −B−1Nej and xhN = ej for every j ∈ JD with

    B−1Nej ≤ 0 for all dictionaries visited throughout the algorithm. For each dictionary D,

    we denote the set of indices of entering variables with no candidate leaving variable for

    dictionary D by JDb := {j ∈ JD| B−1Nej ≤ 0}. In other words, JDb ⊆ JD is such that for

    any j ∈ JDb , (Pλ) is unbounded for λ /∈ IDj .

    25

  • 3.1.6 Partition of Λ: putting it all together

    We have seen in the last subsections that basic solutions of dictionaries yield (weak) point

    maximizers of (P) and partitions Λ into optimality regions for bounded problems (Pλ),

    while encountering an entering variable with no leaving variable in a dictionary yields

    direction maximizers of (P) as well as regions of Λ corresponding to unbounded prob-

    lems (Pλ). This will be the basic idea to construct the two sets X̄ and X̄ h and to obtain

    a partition of the parameter set Λ. In order to show that (X̄ , X̄ h) produces a solution to

    (P), one still needs to ensure finiteness of the procedure, that the whole set Λ is covered,

    and that the basic solutions of dictionaries visited yield not only weak point maximizers

    of (P), but point maximizers.

    Let us denote the set of all primal feasible dictionaries D satisfying ΛD ∩ Λ 6= ∅ by D.

    Note that there are at most finitely many dictionaries, so D is a finite collection. Let the

    set of parameters λ ∈ Λ yielding bounded scalar problems (Pλ) be Λb. Then it is true that

    Λb := {λ ∈ Λ : (Pλ) has an optimal solution} (3.1.3)

    =⋃D∈D

    (ΛD ∩ Λ).

    This can be shown easily. First, let λ ∈ Λ be such that (Pλ) has an optimal solution with

    an optimal dictionary Dλ. Clearly, Dλ ∈ D and λ ∈ ΛDλ ∩Λ. For the reverse inclusion, let

    λ ∈ ΛD ∩Λ for some D ∈ D. Then the basic solution for D is optimal for (Pλ) and clearly,

    λ ∈ Λb.

    Observe that whenever xj, j ∈ JD, is the entering variable for dictionary D ∈ D and

    there exists a leaving variable xi, the optimality region ΛD̄ for dictionary D̄ after the pivot

    is guaranteed to be non-empty. Indeed, it is easy to show that

    ∅ ( ΛD̄ ∩ ΛD ⊆ {λ ∈ Rq−1 : w(λ)TZN ej = 0},

    26

  • where N is the nonbasic variables of dictionary D. Moreover, the basic solutions read

    from dictionaries D and D̄ are both optimal solutions to the parametrized problem (Pλ)

    for λ ∈ ΛD̄ ∩ ΛD. Note that the common optimality region of the two dictionaries has no

    interior. In some cases it is possible that ΛD̄ itself has no interior and it is a subset of the

    neighbouring optimality regions corresponding to some other dictionaries. Clearly, these

    dictionaries do not provide a new region within Λb.

    Moreover, in case there are multiple leaving variables for the same entering variable,

    instead of performing all possible pivots, it is enough to pick one of the possible leaving

    variables and continue with this choice. Indeed, choosing different leaving variables lead

    to different partitions of the same subregion within Λb. In this way, one finds different

    optimal solutions to (Pλ) for the same set of λ’s, which is not necessary in order to find a

    solution to (P) in the sense of Definition 2.2.1.

    By these two observations, it is clear that there is a (finite) collection of dictionaries

    D̄ ⊆ D which defines a partition of Λb in the following sense

    ⋃D∈D̄

    (ΛD ∩ Λ) = Λb. (3.1.4)

    Assume for now that the set Λb is connected. Indeed, this holds and it will be stated

    shortly in Remark 3.1.7. Now, if there is at least one dictionary D ∈ D̄ with JDb 6= ∅, then

    by Remark 3.1.4, (P) is unbounded and since Λb is connected, the following holds as well

    ⋂D∈D̄, j∈JDb

    (IDj ∩ Λ) = Λb. (3.1.5)

    Remark 3.1.5. Even though it is possible to come across dictionaries with opti-

    mality regions having empty interior, for any dictionary D found during the algorithm

    ΛD ∩ int Λ 6= ∅ holds. This is guaranteed by starting with a dictionary D0 satisfying

    27

  • ΛD0 ∩ int Λ 6= ∅ together with the rule of selecting the entering variables, see (3.1.1). More

    specifically, through the algorithm, whenever IDj corresponds to the boundary of Λ it is

    guaranteed that j /∈ JD. By this observation and by Proposition 2.2.4, it is clear that the

    basic solution corresponding to the dictionary D is not only a weak maximizer but it is a

    maximizer.

    3.1.7 The algorithm

    The aim of the parametrized simplex algorithm is to visit a set of dictionaries D̄

    satisfying (3.1.4).

    In order to explain the algorithm we introduce the following definition.

    Definition 3.1.6. D ∈ D is said to be a boundary dictionary if ΛD and the index set

    of entering variables JD is known. A boundary dictionary is said to be visited if the

    resulting dictionaries of all possible pivots from D are boundary and the index set JDb (see

    Remark 3.1.4) is known.

    The motivation behind this definition is to treat the maximizers as nodes of a graph.

    Note that more than one dictionary may correspond to the same maximizer and we treat

    the set of all such dictionaries as a single node. The possible pivots between dictionaries

    corresponding to different maximizers are considered as the edges of this graph.

    Remark 3.1.7. The graph described above is connected. The proof for the case C = Rq+

    is given in [46], but it can be generalized easily to any polyhedral ordering cone. Note that

    this implies that the set Λb is connected.

    The idea behind the algorithm is to visit a sufficient subset of ’nodes’ to cover the set

    Λb. This can be seen as a special online traveling salesman problem. Indeed, we employ

    the terminology used in [31]. The set of all ’currently’ boundary and visited dictionaries

    through the algorithm are denoted by BD and V S, respectively.

    28

  • The algorithm starts with BD = {D0} and V S = ∅, where D0 is the initial dictionary

    with index set of entering variables JD0. We initialize X̄ h as the empty set and X̄ as {x0},

    where x0 is the basic solution corresponding to D0. Also, as there is no explored directions

    for D0 we set ED0

    = ∅.

    For a boundary dictionary D, we consider each j ∈ JD and check the leaving variable

    corresponding to xj. If there is no leaving variable, we add xh defined by xhB = −B−1Nej,

    and xhN = ej to the set X̄ h, see Proposition 3.1.3. Otherwise, a corresponding leaving

    variable xi is found. If (j, i) /∈ ED, we perform the pivot xj ↔ xi as it has not been not

    explored before. We check if the resulting dictionary D̄ is marked as visited, or boundary.

    If D̄ ∈ V S, there is no need to consider D̄ further. If D̄ ∈ BD, we know that (i, j) is

    an explored direction for D̄, so we update ED̄ accordingly. In both cases, we continue by

    checking some other entering variable of D. If D̄ is neither visited nor boundary but a new

    dictionary, then the corresponding basic solution x̄ is added to the set X̄ , the index set

    of entering variables J D̄ is computed, (i, j) is added to the set of explored directions ED̄,

    and D̄ itself is added to the set of boundary dictionaries. Whenever all j ∈ JD have been

    considered, D becomes visited. Thus, D is deleted from the set BD and added to the set

    V S. The algorithm stops when there are no more boundary dictionaries.

    Theorem 3.1.8. Algorithm 1 returns a solution (X̄ , X̄ h) to (P).

    Proof. Algorithm 1 terminates in a finite number of iterations as the overall number of

    dictionaries is finite and during the algorithm only a subset of those are visited. Also, by

    construction, the algorithm never performs ’already explored pivots’, see line 13. Thus,

    there is no risk of cycling and it returns (X̄ , X̄ h) after finitely many iterations.

    Note that X̄ , X̄ h are finite sets of feasible points and directions, respectively, for (P), and

    they consist of only maximizers by Propositions 2.2.4 and 3.1.3 together with Remark 3.1.5.

    Hence, it is enough to show that (X̄ , X̄ h) satisfies (2.2.3).

    29

  • Algorithm 1 Parametric Simplex Algorithm for LVOP

    1: Find D0 and the index set of entering variables JD0;

    2: Initialize

    {BD = {D0}, X̄ = {x0};V S, X̄ h, ED0 , R = ∅;

    3: while BD 6= ∅ do4: Let D ∈ BD with nonbasic variables N and index set of entering variables JD;5: for j ∈ JD do6: Let xj be the entering variable;7: if B−1Nej ≤ 0 then8: Let xh be such that xhB = −B−1Nej and xhN = ej;9: X̄ h ← X̄ h ∪ {xh};10: P T [X̄ h]← P T [X̄ h] ∪ {−ZTN ej}11: else12: Pick i ∈ arg mini∈B, (B−1N)ij>0

    (B−1b)i(B−1N)ij

    ;

    13: if (j, i) /∈ ED then14: Perform the pivot with entering variable xj and leaving variable xi;15: Call the new dictionary D̄ with nonbasic variables N̄ = N ∪ {i} \ {j};16: if D̄ /∈ V S then17: if D̄ ∈ BD then18: ED̄ ← ED̄ ∪ {(i, j)};19: else20: Let x̄ be the basic solution for D̄;21: X̄ ← X̄ ∪ {x̄};22: P T [X̄ ]← P T [X̄ ] ∪ {P T x̄};23: Compute the index set of entering variables J D̄ of D̄;24: Let ED̄ = {(i, j)};25: BD ← BD ∪ {D̄};26: end if27: end if28: end if29: end if30: end for31: V S ← V S ∪ {D}, BD ← BD \ {D};32: end while

    33: return

    {(X̄ , X̄ h) : A finite solution of (P);(P T [X̄ ], P T [X̄ h] ∪ {y1, . . . , yI}) : V representation of P .

    30

  • Observe that by construction, the set of all visited dictionaries D̄ := V S at termination

    needs to satisfy (3.1.4). Indeed, there are finitely many dictionaries and Λb is a connected

    set, see Remark 3.1.7.

    It is guaranteed by (3.1.4) that for any w ∈ C+, for which (P1(w)) is bounded, there

    exists an optimal solution x̄ ∈ X̄ of (P1(w)). Then, it is clear that (X̄ , X̄ h) satisfies (2.2.3)

    as long as R := coneP T [X̄ h] − C is the recession cone P∞ of the lower image. If for all

    D ∈ D̄ the set JDb = ∅, then (P) is bounded, X̄ h = ∅, and trivially R = −C = P∞. If there

    is at least one dictionary D ∈ D̄ with JDb 6= ∅, then by Remarks 3.1.4 and 3.1.7, (P) is

    unbounded, X̄ h 6= ∅ and D̄ also satisfies (3.1.5). By definition of IDj , we can write (3.1.5)

    as

    Λb =⋂

    D∈V S, j∈JDb

    {λ ∈ Λ : w(λ)TZTNDej ≥ 0}, (3.1.6)

    where ND is the set of nonbasic variables corresponding to dictionary D.

    By construction and by Proposition 3.1.3, we have

    R = cone {−ZTNDej : j ∈

    ⋃D∈V S

    JDb } − C

    = cone ({−ZTNDej : j ∈

    ⋃D∈V S

    JDb } ∪ {−y1, . . . ,−yI}),

    where {y1, . . . , yI} is the set of generating vectors for the ordering cone C. The dual cone

    can be written as

    R+ =⋂

    D∈V S, j∈JDb

    {w ∈ Rq : wTZTNDej ≤ 0} ∩

    I⋂i=1

    {w ∈ Rq : wTyi ≤ 0}. (3.1.7)

    The proof will be completed by showing that −P+∞ = −R+ as it implies P∞ =

    coneP T [X̄ h] − C. Let w ∈ −P+∞. Then, by proposition 2.2.5, (P1(w)) has an op-

    timal solution. As cTw > 0, also(P1(

    wcTw

    ))

    = (Pλ̄) has an optimal solution, where

    31

  • λ̄ := 1cTw

    (w1, . . . , wq−1)T and thus w(λ̄) = w

    cTw. By the definition of Λb given by (3.1.3),

    λ̄ ∈ Λb. Then, by (3.1.6), λ̄ ∈ Λ and w(λ)TZTNDej ≥ 0 for all j ∈ JDb , D ∈ V S. This holds

    if and only if w ∈ −R+ by definition of Λ and by (3.1.7). The other inclusion can be shown

    symmetrically.

    Remark 3.1.9. In general, the simplex-type algorithms are known to work better if the

    problem is not degenerate. If the problem is degenerate, Algorithm 1 may find redundant

    maximizers. The effects of degeneracy will be provided in more detail in Section 3.4. For

    now, let us mention that it is possible to eliminate the redundancies by additional steps in

    Algorithm 1. There are two type of redundant maximizers.

    a. Algorithm 1 may find multiple point (direction) maximizers that are mapped to the same

    point (direction) in the image space. In order to find a solution that is free of these type

    of redundant maximizers, one may change line 21 (9) of the algorithm such that the

    current maximizer x (xh) is added to the set X̄ (X̄ h) only if its image is not in the

    current set P T [X̄ ] (P T [X̄ h]).

    b. Algorithm 1 may also find maximizers whose image is not a vertex on the lower image.

    One can eliminate these maximizers from the set X̄ by performing a vertex elimination

    at the end.

    3.1.8 Initialization

    There are different ways to initialize Algorithm 1. We provide two methods, both of which

    also determine if the problem has no solution. Note that (P) has no solution if X = ∅ or

    if the lower image is equal to Rq, that is, if (P1(w)) is unbounded for all w ∈ intC+. We

    assumed X is nonempty. Moreover, for the purpose of this section, we assume without

    loss of generality that b ≥ 0. Indeed, if b � 0, one can find a primal feasible dictionary by

    applying any ’Phase 1’ algorithm that are available for the usual simplex method, see [52].

    32

  • The first initialization method finds a weight vector w0 ∈ intC+ such that (P1(w0))

    has an optimal solution. Then the optimal dictionary for (P1(w0)) is used to construct

    the initial dictionary D0. There are different ways to choose the weight vector w0. The

    second method of initialization can be thought of as a Phase 1 algorithm. It finds an initial

    dictionary as long as there exists one.

    Finding w0 and Constructing D0

    The first way to initialize the algorithm requires finding some w0 ∈ intC+ such

    that (P1(w0)) has an optimal solution. It is clear that if the problem is known to

    be bounded, then any w0 ∈ intC+ works. However, it is a nontrivial procedure in general.

    In the following we give two different methods to find such w0. The first method can also

    determine if the problem has no solution.

    a. The first approach is to extend the idea presented in [17] to any solid pointed polyhedral

    ordering cone C. Accordingly, finding w0 involves solving the following linear program:

    minimize bTu (P0)

    subject to ATu− Pw ≥ 0,

    Y T (w − c) ≥ 0,

    u ≥ 0,

    where c ∈ intC+, and the columns of Y are the generating vectors of C.

    Proposition 3.1.10. Under the assumption b ≥ 0, (P) has a maximizer if and only

    if (P0) has an optimal solution.

    Proof. (P) has a maximizer if and only if there exists w ∈ intC+ such that (P1(w))

    has an optimal solution by Proposition 2.2.4. Using the strong duality results for linear

    33

  • programs this holds if and only if

    minimize bTu (D1(w))

    subject to ATu− Pw ≥ 0,

    u ≥ 0,

    has optimal solution. We will show that (P0) has optimal solution if and only if there

    exists w ∈ intC+ such that (D1(w)) has an optimal solution. First, let (u∗, w∗) be an

    optimal solution for (P0). Note that w∗ ∈ intC+ and u∗ is feasible for (D1(w∗)). Since

    (D1(w∗)) is also bounded by weak duality and the assumption b ≥ 0, there exists an

    optimal solution to (D1(w∗)).

    On the other hand, let w∗ ∈ intC+ and u∗ be optimal for (D1(w∗)). If w∗ satisfies

    Y T (w∗ − c) ≥ 0, then (u∗, w∗) is feasible for (P0). If Y T (w∗ − c) � 0, then there exist

    γ > 0 such that Y T (γw∗ − c) ≥ 0 and γu∗ is feasible for D1(γw∗). Note that (P0) is

    bounded which can easily be seen by observing that the feasibility of the dual program.

    Then, there exists an optimal solution to (P0).

    It is clear by the proof of Proposition 3.1.10 that (P0) is bounded. Moreover, if (P0) is

    infeasible, we can conclude that the lower image has no vertex and (P) has no solution.

    In case it has an optimal solution (u∗, w∗), then one can take w0 = w∗

    cTw∗∈ intC+, and

    solve (P1(w0)) optimally. For the randomly generated examples of Section 3.2 we have

    used this method.

    b. Using the idea provided in [43], it might be possible to initialize the algorithm without

    even solving a linear program. By the structure of a particular problem, one may start

    with a dictionary which is trivially optimal for some weight w0. In this case, one can

    34

  • start with this choice of w0, and get the initial dictionary D0 even without solving an

    LP. An example is provided in Section 3.2, see Remark 3.2.3.

    In order to initialize the algorithm, w0 can be used to construct the initial dictionary

    D0. Without loss of generality assume that cTw0 = 1, indeed one can always normalize

    since c ∈ intC implies cTw0 > 0. Then, clearly w0 ∈ riW . Let B0 and N 0 be the set of

    basic and nonbasic variables corresponding to the optimal dictionary D∗ of (P1(w0)). If

    one considers the dictionary D0 for (Pλ) with the basic variables B0 and nonbasic variables

    N 0, the objective function of D0 will be different from D∗ as it depends on the parameter

    λ. However, the matrices B0, N0, and hence the corresponding basic solution x0, are the

    same in both dictionaries. We consider D0 as the initial dictionary for the parametrized

    problem (Pλ). Note that B0 is a nonsingular matrix as it corresponds to dictionary D∗.

    Moreover, since D∗ is an optimal dictionary for (P1(w0)), x0 is clearly primal feasible

    for (Pλ) for any λ ∈ Rq−1. Furthermore, the optimality region of D0 satisfies ΛD0∩int Λ 6= ∅

    as λ0 := [w01, . . . , w0q−1] ∈ ΛD

    0 ∩ int Λ. Thus, x0 is also dual feasible for (Pλ) for λ ∈ ΛD0,

    and x0 is a maximizer to (P).

    Perturbation Method

    The second method of initialization works similar to the idea presented for Algorithm 1

    itself. Assuming that b ≥ 0, problem (Pλ) is perturbed by an additional parameter µ ∈ R

    as follows:

    maximize (w(λ)TP T − µ1T )x (Pλ,µ)

    subject to Ax ≤ b,

    x ≥ 0,

    35

  • where 1 is the vector of ones. After introducing the slack variables, consider the dictionary

    with basic variables xn+1, . . . , xm+n and with nonbasic variables x1, . . . , xn. This dictionary

    is primal feasible as b ≥ 0. Moreover, it is dual feasible if Pw(λ)− µ1 ≤ 0. We introduce

    the optimality region of this dictionary as

    M0 := {(λ, µ) ∈ Λ× R+ | Pw(λ)− µ1 ≤ 0}.

    Note that M0 is not empty as µ can take sufficiently large values.

    The aim of the perturbation method is to find an optimality region M such that

    M ∩ ri (Λ× {0}) 6= ∅, (3.1.8)

    where Λ×{0} := {(λ, 0) | λ ∈ Λ}. If the current dictionary satisfies (3.1.8), then it can be

    taken as an initial dictionary D0 for Algorithm 1 after deleting the parameter µ. Otherwise,

    the defining inequalities of the optimality region are found. Clearly, they correspond to the

    entering variables of the current dictionary. The search for an initial dictionary continues

    similar to the original algorithm. Note that if there does not exist a leaving variable for an

    entering variable, (Pλ,µ) is found to be unbounded for some set of parameters. The algo-

    rithm continues until we obtain a dictionary for which the optimality region satisfies (3.1.8)

    or until we cover the the parameter set Λ×R+ by the optimality regions and by the regions

    that are known to yield unbounded problems. At termination, if there exist no dictionary

    that satisfies (3.1.8), then we conclude that there is no solution to problem (P). Otherwise,

    we initialize the algorithm with D0. See Exercise 3.2.1, Remark 3.2.4.

    36

  • 3.2 Illustrative Examples

    We provide some examples and numerical results in this section. The first example illus-

    trates how the different methods of initialization and the algorithm work. It is taken

    from [50] and was used in [13] to illustrate the algorithm provided there. The next example,

    taken from [34], is also illustrative and is known to be unbounded. The third example shows

    that the Algorithm 1 can find a solution even though the lower image does not have any

    vertices.

    Example 3.2.1. Consider the following problem

    maximize (x1, x2, x3)T with respect to ≤R3+

    subject to x1 + x2 + x3 ≤ 5

    x1 + 3x2 + x3 ≤ 9

    3x1 + 4x2 ≤ 16

    x1, x2, x3 ≥ 0.

    Let c = (1, 1, 1)T ∈ intR3+. Clearly, we have Λ = {λ ∈ R2 : λ1 + λ2 ≤ 1, λi ≥ 0, i = 1, 2}.

    Let us illustrate the different initialization methods.

    Remark 3.2.2. (Initializing by solving (P0), see Section 3.1.8 a.) A solution of (P0)

    is found as w∗ = (1, 1, 1)T . Then, we take w0 = (13, 1

    3, 1

    3)T as the initial weight vector.

    x0 = (5, 0, 0)T is an optimal solution found for P1(w0). The indices of the basic variables

    of the corresponding optimal dictionary are B0 = {1, 5, 6}. We form dictionary D0 of

    37

  • problem (Pλ) with basic variables B0:

    ξ = 5λ1 −λ1x4 −(λ1 − λ2)x2 −(2λ1 + λ2 − 1)x3

    x1 = 5 −x4 −x2 −x3

    x5 = 4 +x4 −2x2

    x6 = 1 +3x4 −x2 +3x3.

    Remark 3.2.3. (Initializing using the structure of the problem, see Section 3.1.8

    b.) The structure of Example 3.2.1 allows us to initialize without solving a linear program.

    Consider w0 = (1, 0, 0)T . As the objective of P1(w0) is to maximize x1 and all variables need

    to be nonnegative, x1 = min{ b1a11 ,b2a21, b3a31} = min{5, 9, 16

    3} = 5, x2 = x3 = 0 is an optimal

    solution of P1(w0). The corresponding slack variables are x4 = 0, x5 = 4, and x6 = 1.

    Note that this corresponds to the dictionary with basic variables B = {1, 5, 6} and nonbasic

    variables N = {2, 3, 4}, which yields the same initial dictionary D0 as above. Similarly,

    one could have chosen the initial weight vector w0 to be (0, 1, 0)T or (0, 0, 1)T . Different

    choices might yield different initial dictionaries. At this point, one needs to be careful as

    w0 /∈ intC+ but w0 ∈ bdC+. In order to ensure that the corresponding initial solutions

    are maximizers and not only weak maximizers, one needs to check the optimality regions

    of these possible initial dictionaries. If the optimality region has a nonempty intersection

    with int Λ, which is the case for D0 found via w0 = (1, 0, 0)T , then the corresponding basic

    solution is a maximizer. In general, if one can find w ∈ intC+ such that (P1(w)) has a

    trivial optimal solution, then the last step is clearly unnecessary.

    38

  • Remark 3.2.4. (Initializing using perturbation method, see Section 3.1.8.) The

    starting dictionary for (Pλ,µ) of the perturbation method is given as

    ξ = (λ1 − µ)x1 +(λ2 − µ)x2 +(1− λ1 − λ2 − µ)x3

    x4 = 5 −x1 −x2 −x3

    x5 = 9 −x1 −3x2 −x3

    x6 = 16 −3x1 −4x2.

    This dictionary is optimal for M0 = {(λ, µ) ∈ Λ × R : µ ≥ λ1, µ ≥ λ2, µ ≥ 1 − λ1 − λ2}.

    Clearly, M0 does not satisfy (3.1.8). The defining inequalities of this region correspond

    to x1, x2 and x3. If x1 enters, then the leaving variable is x4 and the next dictionary has

    the optimality region M1 = {(λ, µ) ∈ Λ × R : λ1 ≥ µ, λ1 ≥ λ2, λ1 + 2λ2 ≥ 1} which

    satisfies (3.1.8). Then, by deleting µ the initial dictionary is found to be D0 as above.

    Different choices of entering variables in the first iteration might yield different initial

    dictionaries.

    Consider the initial dictionary D0. Clearly, ID0

    4 = {λ ∈ R2 : λ1 ≥ 0}, ID0

    2 = {λ ∈ R2 :

    λ1 − λ2 ≥ 0}, and ID0

    3 = {λ ∈ R2 : 2λ1 + λ2 ≥ 1}. The defining halfspaces for ΛD0 ∩ Λ

    correspond to the nonbasic variables x2, x3, thus we have JD0 = {2, 3}.

    The iteration starts with the only boundary dictionary D0. If x2 is the entering vari-

    able, x6 is picked as the leaving variable. The next dictionary, D1, has basic variables

    B1 = {1, 2, 5}, the basic solution x1 = (4, 1, 0)T , and a parameter region ΛD1 = {λ ∈ R2 :

    4λ1 − 3λ2 ≥ 0,−λ1 + λ2 ≥ 0, 5λ1 − 2λ2 − 1 ≥ 0}. The halfspaces corresponding to the

    nonbasic variables xj, j ∈ JD1

    = {6, 3} are defining for the optimality region ΛD1 ∩ Λ.

    Moreover, ED1

    = {(6, 2)} is an explored pivot for D1.

    From dictionary D0, if x3 enters, then x1 is the leaving variable. Dictionary D2 af-

    ter this pivot has basic variables B2 = {3, 5, 6}, the basic solution x2 = (0, 0, 5)T , and

    39

  • ΛD2

    = {λ ∈ R2 : λ1 + λ2 ≤ 1, 2λ1 + λ2 ≤ 1, λ1 + 2λ2 ≤ 1}. The halfspaces corresponding to

    the nonbasic variables xj, j ∈ JD2

    = {2, 1} are defining for the optimality region ΛD2 ∩ Λ.

    Moreover, ED2

    = {(1, 3)} is an explored direction for D2.

    After the first iteration, we have V S = {D0}, and BD = {D1, D2}. Figure 3.1 shows

    the optimality regions of the dictionaries D0, D1, D2 after the first iteration. The color

    green indicates that the corresponding dictionary is visited, yellow stands for boundary

    dictionaries.

    Figure 3.1: Optimality regions after the first iteration of Example 3.2.1. Green correspondsto visited and yellow corresponds to boundary dictionaries.

    For the second iteration, we consider D1 ∈ BD. There are two possible pivots with

    entering variables xj, j ∈ JD1

    = {6, 3}. For x6, x2 is found as the leaving variable. As

    (6, 2) ∈ ED1, the pivot is already explored and not necessary. For x3, the leaving variable is

    found as x5. The resulting dictionary D3 has basic variables B3 = {1, 3, 2}, basic solution

    x3 = (83, 2, 1

    3)T , the optimality region ΛD

    3 ∩ Λ = {λ ∈ R2+ : λ1 + 8λ2 ≤ 5,−2λ1 − λ2 ≤

    −1, 5λ1 − 2λ2 ≤ 1}, and the indices of the entering variables JD3

    = {4, 6, 5}. Moreover,

    40

  • we write ED3

    = {(5, 3)}. At the end of the second iteration we have V S = {D0, D1}, and

    BD = {D2, D3}. Figure 3.2 shows the optimality regions after the second iteration.

    Figure 3.2: Optimality regions after the second iteration of Example 3.2.1.

    Consider D2 ∈ BD with JD2 = {2, 1} for the third iteration. For x2, the leaving variable

    is x5. This pivot yields a new dictionary D4 with basic variables B4 = {3, 2, 6} and basic

    solution x4 = (0, 2, 3)T . The indices of the entering variables are found as JD4

    = {1, 4, 5}.

    Also, we have ED4

    = {(5, 2)}. For x1, the leaving variable is x3. The corresponding pivot

    is already explored for D2. At the end of iteration 3, we thus have V S = {D0, D1, D2} and

    BD = {D3, D4}.

    For the next iteration, D3 with JD3

    = {4, 5, 6} is considered. The pivot for x4 yields

    dictionary D5 with basic variables B5 = {1, 4, 2}, basic solution x5 = (2.4, 2.2, 0)T , and

    JD5

    = {3, 6}. Note that (3, 4) is now an already explored pivot for D5, ED5 = {(3, 4)}.

    The leaving variable for x5 is x3, which is an already explored direction for D3. The pivot

    for j = 6 yields one of the currently boundary dictionaries, D4. Thus, we add (1, 6) to the

    set of already explored directions for D4, ED4

    = {(5, 2), (1, 6)}.

    41

  • The optimality regions after the third and the fourth iterations can be seen from

    Figure 3.3.

    Figure 3.3: Optimality regions after the third and fourth iterations of Example 3.2.1.

    For the fifth iteration we consider D4 with JD4

    = {1, 4, 5}. If x1 enters x6 is the

    leaving variable. Note that (1, 6) ∈ ED4 and the pivot is not necessary. Similarly, for

    x5 the leaving variable is x2 and (5, 2) ∈ ED4. If x4 enters, the leaving variable is found

    as x3. This pivot yields a new dictionary D6 with basic variables B6 = {4, 2, 6}, basic

    solution x6 = (0, 3, 0)T , and entering variables xj, j ∈ JD6

    = {3, 1}. Moreover, we have

    ED6

    = {(3, 4)}. BD = {D5, D6}, and V S = {D0, D1, D2, D3, D4} at the end of iteration

    5.

    Next, we consider D5 ∈ BD with JD5 = {3, 6}. If x3 is the entering variable, x4 is

    found as the leaving variable. This is an already explored pivot for D5. If x6 enters, then

    x1 is the leaving variable. This pivot yields dictionary D6 ∈ BD. We update the explored

    pivots for D6 as ED6

    = {(3, 4), (1, 6)}. Clearly BD = {D6}, and we add D5 to the set V S.

    In the last iteration, we consider D6 with JD6

    = {3, 1}. The pivots corresponds to this

    dictionary is x4 ↔ x3 and x1 ↔ x6, which are already explored for D6. Thus, after seventh

    42

  • iteration we have BD = ∅. Figure 3.4 shows the corresponding optimality regions after

    each iteration.

    Figure 3.4: Optimality regions after the fifth, sixth and seventh iterations of Example 3.2.1.

    Note that the problem is bounded, as for each entering variable there exist a leaving

    variable. The solution to the problem is then (X̄ , ∅) with

    X̄ ={

    5

    0

    0

    ,

    4

    1

    0

    ,

    0

    0

    5

    ,

    8/3

    2

    1/3

    ,

    0

    2

    3

    ,

    12/5

    11/5

    0

    ,

    0

    3

    0

    }.

    The lower image can be seen in Figure 3.5.

    Example 3.2.5. Consider the following problem

    maximize P Tx with respect to ≤R3+

    subject to x1 − x2 ≤ −1

    x2 − x3 ≤ −2

    x3 − x4 ≤ −3

    x4 − x5 ≤ −4

    x1, x2, x3, x4, x5 ≥ 0,

    43

  • Figure 3.5: Lower image P of Example 3.2.1.

    where

    P T =

    4 0 0 4 −4

    −4 4 4 −4 0

    0 0 −4 0 0

    .

    Let c = (1, 1, 1)T ∈ intR3+. Clearly, we have Λ = {λ ∈ R2 : λ1 + λ2 ≤ 1, λi ≥ 0, i = 1, 2}.

    As b � 0, we first perform a Phase 1 simplex algorithm to get a primal feasible initial

    dictionary. Then, we follow the initialization method explained in Section 3.1.8 a. to find

    w0 = (13, 1

    3, 1

    3) as the initial scalarization parameter. Then, x0 = (0, 1, 3, 6, 10)T is an

    optimal solution to P1(w0). The basic variables of the corresponding optimal dictionary is

    44

  • B0 = {2, 3, 4, 5}. We form dictionary D0 to problem (Pλ) with basic variables B0:

    ξ = ξ(λ) +4(2λ1 + λ2 − 1)x1 +4(λ1 + 2λ2 − 1)x6 +4(λ1 + λ2 − 1)x7 −4λ2x8 −4λ1x9

    x2 = 1 +x1 +x6

    x3 = 3 +x1 +x6 +x7

    x4 = 6 +x1 +x6 +x7 +x8

    x5 = 10 +x1 +x6 +x7 +x8 +x9.

    The defining inequalities of the optimality region ΛD0 ∩ Λ correspond to the nonbasic

    variables x1, x6, thus we have JD0 = {1, 6}.

    For the first iteration, we consider the only boundary dictionary D0. If x1 is the entering

    variable, there is no leaving variable according to the minimum ratio rule (3.1.2). We

    conclude that problem (Pλ) is unbounded for λ ∈ {R2 : 2λ1 + λ2 > 1}. Note that

    B−1N =

    −1 −1 0 0 0

    −1 −1 −1 0 0

    −1 −1 −1 −1 0

    −1 −1 −1 −1 −1

    ,

    and the first column corresponds to the entering variable x1. Thus, xhB0 = (x

    h2 , x

    h3 , x

    h4 , x

    h5)T =

    (1, 1, 1, 1)T and xhN0 = (xh1 , x

    h6 , x

    h7 , x

    h8 , x

    h9)T = e1 = (1, 0, 0, 0, 0)T . Thus, we add

    xh = (xh1 , . . . , xh5) = (1, 1, 1, 1, 1)

    T to the set X̄ h, see Algorithm 1, line 12. Also, by

    Proposition 3.1.3, P Txh = (4, 0,−4)T is an extreme direction of the lower image P.

    Whenever x6 enters, there is no leaving variable either. Thus, (Pλ) is also unbounded for

    λ ∈ {R2 : λ1 + 2λ2 > 1}, (0, 1, 1, 1, 1)T is a maximizer to homogeneous problem (Ph) and

    45

  • (0, 4,−4)T is an extreme direction for P. See the optimality region after the first iteration

    in Figure 3.6.

    Figure 3.6: Parameter set after the first iteration of Example 3.2.5. Green corresponds tothe optimality region of the visited dictionary D0 and gray corresponds to the region ofunboundedness.

    At the end of first iteration we have BD = ∅ and V S = {D0}. The algo-

    rithm terminates with the solution (X̄ , X̄ h), with X̄ = {(0, 1, 3, 6, 10)T} and X̄ h =

    {(1, 1, 1, 1, 1)T , (0, 1, 1, 1, 1)T}. The lower image can be seen in Figure 3.7.

    Example 3.2.6. Consider the following example.

    maximize (x1 − x2, x3 − x4)T with respect to ≤R2+

    subject to x1 − x2 + x3 − x4 ≤ 1

    x1, x2, x3, x4 ≥ 0.

    Let c = (1, 1)T ∈ intR2+. Clearly, we have Λ = [0, 1] ⊆ R. Using the method described

    in Section 3.1.8 a., we find w0 = (12, 1

    2) as the initial scalarization parameter. Then,

    46

  • Figure 3.7: The lower image P of Example 3.2.5.

    x0 = (1, 0, 0, 0)T is an optimal solution to P1(w0). The basic variable of the corresponding

    optimal dictionary is B0 = {1}. We form dictionary D0 to problem (Pλ) :

    ξ = λ −λx5 +(1− 2λ)x3 +(2λ− 1)x4

    x1 = 1 −x5 +x2 −x3 +x4.

    The defining inequalities of the optimality region ΛD0 ∩Λ correspond to the nonbasic vari-

    ables x3, x4, thus we have JD0 = {3, 4}.

    For the first iteration, we consider D