Chapter 19

Integer Programming

Abstract

This chapter will study the problems of integer and binary programming, and their extensions, establishing the circumstances in which they should be utilized according to characteristics of the problem and their research objectives, with a focus on decision making. We will present modeling of several real problems in binary and integer programming, including knapsack, selection of investment projects, traveling salesman and staff scheduling problems, to name a few, as well as the methods for solving them. The concept of linear relaxation and its importance for solving binary and integer programming problems will also be discussed. All of the problems presented will be solved using Excel Solver.

Keywords

Binary programming; Integer programming; Knapsack problem; Problem of investment project selection; Traveling salesman problem; Staff scheduling problem; Linear relaxation; Excel Solver

I will always choose a lazy person to do a difficult job. Because a lazy person will find an easy way to do it.

Bill Gates

19.1 Introduction

A problem is classified as being integer programming (IP) when all of the decision variables of the model are discrete, that is, may assume values within a finite set or a numerable quantity of values, derived from counting. When part of the decision variables is discrete and the other is continuous (assume any values in an interval of real numbers), the model is called mixed integer programming (MIP).

As for cases in which all of the decision variables are binary or dummy, that is, may only assume values of 1 (when the characteristic of interest is present in the variable) or 0 (opposite case), we have a model of binary programming (BP). When part of the decision variables is binary and the other is continuous, the model is called mixed binary programming (MBP).

When one has discrete and binary decision variables in the same model, it becomes in a problem of binary integer programming (BIP).

It is important to point out that many authors do not differentiate the discrete variables from the binary one simply call the model one of integer programming in cases in which the variables are discrete and/or binary, and mixed integer programming when the variables are discrete and/or binary and continuous.

In this chapter, we will study only the linear models.

Box 19.1 summarizes the principal characteristics of the integer (linear) programming models and their extensions.

Box 19.1

Characteristics of the Integer (Linear) Programming Models and Their Extensions

Type of ModelObjective FunctionConstraintsType of Decision Variable
Integer (Linear) Programming
(ILP or IP)
LinearLineardiscrete
Mixed Integer (Linear) Programming (MILP or MIP)LinearLineardiscrete and continuous
Binary (Linear) Programming
(BLP or BP)
LinearLinearbinary
Mixed Binary (Linear) Programming
(MBLP or MBP)
LinearLinearbinary and continuous
Binary Integer (Linear) Programming (BILP or BIP)LinearLineardiscrete and binary

Unlabelled Table

As examples of binary programming we may list: job assignment problem and shortest path problem (seen in the previous chapter on network programming), knapsack problem, capital budgeting problem with binary variables, production scheduling program, traveling salesman problem, vehicle routing program, among others. For its part, the staff scheduling problem is an example of integer programming, while the facility location problem is classified as a problem of mixed binary programming, since it has as decision variables the possible facilities (variable binary) and the quantities delivered (variable continuous).

As exact solution methods for binary and integer programming problems, one may cite the branch-and-bound algorithm, the cutting plane algorithms, branch-and-cut algorithms, and others. However, many problems in binary and integer programming are NP-complete, that is, they may not be solved in polynomial time because of the high computational complexity. As an alternative to exact methods, approximate algorithms such as heuristic and metaheuristic type have been proposed for resolving this type of problem.

The branch-and-bound algorithm is a divide and conquer strategy, in which a main problem is divided into subproblems. The problem is solved for those smaller levels. The method discards subproblems through implicit enumeration, meaning subproblems that do not contain the optimal solution. The solutions for subproblems are combined until the optimal FBS is obtained. There is also the branch-and-cut algorithm, an adaptation of the branch-and-bound algorithm in which cutting plane algorithms are applied.

The term heuristic may be defined as a search procedure guided by intuition, rules, and ideas that seeks to find a good solution. As for the term metaheuristic is a combination of search procedures with higher level strategies, including intensification and diversification, seeking to escape local optimums and find solutions much closer to the global optimum; but without a guarantee of optimality. As examples of metaheuristics that are being applied to solve integer programming problems we may mention tabu search, simulated annealing, greedy randomized adaptive search procedures (GRASP), genetic algorithms, ant colony, and particle swarm, among others.

In this chapter, we will present the mathematical formulation for the knapsack, capital budgeting with binary variables, traveling salesman, facility location and staff scheduling problems, as well as their solution using Excel Solver.

19.2 Mathematical Formulation of a General Model for Integer Programming and/or Binary and Linear Relaxation

Formulation of a general model for integer and/or binary programming may be represented mathematically as:

maxouminz=f(x1,x2,,xn)=c1x1+c2x2++cnxnsubject to:a11x1+a12x2++a1nxn{,=,}b1a21x1+a22x2++a2nxn{,=,}b2am1x1+am2x2++amnxn{,=,}bmx1,x2,,xn0x1,x2,,xninteger and/or binary

si1_e  (19.1)

One approach to find the optimal solution for Expression (19.1) is to relax or eliminate the integrality constraints of the variables (and/or the constraint that the variables are binary), leading to a linear programming problem called Linear relaxation of the integer programming problem (and/or Binary programming).

In some problems, even after relaxing the integrality constraints of the original IP problem (and/or relaxing the constraint that the variables be binary in the original BP problem) and resolution of the same by the Simplex method, for example, the solution obtained may also satisfy the integrality conditions (and/or that the variables be binary) and, therefore, represent the optimal solution of the original problem. Among the examples presented in this book that apply to in this case, we can cite Examples 16.3 and 16.10 from Chapter 16 (Venix and Fenix & Furniture, respectively) and Examples 18.10 and 18.11 from Chapter 18 (job assignment problem and shortest path problem, respectively). Some characteristics of the original problem guarantee that the optimal solution may be obtained directly by relaxing the integrality conditions (and/or that the variables be binary), such as, for example, the supply capacity and demand for nodes with integer values (for the network programming problem), or the availability of resources with integer values (for the production mix or production and inventory problems), besides the resolution of the problem by the Simplex method.

However, in many cases, it is unfortunately not possible to directly obtain the optimal solution of the original IP problem (or BP or BIP) by relaxing the integrality conditions (and/or relaxing the constraint that the variables be binary). One alternative for finding an integer solution in those cases is by rounding the solution obtained after linear relaxation of the IP problem. However, rounding may lead to a new unfeasible solution. Another negative point is that there is no guarantee that the new rounded solution will be the optimal solution of the original integer programming problem. To achieve such a guarantee, other exact methods of integer programming may be applied, such as the branch-and-bound algorithm, cutting plane algorithms, branch-and-cut algorithm, and Lagrangian relaxation, as well as others.

