Linear Programming (Optimization)

Download Report

Transcript Linear Programming (Optimization)

1.3 Modeling with exponentially many constr.

 Some strong formulations (or even formulation itself) may involve exponentially many constraints (cutting plane method is used to solve the LP relaxations of them)  The minimum spanning tree problem 𝐺 = (𝑉, 𝐸) undirected graph ( 𝑐 𝑒 .

𝑉 = 𝑛, 𝐸 = 𝑚 ). Every edge 𝑒 ∈ 𝐸 has cost Find a spanning tree (acyclic connected subgraph of 𝐺 ) of minimum cost.

 Let 𝑆 ⊂ 𝑉, define 𝐸 𝑆 = 𝑖, 𝑗 ∈ 𝐸: 𝑖, 𝑗 ∈ 𝑆 , 𝛿 𝑆 = { 𝑖, 𝑗 ∈ 𝐸: one end node of 𝑖, 𝑗 is in 𝑆} Integer Programming 2013 1

 Subtour elimination formulation min 𝑒∈𝐸 𝑐 𝑒 𝑥 𝑒 𝑒∈𝐸 𝑥 𝑒 = 𝑛 − 1, 𝑒∈𝐸(𝑆) 𝑥 𝑒 ≤ 𝑆 − 1, 𝑥 𝑒 ∈ 0,1 𝑆 ⊂ 𝑉, 𝑆 ≠ ∅, 𝑉,  Cutset formulation min 𝑒∈𝐸 𝑐 𝑒 𝑥 𝑒 𝑒∈𝐸 𝑥 𝑒 = 𝑛 − 1, 𝑒∈𝛿(𝑆) 𝑥 𝑒 ≥ 1, 𝑥 𝑒 ∈ 0,1  Thm 1.1 : 𝑆 ⊂ 𝑉, 𝑆 ≠ ∅, 𝑉, (a) 𝑃 𝑠𝑢𝑏 ⊂ 𝑃 𝑐𝑢𝑡 , and there exist examples for which the inclusion is strict.

(b) 𝑃 𝑐𝑢𝑡 can have fractional extreme points. Integer Programming 2013 2

 It can be shown that LP relaxation of subtour elimination formulation gives integer optimal solutions. (polymatroid)  Why consider IP formulation although there exist good algorithms (Kruskal, Prim)?  Algorithms may fail if problem structure changed a little bit: degree constrained spanning tree problem, Shortest total path length spanning tree problem, Steiner tree problem, capacitated spanning tree problem, …  Formulation of a basic problem may be used as part of a formulation for a larger complicated problem.

 Theoretical analysis, e.g. strength of 1-tree relaxation of TSP.

Integer Programming 2013 3

The traveling salesman problem

 𝐺 = (𝑉, 𝐸) undirected graph. Every edge 𝑒 ∈ 𝐸 has cost 𝑐 𝑒 .

Find a tour (a cycle that visits all nodes exactly once) of minimum cost.

 Cutset formulation minimize subject to 𝑒∈𝐸 𝑐 𝑒 𝑥 𝑒 𝑒∈𝛿( 𝑖 ) 𝑥 𝑒 = 2, 𝑖 ∈ 𝑉 𝑒∈𝛿(𝑆) 𝑥 𝑒 ≥ 2, 𝑥 𝑒 ∈ 0,1  Subtour elimination formulation .

𝑆 ⊂ 𝑉, 𝑆 ≠ ∅, 𝑉, minimize subject to 𝑒∈𝐸 𝑐 𝑒 𝑥 𝑒 𝑒∈𝛿( 𝑖 ) 𝑥 𝑒 = 2, 𝑖 ∈ 𝑉 𝑒∈𝐸(𝑆) 𝑥 𝑒 ≤ 𝑆 − 1, 𝑆 ⊂ 𝑉, 𝑆 ≠ ∅, 𝑉, 𝑥 𝑒 ∈ 0,1 .

 LP relaxations of both formulations give the same solution set.

Integer Programming 2013 4

