MASSACHUSETTS INSTITUTE OF TECHNOLOGY 5.05 Introduction to Optimization (Spring 005) Problem Set 8, Due April 4, 005 You will need 4.5 points out of 5 to receive a grade of.5.. Integer Programming and Scheduling (5 points) Greyhound needs to assign drivers to all of its upcoming trips. Currently, there are three drivers based in Boston, and twelve different trips (listed in the first column of the table below). Greyhound assigns each driver to a particular sequence of trips. The table below shows all the different sequences that are possible. (The numbers represent the order of the trips in each sequence; as an example, sequence 6 consists of first going from Boston to Portland, then from Portland to New Haven and finally from New Haven to Boston). possible sequences Trip 4 5 6 7 8 9 0 Boston-New Haven Boston- Pittsburgh Boston-Portland New-Haven - Niagara Falls New-Haven - Boston 5 5 Niagara Falls - Pittsburgh 4 Niagara Falls - Portland 4 Pittsburgh-Boston 4 4 5 Pittsburgh-Niagara Falls Portland-Boston 4 4 5 Portland - New Haven 4 4 Cost for each sequence 50 50 450 600 650 550 650 700 900 900 750 950 Each driver can be assigned to one and only one sequence. The cost of assigning a driver to a particular sequence is in the last row of the table. The objective is to assign each driver to a sequence such that all of the possible trips are taken at least once, and the cost is minimized. Formulate the problem as an integer program. (You do not need to solve it.) (HINT: this problem is a set covering problem). Page of 6
. Integer Programming and Modeling Nonlinear Costs (5 points) A copying service operates a copy machine. The machine has a capacity of 5000 copies of a page per hour. One hour has been reserved for copying a -page article and a 5-page article, to be sold to MBA students. The -page article sells for $.50 per article, and up to 00 articles can be sold. The 5-page article sells for $ per article, and up to 00 copies can be sold. Assume that you get no value for copying only part of an article. The costs of copying each article are: $0.08 per page for the first 50 copies of each page (i.e., to 50 copies of the same page), $0.04 per page for the next 50 copies of each pages (i.e., 5 to 00 copies of the same page), $0.0 per page for remaining copies of each page (i.e., 0 copies of the same page and over.) (For example, the first fifty copies of an article made cost $0.08 per page, and the cost of the 5 st copy is $0.04 per page.) Formulate as an integer program the problem of determining how many copies of each article should be made. (You do not need to solve it.). Integer Programming and Arranging (8 points) You have been assigned to arrange the songs on the cassette version of Madonna s latest album. A cassette tape has two sides ( and ). The following table shows the type and length of each song that must be included in the cassette. Song Type Minutes Ballad Hit 5 Ballad 4 4 Hit 5 Ballad 4 6 Hit 7 Ballad and Hit 4 8 Ballad and Hit 5 The following are the requirements of the tape:. The songs on each side of the tape must total between 4 and 6 minutes.. Each side must have exactly two ballads.. Either song or song 6 must be on side (or both). 4. Exactly one of songs 7 and 8 must be on side. 5. If song or song is on side, then song 4 or song 8 must be on side. 6. If songs and 4 are on side, then song 5 must be on side. Show how integer programming can be used to determine if there is an arrangement of the songs that satisfy the restrictions. (HINT: Model each part as a constraint or set of constraints.) Do not solve the IP. Page of 6
4. Integer Programming and Modeling Fixed Costs (8 points) MIT Press is considering publishing five textbooks. The imum number of copies of each textbook that can be sold, the sales price of each textbook, the per unit cost of producing each textbook, and the fixed cost of a production run for each book are given in the table below. Book Book Book Book 4 Book 5 Maximum Demand 5,000 4,000,000 4,000,000 Sales Price ($) 50 40 8 40 Per Unit Cost ($) 5 0 5 8 Fixed Cost ($) 80,000 50,000 60,000 0,000 40,000 The fixed cost is charged if any books of that type are produced. (So, for example, producing,000 copies of Book brings in a revenue of,000(50) = $00,000, but costs 80,000 + 5(,000) = $0,000.) MIT Press can produce at most 0,000 books, and it wishes to imize profit. a) Model this problem as an integer program. b) Using the attached file ps8.xls and Excel Solver (see instructions below), find the optimal solution to the integer program. What are the optimal solution and the optimal profit? Include a printout of your Excel output. Using Excel Solver to Solve Integer Programs Solving integer programs with Excel Solver is a lot like solving linear programs! Just follow these four easy steps:. Set up the problem in Excel Solver as you usually would for solving a linear program.. For any variable(s) that you would like to be binary valued (i.e., 0 or ), select Add Constraint, input the variable(s) in question into the left hand side, and select bin from the drop-down bar in the middle.. For any variable(s) that you would like to be integer (not necessarily binary) valued, select Add Constraint, input the variable(s) in question into the left hand side, and select int from the drop-down bar in the middle. 4. (Optional, but highly recommended) In the main Solver window, select Options and change Tolerance from the default of 5% to the much stricter bound of.0%. This will mean it takes Solver a little longer to solve, but it will give you much better solutions. Page of 6
5. Branch and Bound Trees (0 points) Solve the following two problems using Branch and Bound. For each problem, you should draw the associated branch and bound tree. On the drawing, for each node that is considered, write the corresponding optimal LP solution and optimal objective value of the subtree. Clearly indicate the branching criteria for each subtree. (You may use Excel to solve the LPs at each node, but you have to draw the entire tree.) a) b) s.t. s.t. x + x 6x x x, x + 5x x x + x 7x x x x, x, x + x + x + x x + x x + 5 5 = {0,} 9 0; x, x integer 6. Branch and Bound Steps (6 points) Suppose branch and bound is being applied to a 0- integer program in which we are imizing. By node the first three variables have been fixed. An incumbent has already been found (in another part of the tree) and has value 5. Furthermore, x 4 has been chosen to be the next variable to branch on. This situation is illustrated in the following fragment of the branch and bound tree: x, x, x fixed Incumbent: z = 5 z LP 6 x 4 = x 4 = 0 Page 4 of 6
The LP relaxation solved at node (which has x 4 and x 5 as free variables) was: 8x 8x 4 4 0 x 0 x + ax + 0x 4 5 5 5 + 0 5 (HINT: For the following questions, the LP relaxation essentially becomes a one variable problem that can be solved by inspection.) a) Suppose x 4 is set to. Does node get fathomed? Why or why not? b) Suppose x 4 is set to 0 and parameter a =. Does node get fathomed? Why or why not? c) Suppose x 4 is set to 0 and parameter a = 8. Does node get fathomed? Why or why not? 7. Branch and Bound Analysis (9 points) Consider the following integer program: s.t. x x x, x + x + x,..., x +... + x +... + x 0 0 0 {0,} 6 For parts a) and b), suppose that we consider the subdivision (node) of the branch and bound tree in which x =, x =, x = 0, x 4 =, and x 5 = 0, and suppose that the incumbent has a value of 5. a) What is the optimum objective value of the LP associated with this subdivision? Does the node get fathomed? b) Give an example of a node of the Branch and Bound Tree that would get fathomed because of the bound. (It should be a descendent of the node x =, x =, x = 0, x 4 =, and x 5 = 0.) State why it will be fathomed. c) Explain why no subdivision (node) gets fathomed if at most five variables are fixed (with at least one of them being nonzero), and five variables are yet to be determined. d) Show how to use your insight from parts a) to c) to create an integer program for which the Branch and Bound tree would search at least 00 nodes. Page 5 of 6
Challenge Problem H (6 points) Suppose you are a senior graduating from MIT, and you are leaving Cambridge for your new job. You have n items of size a i, i =,,, n, that need to be moved. You have bought m boxes. Box j has size b j, for j =,, m. Boxes typically can hold more than one item. You have rented a truck that has size Q. This means that the sum of the sizes of the boxes in the truck is at most Q, even if the boxes are not fully loaded. Formulate an integer program in order to decide whether you can fit all of your items into boxes and then fit the boxes into the truck, and so as to minimize the number of boxes that are put on the truck. Page 6 of 6