3Integer ProgrammingAn integer programming model is one that has constraints andan objective function identical to that formulated by LP.The only difference is that one or more of the decision variableshas to take on an integer value in the final solution.There are three types of integer programming problems:1. Pure IP problems are cases in which all variablesare required to have integer values.2. Mixed IP problems are cases in which some , butnot all, of the decision variables are required tohave integer values.3. Zero-one IP problems are special cases in which allthe decision variables must have integer values of 0or 1 .
4Integer Programming Solving an IP problem is much more difficult . The solution time may be excessive, even on acomputer.The most common algorithm here is the branchand bound method.
5Harrison Electric Company PURE INTEGER PROBLEMThe Harrison Electric Company produces two products: old-fashionedchandeliers and ceiling fans. Both products require a two-step processinvolving wiring and assembly.It takes 2 hours to wire each chandelier and 3 hours to wire a ceilingfan.Final assembly of the chandeliers and fans requires 6 and 5 hours, re-spectively.The production capability is such that only 12 hours of wiring time and30 hours of assembly time are available.If each chandelier produced nets the firm $7.00 and each fan $6.00, theProduction mix decision can be formulated using LP as follows:
6Harrison Electric Company Maximize profit = $7.00 X1 + $6.00 X2subject to:2X1 + 3X2 =< 12 ( wiring hours )6X1 + 5X2 =< 30 ( assembly hours )X1, X2 => 0where:X1 = number of chandeliers producedX2 = number of ceiling fans producedThe Model
8Harrison Electric Company The optimal solution is X1 = 3.75 chandeliers and X2 = 1.5 ceilingfans.Rounding to X1 = 4 and X2 = 2 makes the solution unfeasible.Rounding to X1 = 4 and X2 = 2 is probably not the optimalfeasible integer solution either .There are 18 feasible integer solutions to this problem.The optimal integer solution is X1 = 5 and X2 = 0 , with a totalprofit of $The integer restriction reduced profit from $35.25 to $35.00An integer solution can never produce a greater profit than theLP solution to the same problem.DISCUSSION
9Harrison Electric Company Listing all feasible solutions and selecting the one with the best objectivefunction value is called the enumeration method. This can be virtuallyimpossible for large problems where the number of feasible solutions isextremely large !Chandeliers ( X1 )Ceiling Fans ( X2 )Profit ( Z )$0.001721432142853561320Integeroptimalsolution
10Harrison Electric Company Listing all feasible solutions and selecting the one with the best objectivefunction value is called the enumeration method. This can be virtuallyimpossible for large problems where the number of feasible solutions isextremely large !Chandeliers ( X1 )Ceiling Fans ( X2 )Profit ( Z )3127434212192633182524Roundingoptimalsolution
11Branch-and-Bound Method Solve the original problem using linear programming.If the answer satisfies the integer constraints, we aredone.If not, this value provides an initial upper bound forthe objective function.Find any feasible solution that meets the integer con-straints for use as a lower bound. Usually, roundingdown each variable will accomplish this.
12Branch-and-Bound Method Branch on one variable from step 1 that does nothave an integer value. Split the problem into twosubproblems based on integer values that are aboveand below the noninteger value.For example, if X2 = 3.75 was in the optimal linearprogramming solution, introduce constraint X2 => 4in the first subproblem, and X2 =< 3 in the secondsubproblem.
13Branch-and-Bound Method Create nodes at the top of these new branches bysolving the new problems.
14Branch-and-Bound Method 5. a If a branch yields a solution that is not feasible,terminate the branch.5. b If a branch yields a solution that is feasible, butnot an integer solution, go to step 6.5. c If the branch yields a feasible integer solution,look at the objective function. If its value equalsthe upper bound, an optimal solution has beenreached.If it is not equal to the upper bound, but exceedsthe lower bound, set it as the new lower boundand go to step 6.Finally, if it is less than the lower bound, terminatethis branch.
15Branch-and-Bound Method Examine both branches again and set theupper bound equal to the maximum valueof the objective function at all final nodes.If the upper bound equals the lower bound,stop.If not, go back to step 3 .
16Harrison Electric Company REVISITEDHarrison Electric CompanyMaximize profit = $7.00 X1 + $6.00 X2subject to:2X1 + 3X2 =< 12 ( wiring hours )6X1 + 5X2 =< 30 ( assembly hours )X1, X2 => 0where:X1 = number of chandeliers producedX2 = number of ceiling fans producedThe Model
18Branch-and-Bound Method Since X1 and X2 are not integers, the solution is not valid.The profit of $35.25 will be the initial upper bound.Rounding down gives X1 = 3, X2 = 1, profit = $27.00 , whichis feasible and can be used as a lower bound.X1=3.75X2=1.5P=35.25Upper Bound = $35.25Lower Bound = $27.00(rounding down)OriginalNon-IntegerSolution
19Branch-and-Bound Method We divide the problem into two subproblems, A and BWe can branch on either the non-integer X1 or X2We choose X1 this timeX1=3.75X2=1.5P=35.25Upper Bound = $35.25Lower Bound = $27.00(rounding down)OriginalNon-IntegerSolution
22Branch-and-Bound Method Subproblem A is now branched into two newsubproblems, C and DSubproblem C has the additional constraint ofX2 => 2Subproblem D has the additional constraint ofX2 =< 1The logic here is that since A’s optimal solutionof X1 = 1.2 is not feasible, the integer feasibleanswer must lie at X2 => 2 or X2 =< 1
23Branch-and-Bound Method Subproblem CMax Z = $7X1 + $6X2s.t X1 + 3X2 =< 126X1 + 5X2 =< 30X1 => 4X2 => 2Subproblem DMax Z = $7X1 + $6X2s.t X1 + 3X2 =< 126X1 + 5X2 =< 30X1 => 4X2 =< 1Subproblem C has no feasible solution whatsoever because the firsttwo constraints are violated if X1 => 4 and X2 => 2 constraints areobserved. We terminate this branch and do not consider its solution.Subproblem D’s solution is X1 = 4.17, X2 = 1, profit = $ This non-integer solution yields a new upper bound of $35.16.
25Branch-and-Bound Method Finally, we create subproblems E and F and solve for X1 and X2 withthe additional constraints X1 =< 4 and X1 => 5 .Subproblem EMax Z = $7X1 + $6X2s.t X1 + 3X2 =< 126X1 + 5X2 =< 30X1 => 4X1 =< 4X2 =< 1Subproblem FMax Z = $7X1 + $6X2s.t X1 + 3X2 =< 126X1 + 5X2 =< 30X1 => 4X1 => 5X2 =< 1
26Full Branch-and-Bound Solution Harrison Electric CompanyFull Branch-and-Bound SolutionSubproblem CSubproblem ANoFeasibleSolutionX2 => 2X1=4X2=1.2P=35.20Subproblem EX1=4X2=1P=34.00X1 => 4FeasibleIntegerSolutionX1=3.75X2=1.5P=35.25X2 =< 1Subproblem DX1 =< 4X1=4.17X2=1P=35.16Subproblem BSubproblem FX1 =< 3X1=3X2=2P=33.00X1=5X2=0P=35.00FeasibleIntegerOptimalSolutionX1 => 5The stopping rule for the branching process is that we continue until the new upperbound is less than or equal to the lower bound or no further branching is possible.The latter is the case here since both branches yielded feasible integer solutions.
27Integer Programming with QM for WINDOWS Harrison Electric Company
53Mixed Integer Programming The Bagwell Chemical Company produces two industrialchemicals.The first product, xyline, must be produced in 50-poundbags.The second, hexall, is sold by the pound in dry bulk andhence can be produced in any quantity.Both xyline and hexall are composed of three ingredients:A, B, and C as follows:
54The Bagwell Chemical Co. Amount per50-Pound Bagof Xyline (lb)Poundof Hexall (lb)Amount ofIngredientsAvailable300.52,000 lb - A180.4800 lb - B20.1200 lb - CBagwell sells 50-pound bags of xyline for $85.00 and hexall in any weight for $1.50 per pound.By formulating the usage coefficients for each 50-pound bag of Xyline, rather than for eachpound of Xyline, the program will automatically compute the purchase quantity for Xyline in50-pound bag units, if an integer output is required.
55The Bagwell Chemical Co. Maximize Z = $85.00 X + $1.50 Ys.t.30 X Y <= 2,00018 X Y <=2 X Y <=X,Y => 0 and X integerThe ModelX = number of 50-pound bags of xyline produced ; Y = number of pounds of hexall (in dry bulk) mixed
56The Bagwell Chemical Co. The SolutionThe Integer Solution The Optimal SolutionX = 44 bags of xylineY = 20 pounds of hexallZ = $3,770.00X = bags of xylineY = 0 pounds of hexallZ = $3,777.78
57Integer Programming with QM for WINDOWS Bagwell Chemical Company Mixed Integer ProgramforBagwell Chemical Company
80Modeling with Binary Variables Typically, a ‘0-1’ variable is assigned a value of 0if a certain condition is not met, and a value of ‘1’if the condition is met.Another name for a ‘0-1’ variable is a binary vari-able.A common problem of this type is the assignmentproblem which involves deciding which individualsare assigned to a set of jobs. A value of 1 indicatesa person is assigned to a specific job. A value of 0indicates the assignment was not made.
81Capital Budgeting Example A common capital budgeting decision involvesselecting from a set of possible projects whenbudget limitations make it impossible to selectall of these.A separate ‘0-1’ variable can be defined for eachproject.
82XYZ Chemical CompanyXYZ is considering three possible improvement projectsfor its plant: a new catalytic converter, a new softwareprogram for controlling operations, and expanding thewarehouse used for storage.Capital requirements and budget limitations in the nexttwo years prevent the firm from underatking all of theseat this time.The net present value of each of the projects , the capitalrequirements, and the available funds for the next twoyears are given on the next slide.NPV is thefuture valueof a projectdiscountedback to thepresent time
83XYZ Chemical Company PROJECT Year 1 Year 2 $25,000. $8,000. $7,000. NetPresent ValueYear 1Capital RequirementYear 2CapitalRequirementCatalytic Converter$25,000.$8,000.$7,000.Software$18,000.$6,000.$4,000.Warehouse Expansion$32,000.$12,000.Budget Limitations$20,000.$16,000.PROJECT
84XYZ Chemical Company Maximize NPV of projects undertaken subject to: Total funds used in year 1 =< $20,000.Total funds used in year 2 =< $16,000.We define the decision variables as:X1 = if catalytic converter project is funded0 otherwiseX2 = if software project is fundedX3 = 1 if warehouse expansion project is funded
86XYZ Chemical Company and the warehouse expansion project, but not the The SolutionX1 = 1 , X2 = 0 , X3 = 1 , Z = 57,000The firm should fund the catalytic converter project,and the warehouse expansion project, but not thenew software project.The net present value of these investments will be$57,000.00
87Integer Programming with QM for WINDOWS Binary Variable Modeling for theXYZ Chemical Company
110XYZ Chemical Company Limiting the Number of Alternatives Selected Suppose that XYZ Chemical Company is required to select nomore than two of the three projects regardless of the fundsavailable.This could be modeled by adding the following constraint tothe problem:X1 + X2 + X3 =< 2If we wished to force the selection of exactly two of the threeprojects for funding, the following constraint should be used:X1 + X2 + X3 = 2This forces exactly two of the variables to have values of 1,whereas the other variable must have a value of 0.
111XYZ Chemical Company Dependent Selections At times the selection of one project depends in some wayupon the selection of another project. This situation can bemodeled with the use of 0-1 variables.Suppose that the new catalytic converter could be purchasedonly if the software was purchased also. The following con-straint would force this to occur:X1 <= X2 or X1 - X2 <= 0Thus, if the software is not purchased, the value of X2 is 0, andthe value of X1 must be 0 also because of this constraint.However, if the software is purchased ( X2 = 1 ), then it is possi-ble that the catalytic converter could be purchased ( X1 = 1)also, although this is not required.
112XYZ Chemical Company Dependent Selections If we wished for the catalytic converter and the softwareprojects to either both be selected or both not be selected,we should use the following constraint:X1 = X2 or X1 - X2 = 0Thus, if either of these variables is equal to 0, the othermust be 0 also.If either of these variables is equal to 1, the other mustbe 1 also.
113Fixed-Charge Problem Often firms are faced with decisions involving a fixed charge that will affect the cost of futureoperations.Building a new factory or entering into a long-term lease on an existing facility would involvea fixed cost that might vary depending upon thesize of the facility and the location.Once a factory is built, the variable productioncosts will be affected by the labor cost in theparticular city where it is located.
114Acme Manufacturing, Inc. FIXED-CHARGE PROBLEM EXAMPLEAcme Manufacturing is planning to build at least onenew plant, and three cities are being considered:Baytown, TX; Lake Charles, LA; and Mobile, AL.Once the plant or plants have been constructed, thefirm wishes to have sufficient capacity to produce atleast 38,000 units each year.The costs associated with the possible locations areshown on the following slide.
115Acme Manufacturing, Inc. SITEANNUALFIXED COSTVARIABLE COST PER UNITANNUAL CAPACITYBaytown$340,000.$32.21,000Lake Charles$270,000.$33.20,000Mobile$290,000.$30.19,000
116Acme Manufacturing, Inc. The objective function is to minimize the total ofthe fixed cost and the variable cost.Total production capacity is at least 38,000 units.The number of units produced at Baytown is ‘0’if the plant is not built, and no more than 21,000if the plant is built.The number of units produced at Lake Charles is‘0’ if the plant is not built, and no more than 20,000The number of units produced at Mobile is ‘0’ ifthe plant is not built, and no more than 19,000 ifthe plant is built.
117Acme Manufacturing, Inc. The decision variables:X1 = ‘1’ if the factory is built in Baytown ; ‘0’ otherwise.X2 = ‘1’ if the factory is built in Lake Charles ; ‘0’ otherwise.X3 = ‘1’ if the factory is built in Mobile ; ‘0’ otherwise.X4 = number of units produced at Baytown plant.X5 = number of units produced at Lake Charles plant.X6 = number of units produced at Mobile plant.
118Acme Manufacturing, Inc. TexasLouisianaMinimize Cost = 340,000 X1 + $270,000 X2 + $290,000 X3X X X6subject to:X4 + X5 + X6 => 38,000X4 =< 21,000 X1X5 =< 20,000 X2X6 =< 19,000 X3X1, X2, X3 = 0 or 1 ; X4, X5, X6 => 0 and integerThe Model
119Acme Manufacturing, Inc. Proposed SiteIf X1 = 0 , meaning Baytown plant is not built, thenX4 , number of units produced at Baytown plant,must equal 0 also, due to the second constraint.If X1 = 1 , then X4 may be any integer value lessthan or equal to the limit of 21,000 units.The third and fourth constraints are similarly usedto guarantee that no units are produced at theother locations if the plants are not built.
120Acme Manufacturing, Inc. X1 = 0X2 = 1X3 = 1X4 = 0X5 = 19,000X6 = 19,000Z = 1,757,000.00Optimal SolutionFactories will be built atLake Charles and Mobile.Each of these wil produce19,000 units each year.Total annual cost will be$1,757,000.00
121Financial Investment Example Numerous financial applications exist withbinary variables.A very common type of problem involvesselecting from a group of investment op-portunities.
122Hawthorne Investments Hawthorne Investments specializes in recommending oilstock portfolios for wealthy clients. One such client hasmade the following specifications:At least two Texas oil firms must be in the portfolio.No more than one investment can be made in foreignoil companies.One of the two California oil stocks must be purchased.The client has up to $3 million available for investmentsand insists on purchasing large blocks of shares of eachcompany he invests in.The objective is to maximize annual return on investmentsubject to the constraints.
123Hawthorne Investments Stocks Being ConsideredHawthorne InvestmentsThe firm is being forced by the clientto buy shares in “blocks” so thecost per “block” is shown below.StockCompanyNameExpectedAnnual Return($1,000s)Cost for BlockOf Shares1Trans-Texas Oil504802British Petroleum805403Dutch Shell906804Houston Drilling1201,0005Texas Petroleum1107006San Diego Oil405107California Petro75900
124Hawthorne Investments To formulate this as a 0-1 integer programmingproblem, let Xi be a ‘0-1’ integer variable, whereXi = 1 if the stock is purchased and Xi = 0 if thestock is not purchased.
125Hawthorne Investments Maximize return = 50 X X X X4+ 110 X X X7subject to:X1 + X4 + X5 => 2 ( Texas constraint )X2 + X3 =< 1 ( foreign oil constraint )X6 + X7 = 1 ( California constraint )480 X X X3 + 1,000 X4+ 700 X X X7 =< 3,000 ( $3 million limit )All variables must be 0 or 1 in value.The Model
126Hawthorne Investments The Optimal SolutionHawthorne should invest inDutch ShellHouston DrillingTexas PetroleumSan Diego Oiland not inTrans-Texas OilBritish PetroleumCalifornia PetroThe expected return is$360,000.00X3 = 1X4 = 1X5 = 1X6 = 1X1 = 0X2 = 0X7 = 0Z = 360,000
1270-1 Integer Programming Using HawthorneInvestmentsProblem