350 likes | 530 Views
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
E N D
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 • Composite Dispatching Rules • Adaptive search • Dynamic Programming • (Integer) Linear Programming • Cutting plane methods • Branch and Bound • Beam Search
Linear programming (LP) model objective function • LP: • Matrix form: constraints variable restrictions where: x, c: n-vector A: m,n-matrix b: m-vector
Linear programming example: graphical solution (2D) 6 x2 5 4 3 2 1 1 2 3 4 0 5 6 solution space x1
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
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
Integer programming example: graphical solution (2D) 6 x2 5 4 3 2 1 2 optimal solutions! 1 2 3 4 0 5 6 x1
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
Integer programming tricks PROBLEM: x = 0 or x k use binary indicator variable y= restrictions:
Integer programming tricks (2) PROBLEM: fixed costs: if xi>0 then costs C(xi) use indicator variable yi= restrictions :
(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:
(Integer) programming tricks (4) goal • Absolute values: solution: variation
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):
IP example nonpreemptive single machine, total weighted completion time (App. A.3) model definition: objective function: minimize weighted completion time:
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]
IP example (cont.) Complete IP-model: nCmax integer variables
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):
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
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
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)
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
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 ...
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 ...
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
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
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
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)
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)
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
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
Beam search example 1 (cont.) single-machine, total weighted tardiness (?,?,?,?) (3,?,?,?) (4,?,?,?) (1,?,?,?) (2,?,?,?) Upper bound by ATC rule:
Beam search example 1 (cont.) single-machine, total weighted tardiness (?,?,?,?) (3,?,?,?) (4,?,?,?) (1,?,?,?) (2,?,?,?) Upper bound by ATC rule: Total = 408
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
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