Optimality Conditions and Complete Description of Polytopes in Combinatorial Optimization

Optimality Conditions and Complete Description of Polytopes in Combinatorial Optimization

Optimality conditions and complete description of polytopes in combinatorial optimization Alexey Antonov* *University of Cambridge, UK. E-mail: [email protected] or [email protected] Abstract A combinatorial optimization problem (COP) has a finite groundset 퐸 (|퐸| = 푁) , a weight vector 푐 = (푐푒: 푒 ∈ 퐸) and a family 푇 ∈ 퐸 of feasible subsets with objective to find 푡 ∈ 푇 푒 with maximal weight: 푚푎푥 {∑푒∈ 푡 푐 : 푡 ∈ 푇} . Polyhedral combinatorics reformulates combinatorial optimization as linear program: 푇 is mapped into the set 푋 ∈ 푅푁 of 0/1 incidence vectors and 푐 ∈ 푅푁 is maximized over convex hull of 푋: 푚푎푥 {푐푥: 푥 ∈ 푐표푛푣(푋) }. In theory, complementary slackness conditions for the induced linear program provide optimality conditions for the COP. However, for a general case, optimality conditions for combinatorial optimization have not been formulated analytically as for many problems complete description of the induced polytopes is available only as a convex hull of extreme points rather than a system of linear inequalities. Here, we formulate optimality conditions for a COP in general case: 푥푘 ∈ 푋 is optimal if and only if 푐 ∈ 푐표푛푒(퐻푘 ) where 퐻푘 = {ℎ ∈ 푉: ℎ푥푘 ≥ ℎ푥 for any 푥 ∈ 푋} and 푉 is a set of all -1/0/1 valued vectors in 푅푁 . This provides basis to get, in theory, a complete description of a combinatorial polytope induced by any COP: all facet inducing inequalities for 푐표푛푣(푋) can be written as ℎ푥 ≤ 푙 where ℎ ∈ 푉 and 푙 is integer. A vector ℎ ∈ 표 푉 induces a nonredundent facet if and only if ℎ ∈ 퐻푘 ∈ 퐻푘 for at least one 푥푘 ∈ 푋 (where 표 퐻푘 = {ℎ ∈ 퐻푘 : ℎ ∉ 푐표푛푒(퐻푘 \{ℎ}) } ) and 푙 = 푥푘 ℎ. 1. Introduction and Notation We consider a general linear combinatorial optimization problem for which we have a finite groundset 퐸 (|퐸| = 푁), a weight vector 푐 = (푐푒: 푒 ∈ 퐸) associated with each 푒 ∈ 퐸 and a family 푇 of feasible subsets of 퐸. The objective is to find 푡∗ ∈ 푇 that maximise the sum of weights associated with 푡∗ . Thus we end up with the following Combinatorial Optimization Problem (Pulleyblank 1989): 푒 푚푎푥 {∑푒∈ 푡 푐 : 푡 ∈ 푇 } (COP) The COP is reformulated as linear programming problem by mapping each 푡 ∈ 푇 into 푅푁 as (0/1) incidence vector 푥: 푥푒 = 1 if 푒 ∈ 푡 and 푥푒 = 0 if 푒 ∉ 푡. We use 푋 to denote the set of all incidence vector 푥 ∈ 푅푁 induced by 푇 and use 푃푋 = 푐표푛푣(푋) to denote the corresponding combinatorial polytope (convex hull of 푋). Thus we can rewrite COP as Combinatorial Optimization Linear Program (Pulleyblank 1989, Aardal and Hoesel 1996): 푚푎푥 {푐푥: 푥 ∈ 푃푋} (COLP) In the case of unique optimal solution COLP and COP are equivalent: the solution of COLP 푋 would be an extreme point of 푃 which is incidence vector 푥∗ ∈ 푋 equivalent to the optimal feasible subset 푡∗ ∈ 푇 for COP (Pulleyblank 1989). Although polyhedral combinatorics reformulates combinatorial optimization as linear programs, optimality conditions for a general COP in analytical form (like complementary slackness conditions) have not been formulated. Analytical formulation of optimality conditions would require complete description of the induced combinatorial polytope as a system of linear inequalities (rather than a convex hull of incidence vectors) and is not known for many combinatorial problems. Here, for the first time (up to our knowledge), we provide analytical formulation (see theorem 2.1, 2.1b and 2.1c) of optimality conditions for a general linear COP. This, apparently, provides the basis for analytical formulation of a complete description (as a system of linear inequalities) of any combinatorial polytope (see theorem 3). Notation that are used throughout the paper is summarised in table 1. In the table 푦 , 푏, 푧 are points in 푅푁 : 푦 ∈ 푅푁 , 푏 ∈ 푅푁 , 푧 ∈ 푅푁 and 푍 is a set of points in 푅푁 : 푍 ∈ 푅푁 . For example, we would frequently need to compare a product 푦푏 with a product 푧푏 for all points 푧 ∈ 푍 so we would regularly use notation 4 from table 1. We would also frequently check whether a point is inside or outside convex (conical) hull. Please note that further by decomposition (notation 5 and 6) we mean only nonnegative one ( ∑ , ). 푦 = 푧푗∈푍 훾푗푧푗 훾푗 ≥ 0 Table 1. Notation used throughout the paper ID Notation Meaning 1 yz 푖=푁 ∑ 푦푖 푧푖 푖=1 2 푐표푛푣(푍) convex hull of 푍 3 푐표푛푒(푍) conical hull of 푍 4 푦푏 ≥ 푍푏 푦푏 ≥ 푧푏 for any 푧 ∈ 푍 5 푦 is decomposed by 푍 so that ∑ ∃ 훾푗 ≥ 0 푦 = 푧푗∈푍 훾푗푧푗 6 decomposition of 푦 by 푍 if 푦 is decomposed by 푍 and is not decomposed by 푍\{푧푘} requires 푧푘 ∈ 푍 7 퐻 ∈ 푅푁 a hypercube with binary (0/1) vertexes 8 퐻푉 vertexes of a unit hypercube (all 0/1 valued vectors in 푅푁 ) 9 퐻±1 ∈ 푅푁 convex hull (hypercube) of all -1/1 valued vectors in 푅푁 . 10 a hypercube with a unit volume and -1/0/1 valued vertexes : 퐻(퐶) 퐶 ∈ 퐸 is indexing -1/0 valued vertexes of 퐻(퐶) 퐸/퐶 is indexing 0/1 valued vertexes of 퐻(퐶) 2. Optimality conditions in combinatorial optimization To derive optimality conditions for COP we consider the set of all instances (SAI) of a given problem with a fixed groundset 퐸 and a fixed family 푇 of feasible subsets. When both 퐸 and 푇 are fixed SAI is defined by possible values of weight vector 푐. Due to the property of linear problems we can scale 푐 with any positive scalar (the order of solutions induced by 푐 is not affected by scaling of 푐) so that we can always ensure that |푐푒| < 1 for each 푒 ∈ 퐸. Thus, without loss of generality SAI is reduced to a consideration of vector 푐 values from 푁- dimensional hypercube 퐻±1 ∈ 푅푁 which is the convex hull of all -1/1 valued vectors in 푅푁 . 2.1 Weight vector: nonnegative case First, for simplicity reasons, we would assume non-negativity of the weight vector: 푐 ≥0. In this case SAI is reduced to a unit hypercube 퐻 ∈ 푅푁: a hypercube with binary (0/1) vertexes. We would use 퐻 to denote exactly a unit hypercube. We use 퐻푉 to denote the set of all unit 푁 hypercube vertexes. Please note that 퐻푉 is a set of all 0/1 valued vectors in 푅 . In section 2.3 we would generalise our results by removing nonnegative constraints for the weight vector. For each 푥푘 ∈ 푋 we define a set 푀푘 = {푐 ∈ 퐻 ∶ 푥푘 푐 ≥ 푋푐} of the weight vector values so that 푥푘 is optimal in COLP. From definition of 푀푘 it is obvious that if and only if 푐 ∈ 푀푘 then 푥푘 is optimal. We will prove that 푀푘 = 푐표푛푣(퐻푘 ) where 퐻푘 is the subset (defined by 푥푘 and 푋) of the unit hypercube vertexes only: 퐻푘 = {ℎ ∈ 퐻푉 ∶ 푥푘 ℎ ≥ 푋ℎ} . Please note that by 푥푘 ℎ ≥ 푋ℎ we mean that 푥푘 ℎ ≥ 푥ℎ for any 푥 ∈ 푋 (see notation 4 from the table 1). To illustrate our ideas consider a Maximum Spanning Tree problem with 3 nodes joined by 3 edges. In this trivial example (figure 1A) the set 푋 consist of 3 elements (possibilities to select 푋 2 edges): 푋 = {푥푘 = (0,1,1), 푥푗 = (1,0,1), 푥푙 = (1,1,0)}. The polytope 푃 is a convex hull of 푋 (blue triangle). Assuming 푐 ≥ 0 and properly scaled the set of all possible values for weight vector 푐 is a unit hypercube 퐻 (in this case just a unit cube). Consider a point 푥푘 = (0,1,1) and a set 푀푘 = {푐 ∈ 퐻 ∶ 푥푘 푐 ≥ 푋푐}. It is easy to check that for 푥푘 = (0,1,1) to be optimal a weight vector 푐 must be in the polytope 푀푘 = 푐표푛푣(퐻푘 ) shown in figure 1B by yellow edges. The same polytopes 푀푗 and 푀푙 for points 푥푗 and 푥푙 are apparently convex hulls of corresponding sets 퐻푗 and 퐻푙 (not shown). The union of 푀푘 , 푀푗 and 푀푙 is a unit cube 퐻. It is also clear that if we consider the case 푐 ≥ 0 (without scaling) then for 푥푘 = (0,1,1) to be optimal we need just change convex with conical hull: 푀푘 = 푐표푛푒(퐻푘 ) . Here we state that the same is related to any general linear COP (in case 푐 ∈ 퐻 the set of weight vector values so that an incidence vector 푥 ∈ 푋 is optimal is defined as convex hull of a unit hypercube vertexes). We summarize this in theorem 2.1. 푋 = 푥푘 ,푥푗 ,푥푙 퐻푘 = {ℎ ∈ 퐻푉 : 푥푘 ℎ ≥ 푋ℎ } 푥푘 =(0,1,1) 푥푗 =(1,0,1) 푥푙 =(1,1,0) (0,1,1) (1,1,1) (0,1,1) (1,1,1) (0,0,1) (1,0,1) (1,1,0) 푃푋 = 푐표푛푣(푋) (0,1,1) (0,1,0) (1,1,0) (0,0,0) A unit hypercube 퐻 ∈ 푅 (0,0,0) A) B) Figure 1. Maximum Spanning Tree (MST) problem with 3 nodes. A) If 푐 ≥ 0 then the set of all instances of MST problem is reduced to a cube of possible values of 푐 (assuming 푐 has been scaled properly). MST polytope 푐표푛푣(푋) is shown. B) The set 푀푘 = {푐 ∈ 퐻 ∶ 푥푘 푐 ≥ 푋푐} for 푥푘 = (0,1,1) is shown by yellow edges as convex hull of cube vertexes: 푀푘 = 푐표푛푣(퐻푘 ). In case 푐 ∈ 퐻 it is easy to check that if and only if 푐 is inside yellow pyramid then 푥푘 is optimal.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    15 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us