0% found this document useful (1 vote)
202 views21 pages

Integer Programming

This document is an assignment on integer programming submitted by 6 students to the Department of Computer Science at Edo State Polytechnic, Usen. It introduces integer programming and provides examples of its applications in capital budgeting, warehouse location, and the 0-1 knapsack problem. Integer programming involves optimization problems where some or all variables are restricted to integer values.

Uploaded by

John Amazing
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
202 views21 pages

Integer Programming

This document is an assignment on integer programming submitted by 6 students to the Department of Computer Science at Edo State Polytechnic, Usen. It introduces integer programming and provides examples of its applications in capital budgeting, warehouse location, and the 0-1 knapsack problem. Integer programming involves optimization problems where some or all variables are restricted to integer values.

Uploaded by

John Amazing
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 21

EDO STATE POLYTECHNIC, USEN

ASSIGNMENT ON:

INTEGER PROGRAMMING

BY

OTUNLA TEMITOPE SUNDAY

ASOGBON JOHN ALEXANDA

OGBOYE PEACE ONOJIMHENSIKE

OMOREGBE RACHEAL

EDEWOR OSAIGBOKAN HOPE

DANIEL AIGBEREMWON

SUBMITEED TO THE DEPARTMENT OF COMPUTER SCIENCE, OF


APPLIED SCIENCE, EDO STATE POLYTECHNIC, USEN.

LEVEL: HND I

AUGUST 2022.

1
INTRODUTION

An integer programming problem is a mathematical


optimization or feasibility program in which some or all of the variables are
restricted to be integers. In many settings the term refers to integer linear
programming (ILP), in which the objective function and the constraints (other
than the integer constraints) are linear. Integer programming is NP-complete. In
particular, the special case of 0-1 integer linear programming, in which
unknowns are binary, and only the restrictions must be satisfied, is one
of Karp's 21 NP-complete problems. If some decision variables are not discrete,
the problem is known as a mixed-integer programming problem.

The linear-programming models that have been discussed thus far all have been
continuous, in the sense that decision variables are allowed to be fractional.
Often this is a realistic assumption. For instance, we might easily produce 102 3
4 gallons of a divisible good such as wine. It also might be reasonable to accept
a solution giving an hourly production of automobiles at 581 2 if the model
were based upon average hourly production, and the production had the
interpretation of production rates. At other times, however, fractional solutions
are not realistic, and we must consider the optimization problem:

This problem is called the (linear)integer-programming problem. It is said to be


a mixed integer program when some, but not all, variables are restricted to be

1
integer, and is called a pure integer program when all decision variables must be
integers. As we saw in the preceding chapter, if the constraints are of a network
nature, then an integer solution can be obtained by ignoring the integrality
restrictions and solving the resulting linear program. In general, though,
variables will be fractional in the linear-programming solution, and further
measures must be taken to determine the integer-programming solution. The
purpose of this chapter is twofold. First, we will discuss integer-programming
formulations. This should provide insight into the scope of integer-
programming applications and give some indication of why many practitioners
feel that the integer-programming model is one of the most important models in
management science. Second, we consider basic approaches that have been
developed for solving integer and mixed-integer programming problems.

SOME INTEGER-PROGRAMMING MODELS

Integer-programming models arise in practically every area of application of


mathematical programming. To develop a preliminary appreciation for the
importance of these models, we introduce, in this section, three areas where
integer programming has played an important role in supporting managerial
decisions. We do not provide the most intricate available formulations in each
case, but rather give basic models and suggest possible extensions.

Capital Budgeting In a typical capital-budgeting problem, decisions involve


the selection of a number of potential investments. The investment decisions
might be to choose among possible plant locations, to select a configuration of
capital equipment, or to settle upon a set of research-and-development projects.
Often it makes no sense to consider partial investments in these activities, and
so the problem becomes a go–no-go integer program, where the decision
variables are taken to be x j = 0 or 1, indicating that the jth investment is
rejected or accepted. Assuming thatc j is the contribution resulting from thejth

2
investment and thatai j is the amount of resourcei, such as cash or manpower,
used on thejth investment, we can state the problem formally as:

The objective is to maximize total contribution from all investments without


exceeding the limited availability bi of any resource. One important special
scenario for the capital-budgeting problem involves cash-flow constraints. In
this case, the constraints.

reflect incremental cash balance in each period. The coefficients ai j represent


