Issues. Senate (Total = 100) Senate Group 1 Y Y N N Y 32 Senate Group 2 Y Y D N D 16 Senate Group 3 N N Y Y Y 30 Senate Group 4 D Y N D Y 22

Similar documents
DM559/DM545 Linear and integer programming

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Lecture 10: The knapsack problem

CEC login. Student Details Name SOLUTIONS

Essays on Some Combinatorial Optimization Problems with Interval Data

Optimization Methods in Management Science

SCHOOL OF BUSINESS, ECONOMICS AND MANAGEMENT. BF360 Operations Research

Advanced Operations Research Prof. G. Srinivasan Dept of Management Studies Indian Institute of Technology, Madras

Problem Set 2: Answers

56:171 Operations Research Midterm Exam Solutions Fall 1994

Integer Programming Models

56:171 Operations Research Midterm Exam Solutions October 19, 1994

Sublinear Time Algorithms Oct 19, Lecture 1

June 11, Dynamic Programming( Weighted Interval Scheduling)

So we turn now to many-to-one matching with money, which is generally seen as a model of firms hiring workers

Introduction to Operations Research

Econ 711 Homework 1 Solutions

PARELLIZATION OF DIJKSTRA S ALGORITHM: COMPARISON OF VARIOUS PRIORITY QUEUES

Microeconomics of Banking: Lecture 5

56:171 Operations Research Midterm Exam Solutions October 22, 1993

56:171 Operations Research Midterm Examination Solutions PART ONE

INTERNATIONAL UNIVERSITY OF JAPAN Public Management and Policy Analysis Program Graduate School of International Relations

1 Shapley-Shubik Model

Interior-Point Algorithm for CLP II. yyye

CSV 886 Social Economic and Information Networks. Lecture 5: Matching Markets, Sponsored Search. R Ravi

While the story has been different in each case, fundamentally, we ve maintained:

Yao s Minimax Principle

Column generation to solve planning problems

56:171 Operations Research Midterm Examination October 28, 1997 PART ONE

Chapter 6.1: Introduction to parabolas and solving equations by factoring

On the Optimality of a Family of Binary Trees Techical Report TR

MIDTERM 1 SOLUTIONS 10/16/2008

PERT 12 Quantitative Tools (1)

I m going to cover 6 key points about FCF here:

CH 39 CREATING THE EQUATION OF A LINE

The Complexity of Simple and Optimal Deterministic Mechanisms for an Additive Buyer. Xi Chen, George Matikas, Dimitris Paparas, Mihalis Yannakakis

Homework solutions, Chapter 8

AgriTalk. January 27, 2014 Mike Adams with Mary Kay Thatcher, Senior Director, Congressional Relations, American Farm Bureau Federation

COSC 311: ALGORITHMS HW4: NETWORK FLOW

56:171 Operations Research Midterm Examination Solutions PART ONE

Optimization Methods. Lecture 7: Sensitivity Analysis

Chapter 15: Dynamic Programming

To earn the extra credit, one of the following has to hold true. Please circle and sign.

JEFF MACKIE-MASON. x is a random variable with prior distrib known to both principal and agent, and the distribution depends on agent effort e

Lecture 4: Divide and Conquer

CPS 270: Artificial Intelligence Markov decision processes, POMDPs

Expectations & Randomization Normal Form Games Dominance Iterated Dominance. Normal Form Games & Dominance

LINEAR PROGRAMMING. Homework 7

Game Theory and Economics Prof. Dr. Debarshi Das Department of Humanities and Social Sciences Indian Institute of Technology, Guwahati

15-451/651: Design & Analysis of Algorithms November 9 & 11, 2015 Lecture #19 & #20 last changed: November 10, 2015

Multistage Stochastic Programming

CS599: Algorithm Design in Strategic Settings Fall 2012 Lecture 6: Prior-Free Single-Parameter Mechanism Design (Continued)

ECON 459 Game Theory. Lecture Notes Auctions. Luca Anderlini Spring 2017

Bounding Optimal Expected Revenues for Assortment Optimization under Mixtures of Multinomial Logits

CSE 21 Winter 2016 Homework 6 Due: Wednesday, May 11, 2016 at 11:59pm. Instructions

Homework #4. CMSC351 - Spring 2013 PRINT Name : Due: Thu Apr 16 th at the start of class

Chapter 9 Integer Programming Part 1. Prof. Dr. Arslan M. ÖRNEK

Mechanism Design and Auctions

Chapter 2 Linear programming... 2 Chapter 3 Simplex... 4 Chapter 4 Sensitivity Analysis and duality... 5 Chapter 5 Network... 8 Chapter 6 Integer

Mohammad Hossein Manshaei 1394

