Directory UMM :Data Elmu:jurnal:O:Operations Research Letters:Vol27.Issue1.2000:

Operations Research Letters 27 (2000) 13–19
www.elsevier.com/locate/dsw

An algorithm for the multiparametric 0 –1-integer linear
programming problem relative to the constraint matrix
Alejandro Crema ∗
Escuela de Computacion, Facultad de Ciencias, Universidad Central de Venezuela, Apartado 47002, Caracas 1041-A, Venezuela
Received 1 January 1998; received in revised form 1 March 2000

Abstract
The multiparametric 0 –1-Integer Linear Programming (0 –1-ILP) problem relative to the constraint matrix is a family of
0 –1-ILP problems in which the problems are related by having identical objective and right-hand-side vectors. In this paper
c 2000 Elsevier Science B.V. All rights reserved.
we present an algorithm to perform a complete multiparametric analysis.
Keywords: Integer programming; Parametric programming; Knapsack problem

1. Introduction
The need for parametric analysis in Mathematical
Programming arises from the uncertainty in the data.
The most important surveys of parametric methods in
integer linear programming (ILP) have been published

by Geo rion and Nauss [4], Holm and Klein [5] and
Jenkins [8]. Most work has been done on changes in
the right-hand side or in the objective vector with a
scalar parameter guiding the perturbation of the data.
Changes in elements of the constraint matrix have
been considered by Jenkins [7] with a scalar parameter
guiding the perturbation in such a manner that for the
maximization case the feasible region increases continuously . The multiparametric ILP problem relative
to the right-hand-side vector has been considered by
Crema [2] and some of the ideas presented here may

be considered as generalizations of those presented in
that work. In the case of multiple changes on the constraint matrix, in such a manner that there is no scalar
guiding the perturbation, no deep results are known
up to now [8,1].
Let L and U be matrices such that L ∈ Zm×n
and U ∈ Zm×n with Lij 6Uij for all (i; j) ∈ I × J =
{1; : : : ; m} × {1; : : : ; n}. Let H = {A: A ∈ Zm×n ;
Lij 6Aij 6Uij ∀(i; j) ∈ I × J }. Let
= {(i; j) ∈ I ×

J : Lij ¡ Uij }. In this paper
6= ∅. Let S ⊆ H de ned
by linear constraints in Aij where (i; j) ∈ I × J .
The multiparametric 0 –1-ILP problem relative to S
is a family of 0 –1-ILP problems in which the problems are related by having identical objective and
right-hand-side vectors. A member of the family is
de ned as
(P(A))

Fax: 58-2-605-1131 or 58-2-605-2136.
E-mail address: acrema@kuaimare.ciens.ucv.ve (A. Crema).

max

ct x

s:t:

Ax6b;




where c ∈ R n ; b ∈ Zm and A ∈ S.

c 2000 Elsevier Science B.V. All rights reserved.
0167-6377/00/$ - see front matter
PII: S 0 1 6 7 - 6 3 7 7 ( 0 0 ) 0 0 0 3 4 - 1

x ∈ {0; 1}n

14

A. Crema / Operations Research Letters 27 (2000) 13–19

Because all the constraints can be put in the form
6 and for the sake of standardization the members of
the family were written in a maximization form with
all the constraints in the form 6.
We use the following standard notation: if T is an
optimization problem then F(T ) denotes its set of feasible solutions, if D is a matrix Di∗ denotes its ith row

vector.
Constraints in the form ¿ can be treated as follows: let us consider the constraint at x¿a0 where
L′j 6aj 6Uj′ , then we use Ai1 ∗ x6bi1 =−a0 with −Uj′ =
Li1 j 6Ai1 j 6Ui1 j = −L′j .
Equality constraints can be treated as follows: let
us consider the constraint at x = a0 where L′j 6aj 6Uj′ .
In this case we use two constraints,
Ai1∗ x6bi1 = a0
L′j = Li1 j 6Ai1 j 6Ui1 j = Uj′
where L′j 6aj 6Uj′