the net cash flow from investmentj in period i. If the investment requires
additional cash in period i, then ai j > 0, while if the investmentgenerates cash in
periodi, then ai j < 0. The righthand-side coefficientsbi represent the
incremental exogenous cash flows. If additional funds are made available in
periodi, then bi > 0, while if funds are withdrawn in periodi, then bi < 0. These
constraints state that the funds required for investment must be less than or
equal to the funds generated from prior investments plus exogenous funds made
available (or minus exogenous funds withdrawn). The capital-budgeting model
can be made much richer by including logical considerations. Suppose, for
example, that investment in a new product line is contingent upon previous

3
investment in a new plant. This contingency is modeled simply by the
constraint.

which states that ifxi = 1 and project i (new product development) is accepted,
then necessarilyx j = 1 and project j (construction of a new plant) must be
accepted. Another example of this nature concerns conflicting projects. The
constraint.

for example, states that only one of the first four investments can be accepted.
Constraints like this commonly are calledmultiple-choice constraints. By
combining these logical constraints, the model can incorporate many complex
interactions between projects, in addition to issues of resource allocation. The
simplest of all capital-budgeting models has just one resource constraint, but has
attracted much attention in the management-science literature. It is stated as:

Usually, this problem is called the 0–1knapsack problem, since it is analogous


to a situation in which a hiker must decide which goods to include on his trip.
Herec j is the ‘‘value’’ or utility of including good j, which weighs a j > 0
pounds; the objective is to maximize the ‘‘pleasure of the trip,’’ subject to the
weight limitation that the hiker can carry no more than b pounds. The model is

4
altered somewhat by allowing more than one unit of any good to be taken, by
writingx j ≥ 0 and x j-integer in place of the 0–1 restrictions on the variables.
The knapsack model is important because a number of integer programs can be
shown to be equivalent to it, and further, because solution procedures for
knapsack models have motivated procedures for solving general integer
programs. Warehouse Location In modeling distribution systems, decisions
must be made about tradeoffs between transportation costs and costs for
operating distribution centers. As an example, suppose that a manager must
decide which of n warehouses to use for meeting the demands ofm customers
for a good. The decisions to be made are which warehouses to operate and how
much to ship from any warehouse to any customer. Let

The relevant costs are:

fi = Fixed operating cost for warehouse i, if opened (for example, a cost


to lease the warehouse),

ci j = Per-unit operating cost at warehouse i plus the transportation cost


for shipping from warehouse i to customer j.

There are two types of constraints for the model:

i. the demand dj of each customer must be filled from the warehouses; and
ii. goods can be shipped from a warehouse only if it is opened.

The model is:

5
The objective function incorporates transportation and variable warehousing
costs, in addition to fixed costs for operating warehouses. The constraints (2)
indicate that each customer’s demand must be met. The summation over the
shipment variablesxi j in theith constraint of (3) is the amount of the good
shipped from warehousei. When the warehouse is not opened,yi = 0 and the
constraint specifies that nothing can be shipped from the warehouse. On the
other hand, when the warehouse is opened and yi = 1, the constraint simply
states that the amount to be shipped from warehouse i can be no larger than the
total demand, which is always true. Consequently, constraints (3) imply
restriction (ii) as proposed above. Although oversimplified, this model forms
the core for sophisticated and realistic distribution models incorporating such
features as:

1. multi-echelon distribution systems from plant to warehouse to customer;

2. capacity constraints on both plant production and warehouse throughput;

3. economies of scale in transportation and operating costs;

4. service considerations such as maximum distribution time from warehouses


to customers;

5. multiple products; or

6
6. conditions preventing splitting of orders (in the model above, the demand for
any customer can be supplied from several warehouses).

These features can be included in the model by changing it in several ways. For
example, warehouse capacities are incorporated by replacing the term involving
yi in constraint (3) with yi Ki , where Ki is the throughput capacity of
warehouse i; multi-echelon distribution may require triple-subscripted variables
xi jk denoting the amount to be shipped, from plant i to customer k through
warehouse j. Further examples of how the simple warehousing model described
here can be modified to incorporate the remaining features mentioned in this list
are given in the exercises at the end of the chapter. Scheduling The entire class
of problems referred to as sequencing, scheduling, and routing are inherently
integer programs. Consider, for example, the scheduling of students, faculty,
and classrooms in such a way that the number of students who cannot take their
first choice of classes is minimized. There are constraints on the number and
size of classrooms available at any one time, the availability of faculty members
at particular times, and the preferences of the students for particular schedules.
Clearly, then, the ith studentis scheduled for the jth class during thenth time
period ornot; hence, such a variable is either zero or one. Other examples of this
class of problems include line-balancing, critical-path scheduling with resource
constraints, and vehicle dispatching.