Example 19.1

Consider the following integer programming problem:

max4x1+3x2s.t.5x1+3x2222x1+2x211x1,x20x1,x2areintegers

si2_e  (19.2)

Determine the feasible region of the original problem and of the relaxed problem and compare the solutions.

Solution

The relaxed problem of Expression (19.2) is:

max4x1+3x2s.t.5x1+3x2222x1+2x211x1,x20

si3_e  (19.3)

The graphical solution of problems of Expressions (19.2) and (19.3) is represented in Fig. 19.1.

Fig. 19.1
Fig. 19.1 Graphical solution of the original problem and of the relaxed problem.

The shaded area represents the feasible region of the relaxed problem, whose optimal solution is represented by the point (x1x2) = (2.75, 2.75). The other points of the shaded area represent the viable integer solutions of the problem represented by Expression (19.2) that has the point (x1x2) = (3, 2) as the optimal solution. Note that the viable integer solutions represented by Expression (19.2) consist of only 19 discrete points, including (0, 0), and all belong to the feasible region of the relaxed problem. We can affirm that the feasible region of the relaxed problem will always encompass all of the viable integer solutions of the original IP problem and, consequently, its respective optimal solution.

We have seen in Chapter 17 that the simplex method for solving LP problems starts with an initial feasible basic solution and at each iteration seeks a new feasible basic solution with the best value in the objective function until the optimum value is reached. All of the feasible basic solutions correspond to an extreme point in the viable region. Therefore, the simplex method examines only a small share of all of the viable solutions for the problem until it reaches the optimal solution, which means that large-scale problems may be solved in a short computing time. Unfortunately, the same thing does not happen in relation to the IP problems; no algorithm is known for solving IP problems that starts from an initial FBS and finds a better FBS at each iteration. In summary, although the feasible region of an IP problem is a subset of the feasible region of the original relaxed problem, an IP problem is much more difficult to solve than a LP problem (Winston, 2004).

19.3 The Knapsack Problem

The knapsack problem seeks to determine, among n possible objects, which of them should be carried in the knapsack, taking into account their utility and their weight. Each object j has a utility value cj and a weight pj. The maximum weight that may be carried in the knapsack is Cmax. The objective is thus to determine which objects should be carried in the knapsack, so as to maximize its total utility, subject to the constraint that the capacity of the knapsack may not be exceeded.

19.3.1 Modeling of the Knapsack Problem

The model parameters, the decision variables, and the overall mathematical formulation of the knapsack problem are specified as follows.

Parameters of the model:

cj = utility of the object j

pj = weight of the object j

Cmax = capacity of the knapsack

Decision variables:

