Presentation is loading. Please wait.

Presentation is loading. Please wait.

Problems in Combinatorial Optimization. Linear Programming.

Similar presentations


Presentation on theme: "Problems in Combinatorial Optimization. Linear Programming."— Presentation transcript:

1 Problems in Combinatorial Optimization

2 Linear Programming

3 Optimal Solution of LP. A linear program that has a feasible solution is called feasible. A linear program is unbounded if for each real number K there exists a feasible solution x with z(x) < K. Linear programs which have a feasible solution and are not unbounded always have an optimal solution.

4 Integer Linear Programming An integer linear programming is a linear programming in which all variables x i are restricted to integer. If the variables x i can take only the values 0 or 1 then the corresponding integer linear programming is called a binary linear program. If in a linear program only some variables are restricted to be integer then we have a mixed integer linear program.

5 Transshipment Problem Let G = (V, A) be a directed graph with vertex set V = {1,..., n} and arc set A. Arcs are denoted by (i, j) with i, j  V. A transshipment problem is given by

6 Transportation Network -3 2 2 0 1 3 2 4 5 bibi – demand or supply 631 1 11 1 2 c ij – cost 1 3 2 4 5 0  x ij  2 x 12 = 1 x 13 = 2 x 35 = 1 x 54 = 1 x 52 = 2 x 34 = 1 Σ c ij x ij = 18

7 Transshipment Problem Let G = (V, A) be a directed graph with vertex set V = {1,..., n} and arc set A. Arcs are denoted by (i, j) with i, j  V. A transshipment problem is given by We assume that

8 Maximum Flow Problem s 2 1 3 4 6 3 1 1 1 1 1 2 5 t 4 2 1 u ij – capacity of arc (i, j) G = (V, A, s, t ) 4 1 2 1 1 1 3 2 3 The maximum flow problem is to send as much flow as possible from the source to the sink without violating capacity constraints in the arcs. The value of flow is 5.

9 LP formulation of the Maximum Flow Problem

10 Bipartite Matching Problem G = (V 1 ∪ V 2, A ) V1V1 V2V2 A A Matching is a set M  A of arcs such that no two arcs in M have a common vertex. M - matching The problem is to find a matching M with a maximal cardinality. st

11 G = (V 1 ∪ V 2, A ), |V 1 | ≥ |V 2 | = m. V1V1 V2V2 P(j) = {i  V 1 | (i, j)  A} j1j1 j4j4 P(j1)P(j1) P(j4)P(j4)

12 Hall Theorem Theorem 2.1 (Hall [1935]) Let G = (V 1 ∪ V 2, A ) be a bipartite graph with |V 1 | ≥ |V 2 | = m. For each j  V 2 let P(j) be the set of predecessors of j, i.e. P(j) = {i  V 1 | (i, j)  A}. Then there exists in G a matching with cardinality m if and only if

13 Illustration to Hall Theorem V1V1 V2V2 V1V1 V2V2 N matchingno matching

14 O|pmtn|C max Given are n jobs J 1,..., J n to be processed on m machines M 1,..., M m. Each job J i consists of m operations O ij (j = 1,..., m) where O ij must be processed on machine M j for p ij time units. Preemption is allowed and the order in which the operations of J i are processed is arbitrary. The only restriction is that a machine cannot process two jobs simultaneously and a job cannot be processed by two machines at the same time. Task: Find a schedule with minimal makespan.

15 Lower Bound for O|pmtn|C max

16 Construction of Network (1) Add m dummy jobs J n+j ( j = 1,..., m) and n dummy machines M n+i ( i = 1,..., n). Then we construct a network N which has the following vertices: a source s and a sink t job vertices J i (i = 1,..., n + m) machine vertices M j ( j = 1,..., n + m).

17 n jobsm machines n dummy machines m dummy jobs s t

18 Construction of Network (2) The arcs in N are for each J i ( i = 1,..., n + m) an arc (s, J i ) with capacity T and for each M j ( j = 1,..., n + m) an arc (M i, t) with capacity T, for each job J i ( i = 1,..., n) and each machine M j ( j = 1,..., m) with p ij > 0 an arc (J i, M j ) with capacity p ij, for each i = 1,..., n with T – L i > 0 an arc (J i, M m+i ) with capacity T – L i connecting the job J i with dummy machine M m+i, for each j = 1,..., m with T – T j > 0 an arc (J n+j, M j ) with capacity T – T j connecting the dummy job J n+j with machine M j.

19 jobsmachines s t T T T T T T p 11 p 12 p 52 T – L 3 T – L 6 T – T 4

20 Auxiliary Flow Problem To create a flow balance for dummy vertices we consider auxiliary flow problem. a source s and a sink t, dummy job vertices J n+i ( i = 1,..., m), dummy machine vertices M m+j ( j = 1,..., n ), for each J n+i an arc (s, J n+i ) with capacity T j and for each M m+j an arc (M m+j, t) with capacity L j for each job J n+i and each machine M m+j an arc (J n+i, M m+j ) with infinity capacity. Let f ij be a maximal flow in this network.

21 L6L6 T4T4 s t dummy machines dummy jobs T3T3 T1T1 L3L3 L1L1 ∞ ∞ ∞ f 31 f 33 f 35

22 Construction of Network (3) for each i = 1,..., n and j = 1,..., m with f n+j,m+i > 0 an arc (J n+j, M m+i ) with capacity f n+j,m+i.

23 jobsmachines s t T T T T T T p 11 p 12 p 52 T – L 3 T – L 6 T – T 4 f 31 f 35 f 33

24 Feasible Flow If now we saturate all arcs up to their capacity, we get a flow x = (x ij ) from s to t with the value (n + m)T. For a set M  {M 1,..., M n+m } of machines let P(M) be the set of all predecessors of vertices in M, i.e. all jobs J i such that x ij > 0 for some M j  M. We have which implies |M|  |P(M)| for all machine sets M.

25 Matching and Schedule By Hall Theorem there exists a matching R with cardinality n + m. Let  1 := min{x ij | (J i, M j )  R }. Then we construct a partial schedule in the time interval [0,  1 ] by scheduling J i in [0,  1 ] on M j if (J i, M j )  R scheduling J i not in [0,  1 ] if (J i, M m+i )  R leaving M j idle in [0,  1 ] if (J n+j, M j )  R.

26 Next Steps Furthermore, we replace T by T –  1, reduce the capacity of all arcs which now have capacity zero. Finally we replace the current scheduling time s = 0 by s =  1 and repeat the process to schedule the next interval [s, s+  2 ] etc. The whole procedure stops if T = 0 providing a schedule of length T which is optimal.

27 Running Time After each step at least one arc is eliminated. Thus, if r is the number of operations O ij with p ij > 0, then we have at most O(r) steps. A matching can be calculated in O(r(n + m) 0.5 ) steps. Thus the total complexity is O(r 2 (n + m) 0.5 ).

28 Exercises 1.Given an instance of J||γ, where γ is a regular objective function, show that there exists an active schedule which is optimal. 2.Consider an instance of O|pmtn|C max. Suppose that the processing times of all operations are integer. Prove or disprove that there exists an optimal preemptive schedule where all interruptions, as well as starting and completion times of jobs occur at integral dates.


Download ppt "Problems in Combinatorial Optimization. Linear Programming."

Similar presentations


Ads by Google