Proof. If A ∈ W (1) then x(1) ∈ F(P(A)). If x ∈ F(P(A))
 t x(1) .
then (x;
 A) ∈ F(Q(1) ) and ct x6c

Ui∗ x −

and now the second constraint can be put in the form
Ai2 ∗ x6bi2 = −a0 such as we explain above. Note that

in this case the parameters of constraints i1 and i2 are
not independent and their relations (Ai2 j = −Ai1 j for
all j) must be included to de ne S.
We say that a multiparametric analysis is complete
after nding an optimal solution for P(A) (if it exists)
for all A ∈ S. In this paper we present an algorithm
to perform a complete multiparametric analysis. Our
algorithm works by choosing an appropiate nite sequence of non-parametric ILP problems in such a manner that the solutions of the problems in the sequence
provide us with a complete multiparametric solution.
This kind of approach was introduced by Jenkins
[6 –8] to the single parametric case.
In Section 2 we present the theoretical results and
the algorithm. Computational experience is presented
in Section 3.
2. Theoretical results and the algorithm

x ∈ {0; 1}n ;

max
X


Bij 6bi

ct x

s:t:;

∀i ∈ I;

j∈J

Bij − (Uij − Lij )xj 60

∀(i; j) ∈ I × J;

x ∈ {0; 1}n ; B ∈ Zm×n ; Bij ¿0

∀(i; j) ∈ I × J;

U − B ∈ S:

Remark 2. Observe that if (i; j) 6∈
then Uij =Lij and
Bij = 0 and therefore if (i; j) 6∈
we can delete the
variable Bij and the constraint Bij − (Uij − Lij )xj 60
in order to solve QL(1) .
Lemma 2. Let us suppose that (x(1) ; B(1) ) ∈ F(QL(1) )
(1)
and let A(1)
ij = Uij − Bij for all (i; j) ∈ I × J . Then;
(x(1) ; A(1) ) ∈ F(Q(1) ).
Proof. Since (x(1) ; B(1) ) ∈ F(QL(1) ) and from the definition of A(1) we have that
(1) (1)
(1)
= (Ui∗ − Bi∗
)x
A(1)
i∗ x
X (1)
(1)

= Ui∗ x −
Bij 6bi

∀i ∈ I:

j∈J

Let Q(1) be a non-linear integer problem in (x; A)
de ned as
max ct x s:t: Ax6b;

Lemma 1. Let us suppose that F(Q(1) ) 6= ∅ and
let (x(1) ; A(1) ) be an optimal solution for Q(1) . Let
W (1) = {A: A ∈ S; Ax(1) 6b}. If A ∈ W (1) then x(1) is
an optimal solution for P(A).

(QL(1) )

and


(Q(1) )

Remark 1. (i) By construction of Q(1) , if F(Q(1) ) = ∅
then F(P(A)) = ∅ for all A ∈ S. (ii) Since F(Q(1) ) is a
nite set, if F(Q(1) ) 6= ∅ then there exists an optimal
solution for Q(1) .

In order to use Remark 1 and Lemma 1 we solve an
ILP problem equivalent to Q(1) . Let QL(1) be an ILP
problem in (x; B) de ned as

where

at x¿a0

Observe that Aij is a decision variable in Q(1) for
all (i; j) 6∈
.

A ∈ S:


Lemma 3. Let us suppose that (x(1) ; A(1) ) ∈ F(Q(1) )
(1)
and let Bij(1) = (Uij − A(1)
for all (i; j) ∈ I × J .
ij )xj
Then; (x(1) ; B(1) ) ∈ F(QL(1) ).

15

A. Crema / Operations Research Letters 27 (2000) 13–19

Proof. Since A(1) ∈ S and from the de nition of B(1)
we have that
(1)
Bij(1) = (Uij − A(1)
ij )xj