xj={1if the objectjis in the knapsack0otherwise

si4_e

Mathematical formulation:

Fobj=maxz=nj=1cjxjs.t.nj=1pjxjCmaxxj{0,1}

si5_e  (19.4)

that corresponds to a binary programming problem.

The knapsack problem may also be formulated as a problem of integer programming if xj corresponds to the number of objects of type j placed in the knapsack (one may take more than one object of same type).

Example 19.2

A mountain climber wishes to choose which objects to carry in the knapsack (binary programming) in order to maximize its utility. To each possible object, the climber attributes a score in relation to its utility, as shown in Table 19.E.1. The weight of each object is also illustrated in the same table. The maximum weight that the climber may carry is 5 kg. Model the knapsack problem.

Table 19.E.1

Utility and Weight of Each Object
ObjectUtilityWeight (g)
Cereal bar6200
Jacket7400
Tennis shoes3400
Mobile phone2100
Water91,000
Sunscreen5200
Lip balm230
Oxygen bottles103,000
Camera6500

Solution

The decision variables of the model are:

xj={1if the objectjis in the knapsack0otherwise,j=1,,9

si6_e

in which the index j corresponds to:

j = 1 (cereal bar), j = 2 (jacket), j = 3 (tennis shoes), …, j = 9 (camera).

The objective function seeks to maximize the total utility of the knapsack:

Fobj=maxz=6x1+7x2+3x3+2x4+9x5+5x6+2x7+10x8+6x9

si7_e

The constraints of the model are specified as follows:

  1. 1. The total weight of the objects may not exceed the capacity of the knapsack

200x1+400x2+400x3+100x4+1,000x5+200x6+30x7+3,000x8+500x95,000

si8_e

  1. 2. The decision variables xj are binary:

xj{0,1},j=1,2,,9

si9_e

19.3.2 Solution of the Knapsack Problem Using Excel Solver

Example 19.2 referring to the knapsack problem will be solved in this section using Excel Solver. The representation of the problem in an Excel spreadsheet is illustrated in Fig. 19.2 (see file Example19.2_Knapsack.xls).

Fig. 19.2
Fig. 19.2 Representation in Excel of the knapsack problem.

The formulas utilized in Fig. 19.2 are specified in Box 19.2.

Box 19.2

Formulas Utilized in Fig. 19.2

CellFormula
F5= D5⁎E5
F6= D6⁎E6
F7= D7⁎E7
F8= D8⁎E8
F9= D9⁎E9
F10= D10⁎E10
F11= D11⁎E11
F12= D12⁎E12
F13= D13⁎E13
F14= SUM(F5:F13)
H5= SUMPRODUCT(C5:C13,E5:E13)

The names attributed to the cells and intervals of cells of Fig. 19.2 that will be referred to in the Solver are presented in Box 19.3.

Box 19.3

Names Attributed to the Cells of Fig. 19.2

NameCells
UtilityC5:C13
WeightD5:D13
ObjectsE5:E13
Total_weightF14
Knapsack_capacityF16
Total_utilityH5

The representation of the knapsack problem (Example 19.2) in the Solver Parameters dialog box is illustrated in Fig. 19.3. Since we are faced with a binary programming problem, a new constraint was included through an Add button (see Fig. 19.4). On the left side are referenced the variable cells (called Objects). In the middle cell, instead of selecting the equal to or unequal to sign, as done with the other constraints, one selects the bin option. Note that on the right side the binary name appears automatically. The bin option is automatically substituted by the equal sign after the constraint is added. Additionally, in the Options dialog box, it is necessary to disable the Ignore Integer Constraints check box (otherwise, the binary constraint is ignored) and specify the Integer Optimality % (the value 0% ensures that a proven optimal solution is found, but may take considerable extra time), as shown in Figure 19.4.

Fig. 19.3
Fig. 19.3 Solver Parameters regarding the knapsack problem (Example 19.2).
Fig. 19.4
Fig. 19.4 Solving problems with binary and integer constraints.

Returning to Fig. 19.3, as the constraint that the decision variables may only assume the values 0 or 1 has already been added, it is not necessary to select the Make Unconstrained Variables Non-Negative check box. In the Select a Solving Method box, we selected the Simplex LP engine.

When the Simplex LP or GRG Nonlinear Solving methods are used, Solver uses a Branch & Bound method for the integer constraints. The Evolutionary Solving method uses its own methods for such problems (https://www.solver.com/excel-solver-integer-programming).

Fig. 19.5 presents the optimal solution of the knapsack problem (Example 19.2).

Fig. 19.5
Fig. 19.5 Optimal solution of the knapsack problem (Example 19.2) using Excel Solver.

The optimal solution is, therefore, x1 = 1, x2 = 1, x3 = 0, x4 = 1, x5 = 1, x6 = 1, x7 = 1, x8 = 1, and x9 = 0 (one selects all of the objects, except for the tennis shoes and camera) with z = 41.

19.4 The Capital Budgeting Problem as a Model of Binary Programming

As seen in Chapter 16 (Section 16.6.4), the objective of the capital budgeting problem is to select from a set of alternatives, the investment projects that are financially viable, respecting the budget constraints of the investment company. The capital budgeting problem uses the concept of NPV (Net Present Value) that seeks to define which investment is the most attractive. Considering different investment projects, the most attractive one is the one presenting the highest Net Present Value.

Unlike Chapter 16, in which a model of linear programming was used to solve the capital budgeting problem, in this chapter we will use a binary programming model to determine, among a set of alternatives for investment projects, if the project j will be approved (xj = 1) or rejected (xj = 0).

Example 19.3

The Investilila company is considering five projects for investment. Each project has a Net Present Value (NPV) and requires investments for this year and the next two years. Additionally, for each year, there is an investment limit available. All these data are available in Table 19.E.2. The company wants to decide which project(s) to invest in, in order to maximize the total NPV. Model the capital budgeting problem of the Investilila company.

Table 19.E.2

Investment Data and Projects of the Investilila Company ($ million)
ProjectInvestmentNPV
year 0year 1year 2
154622
243317
332116
441214
553620
Available funds12109

Unlabelled Table

Solution

First, we define the decision variables of the model:

xj={1if the projectjwillbeapproved0otherwise,j=1,2,,5.

si10_e

The objective function of the model seeks to maximize the NPV ($ million) of the set of investment projects under analysis:

Fobj=maxz=22x1+17x2+16x3+14x4+20x5

si11_e

The constraints of the model are specified as follows:

  1. 1. The investment in each year may not exceed the total available funds:
  • 5x1 + 4x2 + 3x3 + 4x4 + 5x5 ≤ 12    (year  0)
  • 4x1 + 3x2 + 2x3 + 1x4 + 3x5 ≤ 10    (year  1)
  • 6x1 + 3x2 + 1x3 + 2x4 + 6x5 ≤ 9    (year  2)
  1. 2. The decision variables xj are binary:
  • xj ∈ {0, 1}    j = 1, 2, …, 5

19.4.1 Solution of the Capital Budgeting Problem as a Model of Binary Programming Using Excel Solver

Example 19.3 of the Investilila company will be solved in this section using Excel Solver. The representation of the problem in an Excel spreadsheet is illustrated in Fig. 19.6 (see file Example19.3_Investilila.xls).

Fig. 19.6
Fig. 19.6 Representation in Excel of the problem of the Investilila company.

The formulas utilized in Fig. 19.6 are specified in Box 19.4.

Box 19.4

Formulas Utilized in Fig. 19.6

CellFormula
G10= SUMPRODUCT(B10:F10,B16:F16)
G11= SUMPRODUCT(B11:F11,B16:F16)
G12= SUMPRODUCT(B12:F12,B16:F16)
G16= SUMPRODUCT(B5:F5,B16:F16)

The names attributed to the cells and intervals of cells of Fig. 19.6 are presented in Box 19.5.

Box 19.5

Names Attributed to the Cells of Fig. 19.6

NameCells
Unit_NPVB5:F5
Unit_investmentB10:F12
Total_investmentG10:G12
Funds_availableI10:I12
Approved_rejectedB16:F16
Total_NPVG16

The representation of the problem of the Investilila company in the Solver Parameters dialog box is illustrated in Fig. 19.7. Analogous to the knapsack problem, since we are faced with a binary programming problem, the constraint that the decision variables be binary was included (see Fig. 19.8). To do that, on the left side of the Add constraint dialog box, one references the variable cells (Approved_rejected). In the middle cell, one selects the option bin, which automatically generates the binary name on the right side. Additionally, in the Options dialog box, it is necessary to disable the Ignore Integer Constraints check box and specify the value 0 in the Integer Optimality (%) box, as shown in Fig. 19.8.

Fig. 19.7
Fig. 19.7 Solver Parameters regarding the problem of the Investilila company.
Fig. 19.8
Fig. 19.8 Solving problems with binary and integer constraints.

Note in Fig. 19.7 that the Simplex LP option was selected as the solving method. As the binary constraint has already been added, it is not necessary to select the Make Unconstrained Variables Non-Negative check box. Fig. 19.9 presents the optimal solution of the problem of the Investilila company (Example 19.3).

Fig. 19.9
Fig. 19.9 Optimal solution of the problem of the Investilila company using Excel Solver.

The optimal FBS is, therefore, x1 = 1, x2 = 0, x3 = 1, x4 = 1, and x5 = 0 (invest in projects 1, 3 and 4) with z = 52 (total NPV in the amount of $ 52 million).

19.5 The Traveling Salesman Problem

As is the case with the shortest path problem, the traveling salesman problem also corresponds to a binary programming problem that may also be modeled like a problem of network programming.

The Traveling Salesman Problem (TSP) is an optimization problem associated with determining what are called Hamiltonian paths. Its origin comes from William Rowan Hamilton, who proposed a game where the challenge consists of finding a route using the nodes of a dodecahedron (solid regular, with 20 nodes, 30 arcs, and 12 faces) so that the path begins and ends at the same node without ever repeating a visit. Consider G = (NA) a nonoriented graph n which N is the set of n cities and A is the set of arcs between as cities. The objective of the TSP is thus to find in graph G = (NA), the Hamiltonian path with lowest cost so that all of the nodes are visited a single time.

In other words, the problem consists of determining a single route with the lowest possible cost that allows the traveling salesman (or vehicle) to visit all of the nodes (cities or clients) in a network a single time. The graph of the problem and one of the possible solutions to the game are presented in Fig. 19.10.

Fig. 19.10
Fig. 19.10 Graph of the Hamiltonian problem. (Source: Goldbarg, M.C., Luna, H.P.L., 2005. Otimização combinatória e programação linear. 2nd ed. Campus Elsevier, Rio de Janeiro.)

19.5.1 Modeling of the Traveling Salesman Problem

There are several formulations for the traveling salesman problem. Dantzig et al. (1954) model the TSP specified as follows.

Parameters of the model:

cij = cost or distance from city i to city j, i = 1, …, n and j = 1, …, n.

Decision variables:

xij={1if the traveling salesman goes directly from cityito cityj,ij0otherwise

si12_e

Mathematical formulation:

(Fobj)=minz=ni=1nj=1cijxij

si13_e

s.t.

ni=1xij=1jN(1)nj=1xij=1iN(2)i,jSxij|S|1SN(3)xij{0,1}i,jN(4)

si14_e  (19.5)

that corresponds to a binary programming problem.

The objective function seeks to minimize the cost or the total distance for the route. Constraints (1) and (2) guarantee that each node is visited a single time. Consider S is a subgraph of G in which | S | represents the number of nodes in that subgraph. Thus, constraint (3) prevents formation of subroutes. Finally, constraint (4) requires that the decision variables be binary.

Example 19.4

Consider a symmetrical traveling salesman problem with 5 cities whose coordinates (xy) are specified in Table 19.E.3. Model the traveling salesman problem.

Table 19.E.3

Coordinates (xy) of the 5 Cities
Cityxy
11030
22050
35090
47030
59050

Solution

The 5 cities may be represented graphically as shown in Fig. 19.11.

Fig. 19.11
Fig. 19.11 Graphical representation of Example 19.4.

An illustration of subroutes is represented in Fig. 19.12. On the left side, we have a subroute S = {1, 2, 4} with three nodes and on the right side a subroute S = {2, 3, 4, 5} with four nodes.

Fig. 19.12
Fig. 19.12 Illustration of subroutes in Example 19.4.

First, we must calculate the Euclidean distances between each pair of cities i and j through expression dij=(xixj)2+(yiyj)2si15_e, whose results are presented in Table 19.E.4.

Table 19.E.4

Euclidean Distances Between Each Pair of Cities i and j
12345
1x22.3672.1160.0082.46
222.36x50.0053.8570.00
372.1150.00x63.2556.57
460.0053.8563.25x28.28
582.4670.0056.5728.28x

Unlabelled Table

The decision variables of the model are:

xij={1if the traveling salesman goes directly from cityito cityj,ij0otherwise,i=1,,5andj=1,,5

si16_e

The objective function seeks to minimize the total distance for the route:

Fobj=minz=22.36x12+72.11x13+60.00x14+82.46x15+22.36x21++50.00x23+53.85x24+70.00x25+72.11x31+50.00x32++63.25x34+56.57x35+60.00x41+53.85x42+63.25x43++28.28x45+82.46x51+70.00x52+56.57x53+28.28x54

si17_e

The constraints of the model are specified as follows:

  1. 1. Each node j must be visited only once:

x21+x31+x41+x51=1(j=1)

si18_e

x12+x32+x42+x52=1(j=2)

si19_e

x13+x23+x43+x53=1(j=3)

si20_e

x14+x24+x34+x54=1(j=4)

si21_e

x15+x25+x35+x45=1(j=5)

si22_e

  1. 2. Each node i must be visited only once:

x12+x13+x14+x15=1(i=1)

si23_e

x21+x23+x24+x25=1(i=2)

si24_e

x31+x32+x34+x35=1(i=3)

si25_e

x41+x42+x43+x45=1(i=4)

si26_e

x51+x52+x53+x54=1(i=5)

si27_e

  1. 3. Constraint (3) prevents formation of subroutes with two nodes (| S | = 2):

x12+x211

si28_e

x13+x311

si29_e

x14+x411

si30_e

x15+x511

si31_e

x23+x321

si32_e

x24+x421

si33_e

x25+x521

si34_e

x34+x431

si35_e

x35+x531

si36_e

x45+x541

si37_e

Note that all possible combinations of subroutes with 2 nodes are considered.

  1. 4. Constraint (4) prevents formation of subroutes with three nodes (| S | = 3):

x12+x23+x312

si38_e

x12+x24+x412

si39_e

x12+x25+x512

si40_e

x13+x34+x412

si41_e

x13+x35+x512

si42_e

x14+x45+x512

si43_e

x23+x34+x422

si44_e

x23+x35+x522

si45_e

x24+x45+x522

si46_e

x34+x45+x532

si47_e

  1. 5. There will be no formation of subroutes with four nodes (| S | = 4):

x12+x23+x34+x413

si48_e

x12+x23+x35+x513

si49_e

x12+x24+x45+x513

si50_e

x13+x34+x45+x513

si51_e

x23+x34+x45+x523

si52_e

  1. 6. Non-negativity constraints:

xij0,ij,i=1,,5andj=1,,5

si53_e

19.5.2 Solution of the Traveling Salesman Problem Using Excel Solver

Example 19.4 referring to the traveling salesman problem will be solved in this section using Excel Solver. The representation of the problem in an Excel spreadsheet is illustrated in Fig. 19.13 (see file Example19.4_TravelingSalesman.xls).

Fig. 19.13
Fig. 19.13 Representation in Excel of the traveling salesman problem.

With regard to the formulas utilized in Fig. 19.13, all of the cells of lines 11 to 49, between columns C and V, correspond to the cell of row 5 of the same column. For example, G11 = G5, C12 = C5, D13 = D5, and so forth, up to T49 = T5 or V32 = V5. For their part, the cells of column W of a given row correspond to the sum of cells of column C with those of column V of the same row. For example, W11 = SUM(C11:V11), and so forth, up to W49 = SUM(C49:V49). We furthermore have the formula of the destination cell, which is X5 = SUMPRODUCT(C5:V5, C7:V7).

The names attributed to the cells and intervals of cells of Fig. 19.13 that will be referred to in the Excel Solver are presented in Box 19.6.

Box 19.6

Names Attributed to the Cells of Fig. 19.13

NameCells
RoutesC5:V5
Total_distanceX5
Visits_jW11:W15
Visits_iW17:W21
Sub_routes_2_nodesW23:W32
Sub_routes_3_nodesW34:W43
Sub_routes_4_nodesW45:W49

The representation of the traveling salesman problem in the Solver Parameters dialog box is illustrated in Fig. 19.14. As we are faced with a binary programming problem, the constraint that the decision variable Routes are binary was included. Similar to previous problems, clicking on the Options button, do not forget to disable the Ignore Integer Constraints check box and to specify the value 0 in the Integer Optimality (%) box.

Fig. 19.14
Fig. 19.14 Solver Parameters regarding the traveling salesman problem.

Since the constraint that the decision variables may only assume values 0 or 1 has already been included, it is not necessary to select the Make Unconstrained Variables Non-Negative check box. In the Select a Solving Method box, the Simplex LP method was selected. Fig. 19.15 presents the optimal solution of the traveling salesman problem (Example 19.4).

Fig. 19.15
Fig. 19.15 Optimal solution of the traveling salesman problem using Excel Solver.

The optimal FBS is, therefore, x14 = 1, x21 = 1, x32 = 1, x45 = 1, and x53 = 1 that corresponds to the route 1 → 4 → 5 → 3 → 2 → 1 (or x12 = 1, x23 = 1, x35 = 1, x41 = 1, x54 = 1) that corresponds to the opposite direction) with z = 217, 21. This solution may also be represented graphically, as shown in Fig. 19.16.

Fig. 19.16
Fig. 19.16 Optimal solution of the traveling salesman problem represented graphically.

19.6 The Facility Location Problem

Facility location models have been widely studied during recent decades. The term facility includes factories, distribution centers, ports, airports, or terminals. The objective of the facility location problem is to determine the number of facilities and select the optimal locations among a set of candidate locations, as well as to achieve better distribution of the products from the facilities to the final clients so that their demands are met at the lowest possible cost. The simplest problem considers only two links in the supply chain (single-stage location problem) but may be generalized into three links (two-stage location problem) as happens in the transshipment problem. The two-stage facility location problem is thus an extension of the transshipment problem, in which the transshipment points must be located (they become decision variables). Thus, the facility location problem may also be modeled like a network programming problem. We will present the simplest single-stage model here.

19.6.1 Modeling of the Facility Location Problem

The model parameters, the decision variables, and the overall mathematical formulation of the facility location problem are specified as follows, based on Chopra and Meindl (2015).

Indexes:

i = 1, …, m that represent the facilities

j = 1, …, n that represent the consumers

Parameters of the model:

cij = transportation cost from facility i to the consumer j

fi = fixed cost of keeping facility i open

Cmax, i = maximum capacity from facility i

Dj = demand from consumer j

Decision variables:

xij = quantity transported from facility i to the consumer j

yi={1if facilityiis open0otherwise

si54_e

Mathematical formulation:

Fobj=minz=mi=1fiyi+mi=1nj=1cijxijs.t.nj=1xijCmax,iyi,i=1,,m(1)mi=1xij=Dj,j=1,,n(2)xij0,i=1,,m,j=1,,n(3)yi{0,1},i=1,,m(4)

si55_e  (19.6)

that corresponds to a problem of mixed binary programming.

The objective function of the facility location model seeks to minimize the sum of the fixed costs for facilities maintenance and the transportation costs from the facilities to the final customers. Constraint (1) guarantees that the maximum capacity of each facility i will not be exceeded. Obviously, the capacity from facility i will only be considered if that facility is open. The second constraint guarantees that the demand of each consumer j will be met. Finally, it is affirmed that the decision variables xij are positive and that the variables yi are binary.

Example 19.5

A food sector company is planning to open new factories and is considering five possibilities of cities in Brazil: Manaus, Fortaleza, Vitoria, Barueri, and Curitiba. From the new facilities, the products will be delivered to five final customers: Sao Luis, Brasilia, Belo Horizonte, Rio de Janeiro, and Sao Paulo (Fig. 19.17).

Fig. 19.17
Fig. 19.17 The facility location problem of the food sector company.

Each factory has a fixed cost for maintenance and a maximum capacity, as shown in Table 19.E.5. The transportation costs per unit transported from each factory to each final consumer, besides the demand from consumers, are also detailed in Table 19.E.5. The company wishes to determine which factory(ies) to open, so as to minimize the sum of the fixed costs for installation and the transportation costs, ensuring that the demand of the final customers will be met. Model the facility location problem.

Table 19.E.5

Costs for Transportation, Fixed Cost, Capacity, and Demand
Unit transportation costs
Sao LuisBrasiliaBelo HorizonteRio de JaneiroSao PauloFixed costCapacity
Manaus0.820.951.101.331.22111,00035,000
Fortaleza0.741.121.061.131.24124,00030,000
Vitoria1.341.240.720.720.88120,00025,000
Barueri1.481.260.980.950.70135,00030,000
Curitiba1.521.451.331.221.15140,00020,000
Demand16,00018,00012,00017,00020,000

Unlabelled Table

Solution

The decision variables of the model are:

xij = quantity transported from facility i to the consumer j, i = 1, …, 5 and j = 1, …, 5.

yi={1if facilityiis open0otherwise,i=1,,5

si56_e

in which the index i corresponds to:

i = 1 (Manaus), i = 2 (Fortaleza), i = 3 (Vitoria), i = 4 (Barueri), and i = 5 (Curitiba);

and the index j corresponds to:

j = 1 (Sao Luis), j = 2 (Brasilia), j = 3 (Belo Horizonte), j = 4 (Rio de Janeiro), and j = 5 (Sao Paulo).

The objective function seeks to minimize the sum of the fixed costs for factories maintenance and for transportation costs:

Fobj=minz=111,000y1+124,000y2+120,000y3+135,000y4+140,000y5+0.82x11+0.95x12+1.10x13+1.33x14+1.22x15+0.74x21+1.12x22+1.06x23+1.13x24+1.24x25+1.34x31+1.24x32+0.72x33+0.72x34+0.88x35+1.48x41+1.26x42+0.98x43+0.95x44+0.70x45+1.52x51+1.45x52+1.33x53+1.22x54+1.15x55

si57_e

The constraints of the model are specified as follows:

  1. 1. The maximum capacity of each factory may not be exceeded:
  • x11 + x12 + x13 + x14 + x15 ≤ 35,000y1    (factory in Manaus)
  • x21 + x22 + x23 + x24 + x25 ≤ 30,000y2    (factory in Fortaleza)
  • x31 + x32 + x33 + x34 + x35 ≤ 25,000y3    (factory in Vitoria)
  • x41 + x42 + x43 + x44 + x45 ≤ 30,000y4    (factory in Barueri)
  • x51 + x52 + x53 + x54 + x55 ≤ 20,000y5    (factory in Curitiba)
  1. 2. The demand of each client should be met:
  • x11 + x21 + x31 + x41 + x51 = 16,000    (consumer in Sao Luis)
  • x12 + x22 + x32 + x42 + x52 = 18,000    (consumer in Brasilia)
  • x13 + x23 + x33 + x43 + x53 = 12,000    (consumer in Belo Horizonte)
  • x14 + x24 + x34 + x44 + x54 = 17,000    (consumer in Rio de Janeiro)
  • x15 + x25 + x35 + x45 + x55 = 20,000    (consumer in Sao Paulo)
  1. 3. The decision variables xij are positive:
  • xij ≥ 0,     i = 1, …, 5,     j = 1, …, 5
  1. 4. The decision variables yi are binary:
  • yi ∈ {0, 1},     i = 1, …, 5

19.6.2 Solution of the Facility Location Problem Using Excel Solver

Example 19.5 regarding the facility location problem will be solved in this section using Excel Solver. The representation of the problem in an Excel spreadsheet is illustrated in Fig. 19.18 (see file Example19.5_Location.xls).

Fig. 19.18
Fig. 19.18 Representation in Excel of the facility location problem.

The formulas utilized in Fig. 19.18 are specified in Box 19.7.

Box 19.7

Formulas Utilized in Fig. 19.18

CellFormula
C14= SUM(C23:G23)
C15= SUM(C24:G24)
C16= SUM(C25:G25)
C17= SUM(C26:G26)
C18= SUM(C27:G27)
H14= SUM(C23:C27)
H15= SUM(D23:D27)
H16= SUM(E23:E27)
H17= SUM(F23:F27)
H18= SUM(G23:G27)
E14= I5 x H23
E15= I6 x H24
E16= I7 x H25
E17= I8 x H26
E18= I9 x H27
I23= SUMPRODUCT(C5:H9,C23:H27)

The names attributed to the cells and intervals of cells in Fig. 19.18 that will be referred to in the Excel Solver are presented in Box 19.8.

Box 19.8

Names Attributed to the Cells of Fig. 19.18

NameCells
SupplyC14:C18
Capacity_yE14:E18
DeliveryH14:H18
DemandJ14:J18
Quantities_transportedC23:G27
LocationH23:H27
Total_costI23

The representation of the facility location problem in the Solver Parameters dialog box is illustrated in Fig. 19.19. As we are faced with a problem of mixed binary programming, the constraint that the Location decision variables are binary was included. To complete the operation, click on the Options button, disable the Ignore Integer Constraints check box and specify the value 0 in the Integer Optimality (%) box. Otherwise, the binary constraint is ignored.

Fig. 19.19
Fig. 19.19 Solver Parameters regarding the facility location problem.

Instead of adding the Quantities_transported>=0 constraint, we could select the Make Unconstrained Variables Non-?Negative check box. Note that the Simplex LP method was selected. Fig. 19.20 presents the optimal solution of the facility location problem (Example 19.5).

Fig. 19.20
Fig. 19.20 Optimal solution of the facility location problem using Excel Solver.

The optimal FBS is, therefore, x12 = 18,000, x15 = 17,000, x21 = 16,000, x23 = 7,000, x33 = 5,000, x34 = 17,000, x35 = 3,000, y1 = 1, y2 = 1, and y3 = 1 with z = 430,580.00. For this problem, Solver can find more than one optimal solution.

19.7 The Staff Scheduling Problem

Several staff scheduling problems have arisen, such as staffing for nurses, staffing at post offices, banks, telephone call centers, employees scheduling for transportation companies, to name a few. The problem consists of allocating a set of employees at different work times, so that the service centers may meet their demands, respecting the constraints of the system. Since the decision variables must assume integer values (number of employees per shift), the staff scheduling problem corresponds to a problem of integer programming.

Example 19.6

The PRINCE bank is opening new bank branches and thus needs to hire additional labor. However, the schedule for the work that will be hired must be defined. The goal is to schedule the new employees in work shifts in order to provide the desired level at the lowest possible cost. In each shift, the employees work for a period of 8 consecutive hours, and the period corresponding to each shift, as well as the daily cost per employee, is presented in Table 19.E.6. However, for the desired level of service to be provided, a minimum number of employees per period is needed, as shown in Table 19.E.7. Formulate the integer programming problem so as to determine the labor to be hired per shift, at the lowest possible cost, respecting the constraint on minimum number of employees per period.

Table 19.E.6

Daily Cost per Employee and Shift
ShiftPeriodDaily Cost per Employee
16:01–14:00$100
28:01–16:00$80
310:01–18:00$85
414:01–22:00$130
522:01–6:00$150

Table 19.E.7

Number of Employees Necessary per Period
PeriodNumber of Employees Necessary
6:01–8:0022
8:01–10:0035
10:01–12:0054
12:01–14:0042
14:01–16:0060
16:01–17:0044
17:01–18:0035
18:01–20:0030
20:01–22:0025
22:01–6:0018

Solution

First, we define the decision variables of the model:

xj = number of employees who begin work in shift j, j = 1, 2, …, 5.

Thus, we have:

x1 = number of employees who begin work at 6:01.

x2 = number of employees who begin work at 8:01.

x3 = number of employees who begin work at 10:01.

x4 = number of employees who begin work at 14:01.

x5 = number of employees who begin work at 22:01.

One seeks to determine schedule of employees that will begin work on shift j, so as to minimize the total daily labor cost. Thus, the objective function may be written in the following manner:

Fobj=minz=100x1+80x2+85x3+130x4+150x5

si58_e

However, the constraints on minimum number of employees assigned per period must be respected, so as to provide the desired level of service. Each one of the model constraints is detailed as follows.

  1. 1. In the period from 6:01 to 8:00, the minimum number of employees necessary is 22. The only shift that covers this period is shift 1. Therefore:

    x122

    si59_e

  2. 2. The number of employees assigned for the shifts that cover the period 8:01–10:00 (shift 1 and 2) should be at least 35:

    x1+x235

    si60_e

  3. 3. In the period from 10:01 to 12:00, one needs a minimum of 54 employees. The employees that will be assigned for shifts 1, 2, and 3 will work in this period. Therefore:

    x1+x2+x354

    si61_e

  4. 4. In the period from 12:01 to 14:00, the minimum number of employees necessary is 42. The shifts 1, 2, and 3 will cover that period. We have, therefore:

    x1+x2+x342

    si62_e

  5. 5. The number of employees assigned to the shifts that cover the period from 14:01 to 16:00 (shifts 2, 3, and 4) should be at least 60:

    x2+x3+x460

    si63_e

  6. 6. In the period from 16:01 to 17:00, at least 44 employees must be scheduled. The employees assigned to shifts 3 and 4 will cover that period. Thus:

    x3+x444

    si64_e

  7. 7. The minimum number of employees necessary for the period from 17:01 to 18:00 is 35. Only the employees scheduled for shifts 3 and 4 will cover that period:

    x3+x435

    si65_e

  8. 8. The number of employees assigned for the shift that covers the period from 18:01 to 20:00 (shift 4) should be at least 30:

    x430

    si66_e

  9. 9. The minimum number of employees necessary for the period from 20:01 to 22:00 is 25. Only the employees scheduled for shift 4 will cover that period. Therefore:

    x425

    si67_e

  10. 10. The number of employees assigned for the shift that covers the period from 22:01 to 06:00 (shift 5) should be at least 18:

    x518

    si68_e

  11. 11. The decision variables of the model are nonnegative and integers:

    xj0and integers,j=1,2,,5.

    si69_e

The complete model may be formulated in the following manner:

Fobj=minz=100x1+80x2+85x3+130x4+150x5s.t.x122(6:018:00)x1+x235(8:0110:00)x1+x2+x354(10:0112:00)x1+x2+x342(12:0114:00)x2+x3+x460(14:0116:00)x3+x444(16:0117:00)x3+x435(17:0118:00)x430(18:0120:00)x425(20:0122:00)x518(22:016:00)xj0andinteger=1,,5

si70_e

that corresponds to a problem of integer programming.

19.7.1 Solution of the Staff Scheduling Problem Using Excel Solver

Example 19.6 regarding the PRINCE bank problem, will be solved in this section using Excel Solver. Fig. 19.21 illustrates the representation of the model in an Excel spreadsheet (see file Example19.6_Banksum.xls).

Fig. 19.21
Fig. 19.21 Representation in Excel of the PRINCE bank problem.

Box 19.9 presents the formulas utilized in Fig. 19.21.

Box 19.9

Formulas Utilized in Fig. 19.21

CellFormula
G8= SUMPRODUCT(B8:F8,$B$21:$F$21)
G9= SUMPRODUCT(B9:F9,$B$21:$F$21)
G10= SUMPRODUCT(B10:F10,$B$21:$F$21)
G11= SUMPRODUCT(B11:F11,$B$21:$F$21)
G12= SUMPRODUCT(B12:F12,$B$21:$F$21)
G13= SUMPRODUCT(B13:F13,$B$21:$F$21)
G14= SUMPRODUCT(B14:F14,$B$21:$F$21)
G15= SUMPRODUCT(B15:F15,$B$21:$F$21)
G16= SUMPRODUCT(B16:F16,$B$21:$F$21)
G17= SUMPRODUCT(B17:F17,$B$21:$F$21)
G21= SUMPRODUCT(B5:F5,$B$21:$F$21)

The names attributed to the cells and intervals of cells of Fig. 19.21 that will be referred to in Solver are specified in Box 19.10.

Box 19.10

Names Attributed to the Cells of Fig. 19.21

NameCells
Total_employeesG8:G17
Minimum_employeesI8:I17
Quantity_employeesB21:F21
Total_costG21

Fig. 19.22 presents a representation of the PRINCE bank problem in the Solver Parameters dialog box. As we are faced with a problem of integer programming, the new constraint was included using the Add button (see Fig. 19.23). On the left side are listed the variable cells (called Quantity_employees). In the middle cell, instead of selecting the equal to or unequal to sign, as done with the other constraints, one selects the int option. Note that on the right side the number name appears automatically. The int option is automatically substituted by the equal sign after the problem is solved. Similar to previous problems, clicking on the Options button, do not forget to disable the Ignore Integer Constraints check box and to specify the value 0 in the Integer Optimality (%) box, as shown in Fig. 19.23.

Fig. 19.22
Fig. 19.22 Solver Parameters regarding the PRINCE bank problem.
Fig. 19.23
Fig. 19.23 Solving problems with integer constraints.

Once again, the Make Unconstrained Variables Non-Negative check box and the Simplex LP method were selected in Fig. 19.22. Fig. 19.24 presents the optimal solution of the PRINCE bank problem.

Fig. 19.24
Fig. 19.24 Optimal solution of the staff scheduling problem.

The optimal solution is, therefore, x1 = 22, x2 = 18, x3 = 14, x4 = 30, and x5 = 18 with z = 11,430.

19.8 Exercises

Section 19.1 (ex. 1). Classify the following problems as: integer programming (IP), mixed integer programming (MIP), binary programming (BP), mixed binary programming (MBP), or binary integer programming (BIP):

  1. a) maxz=6x1+5x2s.t.2x1+3x244x1+2x26x1,x2{0,1}si71_e
  2. b) minz=2x1+5x2s.t.3x1+5x2306x1+3x236x1,x20x1integersi72_e
  3. c) maxz=2x1+3x2s.t.5x1+2x2502x1+4x266x1,x20x1,x2areintegerssi73_e
  4. d) maxz=3x1+8x2s.t.2x1+5x2203x1+5x260x1{0,1}x20and integersi74_e
  5. e) maxz=4x1+6x2s.t.2x1+5x223x1+2x26x1,x20x1,x2{0,1}si75_e
  6. f) minz=5x1+7x2s.t.2x1+5x2124x1+2x210x1{0,1}x20si76_e
  7. g) minz=3x1+8x2s.t.5x1+2x2402x210x1,x20x1integersi77_e

