0% found this document useful (0 votes)
19 views

A Dynamic Programming Algorithm For Multiple-Choice Constraints

This document presents a dynamic programming algorithm for solving a discrete mathematical programming problem with multiple-choice constraints. The problem involves optimizing a separable objective function subject to linear constraints and constraints where only one variable in a set can take a positive value. The algorithm uses a reaching labeling procedure and fathoming rules to reduce the dynamic programming tables to only include feasible integer solutions. Fathoming eliminates solutions based on bounds and by checking for infeasibility with the multiple-choice constraints. The algorithm finds the optimal solution without having to explicitly check all potential solutions.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

A Dynamic Programming Algorithm For Multiple-Choice Constraints

This document presents a dynamic programming algorithm for solving a discrete mathematical programming problem with multiple-choice constraints. The problem involves optimizing a separable objective function subject to linear constraints and constraints where only one variable in a set can take a positive value. The algorithm uses a reaching labeling procedure and fathoming rules to reduce the dynamic programming tables to only include feasible integer solutions. Fathoming eliminates solutions based on bounds and by checking for infeasibility with the multiple-choice constraints. The algorithm finds the optimal solution without having to explicitly check all potential solutions.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

View metadata, citation and similar papers at core.ac.

uk brought to you by CORE


provided by Elsevier - Publisher Connector

Camp. & Maths. wuh Appls. Vol. IO. No. 3. pp. 279-282, 1984 0097-6’43/84 $3.00 + .OO
Printed m the U.S.A. Q 1984 Pergsmon Press Ltd.

A DYNAMIC PROGRAMMING ALGORITHM FOR


MULTIPLE-CHOICE CONSTRAINTS

MARY W. COOPERand KEWAN FARHANGIAN


Southern Methodist University, Department of Operations Research and Engineering
Management, School of Engineering and Applied Science, Dallas, TX 72575, U.S.A.

(Received April 1983, in revised form October 1983)

Communicated by Ervin Y. Rodin


Abstract-This report concerns a discrete mathematical programming problem in which the
variables are binary or integer, the objective function separable or factorable, and the constraints
are in either of two classes: linear or multiple-choice constraints. The problem is solved using a
dynamic programming approach with fathoming by bounds and by infeasibility.

INTRODUCTION
Beale and Tomlin[l] have presented a paper on a non-convex problem with special
restrictions. These restrictions grouped variables into “ordered sets of variables”. Within
a set, only a single variable could take on a positive value. Other researchers have used
the terminology, multiple-choice constraints or GUB constraints, for the constraints which
express the ordered set relationship. Bean [2] cites numerous applications for linear integer
problems with such constraints: scheduling, facilities location, assembly line balancing,
project selection, menu planning, catalogue space planning, and school time tabling. The
algorithm we consider in this report can be used for linear objective functions; however,
our emphasis is on problems with separable or factorable objective functions with linear
and nonlinear terms. Many of the linear applications above might be extended to include
nonlinear terms in the objective function, particularly in the areas of scheduling, facilities
location, capital budgeting, and portfolio selection. In addition, we are not restricted to
problems where all variables occur in some multiple-choice constraint.
The problem we investigate has the following form:

max Z = i cflj + i J(xj)


j=l j=l+l

subject to

(MCNIPj

,=f , xi= ’
,

x,20, integerforj=I+l,..., n.

We have additional restrictions thath(*), hi(.) are nondecreasing functions over the range
979
280 M. W. COOPERand K. FARHANGIAN

of x,, that aij 2 0, and finally, that some feasible solution exists. We have assumed
eparability of the objective function. Therefore, the functions containing higher powers
of the binary decision variables can be reduced to linear functions. Research has been done
on problems similar to (MCNIP). Gallo et af.[3] have considered a singly constrained
quadratic knapsack problem with binary variables. They report solution times of 1.23 CPU
seconds for 30 binary variables with a branch and bound cutting plane approach, using
upper planes. Their model differs from ours in having nonseparable terms in the objective
function in addition to having only a single constraint. Another problem related to
(MCNIP) is identified by Granot et aZ.[4] as a O-l positive polynomial problem (PP). PP
has a linear objective function but polynomial constraints. A sequence of nested covering
problems is solved, each of which is a relaxation of PP. Problems of 40 constraints and
variables are solved with crossproduct constraint terms containing from 2 to 20 variables,
the solution times seemingly to be related to the number of variables in each term.
A third recent study by Bean[2] investigates the multiple-choice integer linear problem
(MCIP). We rewrite Bean’s formulation as follows:

max 2 = ,$, +xj

such that

c x,=1
je$
q=l,...,p (MCIP)

xj = 0, 1 for j = 1, . . ., n.

This is a closer relative of the problem under study. Bean uses a branch and bound
algorithm where large parts of Ihe branch and bound tree are eliminated because they are
infeasible for the multiple-choice constraints. He gives computational results for two
problems with network constaints.
A special case of (MCNIP) is the multiple-choice knapsack problem. Sinha and
Zoltners[5] report very fast solution times for this single constraint knapsack problem by
using dominance rules for eliminating and ordering variables within a branch and bound
framework.
We undertook this review to try to identify solution times for (MCNIP), (MCIP) or
closely related problems reported in the literature. However, the references above vary
widely in the size of problems attempted, and in addition in assuming just a single
constraint or other special structure, such as unimodularity in the linear constraints of
(MCIP), and the times reported vary widely. We feel that these differences prevent any
useful comparison with our method.

THE ALGORITHM

We present a dynamic programming approach with forward pass fathoming by bounds


and feasibility to reduce storage and to improve computation time. We identify all feasible
integer points of the following problem:

maximize Z = f: cfl, +, =$+ ,htxj)


j=l
A dynamic programming algorithm for multiple-choice constraints 281
subject to