As a specific example, consider the scheduling of airline flight personnel. The


airline has a number of routing ‘‘legs’’ to be flown, such as 10 A.M. New York
to Chicago, or 6 P.M.Chicago to Los Angeles. The airline must schedule its
personnel crews on routes to cover these flights. One crew, for example, might
be scheduled to fly a route containing the two legs just mentioned. The decision
variables, then, specify the scheduling of the crews to routes:

7
c j = Cost for assigning a crew to route

The coefficientsai j define the acceptable combinations of legs and routes,


taking into account such characteristics as sequencing of legs for making
connections between flights and for including in the routes ground time for
maintenance. The model becomes:

then two crews fly as passengers on leg 1, possibly to make connections to other
legs to which they have been assigned for duty. These airline-crew scheduling
models arise in many other settings, such as vehicle delivery problems, political
districting, and computer data processing. Often model (4) is called a set-
partitioning problem, since the set of legs will be divided, or partitioned, among
the various crews. With constraints (5), it is called a set-covering problem, since

8
the crews then will cover the set of legs. Another scheduling example is the so-
called traveling salesman problem. Starting from his home, a salesman wishes
to visit each of(n − 1 ) other cities and return home at minimal cost. He must
visit each city exactly once and it costs ci j to travel from city i to city j. What
route should he select? If we let.

The constraints require that the salesman must enter and leave each city exactly
once. Unfortunately, the assignment model can lead to infeasible solutions. It is
possible in a six-city problem, for example, for the assignment solution to route
the salesman through two disjoint subtours of the cities instead of on a single
trip or tour.

Consequently, additional constraints must be included in order to eliminate


subtour solutions. There are a number of ways to accomplish this. In this
example, we can avoid the subtour solution of Fig. 9.1 by including the
constraint:

9
FIGURE 1.0

This inequality ensures that at least one leg of the tour connects cities 1, 2, and 3
with cities 4, 5, and 6. In general, if a constraint of this form is included for each
way in which the cities can be divided into two groups, then subtours will be
eliminated. The problem with this and related approaches is that, with n cities,(2
n −1 ) constraints of this nature must be added, so that the formulation becomes
a very large integer-programming problem. For this reason the traveling
salesman problem generally is regarded as difficult when there are many cities.
The traveling salesman model is used as a central component of many vehicular
routing and scheduling models. It also arises in production scheduling. For
example, suppose that we wish to sequence (n − 1 ) jobs on a single machine,
and that ci j is the cost for setting up the machine for jobj, given that job i has
just been completed. What scheduling sequence for the jobs gives the lowest
total setup costs? The problem can be interpreted as a traveling salesman
problem, in which the ‘‘salesman’’ corresponds to the machine which must
‘‘visit’’ or perform each of the jobs. ‘‘Home’’ is the initial setup of the machine,
and, in some applications, the machine will have to be returned to this initial
setup after completing all of the jobs. That is, the ‘‘salesman’’ must return to
‘‘home’’ after visiting the ‘‘cities.’’

FORMULATING INTEGER PROGRAMS

The illustrations in the previous section not only have indicated specific integer-
programming applications, but also have suggested how integer variables can be
used to provide broad modelling capabilities beyond those available in linear

10
programming. In many applications, integrality restrictions reflect natural
indivisibilities of the problem under study. For example, when deciding how
many nuclear aircraft carriers to have in the U.S. Navy, fractional solutions
clearly are meaningless, since the optimal number is on the order of one or two.
In these situations, the decision variables are inherently integral by the nature of
the decision-making problem. This is not necessarily the case in every integer-
programming application, as illustrated by the capital budgeting and the
warehouse-location models from the last section. In these models, integer
variables arise from (i) logical conditions, such as if a new product is
developed, then a new plant must be constructed, and from (ii) non-linearities
such as fixed costs for opening a warehouse. Considerations of this nature are so
important for modelling that we devote this section to analyzing and
consolidating specific integer programming formulation techniques, which can
be used as tools for a broad range of applications.

Binary (0–1)

Variables Suppose that we are to determine whether or not to engage in the