Section 19.2 (ex. 1). Look again at the exercises from the previous section. Solve each relaxed problem by the Simplex method and verify if the solution found corresponds to the optimal solution of the original problem.

Section 19.2 (ex. 2). Consider the following integer programming problem:

maxz=2x1+3x2s.t.2x1+5x2205x1+3x230x1,x20x1,x2areintegers

si78_e

You are to:

  1. a) Solve the corresponding linear problem (relaxing the integrality constraints) in graphical form.
  2. b) Solve the original problem graphically, enumerating all of the possible integer solutions.
  3. c) Determine the optimal solution of the original problem using Excel Solver.

Section 19.2 (ex. 3). Same for the following integer programming problem:

maxz=x1+2x2s.t.x1+3x263x1+x29x1,x20x1,x2areintegers

si79_e

Section 19.2 (ex. 4). Same for the following integer programming problem:

maxz=3x1+2x2s.t.4x1+2x216x22x1,x20x1,x2areintegers

si80_e

Section 19.3 (ex.1). The Translibert bus company operates on the Sao Paulo - Ubatuba stretch and is analyzing whether to take on additional passengers during the route, considering the last bus that has left the terminal. There is a total of 8 passengers waiting, and each will travel a different route, paying different fares, as shown in Table 19.1. The weights of the passengers must also be considered, given that the maximum weight that can be added is 280 kg, so as not to exceed the maximum capacity of the bus in circulation. Determine the passengers that should be selected, in order to maximize the profit for the company while respecting the capacity constraints.