Chapter 21. Dynamic Programming CONTENTS 21.1 A SHORTEST-ROUTE PROBLEM 21.2 DYNAMIC PROGRAMMING NOTATION

Day 3. Myerson: What s Optimal

The Deployment-to-Saturation Ratio in Security Games (Online Appendix)

Management and Operations 340: Exponential Smoothing Forecasting Methods

Maximum Contiguous Subsequences

15-451/651: Design & Analysis of Algorithms October 23, 2018 Lecture #16: Online Algorithms last changed: October 22, 2018

CSE202: Algorithm Design and Analysis. Ragesh Jaiswal, CSE, UCSD

Q1. [?? pts] Search Traces

CS360 Homework 14 Solution

Integer Programming. Review Paper (Fall 2001) Muthiah Prabhakar Ponnambalam (University of Texas Austin)

DUALITY AND SENSITIVITY ANALYSIS

THE TRAVELING SALESMAN PROBLEM FOR MOVING POINTS ON A LINE

CSCI 1951-G Optimization Methods in Finance Part 00: Course Logistics Introduction to Finance Optimization Problems

Optimal Integer Delay Budget Assignment on Directed Acyclic Graphs

Optimization 101. Dan dibartolomeo Webinar (from Boston) October 22, 2013

CS224W: Social and Information Network Analysis Jure Leskovec, Stanford University

CMPSCI 311: Introduction to Algorithms Second Midterm Practice Exam SOLUTIONS

is a path in the graph from node i to node i k provided that each of(i i), (i i) through (i k; i k )isan arc in the graph. This path has k ; arcs in i

Progressive Hedging for Multi-stage Stochastic Optimization Problems

CS4311 Design and Analysis of Algorithms. Lecture 14: Amortized Analysis I

University of Toronto Department of Economics ECO 204 Summer 2013 Ajaz Hussain TEST 1 SOLUTIONS GOOD LUCK!

Cost Estimation as a Linear Programming Problem ISPA/SCEA Annual Conference St. Louis, Missouri

HSAs: A retirement saving tool?

m 11 m 12 Non-Zero Sum Games Matrix Form of Zero-Sum Games R&N Section 17.6

Best counterstrategy for C

ECON CONTRACT LAW PART 2

SIMON FRASER UNIVERSITY Department of Economics. Intermediate Macroeconomic Theory Spring PROBLEM SET 1 (Solutions) Y = C + I + G + NX

Do Not Write Below Question Maximum Possible Points Score Total Points = 100

What Should the Fed Do?

Balancing Multiple Financial Goals Worksheet

MBF1413 Quantitative Methods

Part 1: Developing an Investment Plan

Recitation 1. Solving Recurrences. 1.1 Announcements. Welcome to 15210!

BINARY OPTIONS: A SMARTER WAY TO TRADE THE WORLD'S MARKETS NADEX.COM

Finance 527: Lecture 19, Bond Valuation V2

Lecture 5: Iterative Combinatorial Auctions

Introduction to Multi-Agent Programming

A Branch-and-Price method for the Multiple-depot Vehicle and Crew Scheduling Problem

Chapter 19: Compensating and Equivalent Variations

Mathematics for Management Science Notes 06 prepared by Professor Jenny Baglivo

Transcription:

1. Every year, the United States Congress must approve a budget for the country. In order to be approved, the budget must get a majority of the votes in the Senate, a majority of votes in the House, and the signature of the President. Most of the budget is easy to agree on everyone supports things like basic operating expenses for the government, diplomats in foreign countries, and the armed forces; emergency relief funds in case of earthquakes, hurricanes, etc.; maintenance of the interstate highway system; and so on. Other aspects of the budget, however, are less easy to agree on. For example, should there be a tax cut? Should the government spend money on defense research? Should they use some of the budget surplus to solidify social security? To pay off our debt to the United Nations? To give aid to farmers unable to make a living due to low food prices? Because of monetary restrictions, the budget can have money allocated for at most 4 of the 5 issues. One Senator has asked his staff to categorize all of Congress (Senators and members of the House), as well as the President, by their views on the five controversial issues. The Senator s staff has compiled the following table. Issues Tax Cut Defense Research Social Security United Nations Farm Aid Number of Votes Senate (Total = 100) Senate Group 1 Y Y N N Y 32 Senate Group 2 Y Y D N D 16 Senate Group 3 N N Y Y Y 30 Senate Group 4 D Y N D Y 22 House of Representatives (Total = 435) House Group 1 Y Y N N Y 140 House Group 2 Y Y D N D 75 House Group 3 N N Y Y Y 155 House Group 4 D Y N D Y 65 President (Total = 1) President N D Y Y Y 1 Table. Stance on Budget Issues: Y = yes, N = no, D = don t care