6(Uij − Lij )xj(1)


∀(i; j) ∈ I × J:

Since (x(1) ; A(1) ) ∈ F(Q(1) ) and from the de nition
of B(1) we have that
X (1)
(1)
Bij = Ui∗ x(1) − (Ui∗ − A(1)
Ui∗ x(1) −
i∗ )x
j∈J
(1)
= A(1)
i∗ x 6bi

∀i ∈ I:

Thus, (x(1) ; B(1) ) ∈ F(QL(1) ).
Corollary 1. (i) F(Q(1) )=∅ if and only if F(QL(1) )=
∅. (ii) Let us suppose that F(QL(1) ) 6= ∅; let
(x(1) ; B(1) ) be an optimal solution for QL(1) ; let
(1)
for all (i; j) ∈ I × J and let
A(1)
ij = Uij − Bij
(1)
W = {A: A ∈ S; Ax(1) 6b}. Then (ii:1) (x(1) ; A(1) )
is an optimal solution for Q(1) ; (ii:2) if A ∈ W (1) then
x(1) is an optimal solution for P(A).
Remark 3. (i) If F(QL(1) ) = ∅ then F(P(A)) = ∅ for
all A ∈ S and the multiparametric analysis is complete.
(ii) If S = W (1) then the multiparametric analysis is
complete.
In order to decide whether S = W (1) we will present
an integer feasibility problem later in this section.
In general, suppose that x(1) ; : : : ; x(r) and W (1) ; : : : ;
(r)
W are given (r¿1) such that
(i) W (k) = {A ∈ S: Ax(k) 6b} 6= ∅ (k ∈ {1; : : : ; r}).
(ii) If A ∈ W (1) then x(1) is an optimal solution for
P(A).
(iii) If A ∈ W (k) − (W (1) ∪ · · · ∪ W (k−1) ) then x(k) is
an optimal solution for P(A) (k ∈ {2; : : : ; r}).
Let Q(r+1) be a non-linear integer problem in (x; A)
de ned as:
(Q(r+1) )

max ct x s:t: Ax6b; x ∈ {0; 1}n ;

A ∈ S − (W (1) ∪ · · · ∪ W (r) )
Remark 4. (i) By construction of Q(r+1) , if
F(Q(r+1) ) = ∅ then either S = (W (1) ∪ · · · ∪ W (r) ) or
F(P(A)) = ∅ for all A ∈ S − (W (1) ∪ · · · ∪ W (r) ). (ii)
Since F(Q(r+1) ) is a nite set, if F(Q(r+1) ) 6= ∅ then
there exists an optimal solution for Q(r+1) .

Lemma 4. Let us suppose that F(Q(r+1) ) 6= ∅ and
let (x(r+1) ; A(r+1) ) be an optimal solution for Q(r+1) .
Let W (r+1) = {A: A ∈ S; Ax(r+1) 6b}. If A ∈ W (r+1) −
(W (1) ∪ · · · ∪ W (r) ) then x(r+1) is an optimal solution
for P(A).
Proof. If A ∈ W (r+1) −(W (1) ∪· · ·∪W (r) ) then x(r+1) ∈
F(P(A)). If x ∈ F(P(A)) then (x;
 A) ∈ F(Q(r+1) ) and
t
t (r+1)

x
.
c x6c
In order to use Remark 4 and Lemma 4 we solve an
ILP problem equivalent to Q(r+1) . Let Mi(k) = (Ui∗ −
Li∗ )x(k) for all k ∈ {1; : : : ; r} and for all i ∈ I . Let
QL(r+1) be an ILP problem in (x; B; y(1) ; : : : ; y(r) ) de ned as
(QL(r+1) )

max

ct x

s:t:

