Integer Programming. 2 Ardavan Asef-Vaziri June-2013Integer Programming Computationally speaking, we can partition problems into two categories. Easy.

Slides:



Advertisements
Similar presentations
Computational Methods for Management and Economics Carla Gomes Module 2 (addendum) Revisiting the Divisibility Assumption (Textbook – Hillier and Lieberman)
Advertisements

Overview of Property Tax Valuation and Equalization
1 Material to Cover  relationship between different types of models  incorrect to round real to integer variables  logical relationship: site selection.
Introduction to Mathematical Programming
Linear Programming (LP) (Chap.29)
Network Flows. 2 Ardavan Asef-Vaziri June-2013Transportation Problem and Related Topics Table of Contents Chapter 6 (Network Optimization Problems) Minimum-Cost.
Introduction to Algorithms
1 Economy in Review Southeastern Washington Southeast Regional Academy- PWB & CERB Ajša Suljić-Regional Labor Economist Employment Security Department.
Overview of the Growth Management Act (GMA) & Critical Areas Ordinances (CAOs)
Basic Food Employment and Training (BFET)
1 Getting Started: WA’s Steps for Integrating Child Outcome Measurement with the IFSP Process Karen Walker, ESIT Program Administrator Joicey Hurth, NECTAC.
The Antipsychotic Atlas Project - Overview Kennedy, J (PI); S Murphy; S McPherson & M Layton (co-Is) Start date: 9/13End date: 8/15 This research project.
About the Poll The Washington Poll is a non-partisan, academic survey research project sponsored by the Washington Institute for the Study of Ethnicity.
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., Integer Programming.
Skagit King Pierce Chelan Douglas Okanogan Kittitas Yakima Kitsap Island Ferry Stevens Pend Oreille Spokane Lincoln Grant Adams Franklin Benton Walla Columbia.
INTRODUCTION TO LINEAR PROGRAMMING
1 Ardavan Asef-Vaziri Nov-2010Theory of Constraints 1- Basics Purchased Part $5 / unit RM1 $20 per unit RM2 $20 per unit RM3 $25 per unit $90 / unit 110.
Spring/Summer 2004 Citizen Corps Volunteer Issues Liability & Credentialing.
© 2004 by David T. Olson Sample - Not for Public Use1 A Sample Presentation of The State of the Church in Washington and the Seattle and Spokane Metro.
Max-flow/min-cut theorem Theorem: For each network with one source and one sink, the maximum flow from the source to the destination is equal to the minimal.
Network Flows Based on the book: Introduction to Management Science. Hillier & Hillier. McGraw-Hill.
1 Lecture 4 Maximal Flow Problems Set Covering Problems.
1 The Medical Home Leadership Network: Family, Health Care and Community Collaboration for Children with Special Health Care Needs Kate Orville, MPH Co-Director.
Quality Improvement: The Medical Home Leadership Network Kate Orville, MPH Washington State Partnerships for Medical Homes Meeting November 2, 2006 Kate.
WATrac: Washington’s Healthcare Incident Management System.
Washington State Medical Surge Healthcare Coalitions NW Tribal Emergency Mgt. Council – Tulalip June 7, 2007.
Licensing Practices Survey. 19 Counties Participated Benton Chelan Clark Columbia Cowlitz Douglas Grant Grays Harbor Island Jefferson County Lincoln Mason.
1 Minimum Cost Flows Goal: Minimize costs to meet all demands in a network subject to capacities (combines elements of both shortest path and max flow.
WASHINGTON STATE DEPARTMENT OF COMMERCE EITC Outreach: We’re the State and We’re Here to Help! November 2, 2009.
New Hope DV/SA Services Quality Behavioral Health YWCA of Lewiston/Clarkston Support, Advocacy, & Resource Center DVS of Benton/Franklin Counties SAGE.
Thurston & Lewis County Case Studies from the Appellant’s Perspective Tim Trohimovich, AICP, JD Planning Director
Public Health and You Name of agency Speaker, Title.
Route Planning Texas Transfer Corp (TTC) Case 1. Linear programming Example: Woodcarving, Inc. Manufactures two types of wooden toys  Soldiers sell for.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
Motor Vehicle Fuel Tax (MVFT) Calculations Don Zimmer, Road Systems Inventory Manager.
Healthy Options and Health Homes May 6, What is a Health Home? A “Health Home” is a network of community based providers who will work together.
DISTRIBUTION AND NETWORK MODELS (1/2)
Washington State WIC/Immunization Record Round-up Project “Filling in the Gaps” National Immunization Registry Conference October 27, 2003 Pamela Johnson.
Island County Moderate Risk Waste DEMOGRAPHICS Population: 79,275 Housing Units: 40,850 4 MRW Collection Sites – 3 on Whidbey Island – 1 on Camano Island.
Calculation of Motor Vehicle Fuel Tax Distribution Factors for 2010 and 2011 Presented By: Don Zimmer Road System Inventory Manager Washington State County.
NGA BIOTERRORISM REGIONAL POLICY WORKSHOP SAN FRANCISCO May 13, 2004 John Erickson.
Washington State – Juvenile Detention National STD Prevention Conference
Balancing Act: Launching Pentacel during the Hib Shortage Jan Hicks-Thomson, MSW, MPA Washington State Department of Health.
1 Public Employees Benefits Board June 22, 2004 SeaTac Holiday Inn.
ENGM 631 Optimization Ch. 3: Introduction to Linear Programming.
IT Applications for Decision Making. Operations Research Initiated in England during the world war II Make scientifically based decisions regarding the.
1 An Arc-Path Model for OSPF Weight Setting Problem Dr.Jeffery Kennington Anusha Madhavan.
Computationally speaking, we can partition problems into two categories. Easy Problems and Hard Problems We can say that easy problem ( or in some languages.
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
1 1 Slide © 2008 Thomson South-Western. All Rights Reserved © 2011 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or.
Introduction to Integer Programming Integer programming models Thursday, April 4 Handouts: Lecture Notes.
Computationally speaking, we can partition problems into two categories. Easy Problems and Hard Problems We can say that easy problem ( or in some languages.
© 2004 by David T. Olson Sample - Not for Public Use1 The State of the Church in Washington Dave Olson
WASHINGTON CONNECTION COMMUNITY PARTNERSHIP. Washington Connection Update 2 New Features for May 19, 2013 Release  Add State or Federal food benefit.
WIC/Immunization Linkage: It Begins with Culture.
Public Health and You Name of agency Speaker, Title.
Network Flows Based on the book: Introduction to Management Science. Hillier & Hillier. McGraw-Hill.
Data Walk Directions: Get a “Data Walk” handout, form a trio, review data, and answer questions on the handout Data Sources: Washington Department of.
Community Asset Mapping:
Welcome to the UW LEND ADOPT A COUNTY Project
What is a HIDTA? HIDTAs are part of the national drug control strategy. They are grant programs managed by the Office of National Drug Control Policy,
WA Suicide Facts On average day in WA, there are: 3 suicides.
WIC/Immunization “Record Round-up” Project: Filling the Gaps
Introduction to Operations Research
Assessment, Treatment & Management of Suicide
Integer Programming (정수계획법)
Community Asset Mapping
Integer Programming (정수계획법)
Chapter 5 Transportation, Assignment, and Transshipment Problems
Community Asset Mapping
Presentation transcript:

Integer Programming

2 Ardavan Asef-Vaziri June-2013Integer Programming Computationally speaking, we can partition problems into two categories. Easy Problems and Hard Problems We can say that easy problem ( or in some languages polynomial problems) are those problems with their solution time proportional to n k. Where n is the number of variables in the problem, and k is a constant, say 2, 3, 4 … Let’s assume that k = 2. Therefore, easy problems are those problems with their solution time proportional to n 2. Where n is the number of variables in the problem. Difficult problems are those problems with their solution time proportional to k n, or in our case 2 n. Computational Complexity

3 Ardavan Asef-Vaziri June-2013Integer Programming Now suppose we have an easy problem with n variables. Therefore, the solution time is proportional to n 2. We have solved this problem in 1 hour using a computer with 5 GHz CPU. Suppose we have a new computer with its processing capabilities times of a 5 GHz computer, and we have one century time. What is the size of the largest problem that we can solve with this revolutionary computer in one century (100 years and about hours per year). 1 n21 n2 (10000) (100)(10000)(n+x) 2 Computational Complexity

4 Ardavan Asef-Vaziri June-2013Integer Programming 1 n 2 (10) 10 (n+x) 2 1 (n+x) 2 = (10) 10 n 2 (n+x) 2 / n 2 = (10) 10 (n+x / n ) 2 = (10) 10 n+x / n = (10) 5 = n+x = 100,000n The number of variables in the new problem is 100,000 times greater that the number of variables in the old problem. Computational Complexity

5 Ardavan Asef-Vaziri June-2013Integer Programming Now supposed we have a hard problem with n variables. Therefore, the solution time is proportional to 2 n. We have solved this problem in one hour using a computer with 900 MHz CPU. Suppose we have a new computer with 900,000 MHz CPU, and we have one century time. What is the size of the largest problem that we can solve in one century using a 900, 000 MHz CPU. 1 2 n (10) 10 2 (n+x) Computational Complexity

6 Ardavan Asef-Vaziri June-2013Integer Programming 1 2 n (10) 10 2 (n+x) (1) 2 (n+x) = (10) 10 2 n 2 (n+x) / 2 n = (10) 10 2 x = (10) 10 log 2 x = log (10) 10 x log 2 = 10 log (10) x (.301) = 10(1) x = 33 The number of variables in the new problem is 33 variables greater that the number of variables in the old problem. Computational Complexity

7 Ardavan Asef-Vaziri June-2013Integer Programming Working with Binary Variables

8 Ardavan Asef-Vaziri June-2013Integer Programming 1- Exactly one of the two projects is selected X1+X2 =1 2- At least one of the two projects is selected X1+X2 ≥1 3-At most one of the two projects is selected X1+X2 ≤1 4- None of the projects should be selected X1+X2 =0 5- Both projects must be selected X1+X2 =2 6- none, or one or both of projects are selected 7- If project 1 is selected then project 2 must be selected X2 ≥ X1 8- If project 1 is selected then project 2 could not be selected X1+X2 ≤1 !!! Binary Variables

9 Ardavan Asef-Vaziri June-2013Integer Programming More Practice

10 Ardavan Asef-Vaziri June-2013Integer Programming Either project 1&2 or projects 3&4&5 are selected X1=X2 X3=X4=X5 X1+X3=1 Suppose Y1 is our production of product 1. Due to technical considerations, we want one of the following two constraints to be satisfied. If the other one is also satisfied it does not create any problem. If the other one is violated it does not create any problem. More Practice

11 Ardavan Asef-Vaziri June-2013Integer Programming We can produce 3 products but due to managerial difficulties, we want to produce only two of them. We can produce these products either in plant 1 or plant 2 but not in both. In other words, we should also decide whether we produce them in plant one or plant two. Other information are given below Required hrs Available hrs Product 1 Product 2 Product 3 Plant Plant Unit profit Sales potential One constraint out of two Xij volume of production of product i in plant j, i=1,2,3, j=1,2.. Yi is 1 if plant I produces and 0 otherwise. Tij w volume of production of product i, i=1,2,3.

12 Ardavan Asef-Vaziri June-2013Integer Programming Required hrsAvailable hrs Product 1 Product 2 Product 3 Plant Plant Unit profit Sales potential One constraint out of two X1+X2+X3 ≤ 2 Y1+Y2 ≤ 1 Yi Plant i produces, i=1,2

13 Ardavan Asef-Vaziri June-2013Integer Programming Consider a linear program with the following set of constraints: 12x x x 3 ≤ x x x 3 ≤ x x x 3 ≤ x x x 3 ≥ 1600 Suppose that meeting 3 out of 4 of these constraints is “good enough”. Meeting a Subset of Constraints

14 Ardavan Asef-Vaziri June-2013Integer Programming We want two of the following 4 constraints to be satisfied. The other 2 are free, they may be automatically satisfied, but if they are not satisfied there is no problem y 1 + y 2  100 y 1 +2 y 3  160 y 2 + y 3  50 y 1 + y 2 + y 3  170 In general we want to satisfy k constraints out of n constraints Still Fun

15 Ardavan Asef-Vaziri June-2013Integer Programming A Constraint With k Possible Values y 1 + y 2 = 10 or 20 or 100 Mastering Formulation of Binary Variables

16 Ardavan Asef-Vaziri June-2013Integer Programming We have 5 demand centers, referred to as 1, 2, 3, 4,5. We plan to open one or more Distribution Centers (DC) to serve these markets. There are 5 candidate locations for these DCs, referred to as A, B, C, D, and E. Annual cost of meeting all demand of each market from a DC located in each candidate location is given below DC1DC2DC3DC4DC5 Market Market Market Market Market Each DC can satisfy the demand of one, two, three, four, or five market A Location Allocation Problem

17 Ardavan Asef-Vaziri June-2013Integer Programming Depreciated initial investment and operating cost of a DC in location A, B, C, D, and E is 199, 177, 96, 148, 111. The objective function is to minimize total cost (Investment &Operating and Distribution) of the system. Suppose we want to open only one DC. Where is the optimal location. Suppose we don't impose any constraint on the number of DCs. What is the optimal number of DCs. A Location Allocation Problem

18 Ardavan Asef-Vaziri June-2013Integer Programming Mercer Development is considering the potential of four different development projects. Each project would be completed in at most three years. The required cash outflow for each project is given in the table below, along with the net present value of each project to Mercer, and the cash that is available (from previous projects) each year. Cash OutflowRequired ($million)Cash Available Project1 oject2 oject3 oject4($million) Year Year Year NPV Example #1 (Capital Budgeting)

19 Ardavan Asef-Vaziri June-2013Integer Programming Maximum Flow Problem : D.V. and OF

20 Ardavan Asef-Vaziri June-2013Integer Programming Maximum Flow Problem : Arc Capacity Constraints

21 Ardavan Asef-Vaziri June-2013Integer Programming Maximum Flow Problem : Flow Balance Constraint  t ij =  t ji  i  N \ O and D

22 Ardavan Asef-Vaziri June-2013Integer Programming Maximum Flow Problem : Flow Balance Constraint

23 Ardavan Asef-Vaziri June-2013Integer Programming Maximum Flow Problem with Restricted Number of Arcs x ij : The decision variable for the directed arc from node i to nod j. x ij = 1 if arc ij is on the flow path x ij = 0 if arc ij is not on the flow path  x ij  4

24 Ardavan Asef-Vaziri June-2013Integer Programming Maximum Flow Problem with Restricted Number of Arcs

25 Ardavan Asef-Vaziri June-2013Integer Programming  Divisibility 1.5, 500.3,  Certainty c j, a ij, b i  Linearity No x 1 x 2, x 1 2, 1/x 1, sqrt (x 1 ) a ij x j a ij x j + a ik x k  Nonnegativity The relationship between flow and arc variables t 23 could be greater than 0 while x 23 is 0,

26 Ardavan Asef-Vaziri June-2013Integer Programming Relationship between Flow and Arcs

27 Ardavan Asef-Vaziri June-2013Integer Programming On a Path

28 Ardavan Asef-Vaziri June-2013Integer Programming Maximum Flow on a Path

29 Ardavan Asef-Vaziri June-2013Integer Programming The Shortest Route Problem The shortest route between two points l ij : The length of the directed arc ij. l ij is a parameter, not a decision variable. It could be the length in term of distance or in terms of time or cost ( the same as c ij ) For those nodes which we are sure that we go from i to j we only have one directed arc from i to j. For those node which we are not sure that we go from i to j or from j to i, we have two directed arcs, one from i to j, the other from j to i. We may have symmetric or asymmetric network. In a symmetric network l ij = l ji  ij In a asymmetric network this condition does not hold

30 Ardavan Asef-Vaziri June-2013Integer Programming Example

31 Ardavan Asef-Vaziri June-2013Integer Programming Decision Variables and Formulation x ij : The decision variable for the directed arc from node i to nod j. x ij = 1 if arc ij is on the shortest route x ij = 0 if arc ij is not on the shortest route  x ij -  x ji = 0  i  N \ O and D  x oj =1  x iD = 1 Min Z =  l ij x ij

32 Ardavan Asef-Vaziri June-2013Integer Programming Example x 13 + x 14 + x 12 = 1 - x 57 - x 67 = -1 + x 34 + x 35 - x 43 - x 13 = 0 + x 42 + x 43 + x 45 + x 46 - x 14 - x 24 - x 34 = 0 …. ….. Min Z = + 5x x x x x x x x x x x x x x x 67

33 Ardavan Asef-Vaziri June-2013Integer Programming The ShR Problem : Binary Decision Variables O D Find the shortest route of these two networks. But for red bi-directional edges you are not allowed to define two decision variables. Only one. Solve the small problem. Only using 5 variables

34 Ardavan Asef-Vaziri June-2013Integer Programming Do not worry about the length of the arcs, we do not need to write the objective functions. Note that we do not know whether we may go from node 2 to 3 or from 3 to 2. Now we want to formulate this problem as a shortest route. The ShR Problem : Binary Decision Variables

35 Ardavan Asef-Vaziri June-2013Integer Programming To formulate the problem as a shortest route, you probably want to define a pair of decision variables for arcs 2-3 and 3-2, and then for example write the constraint on node 2 as follows X 23 +X 24 = X 12 + X 32 But you are not allowed to define two variables for 2-3 and 3-2. You should formulated the problem only using the following variables X 23 is a binary variable corresponding to the NON-DIRECTED edge between nodes 2 and 3. It is equal to 1 if arc 2-3 or 3-2 is on the shortest route and it is 0 otherwise. The ShR Problem : Binary Decision Variables

36 Ardavan Asef-Vaziri June-2013Integer Programming As usual we can have the following variables X 12 X 13 X 24 X 34 each corresponding to a directed arc The solution of (X 12 = 1, X 23 = 1, X 34 = 1 all other variables are 0) means that the shortest route is The solution of (X 13 = 1, X 32 = 1, X 24 = 1 all other variables are 0) ) means that the shortest route is The solution of (X 13 = 1, X 34 = 1 all other variables are 0) ) means that the shortest route is The ShR Problem : Smaller Number of Binary Variables

37 Ardavan Asef-Vaziri June-2013Integer Programming Now you should formulate the shortest route problem using defining only one variable for each edge. Your formulation should be general, not only for this example. How many variables do you need to formulate this problem? The ShR Problem : Smaller Number of Binary Variables

38 Ardavan Asef-Vaziri June-2013Integer Programming How Many Binary Variables for this ShR problem O D

39 Ardavan Asef-Vaziri June-2013Integer Programming When are “non-integer” solutions okay?  Solution is naturally divisible  Solution represents a rate  Solution only for planning purposes When is rounding okay? Integer Programming

40 Ardavan Asef-Vaziri June-2013Integer Programming  Rounded solution may not be feasible  Rounded solution may not be close to optimal  There can be many rounded solutions Example: Consider a problem with 30 variables that are non-integer in the LP solution. How many possible rounded solutions are there? The Challenge of Rounding

41 Ardavan Asef-Vaziri June-2013Integer Programming How Integer Programs are solved

42 Ardavan Asef-Vaziri June-2013Integer Programming Spreadsheet Solution to Example #1

43 Ardavan Asef-Vaziri June-2013Integer Programming Suppose the Washington State legislature is trying to decide on locations at which to base search-and-rescue teams. The teams are expensive, and hence they would like as few as possible. However, since response time is critical, they would like every county to either have a team located in that county, or in an adjacent county. Where should the teams be located? Counties 1. Clallum 2. Jefferson 3. Grays Harbor 4. Pacific 5. Wahkiakum 6. Kitsap 7. Mason 8. Thurston 9. Whatcom 10. Skagit 11. Snohomish 12. King 13. Pierce 14. Lewis 15. Cowlitz 16. Clark 17. Skamania 18. Okanogan 19. Chelan 20. Douglas 21. Kittitas 22. Grant 23. Yakima 24. Klickitat 25. Benton 26. Ferry 27. Stevens 28. Pend Oreille 29. Lincoln 30. Spokane 31. Adams 32. Whitman 33. Franklin 34. Walla Walla 35. Columbia 36. Garfield 37. Asotin Example #2 (Set Covering Problem)

44 Ardavan Asef-Vaziri June-2013Integer Programming Counties 1. Clallum 2. Jefferson 3. Grays Harbor 4. Pacific 5. Wahkiakum 6. Kitsap 7. Mason 8. Thurston 9. Whatcom 10. Skagit 11. Snohomish 12. King 13. Pierce 14. Lewis 15. Cowlitz 16. Clark 17. Skamania 18. Okanogan 19. Chelan 20. Douglas 21. Kittitas 22. Grant 23. Yakima 24. Klickitat 25. Benton 26. Ferry 27. Stevens 28. Pend Oreille 29. Lincoln 30. Spokane 31. Adams 32. Whitman 33. Franklin 34. Walla Walla 35. Columbia 36. Garfield 37. Asotin Spreadsheet Solution to Example #2

45 Ardavan Asef-Vaziri June-2013Integer Programming Spreadsheet Solution to Example #2

46 Ardavan Asef-Vaziri June-2013Integer Programming Spreadsheet Solution to Example #2 (Formulas)