In order for a particular group to vote for a budget proposal, the proposal must allocate money in agreement with the group s views on more than half of the issues that the group cares about. For example, the Senate Group 2 only cares about 3 of the issues. Therefore, any budget proposal that agrees with their views on at least two out of the three issues they care about (allocating money for a Tax Cut and Defense Research, but not for the United Nations) will get their 16 votes in the Senate. In order to be approved, a budget must get a majority of the votes (at least 51 out of 100) in the Senate, a majority of the votes (at least 218 out of 435) in the House of Representatives, and the approval of the President. Formulate an integer program that the Senator could use to devise a budget proposal that would be approved by all three (Senate, House, and President) while funding as many budgetary issues as possible. Variables: Maximize x i = 1 if issue i is allocated money, and 0 if not s j = 1 if Senate group j supports the budget, and 0 if not h k = 1 if House group k supports the budget, and 0 if not p = 1 if the President supports the budget, and 0 if not x T + x D + x S + x U + x F Subject to x T + x D + (1 x S ) + (1 x U ) + x F 3 s 1 x T + x D + (1 x U ) 2 s 2 (1 x T ) + (1 x D ) + x S + x U + x F 3 s 3 x D + (1 x S ) + x F 2 s 4 x T + x D + (1 x S ) + (1 x U ) + x F 3 h 1 x T + x D + (1 x U ) 2 h 2 (1 x T ) + (1 x D ) + x S + x U + x F 3 h 3 x D + (1 x S ) + x F 2 h 4 (1 x T ) + x S + x U + x F 3 p 32 s 1 + 16 s 2 + 30 s 3 + 22 s 4 51 140 h 1 + 75 h 2 + 155 h 3 + 65 h 4 218 p 1 all x i, s j, h k, p are binary 2. In a network, a clique is a set of nodes that are all directly connected to each other; that is, if i and j are both in the clique, then there must be an arc between them (direction does not matter). An independent set is a set of nodes that are not directly connected to each other; that is, if i and j are both in the independent set, then there must not be an arc between them.

The problem of finding the maximum clique (the clique with the most nodes) in a network is NP-hard. Use this fact to prove that finding the maximum independent set is also NP-hard. The maximum clique will be the largest set of nodes such that every pair of those nodes is connected by an arc. The maximum independent set finds the largest set of nodes such that any pair is not connected by an arc. Therefore, finding the maximum clique in a network is equivalent to finding the maximum independent set in the complement of the network. (The complement of a network has the same nodes, but the opposite set of arcs; if an arc exists in the original network it does not exist in the complement, and vice versa.) Finding the complement is easy; it can be done in O(m) time, where m is the number of arcs. Because we know that the maximum clique problem is NP-hard and we can transform it in polynomial (O(m)) time to the maximum independent set problem, the maximum independent set problem must also be NP-hard. 3. Using big-o notation, describe the amount of time that each iteration of the primal network simplex algorithm takes (in the worst case). (i) Find the best reduced cost For a network with m arcs and n nodes, there are m (n 1) nonbasic arcs. We need to check them all, to find the best one. So that s O(m n) = O(m). [Note: in practice, for problems where m is large people often just take the first improving reduced cost they find, so that they don t need to check all m n arcs.] (ii) Find the cycle created when that arc enters the tree There are a number of ways to do this, some faster in practice than others. But in the worst case, the cycle could consist of all n nodes, which means we ll have to check n arcs to find it. O(n). (iii) Calculate the maximum amount of flow on the cycle before hitting a bound We ll have to check the bounds on each arc in the cycle to find the maximum value we can push around the cycle. Since the cycle could contain n arcs, that s O(n). (iv) Update the flows accordingly Again, we have to change the flow on each arc in the cycle: O(n).

(v) Recalculate the reduced costs This one is hard. Arcs in the tree will still have reduced cost 0 (by definition), but other arcs might have new reduced costs. So this is O(m n) = O(m). Overall, that gives us two steps that are O(m) and four steps that are O(n). Since n is O(m), each iteration of the primal network simplex algorithm runs in O(m) time. 4. A soccer team is looking to sign free agents during the off-season. They have just hired a new coach, who is trying to decide whether the team should become an offense-oriented team or a defense-oriented team. If he decides to make the team offense-oriented, then the team should sign at least three times as many strikers as fullbacks. If he decides to make the team defense-oriented, then the team should sign at least two times as many fullbacks as strikers. The team can sign a total of up to 6 free agents. Let x s be the number of strikers the team signs, and let x f be the number of fullbacks the team signs. Both x s and x f are integer variables. Let y be a binary variable that is 1 if the team is offense-oriented and 0 if it is defense-oriented. Pick the strongest set of constraints that accurately describe all of the team s restrictions. (i) x s >= 3 x f 24(1 y) x f >= 2 x s 16 y (ii) x s >= 3 x f 24(1 y) x f >= 2 x s 16 y (iii) x s >= 3 x f 18(1 y) x f >= 2 x s 12 y (iv) x s >= 3 x f 18(1 y) x f >= 2 x s 12 y All four sets of constraints are correct in that they accurately represent the restrictions. However, the constraints in choice (i) are not as strong as the constraints in choice (iii); using 18 and 12 instead of 24 and 16 gives a tighter feasible set without eliminating any integer