following activities: (i) to build a new plant, (ii) to undertake an advertising
campaign, or (iii) to develop a new product. In each case, we must make a yes–
no or so-called go–no–go decision. These choices are modelled easily by letting
x j = 1 if we engage in the j th activity and x j = 0 otherwise. Variables that are
restricted to 0 or 1 in this way are termed binary, bivalent, logical, or 0–1
variable. Binary variables are of great importance because they occur regularly
in many model formulations, particularly in problems addressing long-range
and high-cost strategic decisions associated with capital-investment planning.

If, further, management had decided thatat most one of the above three
activities can be pursued, the following constraint is appropriate:

11
As we have indicated in the capital-budgeting example in the previous section,
this restriction usually is referred to as amultiple-choice constraint, since it
limits our choice of investments to be at most one of the three available
alternatives.

Binary variables are useful whenever variables can assume one of two values,
as in batch processing. For example, suppose that a drug manufacturer must
decide whether or not to use a fermentation tank. If he uses the tank, the
processing technology requires that he make B units. Thus, his productiony
must be 0 or B, and the problem can be modeled with the binary variablex j = 0
or 1 by substituting Bx j fory everywhere in the model.

Logical Constraints

Frequently, problem settings impose logical constraints on the decision


variables (like timing restrictions, contingencies, or conflicting alternatives),
which lend themselves to integer-programming formulations. The following
discussion reviews the most important instances of these logical relationships.

Constraint Feasibility

Possibly the simplest logical question that can be asked in mathematical


programming is whether a given choice of the decision variables satisfies a
constraint. More precisely, when is the general constraint.

satisfied?

We introduce a binary variabley with the interpretation:

and write.

12
for every possible choice of the decision variablesx1 , x2 , . . . , xn at our
disposal. When every = 0 gives a feasible solution to constraint (7), we know
that constraint (6) must be satisfied. In practice, it is usually very easy to
determine a large number to serve as B, although generally it is best to use the
smallest possible value of B in order to avoid numerical difficulties during
computations.

Alternative Constraints

Consider a situation with the alternative constraints:

The variablesy1 and y2 and constantsB1 and B2 are chosen as above to indicate
when the constraints are satisfied. The multiple-choice constraint y1 + y2 ≤ 1
implies that at least one variable y j equals 0, so that, as required, at least one
constraint must be satisfied. We can save one integer variable in this
formulation by noting that the multiple-choice constraint can be replaced by y1
+ y2 = 1, or y2 = 1 − y1 , since this constraint also implies that either y1 or y2
equals 0. The resulting formulation is given by:

13
As an illustration of this technique, consider again the custom-molder example
from Chapter 1. That example included the constraint.

which represented the production capacity for producing x1 hundred cases of


six-ounce glasses andx2 hundred cases of ten-ounce glasses. Suppose that there
were an alternative production process that could be used, having the capacity
constraint

In this case, bothB1 and B2 are set to 100, which is large enough so that the
constraint is not limiting for the production process not used.

Conditional Constraints

These constraints have the form:

Since this implication is not satisfied only when both f1 (x1 , x2 , . . . , xn) > b1
and f2(x1 , x2 , . . . , xn) > b2 , the conditional constraint is logically equivalent
to the alternative constraints

where at least one must be satisfied. Hence, this situation can be modeled by
alternative constraints as

indicated above.
14
k-Fold Alternatives

Suppose that we must satisfy at least k of the constraints:

For example, these restrictions may correspond to manpower constraints for p


ptentialinspection systems for quality control in a production process. If
management has decided to adopt at least k inspection systems, then the k
constraints specifying the manpower restrictions for these systems must be
satisfied, and the remaining constraints can be ignored. Assuming that Bj for j =
1 ,2, . . . , p, are chosen so that the ignored constraints will not be binding, the
general problem can be formulated as follows:

That is,y j = 1 if the jth constraint is to be satisfied, and at least k of the


constraints must be satisfied. If we define y 0 j ≡ 1 − y j , and substitute fory j in
these constraints, the form of the resulting constraints is analogous to that given
previously for modeling alternative constraints.

Compound Alternatives

The feasible region shown in Fig. 9.2 consists of three disjoint regions, each
specified by a system of inequalities. The feasible region is defined by
alternative sets of constraints, and can be modeled by the system:

15
Note that we use the same binary variable y j for each constraint defining one of
the regions, and that the.

