1. Mathematical Programming Problems

advertisement
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 aix  bi i  1,, k  ; dix  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}
hH
(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 hH
h
A )j } x j
 max { uhbh } is valid for (3.1). Where
hH
(uh Ah ) j denotes the jth component of (uh Ah ) .
A good choice of multipliers ( uh : hH) 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 u1u 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  Rn :
a x
j
j
 b0 - b0  } and S2 = {x  Rn :
jN
a x
j
j
 b0 - b0   1}
jN
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  Rn :
1
b0   b0
a x
j
j
 1} and S2 = {x  Rn :
jN
1
b0   1  b0
a x
j
j
 1}
jN
and using ii) of the Disjunctive Procedure, with u h  1, h  1,2 , the following valid
inequality may derived:
 x
j
j
 -1
jN
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  


   
iI
hH 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 
 hHi1
  hHi2

 hHik







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 .
jN
 

ii)  ua j x j  ub , since x  0 implies   ua j  ua j  x j  0 .
j N
jN
iii)
 ua x
j
jN
j
  ub , for all u  0 , since x  Z n implies
 ua x
j
j
Z n .
jN
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 ( )  maxx: 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:
maxv( ):  
(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
Download