Table 19.1

Ticket Price ($) and Weight (kg) per Passenger
PassengerTicket PriceWeight
148.0080
240.0070
352.0084
445.0072
555.0090
640.0065
730.0050
835.0055

Section 19.4 (ex.1). A company is considering 6 projects to invest in. The estimated profit (NPV) and the capital required for each project are illustrated in Table 19.2. Projects 5 and 6 are mutually exclusive (one project may only be selected if the other is not chosen), while project 3 is dependent on project 2 (acceptance of project 3 depends on acceptance of project 2). The total available in funds for investing in those projects is US$ 20 million. Formulate the problem for selecting investment projects and determine the optimal solution using Excel Solver.

Table 19.2

Estimated Profit (NPV) and Capital Required for Each Project in Millions of Dollars
ProjectNPVCapital Necessary
1. Invest in IT74
2. Open the new factory127
3. Acquire a new supplier85
4. Develop a new product106
5. Invest in R&D74
6. Invest in publicity and advertising63

IT, Information Technology; R&D, Research and Development.

Section 19.5 (ex.1). Formulate the vehicle routing problem that is specified here and is an extension of the traveling salesman problem. The problem consists of determining multiple routes (instead of a single route as happens with the traveling salesman problem), at the lowest possible cost, so that each vehicle visits at least one node of the network, and each node is visited only once. The total demand of each node should be met. The problem is based on a single deposit and the vehicle must leave and return to the same base. The problem also considers vehicle capacity constraints.