An example of compound alternatives.

16
Geometry of alternative constraints

Heuristic methods.

Since integer linear programming is NP-hard, many problem instances are


intractable and so heuristic methods must be used instead. For example, tabu
search can be used to search for solutions to ILPs.[18] To use tabu search to solve
ILPs, moves can be defined as incrementing or decrementing an integer
constrained variable of a feasible solution while keeping all other integer-
constrained variables constant. The unrestricted variables are then solved for.
Short-term memory can consist of previously tried solutions while medium-
term memory can consist of values for the integer constrained variables that
have resulted in high objective values (assuming the ILP is a maximization
problem). Finally, long-term memory can guide the search towards integer
values that have not previously been tried.

Other heuristic methods that can be applied to ILPs include

 Hill climbing

 Simulated annealing

17
 Reactive search optimization

 Ant colony optimization

 Hopfield neural networks

There are also a variety of other problem-specific heuristics, such as the k-opt


heuristic for the traveling salesman problem. A disadvantage of heuristic
methods is that if they fail to find a solution, it cannot be determined whether it
is because there is no feasible solution or whether the algorithm simply was
unable to find one. Further, it is usually impossible to quantify how close to
optimal a solution returned by these methods are.

Sparse integer programming

It is often the case that the matrix {\displaystyle A}A which defines the integer
program is sparse. In particular, this occurs when the matrix has a block
structure, which is the case in many applications. The sparsity of the matrix can
be measured as follows. The graph of {\displaystyle A}A has vertices
corresponding to columns of {\displaystyle A}A, and two columns form an
edge if {\displaystyle A}A has a row where both columns have nonzero entries.
Equivalently, the vertices correspond to variables, and two variables form an
edge if they share an inequality. The sparsity measure {\displaystyle d}d of {\
displaystyle A}A is the minimum between the tree-depth of the graph of {\
displaystyle A}A and the tree-depth of the graph of the transpose of {\
displaystyle A}A. Let {\displaystyle a}a be the numeric measure of {\
displaystyle A}A defined as the maximum absolute value of any entry of {\
displaystyle A}A. Let {\displaystyle n}n be the number of variables of the
integer program. Then it was shown in 2018[19] that integer programming can
be solved in strongly polynomial and fixed-parameter tractable time
parameterized by {\displaystyle a}a and {\displaystyle d}d. That is, for some
computable function {\displaystyle f}f and some constant {\displaystyle k}k,
integer programming can be solved in time {\displaystyle f(a,d)n^{k}}{\
18
displaystyle f(a,d)n^{k}}. In particular, the time is independent of the right-
hand side {\displaystyle b}b and objective function {\displaystyle c}c.
Moreover, in contrast to the classical result of Lenstra, where the number {\
displaystyle n}n of variables is a parameter, here the number {\displaystyle n}n
of variables is a variable part of the input.

19
References

1. ^ "Mixed-Integer Linear Programming (MILP): Model


Formulation" (PDF). Retrieved 16 April 2018.

2. ^ Papadimitriou, C. H.; Steiglitz, K. (1998). Combinatorial optimization:


algorithms and complexity. Mineola, NY: Dover. ISBN 0486402584.

3. ^ Erickson, J. (2015). "Integer Programming Reduction" (PDF). Archived


from the original (PDF) on 18 May 2015.

4. ^ Williams, H.P. (2009). Logic and integer programming. International


Series in Operations Research & Management Science.
Vol. 130. ISBN 978-0-387-92280-5.

5. ^ Borndörfer, R.; Grötschel, M. (2012). "Designing telecommunication


networks by integer programming" (PDF).

6. ^ Sharma, Deepak (2010). "Frequency Planning".

7. ^ Morais, Hugo; Kádár, Péter; Faria, Pedro; Vale, Zita A.; Khodr, H. M.
(2010-01-01). "Optimal scheduling of a renewable micro-grid in an
isolated load area using mixed-integer linear programming". Renewable
Energy. 35 (1): 151–
156. doi:10.1016/j.renene.2009.02.031. hdl:10400.22/1585. ISSN 0960-
1481.

8. ^ Omu, Akomeno; Choudhary, Ruchi; Boies, Adam (2013-10-


01). "Distributed energy resource system optimisation using mixed integer
linear programming". Energy Policy. 61: 249–
266. doi:10.1016/j.enpol.2013.05.009. ISSN 0301-4215.

20

You might also like