Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1 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 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 3 Linear programming (LP) model LP: Matrix form: objective function constraints variable restrictions where: x, c:n-vector A:m,n-matrix b:m-vector

4 4 Linear programming example or:

5 5 Linear programming example: graphical solution (2D) 1234 56 x1x1 1 2 3 4 5 6 x2x2 0 solution space

6 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 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 8 Integer programming example: graphical solution (2D) 1234 56 x1x1 1 2 3 4 5 6 x2x2 0 2 optimal solutions!

9 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 10 Integer programming tricks PROBLEM: x = 0 or x  k use binary indicator variable y= restrictions:

11 11 PROBLEM: fixed costs: if x i >0 then costs C(x i ) use indicator variable y i = restrictions : Integer programming tricks (2)

12 12 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 (3)

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

14 14 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): Integer programming tricks (5)

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

16 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+p j ]

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

18 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 19 Integer programming solution 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 20 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 Integer programming solution techniques (cont.)

21 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 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 23 Branch and bound Enumeration in a search tree each node is a partial solution, i.e. a part of the solution space... root node child nodes Level 0 Level 1 Level 2

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

25 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 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 27 Branch and bound example 2 Single machine, maximum lateness, release and due dates lower bound: EDD + preemption (?,?,?,?) (1,?,?,?) (4,?,?,?)(2,?,?,?) Level 0 Level 1 (3,?,?,?)

28 28 Branch and bound example 2 Lower bound for: (1,?,?,?) Lower bound: Lmax = max(0,17-12,15-11,0)=5 t r(2)r(3)r(4) d(4)<d(3)d(3)<d(2) 012345 67 891011 12 131415 1617

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

30 30 Branch and bound example 3 1234 56 x1x1 1 2 3 4 5 6 x2x2 0 obj: 3 LP solution:

31 31 Beam search example 1 single-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 WSPT rule look-ahead parameter: K = 4.5 + R(R  0.5) K = 6 - 2R(R  0.5) = due date range factor

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

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

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

35 35 Beam search example 1 (cont.) (?,?,?,?) (1,?,?,?) (4,?,?,?) (2,?,?,?) (3,?,?,?) UB=408 436 814 440 (1,2,?,?) (1,3,?,?) (1,4,?,?) UB=480 706408 (1,4,2,3) (1,4,3,2) UB=408554 best solution (2,1,?,?) (2,3,?,?) (2,4,?,?) 436 (2,4,1,3) (2,4,3,1) 436608


Download ppt "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."

Similar presentations


Ads by Google