Section 19.6 (ex.1). A company in the automobile sector is planning to open new distribution centers and is considering five possibilities: Belem, Palmas, Sao Luis, Teresina, and Fortaleza. From the new distribution centers (DCs), the products will be delivered to five final customers: Belo Horizonte, Vitoria, Rio de Janeiro, Sao Paulo, and Campo Grande. However, each final consumer may only be served by a single DC. Each DC has a fixed maintenance cost and a maximum operating capacity, as shown in Table 19.3. The transportation costs per unit transported from each DC to each final consumer, besides the demand from consumers, are also detailed in the same table. The company wishes to determine which distribution center(s) to open, so as to minimize the sum of the fixed costs for installation and transportation, ensuring that the demand of the final customers will be met. Model the facility location problem and determine the optimal solution using Excel Solver.

Table 19.3

Transportation Costs, Fixed Cost, Capacity, and Demand
Unit Transportation Costs
Belo HorizonteVitoriaRio de JaneiroSao PauloCampo GrandeFixed costCapacity
Belem0.870.900.920.940.90140,00025,000
Palmas0.820.880.900.920.92135,00035,000
Sao Luis0.930.950.991.020.97125,00025,000
Teresina0.951.060.981.020.95120,00020,000
Fortaleza1.020.890.920.981.04125,00030,000
Demand12,00015,00018,00020,00020,000