i cpj + i f;.(x,) 5 Z, x, 2 0, integer, i = 1,. . ., n,

where Z, is an upper bound on the objective function. This is a single-constraint problem


which is easily solved. Its purpose is not to find Z( = Z,), but to identify all integer points
for various levels of the hypersurface Z. A previously reported algorithm by Cooper and
Cooper[6] then sorted the integer points in nonincreasing order of their objective function
value, and tested each point in the same order for feasibility. (Using that strategy, the first
feasibile point is optimal.)
In the algorithm presented here, fathoming rules are used to eliminate all points which
are infeasible for multiple-choice constraints and linear constraints. Therefore, for
(MCNIP) the fathomed dynamic programming tables will include only feasible integer
points, The one with the best value of the objective function is optimal. Additional logic
may be used to carry out the following procedure with nonlinear, even nonseparable
constraints[7].
Recent work on the portfolio problems by Cooper and Farhangian[8] has improved
computation time by using theory developed for shortest path problems which can be
applied by analogy to dynamic programming. These ideas are attributed to Denardo and
Fox [9] in a survey paper by Morin[lO]. Each achievable value of the state variables is
considered analogous to a node in a shortest path network. Rather than the usual method
of calculating dynamic programming recursion functions (called “pulling”), a label setting
procedure is used (“reaching”). The reaching calculation labels each node with its
predecessor on the best “path” so far to that node. It turns out that only replacing the
pulling calculation by reaching gives no improvement in calculation time. However, if
reaching is used, values can be removed or fathomed from the tables as they are generated
in each stage. The fathoming is done using bounds as in the branch and bound method
for integer linear programming. An additional type of fathoming is due to testing partial
solutions for infeasibility with constraints of (MCNIP). If the r.h.s. value of any of the
original constraints of (MCNIP) is exceeded, that partial solution and implicitly any of
its completions will be dropped from the tables. This is the key elment which cuts down
storage and computation time.

FATHOMING BY BOUNDS
A heuristic method for linear integer programmings by Kochenberger, McCarl and
Wyman [l l] has been extended by us to separable nonlinear objective functions and
multiple-choice constraints and used to generate a good heuristic solution for MCNIP. The
procedure calculates an “effective gradient” for each variable, and increments the variable
with the greatest effective gradient. The resulting trial solution is then tested for feasibility;
if infeasible, the variable is reduced to its previous value and the variable with the next
best gradient estimate is incremented. If no feasible improvements can be obtained in this
way, the algorithm halts. This point has been used to fathom by bounds as the dynamic
programming problem tables are generated.

COMPUTATIONAL RESULTS
The following table gives solution times for randomly generated problems in CPU
seconds on a CDC 6600.

CONCLUSIONS
Computational results have been presented for random nonlinear integer problems
with multiple-choice and additional linking constraints. The variables include binary and
282 M. W. GXPER and K. FARHANGIAN

Table 1.

n 10 15 20

m 5 5 5

Special Ordered Sets 2 4 6

n. 6 12 18

PROBLEM NO.
.2040 1.0500 5.6840

2 .2600 .9820 6.6680

3 .2090 .5990 6.8820

4 .1840 1.2160 4.2990

5 .2270 1.1870 2.2630

6 .2780 1.1780 9.5640

7 .2000 1.1170 10.2040

8 .2090 .6820 7.6010

9 .1650 .6360 5.6420

10 .2500 .a570 5.7930

AVG. .2186 .9504 6.46

ST.D. .0352 .2404 2.3375

general integer variables and the objective functions and constraints may contain nonlinear
terms.
The structure of the multiple-choice constraints has allowed improvements in the
computation time over a problem with general linear constraints ([8] 1982b). The time is
on the order of l/6 previous time for 20 variable problems.

REFERENCES
1. E. M. L. Beale and J. A. Tomlin, Special facilities in a general mathematical programming system for
non-convex problems using ordered sets of variables. PTOC.5th Znf. Conf. on Operational Research. Wiley,
New York (1969).
2. J. C. Bean, A branch-and-bound algorithm for the multiple choice integer program. Technical Report 82-l.
University of Michigan, Department of Industrial and Operations Engineering (1982).
3. G. Gallo, P. L. Hammer and B. Simeone, Quadratic knapsack problems. Math. Program. Study 12, 132-149
( 1980).
4. D. Granot, F. Granot and W. Vaessen, An accelerated covering relaxation alogirthm for solving O-1 positive
polynomial programs. Math. Program. 22, 350-357 (1982).
5. P. Sinha and A. A. Zoltners, The multiple choice knapsack problem. Op. Res. 27, 503-515 (1979).
6. L. Cooper and M. W. Cooper, Non-linear integer programming. Comput. & Maths Applic. 1,215-222 (1975).
I. M. W. Cooper and K. Farhangian, Nonlinear integer programming for various forms of constraints. Technical
Report 82001. Southern Methodist University, Department of Operations Research and Engineering
Management (1982)
8. M. W. Cooper and ‘K. Farhangian, An integer programming algorithm for portfolio selection with fixed
charees. Naval Res. Logistics Quart. 29, 147-150 (1982).
9. E. Dinardo and B. Fox, Shortest route methods: 1, Reaching, pruning and buckets. Op. Res. 27, 161-186
(1979).
10. T. L. Morin, Computational advances in dynamic programming. Dynamic Programming and its Applications.
Academic Press, New York (1978).
Il. G. A. Kochenberger, B. A. McCarl and F. P. Wyman, A heurestic for general integer programming. Decision
Sci. 5, 36-44 (1974).
12. D. J. Sweeny and R. A. Murphy, Branch and bound methods for multi-item scheduling. Op. Res. 29,853-864
(1981).

You might also like