(x; B) ∈ F(QL(1) );
Bi∗ x(k) + yi(k) (Mi(k) + bi − Ui∗ x(k) + 1)6Mi(k)
∀i ∈ I; ∀k ∈ {1; : : : ; r};
X (k)
yi ¿1 ∀k ∈ {1; : : : ; r};
i∈I

y(k) ∈ {0; 1}m

∀k ∈ {1; : : : ; r}:

Remark 5. Again, if (i; j) 6∈
we can delete the variable Bij and the constraint Bij − (Uij − Lij )xj 60 in
order to solve QL(r+1) . Let
i = {j ∈ J : (i; j) ∈
}. If

i = ∅ then Bij = 0 for all j ∈ J and Bi∗ x(k) = 0. Let i
such that
i = ∅ and let k ∈ {1; : : : ; r}. Since W (k) 6= ∅
then Ui∗ x(k) 6bi , therefore bi − Ui∗ x(k) + 1¿1 and
yi(k) = 0. Thus, if
i = ∅ we can delete the variables
yi(k) and the constraints
Bi∗ x(k) + yi(k) (Mi(k) + bi − Ui∗ x(k) + 1)6Mi(k)
for all k ∈ {1; : : : ; r} in order to solve QL(r+1) .
Lemma 5. Let us suppose that (x(r+1) ; B(r+1) ;
y(1) ; : : : ; y(r) ) ∈ F(QL(r+1) ) and let Aij(r+1) = Uij −
Bij(r+1) for all (i; j) ∈ I × J . Then; (x(r+1) ; A(r+1) ) ∈
F(Q(r+1) ).
Proof. Since (x(r+1) ; B(r+1) ; y(1) ; : : : ; y(r) ) ∈ F(QL(r+1) )
then
(x(r+1) ; B(r+1) ) ∈ F(QL(1) )

16

A. Crema / Operations Research Letters 27 (2000) 13–19