Table 19.3

Section 19.6 (ex.2) (Source: Adapted from Brito Júnior, 2004). A supply company with head offices in the United States and Europe supplies a production line located in Harbin (northern China). The various materials may be sent from the suppliers directly to the production line in Harbin or undergo a consolidation stage (transshipment) in one of the possible consolidation points: in Brazil (Sao Jose dos Campos), East and West Coasts of the United States (Miami and Los Angeles), or in France (Paris). In this problem, each client may be served by more than one facility. The consolidation points have maximum capacity constraints.

The objective is to determine optimal consolidation sites among the possible local candidates, besides the quantity of each product that will be transported directly from the suppliers to the production line in Harbin, and the quantity of each product that undergoes the transshipment stage in one of the chosen sites, in order to minimize total logistics costs in the network analyzed, subject to the following conditions:

  1. 1. The demand for all of the products should be satisfied;
  2. 2. Each consolidation point has a maximum storage capacity;
  3. 3. The supply capacity may not be exceeded for each product.

Model the location and transshipment problem for the company analyzed.

Section 19.7 (ex.1). The City Government of Ukiah-CA is introducing new bus routes, in order to meet the transportation needs of residents in a given area of the city. They are seeking to determine the number of buses that will be assigned for each shift, in order to meet the level of service for clients on a given day, with the lowest possible cost. Each begins its operation on one of the shifts specified in Table 19.4, operating for a consecutive period of 8 hours. The number of buses necessarily varies according to the time of day, as shown in Table 19.5. Formulate the integer programming problem that seeks to minimize the number of buses in operation in each shift and determine the optimal solution using Excel Solver.

