1 / 28

Problems in Combinatorial Optimization

Problems in Combinatorial Optimization. Linear Programming. 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 .

eleanordow
Download Presentation

Problems in Combinatorial Optimization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 xi are restricted to integer. • If the variables xi 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 bi – demand or supply 0  xij 2 – cost cij 2 2 2 x52 = 2 x12 = 1 6 1 3 x35 = 1 x13 = 2 -1 3 5 -3 0 1 3 5 1 1 1 x54 = 1 x34 = 1 1 2 1 4 4 2 Σ cijxij= 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 G = (V, A, s, t ) 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. – capacity of arc (i, j) uij 3 1 6 2 1 3 4 4 2 1 1 1 t 3 2 1 s 1 1 1 4 5 The value of flow is 5. 2 1 2 1 3

  9. LP formulation of the Maximum Flow Problem

  10. Bipartite Matching Problem G = (V1∪V2 , A ) A Matching is a set M  A of arcs such that no two arcs in M have a common vertex. M - matching A The problem is to find a matching M with a maximal cardinality. V2 V1 s t

  11. G = (V1∪V2 , A ),|V1| ≥ |V2| = m. P(j) = {i V1 | (i, j)  A} j1 P(j1) V1 V2 j4 P(j4)

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

  13. Illustration to Hall Theorem matching no matching N V1 V1 V2 V2

  14. O|pmtn|Cmax • Given are n jobs J1 ,..., Jnto be processed on m machines M1 ,..., Mm. Each job Ji consists of m operations Oij(j = 1,..., m) where Oijmust be processed on machine Mj for pij time units. Preemption is allowed and the order in which the operations of Ji 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|Cmax

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

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

  18. Construction of Network (2) The arcs in N are • for each Ji( i = 1,..., n + m) an arc (s, Ji) with capacity T and for each Mj ( j = 1,..., n + m) an arc (Mi , t) with capacity T , • for each job Ji ( i = 1,..., n) and each machine Mj ( j = 1,..., m) with pij> 0 an arc (Ji, Mj) with capacity pij, • for each i = 1,..., n with T – Li> 0 an arc (Ji, Mm+i) with capacity T – Li connecting the job Ji with dummy machine Mm+i, • for each j = 1,..., m with T – Tj> 0 an arc (Jn+j, Mj) with capacity T – Tj connecting the dummy job Jn+j with machine Mj.

  19. jobs machines p11 p12 T T p52 t T T s T – L3 T T T – L6 T – T4

  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 Jn+i( i = 1,..., m), • dummy machine vertices Mm+j( j = 1,..., n ), • for each Jn+i an arc (s, Jn+i) with capacity Tjand for each Mm+j an arc (Mm+j , t) with capacity Lj • for each job Jn+i and each machine Mm+j an arc (Jn+i, Mm+j) with infinity capacity. Let fij be a maximal flow in this network.

  21. dummy machines dummy jobs T1 ∞ L1 f31 L3 f33 ∞ T3 t s f35 ∞ T4 L6

  22. Construction of Network (3) • for each i= 1,..., n and j = 1,..., m with fn+j,m+i> 0 an arc (Jn+j, Mm+i) with capacity fn+j,m+i.

  23. jobs machines p11 p12 T T p52 t T T s T – L3 T – L6 T T f31 f33 f35 T – T4

  24. Feasible Flow • If now we saturate all arcs up to their capacity, we get a flow x = (xij) from s to t with the value (n + m)T. For a set M {M1,..., Mn+m} of machines let P(M) be the set of all predecessors of vertices in M, i.e. all jobs Jisuch that xij > 0 for some Mj 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{xij| (Ji, Mj)  R }. Then we construct a partial schedule in the time interval [0, 1] by • scheduling Ji in [0, 1] on Mj if (Ji, Mj)  R • scheduling Ji not in [0, 1] if (Ji, Mm+i)  R • leaving Mj idle in [0, 1] if (Jn+j, Mj)  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 Oij with pij > 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(r2(n + m)0.5) .

  28. Exercises • Given an instance of J||γ, where γ is a regular objective function, show that there exists an active schedule which is optimal. • Consider an instance of O|pmtn|Cmax . 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.

More Related