ME 391Q Network Flow Programming

Similar documents
Generalized Network Flow Programming

5.4 Pure Minimal Cost Flow

Department of Mathematics Oleg Burdakov of 30 October Consider the following linear programming problem (LP):

Solutions for Operations Research Final Exam

Some Advanced Topics in Linear Programming

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998

Linear Programming. Course review MS-E2140. v. 1.1

Primal Simplex Algorithm for the Pure Minimal Cost Flow Problem

Graphs and Network Flows IE411. Lecture 20. Dr. Ted Ralphs

56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997

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

Mathematical Tools for Engineering and Management

Combinatorial Optimization

Design and Analysis of Algorithms (V)

A Comparative study on Algorithms for Shortest-Route Problem and Some Extensions

Tuesday, April 10. The Network Simplex Method for Solving the Minimum Cost Flow Problem

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

Advanced Operations Research Techniques IE316. Quiz 2 Review. Dr. Ted Ralphs

ORF 307: Lecture 14. Linear Programming: Chapter 14: Network Flows: Algorithms

Linear Programming. Linear programming provides methods for allocating limited resources among competing activities in an optimal way.

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

Maximum flow problem CE 377K. March 3, 2015

VARIANTS OF THE SIMPLEX METHOD

Part 4. Decomposition Algorithms Dantzig-Wolf Decomposition Algorithm

3 INTEGER LINEAR PROGRAMMING

Integer Programming. Xi Chen. Department of Management Science and Engineering International Business School Beijing Foreign Studies University

Section Notes 4. Duality, Sensitivity, and the Dual Simplex Algorithm. Applied Math / Engineering Sciences 121. Week of October 8, 2018

Approximation Algorithms

Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity

Outline. Combinatorial Optimization 2. Finite Systems of Linear Inequalities. Finite Systems of Linear Inequalities. Theorem (Weyl s theorem :)

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

Linear Programming: Introduction

Problem set 2. Problem 1. Problem 2. Problem 3. CS261, Winter Instructor: Ashish Goel.

x ji = s i, i N, (1.1)

Linear Programming. Linear Programming. Linear Programming. Example: Profit Maximization (1/4) Iris Hui-Ru Jiang Fall Linear programming

LECTURES 3 and 4: Flows and Matchings

Previously Local sensitivity analysis: having found an optimal basis to a problem in standard form,

Material handling and Transportation in Logistics. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena

Outline: Finish uncapacitated simplex method Negative cost cycle algorithm The max-flow problem Max-flow min-cut theorem

Ryerson Polytechnic University Department of Mathematics, Physics, and Computer Science Final Examinations, April, 2003

Notes for Lecture 18

Linear Programming Duality and Algorithms

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling

George B. Dantzig Mukund N. Thapa. Linear Programming. 1: Introduction. With 87 Illustrations. Springer

An Introduction to Dual Ascent Heuristics

Artificial Intelligence

1. Lecture notes on bipartite matching February 4th,

COLUMN GENERATION IN LINEAR PROGRAMMING

Programming, numerics and optimization

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

Integer Programming Theory

MATHEMATICS II: COLLECTION OF EXERCISES AND PROBLEMS

Algorithms for Integer Programming

DM515 Spring 2011 Weekly Note 7

AM 121: Intro to Optimization Models and Methods Fall 2017

Linear programming and duality theory

CSE 417 Network Flows (pt 4) Min Cost Flows

6. Lecture notes on matroid intersection

INEN 420 Final Review

February 19, Integer programming. Outline. Problem formulation. Branch-andbound

Math Introduction to Operations Research

ACO Comprehensive Exam October 12 and 13, Computability, Complexity and Algorithms

Final Exam Spring 2003

Primal Dual Schema Approach to the Labeling Problem with Applications to TSP

MULTIMEDIA UNIVERSITY FACULTY OF ENGINEERING PEM2046 ENGINEERING MATHEMATICS IV TUTORIAL

The Ascendance of the Dual Simplex Method: A Geometric View

Civil Engineering Systems Analysis Lecture XIV. Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics

Econ 172A - Slides from Lecture 8

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.

4. Linear Programming

TIM 206 Lecture Notes Integer Programming

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

Homework 4 Solutions CSE 101 Summer 2017

CSc 545 Lecture topic: The Criss-Cross method of Linear Programming

Solutions to Assignment# 4

Graph definitions. There are two kinds of graphs: directed graphs (sometimes called digraphs) and undirected graphs. An undirected graph

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748

Easter Term OPTIMIZATION

Graphs and Network Flows IE411 Lecture 20

Econ 172A - Slides from Lecture 9

BCN Decision and Risk Analysis. Syed M. Ahmed, Ph.D.

Unit.9 Integer Programming

Integer Programming Chapter 9

Prepared By. Handaru Jati, Ph.D. Universitas Negeri Yogyakarta.

Chapter 15 Introduction to Linear Programming

Approximation Algorithms: The Primal-Dual Method. My T. Thai

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

Outline. Column Generation: Cutting Stock A very applied method. Introduction to Column Generation. Given an LP problem

Column Generation: Cutting Stock

LP-Modelling. dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven. January 30, 2008

Lecture 14: Linear Programming II

Mathematical and Algorithmic Foundations Linear Programming and Matchings

3 Interior Point Method

Dual-fitting analysis of Greedy for Set Cover

Konigsberg Bridge Problem

5. Lecture notes on matroid intersection

The simplex method and the diameter of a 0-1 polytope

Solving Linear Programs Using the Simplex Method (Manual)

Tribhuvan University Institute Of Science and Technology Tribhuvan University Institute of Science and Technology

Transcription:

ME 9Q Network Flow Programming Final Exam, Summer 00. ( Points) The figure below shows an undirected network. The parameters on the edges are the edge lengths. Find the shortest path tree using Dijkstra s algorithm. Show in the table the order in which the nodes and edges are added to the tree along with the distance to each node. The root node is node. () () () () () () () 9 () 0 () (0) () () 9 0 () () The figure shows the correct tree, The tree is directed out from the root node. The nontree edges should not be directed. () () [] () () [] 0 () () [] () [] 9 (0) [] () () 9 [] [] () () [9] 0 [] () Sequence 9 0 Node 9 0 added Edge 9 0 added Distance to Node 0 9 () []

( Points) Consider the shortest tree path problem. a. Given an undirected network with n nodes similar to the one on page. All the edge lengths are positive. Say we have a partial shortest path tree obtained by Dijkstra s algorithm consisting of k of the n nodes (k < n). The partial tree describes the shortest paths from the root node to each of the k nodes. When we apply Dikstra s procedure to add the (k + ) st node to the tree, how can we be sure that the path to the new node is the optimum (shortest) path? Give a brief proof that it must be the shortest path. It is given that the tree is optimum for the k nodes already determined. We add node k + by selecting the edge with the least length from amount those that leave nodes already in the tree and go to nodes not in the tree. Say the edge selected is e k and the edges from which the selection was made was E k. The length of the path is k+. The resultant path to node k + includes edge e k and must be the shortest path to node k + because any other path must pass through some other edge in E k, all of which have lengths at least as great as e k. Since all edge lengths are positive, all other paths must have length no less than k+. b. Say we have completely solved the network on page to find the shortest path tree? Someone changes the length of one edge not in the shortest path tree. Suggest a procedure that you can use to test whether the current tree is still optimum. You don t want to start the algorithm over. Let the edge with the changed length be k(i, j) with length c k. Let the path length to node i in the current tree be i. Note that the edge is undirected. The shortest path tree is optimum if both of the two conditions below are satisfied. i + c k j and j + c k i. If one of the conditions is not satisfied, edge k should be part of the shortest path tree. The conditions come from the error correcting method of finding shortest paths. Note that it is necessary to do the test in both directions since the edge is undirected.

. ( Points) The heavy lines in the figure below show a basis for the pure network flow problem. The dotted lines show arcs with flow at the upper bounds. The lines that are neither dashed nor heavy carry no flow. n B = {,,,, 9,,,,, }. a. ( points) Show on the figure, the primal variables, x k, and dual variables, i, associated with this basis. (cost) [external flow] all upper bounds and gains = () () () () [] 0 [-] () () () () () 9 (0) () () () 9 () 0 {flow} (cost) [] [] [π] {} {} () () () () [0] {} [] 0 [-] () {} () {0} [9] () () () {} [] [] {} 9 (0) {} () [] {} {} () [] {} {} () 9 () 0 [] [] b. ( points) Determine if this basis provides an optimal solution. If not which arc should enter the basis?

d = 0 d = d = d = d0 = - d = d = d = Arcs and 0 are candidates to enter the basis. c. ( points) Say arc 0 is chosen to enter the basis. Which arc should leave the basis? If there is more than one candidate, list them all. C = {, -, -, -.. 0} Del = Min(0,,,,, ). Arc should leave that basis by going to its upper bound.

. ( Points) Say we are doing the primal simplex algorithm on a pure-minimal cost network flow problem. We have computed the dual variables i for the nodes of the network and the values of d k for the nonbasic arcs using the usual rules of the primal simplex method. a. At some iteration we find d k > 0 for some arc with flow at its upper bound. We compute the dual variable k with k = Max{0, -d k }. What optimality condition from the LP primal-dual theory tells us that the solution we have is not optimum? I want you to use the values of k in your discussion. The dual constraint associated with the variable x k is: - + -c i j k k. We call this the dual constraint in the discussion. For this solution d k > 0 or i + c k - j > 0 This implies that i - j > -c k. Since k = Max{0, -d k }. = 0, the dual constraint is loose, i - j + k > -c k.. Complementary slackness requires that if this constraint is loose, x k = 0. But it is given that the flow is at the upper bound, so x k = u k > 0. This means complementary slackness is not satisfied, so we cannot say that the solution is optimum. We have selected k with the rule above, but the constraint is loose for any nonnegative value of k. If we choose k = -d k, the dual constraint is tight, but the dual solution would be infeasible since the values of k are restricted to be nonnegative.. b. At some iteration we find d k > 0 for some arc with flow at its upper bound. When we do the procedure for finding the arc to leave the basis we discover that f, the maximum flow change on the cycle, is 0. How is this possible? How will the primal and dual solutions change in the next iteration? It must be that a basic arc on the cycle must be degenerate (flow at its upper or lower bound). In the next iteration, the primal solution will remain the same. The dual solution will change, because the basis tree will change. c. At some iteration we find d k > 0 for some arc with flow at its upper bound. When following the rules for the primal simplex, we discover that the set of arcs in the basis do not change. How is this possible? How will the primal and dual solutions change in the next iteration? It must be that the entering arc is also the leaving arc. In this case the primal solution changes in the next iteration for the arcs on the cycle. The dual solution remains the same because the basis tree does not change.

. ( Points) The figure below shows a maximum flow problem with flows assigned to the arcs. Based on these flows show with heavy lines the arcs that form a basis. Show on the figure the values of π for each node. Is this basis optimum? If not find an arc to enter the basis, and find the corresponding arc that will leave the basis. If the solution is optimum identify the arcs in the minimal cut. (flow, upper) all costs equal 0 except arc 9. (,) (,) (,) (,) (,) (,) (,) (0,) 9 (,) (0,) (,) 0 (,) (,) (,0) 9 (,) (,) (0,) (0,) 0 (, 00) cost = - 9

[] [] (,) (,) (,) (0,) (,) [0] [0] 0 [] (,) (,) (,) [] (,) (,) (,) (,0) 9 [] [] (,) (,) (,) (0,) (0,) 9 [] [] (0,) 0 (, 00) cost = - [] d = - d = - d = - d = - d0 = 0 d = 0 d = 0 d = 0 d = 0 9 Note that this basis is not unique. At least one of the arcs {9,, } must be chosen. Solutions that did not chose one are penalized. The choice will not change the min. cut. The solution is optimum. The minimal cust is {,,, } with capacity.

. ( Points) Consider the generalized network below. [external flow] (upper, cost, gain) (,,) (,,) (,,) (,0,0.) (,0,0.9) (,,) 9 (,,) 0 [-.] (,,) (,,0.) (,,0.9) (,0,) (,,) (,,0.) The basis considered for this problem is shown in the figure below. The heavy arcs are the basic arcs. The dashed arcs have flows at their upper bounds, and the arcs not shown have flows at zero. Node is the slack node. a. ( points) Show the columns for nodes, and of the basis inverse matrix for the selection of arcs shown. Note that you don t have to show all the columns. There are two possible representations of the basis. The results for each are below. Cycle: (, -9, -), β=., η = 9. Cycle: (-,, 9), β=0.9, η = -.. Node Node Node - -0.9 0 0 - -0.9 0 0-0.9 0 - -9 - -0 - -. -. - -9 -. -. - 0 0 0 Node Node Node - -0.9 0 0 - -0.9 0 0-0.9 0 - -.. 9 9 9 0 9.. 0 0 0