Remarks

 For directed version of the problem, the following formulation is possible, which is smaller in size. But it is a bad formulation. (refer exercise 1.21 in text page 32) 𝑢 𝑖 − 𝑢 𝑗 + 𝑛𝑦 𝑖𝑗 ≤ 𝑛 − 1, 𝑖:(𝑖,𝑗)∈𝐴 𝑦 𝑖𝑗 = 1, 𝑗:(𝑖,𝑗)∈𝐴 𝑦 𝑖𝑗 = 1, 𝑦 𝑖𝑗 ∈ 0,1 , 𝑖, 𝑗 ∈ 𝐴, 𝑗 ∈ 𝑉 𝑖 ∈ 𝑉 𝑖, 𝑗 ∈ 𝑉 𝑖, 𝑗 ≠ 1,  Note that, 𝑢 𝑗 ′𝑠 are continuous variables in the above formulation.

 Undirected TSP is a special case of directed case, we may replace each edge by two directed arcs with opposite direction and having the same costs as the edge.

Integer Programming 2013 5

 Is the formulation correct?

The formulation has 𝑢, 𝑦 ( projection of (𝑢 ∗ , 𝑦 ∗ ) to variables. If 𝑦 space) (𝑢 ∗ , 𝑦 ∗ ) feasible, we only read 𝑦 ∗ values We need to show that (1) any tour solution 𝑦 ∗ satisfies the constraints and (2) any non-tour solution does not satisfy the constraints.

(1) For any tour 𝑦 ∗ , if node 𝑖 is 𝑘 − th node in the tour, assign 𝑢 𝑖 = 𝑘 .

(2) If 𝑦 ∗ is 0,1 and satisfies degree constraints, it is either a tour or consists of subtours. If subtours exist, there is one that does not include node 1. Add the constraints 𝑢 𝑖 − 𝑢 𝑗 + 𝑛𝑦 𝑖𝑗 ≤ 𝑛 − 1 along the arcs in the subtour.

Integer Programming 2013 6

 Comparing the LP relaxation of the cutset formulation (A) (in directed case version) and the LP relaxation of the previous formulation (B): It can be shown that the projection of the polyhedron B onto y space gives a polyhedron which completely contains A (the inclusion is strict), hence cutset formulation (or subtour elimination formulation) is stronger.  Although the previous formulation is not strong, it can be an alternative to use if you only have a generic IP software to use, not the sophisticated one to handle the cutset constraints.

Integer Programming 2013 7

How to Solve the LP relaxation of the Cut-Set Formulation? (many constr.)

Solve LP relaxation (w/o cut-set constraints) If y * tour, stop.

O/w find violated cut-set  violated cut-set?

Stop N Solve LP after adding the Cut-set constraint.

Y Integer Programming 2013 8

 If the obtained solution is not a tour, branch and apply the same procedure again. Choose the best solution  Branching : If 𝑦 ∗ 𝑖𝑗 𝑦 𝑖𝑗 = 1 .

≠ 0,1 , solve two subproblems after setting 𝑦 𝑖𝑗 = 0, and  Branch-and-cut approach ( cutting plane alg.)  Ideas for TSP formulation can be used for various routing, sequencing problems.

 Branch-and-cut Ideas useful to solve many difficult IP problems.

 What can we do for the LP with many variables? For the LP with many vars. and constraints?

 TSP site: http://www.tsp.gatech.edu/ Integer Programming 2013 9

The perfect matching problem

 Match 𝑛 person 𝑗 . persons into pairs perfectly. Cost 𝑐 𝑖𝑗 if person 𝑖 is matched with  minimize 𝑒∈𝐸 𝑐 𝑒 𝑥 𝑒 subject to 𝑒∈𝛿( 𝑖 ) 𝑥 𝑒 = 1, 𝑥 𝑒 ∈ 0,1 . 𝑖 ∈ 𝑉  𝑃 𝑑𝑒𝑔𝑟𝑒𝑒 ≠ 𝑐𝑜𝑛𝑣(𝐹) (see Fig 1.7)  Add or 𝑒∈𝛿(𝑆) 𝑥 𝑒 ≥ 1, 𝑒∈𝐸(𝑆) 𝑥 𝑒 ≤ ( 𝑆 − 1)/2,  Both have 𝑃 𝑚𝑎𝑡𝑐ℎ𝑖𝑛𝑔 = 𝑐𝑜𝑛𝑣(𝐹) .

