1 / 35

Contents college 3 en 4

Contents college 3 en 4. Book: Appendix A.1, A.3, A.4, §3.4, §3.5, §4.1, §4.2, §4.4, §4.6 (not: §3.6 - §3.8, §4.2 - §4.3) Extra literature on resource constrained project scheduling (will be handed out). Planning and scheduling optimization techniques. Dispatching Rules

Jims
Download Presentation

Contents college 3 en 4

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. Contents college 3 en 4 • Book: Appendix A.1, A.3, A.4, §3.4, §3.5, §4.1, §4.2, §4.4, §4.6 (not: §3.6 - §3.8, §4.2 - §4.3) • Extra literature on resource constrained project scheduling (will be handed out)

  2. Planning and scheduling optimization techniques • Dispatching Rules • Composite Dispatching Rules • Adaptive search • Dynamic Programming • (Integer) Linear Programming • Cutting plane methods • Branch and Bound • Beam Search

  3. Linear programming (LP) model objective function • LP: • Matrix form: constraints variable restrictions where: x, c: n-vector A: m,n-matrix b: m-vector

  4. Linear programming example or:

  5. Linear programming example: graphical solution (2D) 6 x2 5 4 3 2 1 1 2 3 4 0 5 6 solution space x1

  6. Linear programming (cont.) • Solution techniques: • (dual) simplex method • interior point methods (e.g. Karmarkar algorithm) • Commercial solvers, for example: • CPLEX (ILOG) • XPRESS-MP (Dash optimization) • OSL (IBM) • Modeling software, for example: • AIMMS • AMPL

  7. Integer programming (IP) models • Integer variable restriction • IP: integer variables only • MIP: part integer, part non-integer variables • BIP: binary (0-1) variables • General IP-formulation: • Complex solution space

  8. Integer programming example: graphical solution (2D) 6 x2 5 4 3 2 1 2 optimal solutions! 1 2 3 4 0 5 6 x1

  9. Total unimodularity property for integer programming models Suppose that all coefficients are integer in the model: i.e. Example: transportation problem if A has the total unimodularity property (i.e. every square submatrix has determinant 0,1,-1) Þ there is an optimal integer solution x* & the simplex method will find such a solution

  10. Integer programming tricks PROBLEM: x = 0 or x  k use binary indicator variable y= restrictions:

  11. Integer programming tricks (2) PROBLEM: fixed costs: if xi>0 then costs C(xi) use indicator variable yi= restrictions :

  12. (Integer) programming tricks (3) • Hard vs. soft restrictions • hard restriction: must hold, otherwise unfeasibility for example: • soft restriction: may be violated, with a penalty for example:

  13. (Integer) programming tricks (4) goal • Absolute values: solution: variation

  14. Integer programming tricks (5) • Conjunctive/disjunctive programming - conjunctive set of constraints: must all be satisfied - disjunctive set of constraints: at least one must be satisfied • example (Appendix A.4):

  15. IP example nonpreemptive single machine, total weighted completion time (App. A.3) model definition: objective function: minimize weighted completion time:

  16. IP example (cont.) Restriction: all jobs must be completed once: Restriction: only one job per time t: if job j is in process during t, it must be completed somewhere during [t,t+pj]

  17. IP example (cont.) Complete IP-model: nCmax integer variables

  18. IP example (cont.) Additional restriction: precedence constraints Model definition: SUCC(j) = successors of job j  job j must be completed before all jobs in SUCC(j):

  19. Integer programmingsolution techniques • Heuristic vs. explicit approach: • trade-off between solution quality and computation time • trade-off between implementation effort/costs and yield (i.e. profits gained from solution quality improvement) • Heuristic methods; for example: • local search (e.g. simulated annealing, tabu search, k-opt) • (composite) dispatching rules (e.g. EDD, SPT, MS) • adaptive search • rounding fractional solutions • beam search

  20. Integer programmingsolution techniques (cont.) • Explicit methods; 3 categories: 1. dynamic programming 2. cutting plane (polyhedral) methods 3. branch and bound or: hybrid methods (combination of the above) • Commercial IP solvers usually use a combination of heuristics and 2, 3

  21. Dynamic programming • Problem divided into stages • Each stage can have various states • A recursive objective function is used to iterate through all states and all stages (forwards or backwards)

  22. Cutting plane methods STEP 0: Create a relaxation of the problem by omitting restrictions (e.g. the integrality restrictions) STEP 1: Solve the current problem STEP 2: If solution is infeasible then generate a restriction that cuts of the solution, and add it to the problem  STEP 1 Otherwise: DONE

  23. Branch and bound root node Level 0 • Enumeration in a search tree • each node is a partial solution, i.e. a part of the solution space Level 1 child nodes ... Level 2 child nodes ...

  24. Branch and bound example 1 Disjunctive programming (appendix A.4): disjunctive set of constraints: at least one must be satisfied xj = completion time of job j restriction: solve LP without disjunctive restrictions (= LP relaxation) Level 0 if disjunct. restr. violated for j & k Level 1 ...

  25. Branch and bound (cont.) • Upper bound: e.g. a feasible solution • Lower bound: e.g. a solution to an “easier” problem • Node elimination (fathom/discard nodes): when lower bound >= upper bound

  26. Branch and bound (cont.) • Branching strategy: how to partition solution space • Node selection strategy: • sequence of exploring nodes: • depth first (tries to obtain a solution fast) • breadth/best bound first (tries to find the best solution) • which nodes to explore (filter and beam width) • filter width: #nodes selected for thorough evaluation • beam width: #nodes that are branched on (filter width)  Beam search

  27. Branch and bound example 2 • Single machine, maximum lateness, release and due dates lower bound: EDD + preemption (?,?,?,?) Level 0 (1,?,?,?) (2,?,?,?) (3,?,?,?) (4,?,?,?) Level 1

  28. Branch and bound example 2 r(2) • Lower bound for: (1,?,?,?) Lower bound: Lmax = max(0,17-12,15-11,0)=5 r(3) r(4) 12 0 1 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 t d(4)<d(3) d(3)<d(2)

  29. Branch and bound example 2 (cont.) (?,?,?,?) Level 0 LB=5 LB=7* =UB (1,?,?,?) (2,?,?,?) (3,?,?,?) (4,?,?,?) infeasible: (1,3,4,3,2) Level 1 LB=6* =UB (1,2,4,3) LB=5*=UB (1,3,4,2) DONE (1,2,?,?) (1,3,?,?) (1,2,4,3) (1,3,4,2)

  30. Branch and bound example 3 LP solution: 6 x2 5 4 obj: 3 obj: 3 3 2 1 1 2 3 4 0 5 6 x1 obj: 3 obj: 3

  31. Beam search example 1single-machine, total weighted tardiness • Upper bound: ATC rule (apparent tardiness cost): • schedule 1 job at a time • every time a machine comes available, determine ranking of jobs: MS rule look-ahead parameter: K = 4.5 + R (R  0.5) K = 6 - 2R (R  0.5) = due date range factor WSPT rule

  32. Beam search example 1 (cont.) single-machine, total weighted tardiness (?,?,?,?) (3,?,?,?) (4,?,?,?) (1,?,?,?) (2,?,?,?) Upper bound by ATC rule:

  33. Beam search example 1 (cont.) single-machine, total weighted tardiness (?,?,?,?) (3,?,?,?) (4,?,?,?) (1,?,?,?) (2,?,?,?) Upper bound by ATC rule: Total = 408

  34. Beam search example 1 (cont.)single-machine, total weighted tardiness (?,?,?,?) (3,?,?,?) (4,?,?,?) (1,?,?,?) (2,?,?,?) 4 nodes analyzed (filter width=4) UB=436 UB=814 UB=440 UB=408 explored further (beam width = 2) discarded

  35. Beam search example 1 (cont.) (?,?,?,?) UB=408 440 436 814 (3,?,?,?) (4,?,?,?) (1,?,?,?) (2,?,?,?) UB=480 706 408 436 (1,2,?,?) (1,3,?,?) (2,1,?,?) (2,3,?,?) (1,4,?,?) (2,4,?,?) 436 608 UB=408 554 (1,4,3,2) (2,4,3,1) (1,4,2,3) (2,4,1,3) best solution

More Related