solutions. In fact, 18 and 12 are the smallest numbers that we could use in these constraints: x s >= 3 x f M (1 y) If y = 0, then we could possibly have 6 fullbacks and 0 strikers, so x s >= 3 x f M becomes 0 >= 18 M, so the best M would be 18. x f >= 2 x s M y If y = 1, then we could possibly have 0 fullbacks and 6 strikers, so x f >= 2 x x M becomes 0 >= 12 M, so the best M would be 12. However, consider the restriction if the team is offense-oriented, they should sign at least three times as many strikers as fullbacks. Here s a table representing that constraint: Number of Fullbacks x f 3 x f Minimum number of strikers x s 0 0 0 1 3 3 2 6 6 So, we can t sign 2 fullbacks on an offense-oriented team, because then we would need 6 strikers for a total of 8, and we re only allowed to sign 6. However, if we were to solve the linear programming relaxation, we could have something like x f = 1.5, x s = 4.5; we should sign 1.5 fullbacks and 4.5 strikers on an offense-oriented team. In order to eliminate this fractional possibility, we can add the constraint If the team is not offense-oriented (y = 0), the constraint says that we cannot sign more than 6 fullbacks, which must be true anyway since we can only sign up to 6 players of any sort. On the other hand, if the team is offense-oriented (y = 1), then the constraint says that we can only hire a maximum of 1 fullback (as we saw from the table), and eliminates the fractional solution mentioned above.

Therefore, adding this constraint gives us a tighter formulation, and so choice (iv) x s >= 3 x f 18(1 y) x f >= 2 x s 12 y is the best set of constraints. 5. In the following branch-and-bound tree, answer the following questions: (a) Which nodes do you still need to branch from? Why? (b) Which nodes do you not need to branch from? Why? (c) What is the gap between the best solution and the best bound found so far? (d) In what order were the three integer solutions found in the branch-and-bound process? Explain why your answer must be correct.

(a), (b)there are 4 nodes from which we have already branched. Since we have already branched from these nodes, we need not branch from then anymore. Of the remaining 5 nodes, three of them are integer and one is infeasible. We need not branch from any of these four nodes either. The final remaining nodes are fractional, with objectives 9.4 and 8.7. Since the first objective (9.4) is better than any of the integer nodes objectives, we do need to branch from this node, since there may be an integer solution with an objective as high as 9.4, and the current best one only has an objective of 9. On the other hand, since our integer solution with objective 9 is better than the fractional solution with objective 8.7, we do not need to branch from the second fractional solution. (c) The current best solution is the integer node with an objective of 9. The other two integer solutions have worse objectives (7 and 8). The only remaining node to branch from has objective 9.4, so we know that no solution we find from branching on it can be better than 9.4. So, the best solution is 9 and there can not be any solution better than 9.4. Therefore, the gap is 9.4 9 = 0.4. (d) This one takes a little bit of optimization detective work, but you ve learned enough to be able to figure out the answer. First of all, suppose we had found the integer node with objective 9 before branching from the fractional node with objective 8.3. Since the integer node with objective 9 has a better objective value than the fractional node with objective 8.3, we wouldn t have needed to branch on the fractional node with objective 8.3. Since we did indeed branch on it, we must ve done so before we found the integer objective 9 node. Therefore, we must have found the integer objective 8 node before the integer objective 9 node. Now, suppose we had found the integer objective 8 node before branching from the fractional objective 7.2 node. If this was the case, then we would not have needed to ever branch from the fractional objective 7.2 node, since the integer objective 8 node is better than anything we might find branching from the fractional objective 7.2 node. Therefore, we must have branched from the fractional objective 7.2 node before discovering the integer objective 8 node. Therefore, we must have found the integer objective 7 node before the integer objective 8 node. Putting the two pieces together indicates that we must have found the integer objective 7 node first, then the integer objective 8 node, and finally the integer objective 9 node. If you got this one, you re on your way to becoming a true optimization Sherlock Holmes!