𝑆 ⊂ 𝑉, 𝑆 ≠ 𝑉, 𝑆 odd 𝑆 ⊂ 𝑉, 𝑆 ≠ 𝑉, 𝑆 odd Integer Programming 2013 10

Cut covering problems

 General problem class that includes many problems on network and graph 𝐺 = 𝑉, 𝐸 , 𝑉 = 𝑛 , undirected graph 𝑓: 2 𝑉 → 𝑍 + , 𝐷 ⊆ 𝑉, costs 𝑐 𝑒 ≥ 0 for 𝑒 ∈ 𝐸  Cut covering problems  minimize subject to 𝑒∈𝐸 𝑐 𝑒 𝑥 𝑒 𝑒∈𝛿( 𝑖 ) 𝑥 𝑒 = 𝑓 𝑖 , 𝑒∈𝛿(𝑆) 𝑥 𝑒 ≥ 𝑓 𝑆 , 𝑥 𝑒 ∈ 0,1 .

𝑖 ∈ 𝐷 ⊆ 𝑉, 𝑆 ⊆ 𝑉,  There exists an optimal solution which is minimal w.r.t. inclusion. ( 𝑐 𝑒 ≥ 0 ) Integer Programming 2013 11

 minimize subject to 𝑒∈𝐸 𝑐 𝑒 𝑥 𝑒 𝑒∈𝛿( 𝑖 ) 𝑥 𝑒 = 𝑓 𝑖 , 𝑒∈𝛿(𝑆) 𝑥 𝑒 ≥ 𝑓 𝑆 , 𝑥 𝑒 ∈ 0,1 .

𝑖 ∈ 𝐷 ⊆ 𝑉, 𝑆 ⊆ 𝑉,  The minimum spanning tree 𝐷 = ∅, 𝑓 𝑆 = 1, for all 𝑆 ≠ ∅, 𝑉  The traveling salesman problem 𝐷 = 𝑉, 𝑓 𝑆 = 2, for all 𝑆 ≠ ∅, 𝑉  The perfect matching problem 𝐷 = 𝑉, 𝑓 𝑆 = 1,  The Steiner tree problem for all 𝑆 ≠ ∅, 𝑉 with 𝑆 odd 𝑇 ⊂ 𝑉 needs to be connected by a tree possibly using nodes in 𝑉 ∖ 𝑇 .

