3 - Valid Inequalities in Integer Programming Recently, several computational studies have focused on applying polyhedral theory for solving pure and mixed integer problems. These studies have been motivated by the success obtained by Crowder, Johnson and Padberg (1983) in using polyhedral theory to derive cutting planes for solving real large-scale pure zero-one problems, and by Grötschel (1980) for the travelling salesman problem. The use of cutting planes for solving integer problems began in 1954 with the work of Dantzig, Fulkerson and Johnson (1954) for solving the travelling salesman problem. By 1958, Gomory (1958) developed a finitely convergent algorithm for solving general integer problems. The main problem with Gomory's algorithm is that although finite, it has poor convergence properties. Classical cutting planes provide "weak" cuts that frequently do not even define supporting hyperplanes for the underlying polytopes (Padberg and Rinaldi, 1991). Empirical evidence has shown that for a cutting plane algorithm to perform efficiently, it is necessary to use cuts that are strong in the sense that they define facets or faces of high dimension of the convex hull of solutions. The key for the success of the cutting plane algorithms used by Crowder et al. and Grötschel is that the cuts used in their algorithms define facets or faces of high dimensions of the convex hull of the feasible points. Computational studies by Crowder et al. and others (e.g.: Hoffman and Padberg, 1993; Johnson et al., 1985; Pochet and Wolsey, 1991; Van Roy and Wolsey, 1987) have shown that the polyhedral characterization of a substructure of a complex problem is useful to tighten the problem formulation and yields efficient cutting plane algorithms, although the facets of these substructures are not necessarily facets for the larger problem. Another feature of the cutting planes derived from the polyhedral structure of the underlying problem is that they can be used efficiently in a hybrid algorithm that combines cutting plane and branch and bound, since the cuts generated at individual nodes of the tree are valid for the entire tree. To have an efficient cutting plane algorithm, theory and computation must be combined. First the polyhedral structure of the problem has to be investigated. This part consists of deriving valid inequalities and proving that they define high dimensional faces 40 3 - Valid Inequalities in Integer Programming for the underlying polyhedron. The computation consists, in part, of designing algorithms and/or fast heuristics to solve the separation problem. The aim of this chapter is to review techniques for developing general purpose cutting plane algorithms. In this sense some general procedures for generation of valid inequalities are reviewed, as well as valid inequalities for two well known problems: the knapsack problem and the fixed-charge network problem. These two problems are easily identified as subproblems of more complex pure and mixed integer problems. The use of faces and facets for subproblems present in more complex problems has become a common feature in general purpose systems for solving mixed zero-one problems. Examples are: MINTO (Nemhauser et al., 1994), MPSARX (Van Roy and Wolsey, 1987), CPLEX (Cplex Optimization, 1994), and OSL (IBM corporation, 1991). This chapter is organized as follows. Section 3.1 contains concepts from linear algebra and polyhedral theory that are necessary for the following sections. Section 3.2 presents general procedures for generating valid inequalities. Sections 3.3 and 3.4 study valid inequalities for the knapsack polytope and for the fixed-charge network polytope, respectively. 3.1 - Polyhedral theory In this section we summarise the concepts and results from linear algebra and polyhedral theory that are necessary for study of polyhedral cuts. A more detailed discussion on this subject can be found in Grötschel and Padberg (1985), Nemhauser and Wolsey (1988) and Pulleyblank (1989). Definition 3.1 - Convex and Affine Combination - Given vectors x1 , x2 ,, xk R n and scalars 1 , 2 ,, k R , if there exists an x Rn such that x 1 x1 2 x2 k x k and 1 2 k 1 , i 0 , i 1,, k , then x is called a convex combination of x1 , x2 ,, x k . The vector x is called an affine combination of x1 , x2 ,, x k if x 1 x1 2 x2 k x k and 1 2 k 1 . 41 3 - Valid Inequalities in Integer Programming Definition 3.2 - Convex and Affine Hull - The set of all convex combinations of finitely many vectors in P , where P and P R n , is called the convex hull of P and is denoted by conv( P) . Similarly an affine hull of P is the set of all affine combinations of finitely many vectors in P , where P and P R n , and is denoted by Aff ( P) . Definition 3.3 - Linear Independence - A set of points x1 , x2 , , xk R n is linearly independent if the unique solution for 1 x1 2 x2 k xk 0 is i 0 , i 1,, k . Definition 3.4 - Affine Independence - A set of points x1 , x2 ,, xk R n is affine independent if the unique solution for 1 x1 2 x2 k x k 0 , 1 2 k 0 is i 0 , i 1,, k . Note that linear independence implies affine independence, but the converse is not true. Affine independence is more important than linear independence in polyhedral combinatorics because it is invariant under translations of the origin. For example in R 2 the vectors (0,1) and (1,2) are both linear and affine independent, but the vectors (1,1) and (2,2) are only affine independent. However the second set of vectors are obtained by adding (1,0) to the first set of vectors. The next proposition characterizes an affine and a linear subspace. Proposition 3.1 - A set L R n is an affine subspace if and only if there is an (m,n)-matrix A and a vector b R m such that: L x R n : Ax b , L R n is a linear subspace if and only if there is an (m,n)-matrix A such that L x R n : Ax 0 . 42 3 - Valid Inequalities in Integer Programming Definition 3.5 - Affine and Linear Rank - The affine rank of a set P R n is the cardinality of the largest affine independent subset of P . Similarly the linear rank of a set P R n is the cardinality of the largest linear independent subset of P . The affine and linear rank are related as follows. Proposition 3.2 - For every subset P R n : i) If the null vector is in the aff ( P) , then the affine rank of P is equal to the linear rank+1. ii) If the null vector is not in the aff ( P) , then the affine rank of P is equal to the linear rank. Definition 3.6 - The maximum number of linearly independent rows or equivalently, independent columns of a (m,n) matrix A is the rank of A and is denoted by rank ( A) . Proposition 3.3 - If x R n : Ax b , the maximum number of affine independent solutions of Ax b is n 1 rank ( A) . The following results are important for the characterization of the set of feasible solutions of a mathematical programming problem. 43 3 - Valid Inequalities in Integer Programming Definition 3.7 - Hyperplane - Sets of the form x R n : ax a0 where a R n \ 0 and a0 R are called hyperplanes1. Proposition 3.4 - Hyperplanes are affine subspaces. Every affine subspace different from Rn is an intersection of hyperplanes. Definition 3.8 - A set P R n is called full-dimensional if dim( P) n , i.e. there is no hyperplane containing P . If P R n , then Ax b is called a minimal equation system for P if aff ( P) x R n : Ax b and A has full rank. Definition 3.9 - Polyhedron - An intersection of finitely many half-spaces is called a polyhedron. Every polyhedron can be represented in the form P x R n : Ax b . P is called a rational polyhedron if there exist an (m',n) matrix A and a vector b with rational coefficients such that P x R n : A x b . A polytope is a bounded polyhedron, i.e. l, u R n such that l x u . The next results will be helpful to obtain the minimal representation of a polyhedron P R n . Definition 3.10 - Valid Inequality - An inequality x 0 (or ( , 0 ) ) is called valid with respect to P R n if P x R n :x 0 , i.e. if P is contained in the half-space defined by x 0 , or equivalently max{x: x P} 0 . Proposition 3.5 - If x 0 is valid for P , it is valid for conv( P) . 1 Given a set A and a subset B , denote by A \ B the subset obtained by deleting from A the elements in B . 44 3 - Valid Inequalities in Integer Programming Definition 3.11 - Proper Valid Inequality - A valid inequality is called proper for P if it is satisfied as a strict inequality by at least one point x P . Definition 3.12 - Supporting Inequality - A valid inequality is called supporting for the set P if P x R n :x 0 . Definition 3.13 - Face - A subset F of a polyhedron P is called a face of P if there exist a supporting inequality x 0 with respect to P such that F x R n : x 0 . The inequality x 0 is said to define F . It is called proper if F P and F . Definition 3.14 - Two valid inequalities x 0 and x 0 are equivalent if , 0 , 0 for some 0 . If there exists 0 such that then , 0 dominates or is stronger than , 0 and 0 0 , . Definition 3.15 - Maximal - A maximal valid inequality is one that is not dominated by any other valid inequality for P . Definition 3.16 - Facet - A facet of a polyhedron P is a proper nonempty face that is maximal with respect to set inclusion. Usually in combinatorial optimization problems the polyhedra are given as the convex hulls of finite sets of points. To apply mathematical programming techniques to solve these problems it is necessary to describe the convex hulls as systems of linear inequalities. A major problem is to define systems with as few inequalities as possible and 45 3 - Valid Inequalities in Integer Programming therefore facet-defining inequalities have a very important role. The following theorem can be used to establish whether a valid inequality defines a facet. Theorem 3.1 - Let P R n be a polyhedron and assume that A is an (m,n)-matrix, b R m such that aff ( P) x R n : Ax b . Let F x R n :x 0 be a nonempty proper face of P . Then the following statements are equivalent: a) F is a facet of P ; b) dim( F ) dim( P) 1 c) If x 0 for all x F , then there exists a scalar 0 and a vector R m such that A and 0 0 b . Theorem 3.2 below summarizes important results concerning the characterization of the minimal set of inequalities necessary to represent a polyhedron P. A system of equations and inequalities, Dx c and Ax b is said to be complete with respect to a polyhedron P R n , if P x R n : Dx c, Ax b . Theorem 3.2 - Let P R n be a polyhedron and , Dx c and Ax b be a complete nonredundant system for P , where D is (m,n)-matrix and A is a (k,n)-matrix. Then the following holds: a) aff ( P) x R n : Dx c b) aff ( P) and P have dimension n-m c) every inequality a i x bi of the system Ax b defines a facet Fi of P , where Fi x P: ai x bi , i 1,, k . 46 3 - Valid Inequalities in Integer Programming d) if aix bi i 1,, k ; dix ci , i 1,, m is any other complete and nonredundant system for P , then d1) k k d2) di i D for some i R m \ 0 , i 1,, m d3) ai i a j i D for some i 0 , i R m and j 1,, k , i 1,, k . Theorem 3.2 implies that a full-dimensional polyhedron P is defined by a unique (up to multiplication by positive scalars) nonredundant and complete inequality system. Moreover, for every facet F of P there is a unique (up to multiplication by a positive scalar) inequality defining F . If a polytope P is given as the convex hull of finitely many points, then it follows that to get a complete inequality description of P , for every facet of P , it is necessary to know (at least) one inequality defining it. Moreover, if one wants to find a complete nonredundant system , Dx c , Ax b for P , it is necessary to prove that Dx c is a minimal equation system for P , Ax b contains no implicit equations, every inequality of Ax b defines a facet of P , and Ax b contains no equivalent inequalities. To conclude this section some results about the relationship between integer and linear problems are presented. Theorem 3.3 - If P x R n : Ax b , where A, b is an integer (m,n+1) matrix, and S P Z n then conv(S ) is a rational polyhedron. Theorem 3.3 suggests that we can solve the integer program: min{cx: x S} , where S P Z n (IP) by solving the linear program: min{ cx : x conv ( S )} . (CIP) 47 3 - Valid Inequalities in Integer Programming The above results extend to mixed-integer sets with rational data. Proposition 3.6 - To establish the dimension of a face to conv(S ) it is sufficient to consider only points in S . Theorem 3.4 - Given S ( P Z n ) , P x R n : Ax b it follows that: a) The objective value of (IP) is not bounded from below if and only if the objective value of (CIP) is not bounded from below. b) If (CIP) has a bounded optimal solution, then it has an optimal solution (namely an extreme point of conv (S ) ) that is an optimal solution to (IP). c) if x is an optimum solution to (IP) then x is an optimal solution to (CIP). This theorem says that it is possible to solve the integer program (IP) by solving the linear program (CIP). Since, generally, a set of linear inequalities that define conv(S ) is not known, the problem (IP) is formulated using some polyhedron P x R n : Ax b such that S P Z n . Therefore reducing (IP) to an (LP) amounts to deducing a linear inequality representation of conv(S ) , or at least the relevant inequalities with respect to an objective function cx , from the linear inequality representation of P and the integrality requirements. 3.2. General characterization of valid inequalities As seen in the previous section the major concern about applying polyhedral theory to solve mixed integer programming problems is to find a suitable system of inequalities that defines the convex hull of the feasible region of these problems. This section will focus on general procedures to obtain systems of inequalities describing conv(S ) , where S is the set of feasible points of the following integer programming problem: 48 3 - Valid Inequalities in Integer Programming min{cx: Ax b, x 0, x Z n} . (IP) 49 3 - Valid Inequalities in Integer Programming 3.2.1 - Disjunctive Characterisation The disjunctive characterisation of valid inequalities is based on describing a discrete feasible space as a finite disjunction of system of inequalities. The disjunctive model of discrete problems is then given by: S {A h x b h , x 0} hH (3.1) where H is a finite index set and Sh {A h x b h , x 0} 1 are finitely many linear programming spaces to which x S may belong. Sets of valid inequalities for any system of inequalities written in the disjunctive format (3.1) can be generated using the Disjunctive Procedure below. Disjunctive Procedure i) Given positive multipliers u h 0 reduce the system of inequalities defining Sh to a single inequality u h Ah x u h b h . n ii) The inequality min { ( u h j=1 hH h A )j } x j max { uhbh } is valid for (3.1). Where hH (uh Ah ) j denotes the jth component of (uh Ah ) . A good choice of multipliers ( uh : hH) can produce quite strong valid inequalities (Parker and Rardin, 1988). Theorem 3.5 (Parker and Rardin, 1988) below shows that if each of the systems {A h x b h , x 0}is feasible, or can be made feasible by changing the right hand side, or has the same Ah matrix as an element of the disjunction that is feasible, then all valid inequalities for S can be generated using the disjunctive procedure. 50 3 - Valid Inequalities in Integer Programming Theorem 3.5 - Sufficiency of the Disjunctive Procedure - Let S be the feasible set of a finite disjunctive form (3.1). If for each h H : i) Sh {A h x b h , x 0} is nonempty; or ii) there exist d h such that {A h x d h , x 0} is nonempty and bounded; or iii) There exist ih H with Aih Ah and {A ih x b ih , x 0} is nonempty every maximal valid inequality for S can be computed via the disjunctive principle by an appropriate choice of nonnegative u1u H . An application of the Disjunctive Procedure given in Nemhauser and Wolsey (1988) is to derive a valid inequality to the standard disjunction that appears in enumeration algorithms for IP. Suppose S = {x R+n : x0 b0 - a j x j Z , b0 0 } . j N The feasible set S is contained in S1 S2 where: S1 = {x Rn : a x j j b0 - b0 } and S2 = {x Rn : jN a x j j b0 - b0 1} jN If b0 is not integral, S1 S2 is the standard disjunction x 0 b0 or x 0 b0 1 used in enumeration algorithms2. Rewriting S1 and S 2 as : S1 = {x Rn : 1 b0 b0 a x j j 1} and S2 = {x Rn : jN 1 b0 1 b0 a x j j 1} jN and using ii) of the Disjunctive Procedure, with u h 1, h 1,2 , the following valid inequality may derived: x j j -1 jN 51 3 - Valid Inequalities in Integer Programming aj aj where j min , , for j N . b0 - b0 b0 1 - b0 Balas (1979a) used the disjunctive principle to show that for some classes of problems it is possible to obtain the convex hull of (IP) by considering the disjunction one variable at a time. The problems of these classes are those that can be formulated in a conjunctive normal form, i.e. a conjunction where the terms do not contain further conjunctions: min cx s. t . Ax b x 0 and x {x : qih x qiho } i I h Hi and are facial, i.e. each inequality qih x q0h defines a face of S for all i I, h Hi . This fact is important because calculating facets of the convex hull of points satisfying one disjunction is much easier than calculating facets for the convex hull of the full disjunctive set. The class of disjunctive programs that have the facial property includes zero-one programming problems (pure or mixed) but not the general integer problem. Theorem 3.6 (Parker and Rardin, 1988; see also Nemhauser and Wolsey, 1988) below formalises the method for constructing the convex hull of solutions to a bounded, facial, disjunctive program. Imposing the disjunction one by one at each step a ‘partial’ convex hull, i.e. the convex hull of the set defined by the inequalities generated earlier plus one of the disjunctions, is calculated. Theorem 3.6 - Let S0 = x 0: A 0 x b 0 be a nonempty bounded polyhedral set and S = S0 iI hH i x : qih x qih0 52 3 - Valid Inequalities in Integer Programming with all inequalities q ih x qoih defining faces if S 0 is facial. Also for any sequencing of i1 , i2 ,..., i I of the elements of I, define: S k = S0 x: q i1h x q0i1h x: q i2h x q0i2h x: q ik h x q0ik h hHi1 hHi2 hHik with S I S . Then for k 1,2, I Sk = S k 1 x: q ik h x q0ik h h H ik where denotes the convex hull of set . Balas et al. (1993a, 1993b) proposes a lift and project methodology to generate valid inequalities that is equivalent to the sequential convexification procedure for facial disjunctive problems defined by theorem 3.6. The methodology yields a class of finitely convergent cutting planes for mixed zero-one problems. It is based on sequentially lifting the LP relaxation into a higher dimensional space and then projecting back the resulting polyhedra into the original space. 3.2.2 - Superadditive Characterisation The Disjunctive Procedure described above generates the coefficients j of a valid inequality by taking nonnegative linear combinations of the corresponding constraint columns, a j , minimising or maximising over the elements of the disjunction. Thinking of this process as one of computing j as a function F (a j ) , the question of whether there are other characterisations of the function F() that produce valid inequalities arises (Parker and Radin, 1988). Definition 3.17 - Superadditive Function - A function F: D Rn R is called Superadditive over D if: 53 3 - Valid Inequalities in Integer Programming F(d1 ) + F(d 2 ) F(d1 + d 2 ) for all d1 , d 2 , (d1 + d 2 ) D Definition 3.18 - Nondecreasing Function - A function F : D R is called nondecreasing over D if d 1 , d 2 D and d1 d 2 imply F (d1 ) F (d 2 ) . A function with these two properties yields valid inequalities. This result is formalised in proposition 3.7 (Nemhauser and Wolsey, 1988) below. Proposition 3.7 - If F: D Rn R is Superadditive and nondecreasing with F(0) 0 , then F(a j )x j F(b) j N is a valid inequality for S Z n x R n : Ax b . The generality of proposition 3.7 introduces several potential methods for generating valid inequalities. Three examples suggested in Nemhauser and Wolsey (1988) are presented below. i) F ( x ) x , 0 (to guarantee that the function is nondecreasing); ii) F ( x ) x . We have to show that F (a) F (b) F (a b) . But a b 1, if (a b ( a b ) 1 F (a b) a b F (a) F (b) a b otherwise iii) F ( x, y) min x, y . The next theorem (Nemhauser and Wolsey, 1988) shows that conv(S ) can be described using only superadditive valid inequalities. 54 3 - Valid Inequalities in Integer Programming Theorem 3.7 - Every valid inequality for a nonempty set S Z n x R n : Ax b is equivalent to or dominated by a superadditive valid inequality. 3.2.3 - Chvátal-Gomory Characterisation Consider the bounded pure integer program : min cx : Ax b, 0 x d , x Z n . In general, coefficients A, b, c may take any real values, but assume that the upper bounds are integers. Let S Ax b, 0 x d , x Z n , with A a1 ,an . Then a valid inequality for S can be algebraically justified using the following three-step procedure (Nemhauser and Wolsey, 1988). Chvátal-Gomory Procedure (C-G procedure) i) ua j x j ub for all u 0 , u R m . jN ii) ua j x j ub , since x 0 implies ua j ua j x j 0 . j N jN iii) ua x j jN j ub , for all u 0 , since x Z n implies ua x j j Z n . jN This procedure takes both the names of Chvátal and Gomory because Chvátal developed it explicitly in 1973 and Gomory implicitly in 1958-63. Chvátal proved that finitely many such simple steps can derive every needed inequality for conv(S ) . Therefore, the minimum number of steps needed is called the ‘Chvátal rank’ of the inequality (Nemhauser and Wolsey, 1988; Parker and Rardin, 1988). Like the disjunctive and the supperadditive analogues, Theorem 3.8 (Parker and Rardin, 1988) shows that all the valid inequalities necessary to obtain conv(S ) can be generated by the C-G procedure. 55 3 - Valid Inequalities in Integer Programming Theorem 3.8 - Consider the problem min cx : Ax b, 0 x d , x Z n and the feasible region given by S Ax b, 0 x d , x Z n . Then any integer supporting inequality for S can be derived by a finite sequence of applications of the C-G procedure, each new inequality being added to the linear system, Ax b , from which the next is derived. Given S = P Z 2 Example: P x R 2 :4 x1 x2 28, x1 4 x2 22, x1 x2 1 where show that x 2 6 is a facet for conv(S ) using the C-G procedure. i) We have to find a vector u 0 such that uAx ub . One solution for this system of inequalities is : u ( 2/45, 250/990, 0) The valid inequality is : 426 1044 306 x1 x2 . 990 990 45 306 306 425 1044 x1 x2 x2 ii) 45 45 990 990 306 x2 6 iii) x2 45 Dietritch and Escudero (1994) show that the clique inequalities (chapter 2) and the minimal cover inequalities (section 3.3) as well as the inequalities resulting from the application of the myopic coefficient reduction (chapter 2) can be obtained by applying the CG-procedure. Vanderbeck and Wolsey (1992) solve a simple integer programming problem involving production of a single item and start-up costs (The Lasdon-Terjung production model) using the inequalities derived by the C-G procedure as cutting planes. Solving the model using the standard Branch and Bound method leads to a prohibitively large search 56 3 - Valid Inequalities in Integer Programming trees. Using the C-G inequalities as cutting planes in the root node substantially reduced the size of the search tree, and for some instances eliminated the need to branch. 3.2.4 - Boolean, Geometrical and Combinatorial Characterisation The three procedures presented above provide finite algorithms to solve integer problems. Although finite, in practice these algorithms are likely to converge slowly, and thus have limited practical application. However, they suggest simple ways to derive sets of valid inequalities or to show that a given one is valid. They also give a more general way to look at the classical Cutting Plane method introduced by Gomory in the sixties. Moreover, since the valid inequalities are satisfied by all points in S , they can be used in a hybrid algorithm that combines Cutting Plane and Branch and Bound, where the cuts are generated at each node of the tree. Still, these characterisations of valid inequalities do not exhaust all the possibilities of obtaining valid inequalities for integer problems. An important approach that has been widely applied is to explore the boolean, geometrical or combinatorial structure of the problem to generate facets or faces of higher dimensions of the underlying polytope. Examples of problems which have their polyhedral structure described by such methods are : assignment problems (e.g. Aboudi and Nemhauser, 1991; Aboudi et al., 1991; Padberg and Alevras, 1993); design of communications networks (e.g. Grötschel et al., 1992); fixed-charge network problems (e.g. Van Roy and Wolsey, 1985;1986); knapsack problems (e.g. Balas, 1975; Wolsey, 1975); lot-sizing problems (e.g. Pochet and Wolsey, 1991; Clark and Armentano, 1995); plant location problems ( Leung and Magnanti, 1987); production scheduling (Magnanti and Vachini, 1990). However, this approach is problem dependent and there is no general process for generating valid inequalities based on it. Yet, if these problems are identified as subproblems within more generic ones, then the known valid inequalities may be applied. Valid inequalities derived from GUB constraints have been described by several authors including Wilson (1990) and Wolsey (1990). The knapsack and the fixed-charge network problems are two well structured problems whose polyhedral description can be useful for solving pure and mixed zero-one problems. Sections 3.3 and 3.4 examine valid inequalities for the knapsack and the fixed-charge network polytope respectively. The 57 3 - Valid Inequalities in Integer Programming conditions under which these valid inequalities define facets and procedures for identifying violated inequalities are also discussed. 3.2.5 - Fenchel cuts Boyd (1993, 1994a, 1994b) derives valid inequalities using a different approach. He addresses the problem of generating cutting planes by considering algorithms that focus directly on the separation problem without assuming any a priori knowledge about the facial structure of a polyhedron. The methodology is applicable to mixed integer as well as pure integer problems. Consider the integer problem (IP). Let PS be some polyhedron containing the feasible integer points for (IP) and x be the optimal solution to the linear relaxation of problem (IP). The methodology presented attempts to identify a valid inequality that is not satisfied by x but contains PS . Given R n , define f ( ) maxx: x PS and v( ) x f ( ) . According to theorem 3.9 (Boyd, 1994b) below, there is a valid inequality separating x from PS if and only if v( ) 0 . Theorem 3.9 - There exists a value for which v( ) 0 if and only if there exists a hyperplane x f ( ) separating x from PS . Due to similarities with Fenchel duality the inequalities x f ( ) are referred to as Fenchel cuts. Observing that for any scalar 0 , v ( ) v ( ) it follows that if v( ) achieves a positive value it achieves a positive value on any full dimensional set that has the origin on its strict interior. This implies that there is considerable freedom when choosing the domain for optimizing function v( ) . However the depth of the Fenchel cuts depends on the choice of a domain . Boyd (1993) observes that if the set 58 3 - Valid Inequalities in Integer Programming represents the unit sphere in an arbitrary norm, the Fenchel cut associated with the optimal solution of the problem: maxv( ): (Q) represents the deepest cutting plane separating x and PS as measured by the dual norm. The solution of problem (Q) can be simplified considering the properties of the function v( ) stated in the following two theorems (Boyd, 1994b). Theorem 3.10 - The function v( ) is piecewise linear and concave. Specifically, v( ) can be expressed as v( ) min x x i : x i E ( PS ) where E ( PS ) is the set of extreme points of PS . Theorem 3.11 - If x satisfies x f ( ) then ( x x ) is a subgradient of v( ) at . Although subgradient techniques or generalized programming are the common methods employed to solve problems such as Q, the application of these methods to generate Fenchel cuts in practice proved to be very inefficient as pointed out by Boyd (1993). Defining as a linear constraint set and finding a suitable relaxation of the set of feasible points for (IP) allowed the use of the simplex method as an alternative. In fact, it proved to be essential in efficiently generating Fenchel cuts (Boyd, 1993). The convergence of a cutting plane algorithm using Fenchel cuts is discussed in Boyd (1995). Boyd (1993, 1994b) shows the computational value of the methodology by applying it to a collection of real-world pure zero-one problems taken from the MIPLIB library (see chapter 5). From the seven problems examined, four were solved to 59 3 - Valid Inequalities in Integer Programming optimality without the aid of branch and bound, and six had the integer gap closed by over 98% (Boyd, 1994b). 60