Table 19.4

Initial Period of Operation for Buses According to Shift
ShiftStart of Operation
16:01
28:01
310:01
412:01
514:01
616:01
718:01
820:01
922:01

Table 19.5

Minimum Number of Buses in Operation Necessary for Each Period
PeriodMinimum Number of Buses in Operation
6:01–8:0020
8:01–10:0024
10:01–12:0018
12:01–14:0015
14:01–16:0016
16:01–18:0027
18:01–20:0018
20:01–22:0012
22:01–24:0010
00:01–02:004
02:01–04:003
04:01–06:008

Section 19.7 (ex.2). A post office branch needs to hire employees so as to meet client demand for each day of the week. The minimum number of employees, for each day of the week, is detailed in Table 19.6. According to labor laws, each worker has the right to 5 consecutive work days and 2 days off. Formulate the integer programming problem that seeks to minimize the number of employees to be hired, respecting the constraints of the system. Also determine the optimal solution using Excel Solver.

Table 19.6

Minimum Number of Employees for Each Day of the Week
Day of the WeekMinimum Number of Employees
Monday15
Tuesday20
Wednesday17
Thursday22
Friday24
Saturday15
Sunday10

References

Brito Júnior I. Análise do impacto logístico de diferentes regimes aduaneiros no abastecimento de itens aeronáuticos empregando modelo de transbordo multiproduto com custos fixos. Dissertação (Mestrado em Engenharia de Sistemas Logísticos) São Paulo: Escola Politécnica da Universidade de São Paulo; 2004.

Dantzig G.B., Fulkerson D.R., Johnson S.M. Solution of a large-scale traveling salesman problem. Oper. Res. 1954;2:393–410.

Winston W.L. Operations Research: Applications and Algorithms. fourth ed. Belmont: Brooks/Cole – Thomson Learning; 2004.


"To view the full reference list for the book, click here"

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset