Module 10. Network Simplex Method:

Size: px
Start display at page:

Download "Module 10. Network Simplex Method:"

Transcription

1 Module 10 1 Network Simplex Method: In this lecture we shall study a specialized simplex method specifically designed to solve network structured linear programming problems. This specialized algorithm is called Network Simplex Method (NSM). This method performs the entire simplex method on the network itself. The NSM is generally much faster than the typical simplex method on network linear optimization problem. Network problems whose linear program have 1000 constraints and 30,000 variables can be solved in few seconds by the NSM. Moreover, NSM naturally yields integer network optimization problems); thus one need not restore to the ineffective and time consuming integer programming algorithms (like branch and bound and cutting plane algorithms). Recall minimum cost network flow problem (CP) from previous lecture. Let G=(V,E) be a network in which the arcs are directed and along each arc (i,j) some cost c ij is associated which denotes the cost of transporting one unit of an item form node i to node j. With each node i in G we also associate a number b i representing available supply of an item at source node (if b i > 0) or the required demand for the item at sink nodes (if b i < 0), the transshipment nodes have b i = 0. We shall assume that i V b i = 0 (or total supply equals total demand); else we can add a dummy demand node or sink if i V b i > 0 (or dummy source node if i V b i < 0) and link this dummy node with zero cost arcs to each supply node (or zero cost arcs with each demand node as the case may be). The minimal cost network problem is to find a flow x = (x ij ) such that it solves the following problem. (CP) min subject to m m i=1 j=1 c ij x ij m j=1 x ij m k=1 x ki = b i, i = 1,..., m x ij 0, i, j = 1,..., m Where m denotes the total number of nodes in G or m= V. Problem (CP) is incapacitated, however, if we include the upper bound u ij on flow x ij or 0 x ij u ij constraints then (CP) is called capacitated problem. For example, consider the following network problem. The numbers in box along the nodes are b i -values while the numbers along the directed arcs are c ij -values. The (CP) problem for this network is as follows: min 2x 12 5x x x 23 x x x 41

2 subject to x 12 + x 13 x 41 = 4 x 23 + x 24 x 12 x 32 = 2 x 32 + x 34 x 13 x 23 = 1 x 41 x 24 x 34 = 5 x ij 0 i, j 2 Note that if we write the coefficient matrix A for above problem it is as follows: Note that each column a ij of A is of the form a ij = e i e j where e i and e j are unit vectors having 1 at the i th and the j th position respectively see, 1 0 a 12 = Here when we write a ij it means that (i, j) E with directed arc i j in G. In fact if we carefully examine the constraint structure of a general (CP), we can realize that each column of coefficient matrix A has two non-zero entries exactly, one is +1 and other is -1 because if x ij is a flow from node i to node j then it has a coefficient +1 in the i th node constraint and -1 in the j th node constraint. And since we consider only simple network (hence we do not have multiple arcs in same direction or self loops), this x ij variable will not appear in any other constraint. Remember in chapter 8 too when we were discussing (TP) problems then also we come across absolutely similar situation. In fact (TP) is a special case of (CP). Thus the theory and results for (CP) are same as the one for (TP). In lieu of this we skip proofs of almost all results associated with structure of matrix A in (CP); but encourage you to re look at module 8 and convince yourself that you are all familiar with all results stated below. (1) The matrix A is called node-arc incidence matrix with m rows representing m nodes in G and n columns are n-arcs (directed) in E of G. The rank of the matrix A is m-1. Thus every basis matrix of (CP) is (m-1) x (m-1) submatrix of A. (2) The matrix A is totally unimodular. Consequently each basis matrix B has dot B=±1, and every extreme point of the feasible set is integer-valued for integer right-hand-side b vector in (CP). (3) The scalars y ij s which appear in the linear expression By ij = a ij (remember in simplex

3 3 method for LPP, we have By j = a j ), can take values 0 or ±1. Thus, any column a ij can be obtained by simple addition and subtraction of basic variables columns. The value of each y ij can simply be determined from the network itself. We have explained this aspect in Module 8 also. We take a pause here and describe another concept called TREE as we shall be needing it in our subsequent discussion. A tree is a connected graph having no cycles. Let G=(V,E) be a directed network. A spanning tree T of G is a tree that includes every node of G. Figure 3: Some spanning trees of G. We list below some properties of spanning tree (without proofs). this properties are simple to understand through some simple examples. Property 1: Let T be a tree having m( 2) nodes and (i,j) be an arc in T. If we disconnect (or remove) this arc (i,j) from T but leaving the nodes i and j in T then T gets decomposed into two trees T 1 and T 2. For example, if we take a spanning tree in Figure 3 say Suppose we delete the arc (2,3) but retain the nodes, then it results in Consider a spanning tree for some underlying graph G say as follows. Suppose we remove only arc (2,3) from this tree then it results in two trees. Property 2: A proper tree has at least two leaf nodes (nodes with degree 1). For instance if we see proper tree T in figure 4, it has four nodes as leaf nodes while T 1 and T 2 in figure 5 have 2 leaf nodes each. Property 3: A tree having m nodes has (m-1) arc. This property can easily be seen in all above examples of trees. These fundamental properties help to establish the following equivalent characterizations of a tree. Resul: Let T be a tree. The following are equivalent (a) T is connected and has no cycles. (b) T is connected and has (m-1) arcs. (c) T has (m-1) arcs and has no cycles. (d) T is connected and disconnecting any arc from T results in two trees. (d) T has no cycle and adding any new arc to T (but no new node) results in a unique cycle. To illustrate point (e), consider a network in figure 2 and its spanning tree (say first one) in

4 figure 3. Suppose we add an arc (1,3), which was an arc in G, in this spanning tree it yields 4 Resulting a cycle (note when we say cycle we do not take into consideration the directions of arcs). We are now ready to discuss NSM, but with just one more observation. Recall that the simplex method for LPP always starts with a full rank constraint matrix while herein (CP) the rank of A is m-1. So, we add an artificial variable so that the rank of resultant matrix is m. We introduce this artificial variable (or in one case it is an artificial flow) to say m th node (in fact any one of G). This leads to the constraint matrix (A,e m ). The artificial arc beginning at node m is terminating in space. The node m is then called root node. Any basic feasible solution of (CP) must contain m linearly independent columns (or flows variables) hence the artificial variable appear in every basic feasible solution. For example, suppose we take node 4 as a root node in Figure 2. and suppose the spanning tree of this rooted graph is as follows. This is a rooted spanning tree. The matrix corresponding to rooted spanning tree is as follows. Remark:- A rooted spanning tree corresponds to a basis matrix of (A,e m ). The converse is also true. Any basis matrix B of (A,e m ) is a node-arc incidence In nut shell we have a result that B is a basis matrix of a minimum cost flow problem on a connected directed graph having one root arc if and only if B is the node-arc incidence matrix of a rooted spanning tree of G. Network Simplex Method (I) To obtain initial basic feasible solution(ibfs) Recall the constraint equations of (CP) We assume that m i=1 b i = 0. xij x ki = b i, i = 1,..., m. {j (i, j) E} {k (k, i) E} (1) x ij 0, (i, j) The BFS s of (1) is in 1-1 correspondence with the set of spanning trees of underline network G. Let T be a spanning tree. Then T has at least one terminal (or leaf) node. Suppose this node is node i. The node-arc incidence matrix of T has only one non-zero entry in the i th row. This entry is either +1 or -1. If this entry is +1 then there is an outgoing arc (i,j) in T and if the entry is -1 then there is an incoming arc (j,i) incident at node i in T. Then, set

5 5 b i if (i, j) is an arc in T x ij = b i if (j, i) is an arc in T Delete node i and the arc (i,j) or (j,i) whatever the case may be. Replace the value b j at node j by b j + b i. The resultant graph is also a tree. So, we can repeat this process (m-1) times (note that T has m-1 edges/arcs) to get the BFS corresponding to T. Consider the following network. The numbers in box are b i values and the numbers along arcs are c ij values. Note that b i = 0. Let the following spanning tree T of G be the initial tree with which we start the NSM. Note that T has 6 arcs and 7 nodes. We take node 1 as a terminal/leaf node of T.So, i=1 and j=3. Set x 13 =20. Delete node 1 and replace b 3 by b 3 + b 1 = =5. The resultant tree is as follows. We take node 6 as next leaf node. So i=6 and j=3. Set x 63 = b 6 = 10, and replace b 3 by b 3 + b 6 =5-10= -5. The next tree is as follows Set x 43 = b 4 = 10 and replace b 3 by b 3 + b 4 =5. Set x 37 =5 and replace b 7 =-10+5= -5 Set x 25 =10, and replace b 5 by b 5 + b 2 =5. Thereafter set x 57 =5. If we depict the initial flow vector in the original network G (figure 8), then we have the following network. The numbers in bracket along the arcs is ordered pair (c,x), so, along arc 1 4, the pair (1,0) means c 14 =1 and x 14 =0. For this IBFS x = (x ij ), the cost of flow is i j c ij x ij =4x20+2x10+5x10+7x4+4x5+8x10=285. To check optimality of Flow vector This may or may not be the minimum (or optimal) cost. We need to check if the flow vector x= (x ij ) is an optimal one and if it is not an optimal solution then how one can optimize it? To answer these questions, as usual, we restore to the concept of duality in network problem. We urge you to recall from LPP or TP duality that the reduced cost vector

6 6 z ij c ij = wa ij c ij. where w(=c B B 1 or wb = c B ) is a complementary dual variable. Here, we get z ij c ij = w(e i e j ) c ij = w i w j c ij For (i, j) T (basic cells), we have, w i w j = c ij Since any one of the constraints of (CP) can be discarded as a redundant constraint, we can assign value 0 to any one of the dual variables. Then we solve for other dual variables as follows. w p c pq if we have arc (p, q) in T w q = w p + c qp if we have arc (q, p) in T Thus, if w p is known then we can compute w q. For example, go back to figure 10. Recall the initial BFS tree is as follows Let w 7 =0 Then w 5 = w 7 + c 57 = 7 w 3 = w 7 + c 37 = 4 w 2 = w 5 + c 25 = 12 w 1 = w 3 + c 13 = 8 w 4 = w 3 + c 43 = 6 w 6 = w 3 c 36 = 4 All these calculations can easily be done on the network tree itself. Thereafter we go back to main network in figure 10 and compute the reduced cost along all those arcs (i,j) which are not in the tree network. z ij c ij = w i w j c ij So, we have z 12 c 12 = = 7 z 14 c 14 = = 1 z 23 c 23 = 2 z 35 c 35 = 6, z 56 c 56 = 1 z 64 c 64 = 12, z 76 c 76 = 1

7 7 Since some z ij c ij > 0, so current x is not an optimal one. To obtain Improved BFS If z rs c rs is maximum positive value then the arc (r,s) enters in the basis (or tree here). This leads to a formation of a unique cycle in the resultant network T {(r, s)}. Cycle basically means that the arcs form a linearly dependent set. So, arc can be expressed as a linear combination of the columns of node-arc incidence matrix of T. That is, a rs = By rs where B is the node-arc incidence matrix of T. Now, we have earlier observed that the vector components can be ±1 or 0. Consider the cycle formed in T on introduction of arc (r,s). Focus on the orientation of arcs in C. Then note y pq = +1 if (p,q) is reverse to (r,s) = 1 if (p,q) is in the same direction of (r,s). Then identify =min (x pq ), where (p,q) is arc in reverse direction to (r,s). The new BFS is then constructed as follows x ij if (i, j) C x new = x ij + if (i, j) has y ij = 1 x ij if (i, j) has y ij = + 1 For example, go back to figure 11. z 23 c 23 = +2 is most positive value so arc (2,3) enters into T resulting in the following graph. This leads to a cycle shown in red above. Taking the direction of (2,3), we find that arcs (5,7) and (2,5) are in reverse orientation of cycle. Thus, = min {x 57, x 25 }=5=x 57 Therefore arc(5,7) leaves the tree. We get a new tree with flow x updated along the arcs. We again compute the dual variables w by setting w 7 = 0. The w- values are as follows. w 7 = 0, w 3 = w 7 + c 37 = 4, w 4 = 6, w 6 = 4, w 2 = 10, w 5 = 5; and the reduced costs for non-basic arcs are as follows

8 8 z 12 = c 12 = 5, z 14 c 14 = 1, z 35 c 35 = 4, z 64 c 64 = 12, z 76 c 76 = 1, z 57 c 57 = 2, z 56 c 56 = 1 So, arc(7,6) enters in the tree and one can verify that arc (3,6) leaves the tree. We have a new tree as follows. Again we can check the optimality of flow x. In this way we repeat the procedure till we achieve an optimal solution (or optimal flow vector x) for the problem (CP). All the computations can easily be done on the network itself and all of them are fairly intuitive. We encourage you to complete the above example and find the optimal (or minimum) spanning tree for the problem. Though here we are skipping the discussion on a capacitated minimum cost network flow problems and unbalanced problems but then those will involve routine extensions/generalizatios of NSM. We leave it for you to explore the same in some good Network optimization books/chapters or on www.

9 9

10 10

11 11

12 12

Introduction to Mathematical Programming IE406. Lecture 16. Dr. Ted Ralphs

Introduction to Mathematical Programming IE406. Lecture 16. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 16 Dr. Ted Ralphs IE406 Lecture 16 1 Reading for This Lecture Bertsimas 7.1-7.3 IE406 Lecture 16 2 Network Flow Problems Networks are used to model

More information

Solutions for Operations Research Final Exam

Solutions for Operations Research Final Exam Solutions for Operations Research Final Exam. (a) The buffer stock is B = i a i = a + a + a + a + a + a 6 + a 7 = + + + + + + =. And the transportation tableau corresponding to the transshipment problem

More information

4 Integer Linear Programming (ILP)

4 Integer Linear Programming (ILP) TDA6/DIT37 DISCRETE OPTIMIZATION 17 PERIOD 3 WEEK III 4 Integer Linear Programg (ILP) 14 An integer linear program, ILP for short, has the same form as a linear program (LP). The only difference is that

More information

Some Advanced Topics in Linear Programming

Some Advanced Topics in Linear Programming Some Advanced Topics in Linear Programming Matthew J. Saltzman July 2, 995 Connections with Algebra and Geometry In this section, we will explore how some of the ideas in linear programming, duality theory,

More information

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

Tuesday, April 10. The Network Simplex Method for Solving the Minimum Cost Flow Problem . Tuesday, April The Network Simplex Method for Solving the Minimum Cost Flow Problem Quotes of the day I think that I shall never see A poem lovely as a tree. -- Joyce Kilmer Knowing trees, I understand

More information

Lecture notes on Transportation and Assignment Problem (BBE (H) QTM paper of Delhi University)

Lecture notes on Transportation and Assignment Problem (BBE (H) QTM paper of Delhi University) Transportation and Assignment Problems The transportation model is a special class of linear programs. It received this name because many of its applications involve determining how to optimally transport

More information

LECTURES 3 and 4: Flows and Matchings

LECTURES 3 and 4: Flows and Matchings LECTURES 3 and 4: Flows and Matchings 1 Max Flow MAX FLOW (SP). Instance: Directed graph N = (V,A), two nodes s,t V, and capacities on the arcs c : A R +. A flow is a set of numbers on the arcs such that

More information

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 2009) Lecture 10,11: General Matching Polytope, Maximum Flow Lecturer: Mohammad R Salavatipour Date: Oct 6 and 8, 2009 Scriber: Mohammad

More information

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

Linear Programming. Course review MS-E2140. v. 1.1 Linear Programming MS-E2140 Course review v. 1.1 Course structure Modeling techniques Linear programming theory and the Simplex method Duality theory Dual Simplex algorithm and sensitivity analysis Integer

More information

1. What do you get as the integer and noninteger parts if you factor this as we did with our cutting planes:

1. What do you get as the integer and noninteger parts if you factor this as we did with our cutting planes: 1. What do you get as the integer and noninteger parts if you factor this as we did with our cutting planes: x 1 = -8.75-3.1 x 2 + 4.2 x 3 + 7 x 5-8 x 6 2. What constraint is added? 3. What do you need

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information

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

Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity Marc Uetz University of Twente m.uetz@utwente.nl Lecture 5: sheet 1 / 26 Marc Uetz Discrete Optimization Outline 1 Min-Cost Flows

More information

Generalized Network Flow Programming

Generalized Network Flow Programming Appendix C Page Generalized Network Flow Programming This chapter adapts the bounded variable primal simplex method to the generalized minimum cost flow problem. Generalized networks are far more useful

More information

Math 414 Lecture 30. The greedy algorithm provides the initial transportation matrix.

Math 414 Lecture 30. The greedy algorithm provides the initial transportation matrix. Math Lecture The greedy algorithm provides the initial transportation matrix. matrix P P Demand W ª «2 ª2 «W ª «W ª «ª «ª «Supply The circled x ij s are the initial basic variables. Erase all other values

More information

Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs

Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 20 Dr. Ted Ralphs IE406 Lecture 20 1 Reading for This Lecture Bertsimas Sections 10.1, 11.4 IE406 Lecture 20 2 Integer Linear Programming An integer

More information

1. Lecture notes on bipartite matching February 4th,

1. Lecture notes on bipartite matching February 4th, 1. Lecture notes on bipartite matching February 4th, 2015 6 1.1.1 Hall s Theorem Hall s theorem gives a necessary and sufficient condition for a bipartite graph to have a matching which saturates (or matches)

More information

Lecture 3: Totally Unimodularity and Network Flows

Lecture 3: Totally Unimodularity and Network Flows Lecture 3: Totally Unimodularity and Network Flows (3 units) Outline Properties of Easy Problems Totally Unimodular Matrix Minimum Cost Network Flows Dijkstra Algorithm for Shortest Path Problem Ford-Fulkerson

More information

CSCI 5654 (Fall 2013): Network Simplex Algorithm for Transshipment Problems.

CSCI 5654 (Fall 2013): Network Simplex Algorithm for Transshipment Problems. CSCI 5654 (Fall 21): Network Simplex Algorithm for Transshipment Problems. Sriram Sankaranarayanan November 14, 21 1 Introduction e will present the basic ideas behind the network Simplex algorithm for

More information

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

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36 CS 473: Algorithms Ruta Mehta University of Illinois, Urbana-Champaign Spring 2018 Ruta (UIUC) CS473 1 Spring 2018 1 / 36 CS 473: Algorithms, Spring 2018 LP Duality Lecture 20 April 3, 2018 Some of the

More information

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

Outline. Combinatorial Optimization 2. Finite Systems of Linear Inequalities. Finite Systems of Linear Inequalities. Theorem (Weyl s theorem :) Outline Combinatorial Optimization 2 Rumen Andonov Irisa/Symbiose and University of Rennes 1 9 novembre 2009 Finite Systems of Linear Inequalities, variants of Farkas Lemma Duality theory in Linear Programming

More information

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

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM EXERCISES Prepared by Natashia Boland 1 and Irina Dumitrescu 2 1 Applications and Modelling 1.1

More information

TRANSPORTATION AND ASSIGNMENT PROBLEMS

TRANSPORTATION AND ASSIGNMENT PROBLEMS TRANSPORTATION AND ASSIGNMENT PROBLEMS Transportation problem Example P&T Company produces canned peas. Peas are prepared at three canneries (Bellingham, Eugene and Albert Lea). Shipped by truck to four

More information

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

Tribhuvan University Institute Of Science and Technology Tribhuvan University Institute of Science and Technology Tribhuvan University Institute Of Science and Technology Tribhuvan University Institute of Science and Technology Course Title: Linear Programming Full Marks: 50 Course No. : Math 403 Pass Mark: 17.5 Level

More information

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

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs Advanced Operations Research Techniques IE316 Quiz 1 Review Dr. Ted Ralphs IE316 Quiz 1 Review 1 Reading for The Quiz Material covered in detail in lecture. 1.1, 1.4, 2.1-2.6, 3.1-3.3, 3.5 Background material

More information

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

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs Introduction to Mathematical Programming IE496 Final Review Dr. Ted Ralphs IE496 Final Review 1 Course Wrap-up: Chapter 2 In the introduction, we discussed the general framework of mathematical modeling

More information

College of Computer & Information Science Fall 2007 Northeastern University 14 September 2007

College of Computer & Information Science Fall 2007 Northeastern University 14 September 2007 College of Computer & Information Science Fall 2007 Northeastern University 14 September 2007 CS G399: Algorithmic Power Tools I Scribe: Eric Robinson Lecture Outline: Linear Programming: Vertex Definitions

More information

1. Lecture notes on bipartite matching

1. Lecture notes on bipartite matching Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans February 5, 2017 1. Lecture notes on bipartite matching Matching problems are among the fundamental problems in

More information

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

LP-Modelling. dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven. January 30, 2008 LP-Modelling dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven January 30, 2008 1 Linear and Integer Programming After a brief check with the backgrounds of the participants it seems that the following

More information

Lecture 11: Maximum flow and minimum cut

Lecture 11: Maximum flow and minimum cut Optimisation Part IB - Easter 2018 Lecture 11: Maximum flow and minimum cut Lecturer: Quentin Berthet 4.4. The maximum flow problem. We consider in this lecture a particular kind of flow problem, with

More information

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Mathematical and Algorithmic Foundations Linear Programming and Matchings Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis

More information

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

Civil Engineering Systems Analysis Lecture XV. Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics Civil Engineering Systems Analysis Lecture XV Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics Today s Learning Objectives Sensitivity Analysis Dual Simplex Method 2

More information

Dual-fitting analysis of Greedy for Set Cover

Dual-fitting analysis of Greedy for Set Cover Dual-fitting analysis of Greedy for Set Cover We showed earlier that the greedy algorithm for set cover gives a H n approximation We will show that greedy produces a solution of cost at most H n OPT LP

More information

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

Graphs and Network Flows IE411. Lecture 13. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 13 Dr. Ted Ralphs IE411 Lecture 13 1 References for Today s Lecture IE411 Lecture 13 2 References for Today s Lecture Required reading Sections 21.1 21.2 References

More information

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

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 16 Cutting Plane Algorithm We shall continue the discussion on integer programming,

More information

4. Simplicial Complexes and Simplicial Homology

4. Simplicial Complexes and Simplicial Homology MATH41071/MATH61071 Algebraic topology Autumn Semester 2017 2018 4. Simplicial Complexes and Simplicial Homology Geometric simplicial complexes 4.1 Definition. A finite subset { v 0, v 1,..., v r } R n

More information

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

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 21 Dr. Ted Ralphs IE411 Lecture 21 1 Combinatorial Optimization and Network Flows In general, most combinatorial optimization and integer programming problems are

More information

6.854 Advanced Algorithms. Scribes: Jay Kumar Sundararajan. Duality

6.854 Advanced Algorithms. Scribes: Jay Kumar Sundararajan. Duality 6.854 Advanced Algorithms Scribes: Jay Kumar Sundararajan Lecturer: David Karger Duality This lecture covers weak and strong duality, and also explains the rules for finding the dual of a linear program,

More information

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

Material handling and Transportation in Logistics. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Material handling and Transportation in Logistics Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Introduction to Graph Theory Graph Theory As Mathematical

More information

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017 Section Notes 5 Review of Linear Programming Applied Math / Engineering Sciences 121 Week of October 15, 2017 The following list of topics is an overview of the material that was covered in the lectures

More information

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

Outline: Finish uncapacitated simplex method Negative cost cycle algorithm The max-flow problem Max-flow min-cut theorem Outline: Finish uncapacitated simplex method Negative cost cycle algorithm The max-flow problem Max-flow min-cut theorem Uncapacitated Networks: Basic primal and dual solutions Flow conservation constraints

More information

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014 5/2/24 Outline CS38 Introduction to Algorithms Lecture 5 May 2, 24 Linear programming simplex algorithm LP duality ellipsoid algorithm * slides from Kevin Wayne May 2, 24 CS38 Lecture 5 May 2, 24 CS38

More information

Notes for Lecture 20

Notes for Lecture 20 U.C. Berkeley CS170: Intro to CS Theory Handout N20 Professor Luca Trevisan November 13, 2001 Notes for Lecture 20 1 Duality As it turns out, the max-flow min-cut theorem is a special case of a more general

More information

Introduction to Operations Research

Introduction to Operations Research - Introduction to Operations Research Peng Zhang April, 5 School of Computer Science and Technology, Shandong University, Ji nan 5, China. Email: algzhang@sdu.edu.cn. Introduction Overview of the Operations

More information

MATH 423 Linear Algebra II Lecture 17: Reduced row echelon form (continued). Determinant of a matrix.

MATH 423 Linear Algebra II Lecture 17: Reduced row echelon form (continued). Determinant of a matrix. MATH 423 Linear Algebra II Lecture 17: Reduced row echelon form (continued). Determinant of a matrix. Row echelon form A matrix is said to be in the row echelon form if the leading entries shift to the

More information

Multiple View Geometry in Computer Vision

Multiple View Geometry in Computer Vision Multiple View Geometry in Computer Vision Prasanna Sahoo Department of Mathematics University of Louisville 1 Projective 3D Geometry (Back to Chapter 2) Lecture 6 2 Singular Value Decomposition Given a

More information

Final Exam Spring 2003

Final Exam Spring 2003 .8 Final Exam Spring Name Instructions.. Please answer all questions in the exam books that are provided.. Please budget your time carefully. It is often a good idea to read the entire exam first, so that

More information

GRAPH DECOMPOSITION BASED ON DEGREE CONSTRAINTS. March 3, 2016

GRAPH DECOMPOSITION BASED ON DEGREE CONSTRAINTS. March 3, 2016 GRAPH DECOMPOSITION BASED ON DEGREE CONSTRAINTS ZOÉ HAMEL March 3, 2016 1. Introduction Let G = (V (G), E(G)) be a graph G (loops and multiple edges not allowed) on the set of vertices V (G) and the set

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

AM 121: Intro to Optimization Models and Methods Fall 2017

AM 121: Intro to Optimization Models and Methods Fall 2017 AM 121: Intro to Optimization Models and Methods Fall 2017 Lecture 10: Dual Simplex Yiling Chen SEAS Lesson Plan Interpret primal simplex in terms of pivots on the corresponding dual tableau Dictionaries

More information

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini DM545 Linear and Integer Programming Lecture 2 The Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. 3. 4. Standard Form Basic Feasible Solutions

More information

Integer Programming Theory

Integer Programming Theory Integer Programming Theory Laura Galli October 24, 2016 In the following we assume all functions are linear, hence we often drop the term linear. In discrete optimization, we seek to find a solution x

More information

MA4254: Discrete Optimization. Defeng Sun. Department of Mathematics National University of Singapore Office: S Telephone:

MA4254: Discrete Optimization. Defeng Sun. Department of Mathematics National University of Singapore Office: S Telephone: MA4254: Discrete Optimization Defeng Sun Department of Mathematics National University of Singapore Office: S14-04-25 Telephone: 6516 3343 Aims/Objectives: Discrete optimization deals with problems of

More information

Duality. Primal program P: Maximize n. Dual program D: Minimize m. j=1 c jx j subject to n. j=1. i=1 b iy i subject to m. i=1

Duality. Primal program P: Maximize n. Dual program D: Minimize m. j=1 c jx j subject to n. j=1. i=1 b iy i subject to m. i=1 Duality Primal program P: Maximize n j=1 c jx j subject to n a ij x j b i, i = 1, 2,..., m j=1 x j 0, j = 1, 2,..., n Dual program D: Minimize m i=1 b iy i subject to m a ij x j c j, j = 1, 2,..., n i=1

More information

Dynamic modelling and network optimization

Dynamic modelling and network optimization Dynamic modelling and network optimization Risto Lahdelma Aalto University Energy Technology Otakaari 4, 25 Espoo, Finland risto.lahdelma@aalto.fi Risto Lahdelma Feb 4, 26 Outline Dynamic systems Dynamic

More information

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

56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997 56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997 Answer #1 and any five of the remaining six problems! possible score 1. Multiple Choice 25 2. Traveling Salesman Problem 15 3.

More information

5.4 Pure Minimal Cost Flow

5.4 Pure Minimal Cost Flow Pure Minimal Cost Flow Problem. Pure Minimal Cost Flow Networks are especially convenient for modeling because of their simple nonmathematical structure that can be easily portrayed with a graph. This

More information

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

x ji = s i, i N, (1.1) Dual Ascent Methods. DUAL ASCENT In this chapter we focus on the minimum cost flow problem minimize subject to (i,j) A {j (i,j) A} a ij x ij x ij {j (j,i) A} (MCF) x ji = s i, i N, (.) b ij x ij c ij,

More information

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

Linear Programming. Linear programming provides methods for allocating limited resources among competing activities in an optimal way. University of Southern California Viterbi School of Engineering Daniel J. Epstein Department of Industrial and Systems Engineering ISE 330: Introduction to Operations Research - Deterministic Models Fall

More information

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

George B. Dantzig Mukund N. Thapa. Linear Programming. 1: Introduction. With 87 Illustrations. Springer George B. Dantzig Mukund N. Thapa Linear Programming 1: Introduction With 87 Illustrations Springer Contents FOREWORD PREFACE DEFINITION OF SYMBOLS xxi xxxiii xxxvii 1 THE LINEAR PROGRAMMING PROBLEM 1

More information

1 Linear programming relaxation

1 Linear programming relaxation Cornell University, Fall 2010 CS 6820: Algorithms Lecture notes: Primal-dual min-cost bipartite matching August 27 30 1 Linear programming relaxation Recall that in the bipartite minimum-cost perfect matching

More information

Lecture 7: Bipartite Matching

Lecture 7: Bipartite Matching Lecture 7: Bipartite Matching Bipartite matching Non-bipartite matching What is a Bipartite Matching? Let G=(N,A) be an unrestricted bipartite graph. A subset X of A is said to be a matching if no two

More information

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

Previously Local sensitivity analysis: having found an optimal basis to a problem in standard form, Recap, and outline of Lecture 20 Previously Local sensitivity analysis: having found an optimal basis to a problem in standard form, if the cost vectors is changed, or if the right-hand side vector is

More information

A NETWORK SIMPLEX ALGORITHM FOR SOLVING THE MINIMUM DISTRIBUTION COST PROBLEM. I-Lin Wang and Shiou-Jie Lin. (Communicated by Shu-Cherng Fang)

A NETWORK SIMPLEX ALGORITHM FOR SOLVING THE MINIMUM DISTRIBUTION COST PROBLEM. I-Lin Wang and Shiou-Jie Lin. (Communicated by Shu-Cherng Fang) JOURNAL OF INDUSTRIAL AND doi:10.3934/jimo.2009.5.929 MANAGEMENT OPTIMIZATION Volume 5, Number 4, November 2009 pp. 929 950 A NETWORK SIMPLEX ALGORITHM FOR SOLVING THE MINIMUM DISTRIBUTION COST PROBLEM

More information

Unconstrained Optimization Principles of Unconstrained Optimization Search Methods

Unconstrained Optimization Principles of Unconstrained Optimization Search Methods 1 Nonlinear Programming Types of Nonlinear Programs (NLP) Convexity and Convex Programs NLP Solutions Unconstrained Optimization Principles of Unconstrained Optimization Search Methods Constrained Optimization

More information

A Faster Algorithm for the Inverse Spanning Tree Problem

A Faster Algorithm for the Inverse Spanning Tree Problem A Faster Algorithm for the Inverse Spanning Tree Problem Ravindra K. Ahuja Department of Industrial & Systems Engineering University of Florida, Gainesville, FL 32611, USA ahuja@ufl.edu James B. Orlin

More information

CSC 8301 Design & Analysis of Algorithms: Linear Programming

CSC 8301 Design & Analysis of Algorithms: Linear Programming CSC 8301 Design & Analysis of Algorithms: Linear Programming Professor Henry Carter Fall 2016 Iterative Improvement Start with a feasible solution Improve some part of the solution Repeat until the solution

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

5 The Theory of the Simplex Method

5 The Theory of the Simplex Method 5 The Theory of the Simplex Method Chapter 4 introduced the basic mechanics of the simplex method. Now we shall delve a little more deeply into this algorithm by examining some of its underlying theory.

More information

MATH 890 HOMEWORK 2 DAVID MEREDITH

MATH 890 HOMEWORK 2 DAVID MEREDITH MATH 890 HOMEWORK 2 DAVID MEREDITH (1) Suppose P and Q are polyhedra. Then P Q is a polyhedron. Moreover if P and Q are polytopes then P Q is a polytope. The facets of P Q are either F Q where F is a facet

More information

APPM 4120/5120 Exam #2 Practice Solutions Spring 2015

APPM 4120/5120 Exam #2 Practice Solutions Spring 2015 APPM 4120/5120 Exam #2 Practice Solutions Spring 2015 You are not allowed to use textbooks, class notes. Problem #1 (20 points): Consider the following activity-on-arc project network, where the 12 arcs

More information

Part 4. Decomposition Algorithms Dantzig-Wolf Decomposition Algorithm

Part 4. Decomposition Algorithms Dantzig-Wolf Decomposition Algorithm In the name of God Part 4. 4.1. Dantzig-Wolf Decomposition Algorithm Spring 2010 Instructor: Dr. Masoud Yaghini Introduction Introduction Real world linear programs having thousands of rows and columns.

More information

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

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 18 All-Integer Dual Algorithm We continue the discussion on the all integer

More information

Lecture 4: Trees and Art Galleries

Lecture 4: Trees and Art Galleries Math 7H: Honors Seminar Professor: Padraic Bartlett Lecture 4: Trees and Art Galleries Week 2 UCSB 2014 1 Prelude: Graph Theory In this talk, we re going to refer frequently to things called graphs and

More information

Lecture 6: Faces, Facets

Lecture 6: Faces, Facets IE 511: Integer Programming, Spring 2019 31 Jan, 2019 Lecturer: Karthik Chandrasekaran Lecture 6: Faces, Facets Scribe: Setareh Taki Disclaimer: These notes have not been subjected to the usual scrutiny

More information

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

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998 56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998 Part A: Answer any four of the five problems. (15 points each) 1. Transportation problem 2. Integer LP Model Formulation

More information

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph. Trees 1 Introduction Trees are very special kind of (undirected) graphs. Formally speaking, a tree is a connected graph that is acyclic. 1 This definition has some drawbacks: given a graph it is not trivial

More information

4.1 The original problem and the optimal tableau

4.1 The original problem and the optimal tableau Chapter 4 Sensitivity analysis The sensitivity analysis is performed after a given linear problem has been solved, with the aim of studying how changes to the problem affect the optimal solution In particular,

More information

In this chapter we introduce some of the basic concepts that will be useful for the study of integer programming problems.

In this chapter we introduce some of the basic concepts that will be useful for the study of integer programming problems. 2 Basics In this chapter we introduce some of the basic concepts that will be useful for the study of integer programming problems. 2.1 Notation Let A R m n be a matrix with row index set M = {1,...,m}

More information

Rigidity, connectivity and graph decompositions

Rigidity, connectivity and graph decompositions First Prev Next Last Rigidity, connectivity and graph decompositions Brigitte Servatius Herman Servatius Worcester Polytechnic Institute Page 1 of 100 First Prev Next Last Page 2 of 100 We say that a framework

More information

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

Civil Engineering Systems Analysis Lecture XIV. Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics Civil Engineering Systems Analysis Lecture XIV Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics Today s Learning Objectives Dual 2 Linear Programming Dual Problem 3

More information

NETWORK OPTIMIZATION MODELS

NETWORK OPTIMIZATION MODELS NETWORK OPTIMIZATION MODELS Network models Transportation, electrical and communication networks pervade our daily lives. Network representation are widely used in: Production, distribution, project planning,

More information

Lecture 2 September 3

Lecture 2 September 3 EE 381V: Large Scale Optimization Fall 2012 Lecture 2 September 3 Lecturer: Caramanis & Sanghavi Scribe: Hongbo Si, Qiaoyang Ye 2.1 Overview of the last Lecture The focus of the last lecture was to give

More information

The Simplex Algorithm

The Simplex Algorithm The Simplex Algorithm Uri Feige November 2011 1 The simplex algorithm The simplex algorithm was designed by Danzig in 1947. This write-up presents the main ideas involved. It is a slight update (mostly

More information

Linear Programming Duality and Algorithms

Linear Programming Duality and Algorithms COMPSCI 330: Design and Analysis of Algorithms 4/5/2016 and 4/7/2016 Linear Programming Duality and Algorithms Lecturer: Debmalya Panigrahi Scribe: Tianqi Song 1 Overview In this lecture, we will cover

More information

Math 5593 Linear Programming Lecture Notes

Math 5593 Linear Programming Lecture Notes Math 5593 Linear Programming Lecture Notes Unit II: Theory & Foundations (Convex Analysis) University of Colorado Denver, Fall 2013 Topics 1 Convex Sets 1 1.1 Basic Properties (Luenberger-Ye Appendix B.1).........................

More information

3. The Simplex algorithmn The Simplex algorithmn 3.1 Forms of linear programs

3. The Simplex algorithmn The Simplex algorithmn 3.1 Forms of linear programs 11 3.1 Forms of linear programs... 12 3.2 Basic feasible solutions... 13 3.3 The geometry of linear programs... 14 3.4 Local search among basic feasible solutions... 15 3.5 Organization in tableaus...

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

Application of Bounded Variable Simplex Algorithm in Solving Maximal Flow Model

Application of Bounded Variable Simplex Algorithm in Solving Maximal Flow Model Dhaka Univ. J. Sci. (): 9-, 3 (January) Application of Bounded Variable Simplex Algorithm in Solving Maximal Flow Model Sohana Jahan, Marzia Yesmin and Fatima Tuj Jahra Department of Mathematics,University

More information

We have already seen the transportation problem and the assignment problem. Let us take the transportation problem, first.

We have already seen the transportation problem and the assignment problem. Let us take the transportation problem, first. Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 19 Network Models In this lecture, we will discuss network models. (Refer

More information

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

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture - 35 Quadratic Programming In this lecture, we continue our discussion on

More information

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

Advanced Operations Research Techniques IE316. Quiz 2 Review. Dr. Ted Ralphs Advanced Operations Research Techniques IE316 Quiz 2 Review Dr. Ted Ralphs IE316 Quiz 2 Review 1 Reading for The Quiz Material covered in detail in lecture Bertsimas 4.1-4.5, 4.8, 5.1-5.5, 6.1-6.3 Material

More information

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs 15.082J and 6.855J Lagrangian Relaxation 2 Algorithms Application to LPs 1 The Constrained Shortest Path Problem (1,10) 2 (1,1) 4 (2,3) (1,7) 1 (10,3) (1,2) (10,1) (5,7) 3 (12,3) 5 (2,2) 6 Find the shortest

More information

Lecture 5: Duality Theory

Lecture 5: Duality Theory Lecture 5: Duality Theory Rajat Mittal IIT Kanpur The objective of this lecture note will be to learn duality theory of linear programming. We are planning to answer following questions. What are hyperplane

More information

Source. Sink. Chapter 10: Iterative Programming Maximum Flow Problem. CmSc250 Intro to Algorithms

Source. Sink. Chapter 10: Iterative Programming Maximum Flow Problem. CmSc250 Intro to Algorithms Chapter 10: Iterative Programming Maximum Flow Problem CmSc20 Intro to Algorithms A flow network is a model of a system where some material is produced at its source, travels through the system, and is

More information

VARIANTS OF THE SIMPLEX METHOD

VARIANTS OF THE SIMPLEX METHOD C H A P T E R 6 VARIANTS OF THE SIMPLEX METHOD By a variant of the Simplex Method (in this chapter) we mean an algorithm consisting of a sequence of pivot steps in the primal system using alternative rules

More information

Definition: A graph G = (V, E) is called a tree if G is connected and acyclic. The following theorem captures many important facts about trees.

Definition: A graph G = (V, E) is called a tree if G is connected and acyclic. The following theorem captures many important facts about trees. Tree 1. Trees and their Properties. Spanning trees 3. Minimum Spanning Trees 4. Applications of Minimum Spanning Trees 5. Minimum Spanning Tree Algorithms 1.1 Properties of Trees: Definition: A graph G

More information

Network optimization: An overview

Network optimization: An overview Network optimization: An overview Mathias Johanson Alkit Communications 1 Introduction Various kinds of network optimization problems appear in many fields of work, including telecommunication systems,

More information

Lecture 10 Graph algorithms: testing graph properties

Lecture 10 Graph algorithms: testing graph properties Lecture 10 Graph algorithms: testing graph properties COMP 523: Advanced Algorithmic Techniques Lecturer: Dariusz Kowalski Lecture 10: Testing Graph Properties 1 Overview Previous lectures: Representation

More information

Submodularity Reading Group. Matroid Polytopes, Polymatroid. M. Pawan Kumar

Submodularity Reading Group. Matroid Polytopes, Polymatroid. M. Pawan Kumar Submodularity Reading Group Matroid Polytopes, Polymatroid M. Pawan Kumar http://www.robots.ox.ac.uk/~oval/ Outline Linear Programming Matroid Polytopes Polymatroid Polyhedron Ax b A : m x n matrix b:

More information

Backtracking and Branch-and-Bound

Backtracking and Branch-and-Bound Backtracking and Branch-and-Bound Usually for problems with high complexity Exhaustive Search is too time consuming Cut down on some search using special methods Idea: Construct partial solutions and extend

More information