𝐷 = ∅, 𝑓 𝑆 = 1, = 0, Integer Programming 2013 for all 𝑆 with 𝑆 ∩ 𝑇 ≠ ∅, 𝑇 otherwise 12

 The survivable network design problem Costs 𝑐 𝑒 , for all 𝑒 ∈ 𝐸, requirements 𝑟 𝑖𝑗 for every pair of nodes 𝑖, 𝑗 ∈ 𝑉 Select a set of edges from 𝐸 at minimum cost, so that between every pair of nodes 𝑖 and 𝑗 there are at least 𝑟 𝑖𝑗 disjoint paths) paths that do not share any edges ( 𝑟 𝑖𝑗 edge 𝐷 = ∅, 𝑓 𝑆 = max 𝑖∈𝑆,𝑗∈𝑉∖𝑆 𝑟 𝑖𝑗 , 𝑆 ≠ ∅, 𝑉  The vehicle routing problem Integer Programming 2013 13

Dircted vs. undirected formulations

 Steiner tree problem  minimize subject to 𝑒∈𝐸 𝑐 𝑒 𝑥 𝑒 𝑒∈𝛿(𝑆) 𝑥 𝑒 ≥ 1, 𝑥 𝑒 ∈ 0,1 .

∀ 𝑆 ⊆ 𝑉, 𝑆 ∩ 𝑇 ≠ ∅, 𝑇, (1.8)  (a) 𝑉 𝑖 ∩ 𝑇 ≠ ∅, 𝑖 = 1, … , 𝑝.

(b) (c) 𝑉 𝑖 ∩ 𝑉 𝑗 𝑝 𝑖=1 𝑉 𝑖 = ∅, = 𝑉 𝑖, 𝑗 = 1, … , 𝑝, 𝑖 ≠ 𝑗.

Let 𝛿(𝑉 1 , … , 𝑉 𝑝 ) be the set of edges, whose endpoints lie in different 𝑉 𝑖 .

minimize 𝑒∈𝐸 𝑐 𝑒 𝑥 𝑒 subject to 𝑒∈𝛿(𝑉 1 ,…,𝑉 𝑝 ) 𝑥 𝑒 ≥ 𝑝 − 1, (𝑉 1 , … , 𝑉 𝑝 ) satisfying (a)-(c) 𝑥 𝑒 ∈ 0,1 .

(1.9) Integer Programming 2013 14

 Directed version 𝐺 = 𝑉, 𝐸 → 𝐺 = (𝑉, 𝐴) ( 𝑖, 𝑗 ∈ 𝐸 → 𝑡𝑤𝑜 𝑎𝑟𝑐𝑠 𝑖, 𝑗 , (𝑗, 𝑖) ∈ 𝐴, 𝑐 𝑖𝑗 = 𝑐 𝑗𝑖 ≥ 0) Find a minimum cost directed subtree that contains a directed path between some given root vertex 1 ( 1 ∈ 𝑇 ), and every other terminal in 𝑇 .

minimize (𝑖,𝑗)∈𝐴 𝑐 𝑖𝑗 𝑦 𝑖𝑗 subject to (𝑖,𝑗)∈𝛿 + (𝑆) 𝑦 𝑖𝑗 ≥ 1, 𝑦 𝑖𝑗 + 𝑦 𝑗𝑖 ≤ 1, 𝑦 𝑖𝑗 ∈ {0,1} . ∀ 𝑆 ⊂ 𝑉, 1 ∈ 𝑆, 𝑇 ∖ 𝑆 ≠ ∅, 𝑒 = 𝑖, 𝑗 ∈ 𝐸, (1.10)  can recover 𝑥 by setting 𝑥 𝑒 = 𝑦 𝑖𝑗 + 𝑦 𝑗𝑖 , for all 𝑒 = 𝑖, 𝑗 ∈ 𝐸, 𝑍 𝑠𝑡𝑒𝑖𝑛𝑒𝑟 (𝑇) ≤ 𝑍 𝑝𝑎𝑟𝑡𝑖𝑡𝑖𝑜𝑛 (𝑇) ≤ 𝑍𝐷 𝑠𝑡𝑒𝑖𝑛𝑒𝑟 (𝑇) (for linear relaxations) Integer Programming 2013 15

 (1.8) is a special case of (1.9) with 𝑝 = 2 . ⟹ 𝑍 𝑠𝑡𝑒𝑖𝑛𝑒𝑟 (𝑇) ≤ 𝑍 𝑝𝑎𝑟𝑡𝑖𝑡𝑖𝑜𝑛 (𝑇)  Assume that the root vertex 1 ∈ 𝑉 1 , and consider (𝑖,𝑗)∈𝛿 + (𝑉∖𝑉 𝑘 ) 𝑦 𝑖𝑗 ≥ 1, 𝑘 = 2, … , 𝑝.

Add above together with 𝑦 𝑗𝑖 ≥ 0 for 𝑗 ∈ 𝑉 𝑘 , 𝑘 = 2, … , 𝑝 and 𝑖 ∈ 𝑉 1 , (𝑖, 𝑗) ∈ 𝐸 ⟹ 𝑒∈𝛿(𝑉 1 ,…,𝑉 𝑝 ) (𝑦 𝑖𝑗 + 𝑦 𝑗𝑖 ) ≥ 𝑝 − 1.

setting 𝑥 𝑒 = 𝑦 𝑖𝑗 + 𝑦 𝑗𝑖 , we get feasible 𝑥 for the linear relaxation of (1.9) ⟹ 𝑍 𝑝𝑎𝑟𝑡𝑖𝑡𝑖𝑜𝑛 (𝑇) ≤ 𝑍𝐷 𝑠𝑡𝑒𝑖𝑛𝑒𝑟 (𝑇) There are examples such that 𝑍 𝑠𝑡𝑒𝑖𝑛𝑒𝑟 𝑇 < 𝑍𝐷 𝑠𝑡𝑒𝑖𝑛𝑒𝑟 (𝑇)  For TSP, directed formulation has the same strength Integer Programming 2013 16

1.4 Modeling with exponentially many variables

 Column generation method Enumerate partial feasible solutions and represent their interactions in the master model. (Decomposition) Important modeling tool in applications  The cutting stock problem Large rolls of paper of width (final), 𝑖 = 1, … , 𝑚 . ( 𝑤 𝑖 𝑊 ≤ 𝑊 ) (raw). Customer demand 𝑏 𝑖 rolls of width 𝑤 𝑖 Minimize the number of large rolls used while satisfying customer demand.

 Cutting pattern 𝑗 , 𝑎 1𝑗 , … , 𝑎 𝑚𝑗 : produce 𝑎 𝑖𝑗 rolls of width 𝑤 𝑖 in 𝑗 − cutting pattern (number of possible cutting patterns can be enormous) th A feasible cutting pattern 𝑗 must satisfy 𝑚 𝑖=1 𝑎 𝑖𝑗 𝑤 𝑖 nonnegative integer. ( integer knapsack constraint ) ≤ 𝑊 and 𝑎 𝑖𝑗 is Integer Programming 2013 17

 Formulation minimize 𝑛 𝑗=1 𝑥 𝑗 subject to 𝑛 𝑗=1 𝑎 𝑖𝑗 𝑥 𝑗 = 𝑏 𝑖 , 𝑥 𝑗 ∈ 𝑍 + , 𝑖 = 1, … , 𝑚, 𝑗 = 1, … , 𝑛.

 𝑥 𝑗 is the number of rolls of width 𝑊 (raw) cut by cutting pattern 𝑗 .

 LP relaxation can be solved by column generation. Fractional optimal solution may be rounded down and a few more raws may be used to produce additional finals. (close to optimal) Integer Programming 2013 18

 Combinatorial auctions 𝑁 : set of bidders, 𝑀 : set of items being auctioned 𝑏 𝑗 (𝑆) : bid that bidder 𝑗 is willing to pay for 𝑆 ⊆ 𝑀 Assume that if 𝑆⋂𝑇 = ∅, 𝑏 𝑗 𝑆 + 𝑏 𝑗 (𝑇) ≤ 𝑏 𝑗 (𝑆 ∪ 𝑇) Bidders are allowed to bid on combinations of different items.

Let 𝑏 𝑆 = max 𝑗∈𝑁 𝑏 𝑗 (𝑆)  maximize 𝑆⊂𝑀 𝑏(𝑆)𝑥 𝑠 subject to 𝑆:𝑖∈𝑆 𝑥 𝑆 𝑥 𝑆 ≤ 1, ∈ 0,1 , 𝑖 ∈ 𝑀, 𝑆 ⊂ 𝑀 Integer Programming 2013 19

 The vehicle routing problem transportation network: 𝐺 = 𝑉, 𝐸 , undirected, cost 𝑐 𝑒 , 𝑒 ∈ 𝐸.

Node 0 is central depot. Node 𝑖 ∈ 𝑉 represents customers with demand 𝑑 𝑖 .

Company has 𝑚 vehicles with capacities 𝑞 𝑘 , 𝑘 = 1, … , 𝑚 Assume demand of each customer cannot be divided into several vehicles.

 Let 𝑥 𝑗 = 1 if partial tour 𝑗 is used, and zero, otherwise ( 𝑎 𝑖𝑗 : equals one if node 𝑖 is visited in partial solution 𝑗 .

minimize 𝑐 ′ 𝑥 𝑗 = 1, … , 𝑁 𝑐 𝑗 ) : cost of tour 𝑗 subject to 𝐴𝑥 = 𝑒 𝑥 ∈ 0,1 𝑁 .

Integer Programming 2013 20