b. ( points) Compute the primal and dual solutions and show them on the figure provided. [π] (x) [0] () [π] (x) () (0) [.] [] () () (0.) [.] [] [] (.) () (0.9) [] [9] Arcs ((, ) and (, ) are candidates to enter. c. ( points) Say arc 0(, ) enters the basis and arc 9(, ) leaves. Show the triple-pointer representation of the new basis below. Pointer Representation Node P B 0 - - - - 0 P F 0 0 P R or PF = and PR = 9

. ( Points) We are planning the production schedule for a heat-treating process in a production plant. There are two kinds of product A and B. The products are placed in the process and must remain there for a fixed time. Product A remains in the process for days, and product B remains for days. You are to make a planning schedule for the next days. The planning schedule (which you are to determine) will specify how many products of each type will start processing on each day. Because of staffing, maintenance and other considerations, the capacity of the process is not constant. In particular, the capacity of the process in day i is c i, where i runs from to. The process is currently empty and it is to end the -day period empty. The values of the products are not equal. Product A has a value of a, and product B has a value of b. On any given day, at most 0 of product A and of product B can be started. There are no restrictions on the total of amounts of A and B treated during the -day period. Construct a network model that would determine the planning schedule that will maximize the total value of the units processed. You don t have to show the entire model. Day 9 0 Capacity (c i ) 0 0 0 Day 9 0 Capacity (c i ) 9 9 0 9 The value for the two products is a =, b = 9. (, -b) (, -b) (, -b) (upper, cost) 0 (c, 0) (c, 0) (c, 0) (c0, 0) 9 0 (0, -a) (0, -a) (0, -a) This model is a generalization of the problem in an earlier exam. Models that use two networks and side constraints are penalized because the pure network model above is available. 0

. ( Points) Say you are a salesperson located in New York City on the east coast of the United States. You are assigned to visit each capital city of the contiguous states of the US. Your final destination is at Los Angeles on the west coast. You have a table of the air flight costs between every pair of the capital cities and also the costs of flights leaving NY or terminating at LA. You decide that you will only take a flight that terminates at a point further west than its origin point. Thus each flight you take will move you closer to your destination on the west coast. Of course, this restriction on flights may make it impossible or very expensive to visit all the cities. For each city not included on your route, you decide to hire a local representative to make the visit. The cost of hiring a local representative is $00. Construct a network flow programming model to find the route from NY to LA that minimizes the total of your flight costs plus the cost of hiring local representatives. One way to handle this is through the assignment model. Since the salesperson only goes from E to W on a flight, there can be no cycles. A cycle would require a W to E flight. In the figure below we list the cities from E to W, with NY at the first column and LA at the last. The C's refer to the capitals, numbered in the order of their westward progression. For flight costs we number NY as 0 and LA as 9. All the entries below the main diagonal are impossible since they go from W to E. The numbers on the main diagonal is the cost of serving the city with a local representative. NY C C C C LA Req. NY x c 0 c 0 c 0 c 0, c 0,9 C x 00 C x x 00 C x x x 00 : C x x x x 00 LA x x x x x x 0 Req 0

[external flow] (cost) [] NY (c0) NY [0] [] C (c0) (c0) (00) C [-] [] C (00) C [-] [] C (00) C [-] [] C C [-] [0] LA LA [-] Other formulations There are two other pure formulations that I have seen. One involves splitting the city nodes and putting a minimum and maximum flow of on the splitting arc. A Then an arc goes in the opposite direction to the splitting arc with a cost of 00. If the route does not pass through the city, the flow must come from that arc. Other arcs represent the transportation between cities and carry the flight cost. Only arcs going west are included. NY has a fixed flow of entering and LA a fixed flow of. A second approach does not require splitting the nodes and this is really the simplest approach. The arc from city i to city j has the cost of c ij 00. The c ij accounts for the cost of the flight and the 00 is the savings obtained from visiting the city. NY has a fixed flow of entering and LA a fixed flow of. Approaches that use integer variables and /or side constraints are penalized because these features are not necessary for this problem. Many persons put a fixed external flow of at each city and provide an input arc to NY with capacity 9. This does not work because transportation away from NY is multiplied by the number of cities visited. Other transportation costs a similarly inflated. The model

weights the transportation cost and the costs of hiring representatives incorrectly. The model would be OK if a separate trip were taken from NY to each city. This is not allowed by the problem since an eastward trip would have to precede each trip out of NY (except the first). The problem indicates that we are looking for a route from NY to LA. A route would not involve returning to NY before every trip. Some solutions used external flows of on each city and arcs with a gain of. This might work if integer flows were guaranteed, but since this is not a pure network, integrality is not automatically assured. One would have to prove that the solution would have an integer flows. Adding integer constraints to the flows would involve a penalty since there exist pure network models for this problem.