and from Lemma 2 we have that (x(r+1) ; A(r+1) ) ∈
.
F(Q(1) ) and A(r+1) ∈ W (r+1) P
Set k ∈ {1; : : : ; r}. Since i ∈ I yi(k) ¿1 then there
exists ik ∈ I such that
ik 6= ∅ and yi(k)
= 1. Thus,
k
Bik ∗ x(k) + bik − Uik ∗ x(k) + 160
and from the de nition of A(r+1) we have that
(k)
)x(k) ¿bik + 1
= (Uik ∗ − Bi(r+1)
Ar+1
ik ∗ x
k∗

and then A(r+1) 6∈ W (k) . Thus, A(r+1) ∈ W (r+1) −
(W (1) ∪ · · · ∪ W (r) ).
Lemma 6. Let us suppose that (x(r+1) ; A(r+1) ) ∈
F(Q(r+1) ) and let Bij(r+1) = (Uij − Aij(r+1) )xj(r+1) for
all (i; j) ∈ I × J . Then; there exists y(1) ; : : : ; y(r) such
that (x(r+1) ; B(r+1) ; y(1) ; : : : ; y(r) ) ∈ F(QL(r+1) ).
Proof. Since (x(r+1) ; A(r+1) ) ∈ F(Q(r+1) ) then (x(r+1) ;
A(r+1) ) ∈ F(Q(1) ) and from Lemma 3 we have that
(x(r+1) ; B(r+1) ) ∈ F(QL(1) ). Set k ∈ {1; : : : ; r}. Since
A(r+1) ∈ S − (W (1) ∪ · · · ∪ W (r) ) then there exists ik ∈ I
x(k) ¿bik + 1. Let yi(k) = 0
such that
ik 6= ∅ and Ai(r+1)
k∗
for all i ∈ I such that i 6= ik and let yi(k)
= 1. From
P k
the de nition of y(k) we have that i ∈ I yi(k) = 1. Let
i 6= ik then from the de nition of Mi(k) we have that
(r+1) (k)
Bi∗
x + yi(k) (Mi(k)
(r+1) (k)
x 6Mi(k) :
=Bi∗

+ bi − Ui∗ x

(k)

+ 1)

From the de nition of B(r+1) we have that Uij −
Bij(r+1) ¿Aij(r+1) for all (i; j) ∈ I × J and then
Bi(r+1)
x(k) + yi(k)
(Mi(k)
+ bik − Uik ∗ x(k) + 1)
k
k
k∗
x(k)
=Bi(r+1)
k∗
6Mi(k)
k
Thus,

+

(Mi(k)
k

+ bik −

+ bik − Uik ∗ x

Ai(r+1)
x(k)
k∗

+

(k)

+ 1)

16Mi(k)
:
k

(x(r+1) ; B(r+1) ; y(1) ; : : : ; y(r) ) ∈ F(QL(r+1) ).

Corollary 2. (i) F(Q(r+1) ) = ∅ if and only if
F(QL(r+1) )=∅. (ii) Let us suppose that F(QL(r+1) ) 6=
∅; let (x(r+1) ; B(r+1) ; y(1) ; : : : ; y(r) ) be an optimal solution for QL(r+1) ; let Aij(r+1) = Uij − Bij(r+1) for all
(i; j) ∈ I × J and let W (r+1) = {A: A ∈ S; Ax(r+1) 6b}.
Then (ii:1) (x(r+1) ; A(r+1) ) is an optimal solution for
Q(r+1) ; (ii:2) if A ∈ W (r+1) − (W (1) ∪ · · · ∪ W (r) ) then
x(r+1) is an optimal solution for P(A).

Remark 6. If F(QL(r+1) ) = ∅ then either S = (W (1) ∪
· · ·∪W (r) ) or F(P(A))=∅ for all A ∈ S −(W (1) ∪· · ·∪
W (r) ) and the multiparametric analysis is complete.
In order to decide whether S = (W (1) ∪ · · · ∪ W (r) )
we solve an integer linear feasibility problem in
(B; y(1) ; : : : ; y(r) ) in which we are looking for a B such
that A de ned by Aij = Uij − Bij for all (i; j) ∈ I × J
satis es A ∈ S − (W (1) ∪ · · · ∪ W (r) ). If the problem
is unfeasible then S = (W (1) ∪ · · · ∪ W (r) ).
Let T (r+1) be an integer linear feasibility problem
in (B; y(1) ; : : : ; y(r) ) de ned as
(T (r+1) )

Find

Bij 6Uij − Lij

(B; y(1) ; : : : ; y(r) ) s:t:;

∀(i; j) ∈ I × J;

Bi∗ x(k) + yi(k) (Mi(k) + bi − Ui∗ x(k) + 1)6Mi(k)
∀i ∈ I; ∀k ∈ {1; : : : ; r};
X

yi(k) ¿1

∀k ∈ {1; : : : ; r};

i∈I

y(k) ∈ {0; 1}m

∀k ∈ {1; : : : ; r};

B ∈ Zm×n ; Bij ¿0

∀(i; j) ∈ I × J; U − B ∈ S:

The same arguments that lead to Corollary 2(i)
guide us to the following lemma.
Lemma 7. F(T (r+1) ) = ∅ if and only if S = (W (1) ∪
· · · ∪ W (r) ).
Remark 7. Again, if (i; j) 6∈
we can delete the
variable Bij and the constraint Bij 6Uij − Lij and if

i = ∅ then we can delete the variables yi(k) for all
k ∈ {1; : : : ; r} and the constraint Bi∗ x(k) + yi(k) (Mi(k) +
bi − Ui∗ x(k) + 1)6Mi(k) for all k ∈ {1; : : : ; r}.
Remark 8. In the de nition of QL(r+1) and T r+1 we
use y(1) ; : : : ; y(r) (additional 0 –1-decision variable
vectors) and additional constraints in order to be sure
that A(r+1) ∈ W (r+1) − (W (1) ∪ · · · ∪ W (r) ). Note that
the integrality of the matrices that belong to S was
strongly used.
Since S is a nite set, our set of lemmas, corollaries
and remarks prove that the next algorithm provides us

17

A. Crema / Operations Research Letters 27 (2000) 13–19

with a complete multiparametrical analysis. We will
present an outline of our algorithm and then the step by
step description. Our algorithm works as follows. First
we solve QL(1) . If F(QL(1) ) = ∅ then F(Q(1) ) = ∅ and
F(P(A))=∅ for all A ∈ S and the parametrical analysis
is complete. If F(QL(1) ) 6= ∅ then let (x(1) ; B(1) ) be
an optimal solution. Note that QL(1) is equivalent to
Q(1) and from the de nition of Q(1) it is very easy
to see that we are looking for (x; A) with the best
possible value for all A ∈ S and x ∈ F(P(A)). Then,
if (x(1) ; A(1) ) is an optimal solution for Q(1) (we use
A(1) = U − B(1) ) we have that x(1) remains optimal for
all P(A) such that A ∈ W (1) = {A: A ∈ S; Ax(1) 6b}.
Then we save x(1) . The next step is to solve T (2) in
order to decide if S = W (1) . With T (2) we are looking
for a B such that A = U − B satis es A ∈ S − W (1) . If
T (2) is infeasible then S = W (1) and the parametrical
analysis is complete. Let us suppose that F(T (2) ) 6= ∅.
Next we solve QL(2) , an equivalent problem to Q(2) , in
order to obtain a pair (x; A) with the best possible value
for all A ∈ S − W (1) and x ∈ F(P(A)). Let (x(2) ; B(2) )
be an optimal solution for QL(2) then (x(2) ; A(2) ) is an
optimal solution for Q(2) with A = U − B(2) and x(2)
remains optimal for P(A) if A ∈ S and A ∈ W (2) −W (1)
with W (2) = {A: A ∈ S; Ax(2) 6b}. Then we save x(2) .
The procedure continues until either F(T (r) ) = ∅ (that
is S = W (1) ∪ · · · ∪ W (r−1) ) or F(QL(r) ) = ∅ (that is
F(P(A)) = ∅ for all A ∈ S − (W (1) ∪ · · · ∪ W (r−1) )).

2.1. The multiparametric algorithm relative to the
constraint matrix
Step 1: Solve QL(1) . If F(QL(1) ) = ∅ STOP (with
F(P(A)) = ∅ for all A ∈ S). If F(QL(1) ) 6= ∅ and
(x(1) ; B(1) ) is an optimal solution for QL(1) then save
x(1) (if A ∈ W (1) then x(1) is an optimal solution for
P(A)).
Step 2: Set r = 2.
Step 3: Solve T (r) . If F(T (r) ) = ∅ STOP (with S =
(W (1) ∪ · · · ∪ W (r−1) )).
Step 4: Solve QL(r) . If F(QL(r) ) = ∅ STOP (with
F(P(A)) = ∅ for all A ∈ S − (W (1) ∪ · · · ∪ W (r−1) ).
If F(QL(r) ) 6= ∅ and (x(r) ; B(r) ; y(1) ; : : : ; y(r−1) ) is an
optimal solution for QL(r) then save x(r) (if A ∈ W (r) −
(W (1) ∪ · · · ∪ W (r) ) then x(r) is an optimal solution for
P(A).)
Step 5: Set r = r + 1 and return to step 3.

3. Computational experience
Our algorithm, that may be implemented by using any software capable of solving ILP problems,
has been implemented in XL-FORTRAN using the
OSL package of IBM [9] that uses a Branch and
Bound algorithm based on linear relaxations to solve
ILP problems. The experiments were performed on
a RISC=6000 multiuser environment at the Computer
Science Department Laboratory (UCV). The problem
considered was the 0 –1-MK problem [3]. Our experimental results are preliminary since more problems
should be solved before reaching nal conclusions.
The 0 –1-MK problem relative to constraint matrix
A may be written as
(P(A))

max

ct x

s:t:

Ax6b;

x ∈ {0; 1}n ;

where bi ¿0 for all i ∈ I , cj ¿0 for all j ∈ J and Aij ¿0
for all (i; j) ∈ I × J .
The data were generated using procedures analogous to those used by Crema [2] to evaluate the
performance of the multiparametric algorithm relative to b. The matrix U ∈ Zm×n and the vector
c ∈ Zn were drawn from uniform distributions on
(1; umax) and (1; cmax), respectively. The elements
of b were determined by summing the elements
of each row of U and multiplying this sum by
(0 ¡ ¡ 1). The nal U , c and b were obtained by
rounding down the generated data. Next we generated at random the pairs (i; j) that de ne
with the
cardinality of
predetermined. The matrix L was
determined as follows: Lij = Uij for all (i; j) 6∈
and
Lij = integer part of (1 − )Uij (0 ¡ ¡ 1). We
considered the multiparametric analysis relative to
S = {A ∈ Zm×n : Lij 6Aij 6Uij ∀(i; j) ∈ I × J }.
The experiments were designed to evaluate the
performance of the algorithm as: (i) dimensions increase, (ii) k increases, (iii) cmax increases, (iv)
umax increases, (v) increases and (vi) increases.
The results are reported in Table 1.As may be seen
it is very dicult to make conclusions about the
relation between ; ; cmax; umax and the diculty of the problems. Obviously the problems are
more dicult to solve as dimensions increase. The
non-multiparametric 0 –1-MK problem is NP-hard
which explains the diculties as dimensions increase.
Although we can expect that the diculties increase
as k increases it is very dicult to make conclusions

18

A. Crema / Operations Research Letters 27 (2000) 13–19

Table 1
Computational experiencea
p

n

m

k

cmax

umax





r

Si

SiT

N

NT

t

tT

1
2
3

20
30
50

3

3

100

100

0.25

0.1

1
2
1

141
291
605

15840
26820
86600

63
143
325

8100
16226
47938

0.09
0.11
0.11

3.69
7.22
16.98

4
5
6

20
30
50

6

3

100

100

0.25

0.1

1
1
1

294
483
1632

59304
114824
620130

142
199
577

37632
55440
246740

0.12
0.12
0.25

14.51
18.99
82.72

7
8
9

20
30
50

9

3

100

100

0.25

0.1

2
1
1

1224
201
1523

201149
24252
139362

470
80
500

95708
11088
50156

0.18
0.04
0.19

34.11
4.45
17.14

10
11
12

50

9

2
4
6

1000

1000

0.5

0.1

1
1
1

5226
829
1247

824088



1684
278
403

294810



0.66
0.09
0.17

92.21



13
14
15
16

20

3

6
8
10
15

100

100

0.5

0.1

13
2
4
1

18437
391
1567
267






10591
185
626
100






4.17
0.15
0.32
0.10






17
18
19

100

10

5
10
15

100

100

0.5

0.05

2
1
1

29706
13706
9059





7532
4109
1808





1.43
0.89
0.65





20
21
22
23

100

10

20

10
20
50
100

100

0.5

0.1

3
5
2
2

183227
54934
38936
21643






36977
16059
8648
5050






12.33
5.61
2.89
1.68






24
25
26
27

40

6

3

20
50
100
1000

100

0.5

0.1

4
1
1
1

19656
493
1053
535

675226
49500
730034
86619

8737
211
420
274

306414
23328
323075
45378

2.79
0.06
0.13
0.09

63.78
9.87
69.74
17.14

28
29
30
31
32

100

10

20

100

10
50
100
1000
10000

0.5

0.1

4
1
1
2
4

72803
15775
10610
26168
187478







19256
3686
2227
5511
34628







6.55
1.16
0.84
1.87
11.15







33
34
35
36

100

10

20

100

100

0.1
0.3
0.7
0.7

0.1

1
4
15
6

40287
507806
439616
26271






7420
85855
224623
7512






2.70
28.49
30.45
1.76






37
38
39

100

10

20

100

100

0.5

0.05
0.15
0.20

1
7
3

10581
414200
45316





2054
93377
9726





0.97
31.74
3.31





a Note: p: an index to identify the problem; k: the cardinality of
; r: the number of ‘QL-problems’ solved in order to complete the
multiparametric analysis; Si: the number of simplex iterations computed to solve QL(1) ; : : : ; QL(r) and T (2) ; : : : ; T (r) ; SiT : the number of
simplex iterations computed to solve P(A) for all A ∈ S (without the multiparametric algorithm); N : the number of nodes generated by
the branch and bound algorithm to solve QL(1) ; : : : ; QL(r) and T (2) ; : : : ; T (r) ; NT : the number of nodes generated by the branch and bound
algorithm to solve P(A) for all A ∈ S (without the multiparametric algorithm); t: the CPU-time (seconds) to solve QL(1) ; : : : ; QL(r) and
T (2) ; : : : ; T (r) ; tT : the CPU-time (seconds) to solve P(A) for all A ∈ S (without the multiparametric algorithm).

A. Crema / Operations Research Letters 27 (2000) 13–19

with the solved problems. It is obvious that our algorithm was much better than solving all the members
that de ne the multiparametric problem, which is in
general a very expensive or impossible task if the cardinality of S is large enough (this pattern of analysis
was used by Holm and Klein [5]). The symbol ‘−’
in the columns ‘SiT ’, ‘NT ’ and ‘tT ’ (see the problems 11 until 23 and 26 until 39) means that it was
impossible to solve P(A) for all A ∈ S without the
multiparametric algorithm because the cardinality of
S is large (from 1080 members of S corresponding to
the problem 17 until millions of members for some of
the problems). We are at present performing experiments with other kinds of problems before making
‘de nitive’ conclusions.
In non-parametric ILP a signi cant e ort is directed
towards the design of special purpose algorithms for
problems with particular structures. It is reasonable
then to think that a next step should be the design
of specialized multiparametric algorithms. The multiparametric algorithm turns out to be, from this point
of view, a general methodology and problems QL(r)
and T (r) would be solved with specialized algorithms
associated to the structure of the problems P(A).
Acknowledgements
The nancial assistance by CDCH-UCV (project
03.13.3602.95) made the research upon which this

19

paper is based possible and is gratefully acknowledged. We also thank the referees for their helpful
comments.
References
[1] B. Bank, R. Mandel, Parametric integer optimization, Math.
Res. 39 (1988) 1–138.
[2] A. Crema, A contraction algorithm for the multiparametric
integer linear programming problem, European J. Oper. Res.
101 (1997) 130–139.
[3] B. Gavish, H. Pirkul, Ecient algorithms for solving
multiconstraint zero-one knapsack problems to optimality,
Math. Programming 31 (1) (1985) 78–105.
[4] A.M. Geo rion, R. Nauss, Parametric and postoptimality
analysis in integer linear programming, Management Sci. 23
(1977) 453–466.
[5] S. Holm, D. Klein, Three methods for post-optimal analysis
in integer linear programming, Math. Programming Study 21
(1984) 97–109.
[6] L. Jenkins, Parametric mixed integer programming: an
application to solid waste management, Management Sci. 28
(1982) 1270–1284.
[7] L. Jenkins, Using parametric integer programming to plan the
mix of an air transport
eet, INFOR 25 (1987) 117–135.
[8] L. Jenkins, Parametric methods in integer linear programming,
Ann. Oper. Res. 27 (1990) 77–96.
[9] Optimization Soubroutine Library, release 2, guide and
reference, IBM, 1992.