Propagation of resource constraints for scheduling (PowerPoint)

Document Sample
Propagation of resource constraints for scheduling (PowerPoint) Powered By Docstoc
					Problem-Solving Examples
  (Non-Preemptive Case)




                           5-1
                    Outline
• Job-shop scheduling problem (JSSP)
  –   Problem definition
  –   Basic search procedure
  –   Heuristics
  –   Results
• Resource-constrained project scheduling
  problem (RCPSP)

                                            5-2
        JSSP: Problem definition
•   Set of machines {M1 ... Mm}
•   Set of jobs {J1 ... Jn}
•   List of operations Oi1 ... Oim(i) for each job Ji
•   Processing time pij for each operation Oij
•   Machine Mij for each operation Oij



                                                        5-3
      JSSP: Problem variables
• Integer variables start(O) and end(O) for
  each operation O

• Optimization criterion
    makespan = maxi(end(Oim(i)))




                                              5-4
     JSSP: Problem constraints
• Temporal constraints
     0  start(Oij)
     end(Oij)  start(Oij+1)
• Duration constraints
     start(Oij) + pij = end(Oij)
• Exclusion constraints
     Mij = Mkl implies
     [end(Oij)  start(Okl)] OR [end(Okl)  start(Oij)]


                                                          5-5
 JSSP: Decision var. complexity
• NP-complete in the strong sense when m = 3 and
  m(i)  3 for all i
• Solvable in polynomial time if m = 2 and m(i)  2
  for all i
• NP-complete in the ordinary sense when m = 2
  and m(i)  3 for all i, or when m = 3 and m(i)  2
  for all i
• Flow-shop scheduling: NP-complete in the strong
  sense for m = 3
                                                       5-6
   JSSP: Basic search procedure
• Select a machine M and a set W of operations
  which require M
• For each operation O in W, create a branch where
  O is set to execute before (or after) all the other
  operations of W
• Select a branch, propagate the decision, and iterate
  (until a solution is found or no branch remains)



                                                         5-7
  JSSP: Makespan minimization
• Set makespanmin to an obvious lower bound
• Set makespanmax to an obvious upper bound
• Iterate until makespanmin = makespanmax
  – Select a value in [makespanmin makespanmax)
  – Constrain the makespan to be smaller than (or equal to)
    the chosen value
  – Run the search procedure: when a solution is found, set
    makespanmax to the makespan of the solution; if there is
    no solution, set makespanmin to (value + 1)

                                                               5-8
 JSSP: Makespan minimization
• Example
  – start with makespanmin obtained by propagation
  – until a solution has been found, increment the tested
    value by min(2i-1, (makespanmax - makespanmin) / 2)
    (after the ith iteration)
  – after a solution has been found, set the tested value to
    (makespanmax - makespanmin) / 2




                                                               5-9
               JSSP: Heuristics
• Selection of the machine
  Find the task interval [startmin(A), endmax(B)] with
  the highest demand/supply ratio

    TI = {C | startmin(A)  startmin(C) and endmax(C)  endmax(B)}
    demand = SCTI duration(C)
    supply = endmax(B) - startmin(A)




                                                                     5-10
             JSSP: Heuristics
• Branch exploration ordering
  – First or last?
     • Always select an operation to execute first
     • Always select an operation to execute last
     • Use edge-finding rules to determine the number Nf
       of operations that can be first and the number Nl of
       operations that can be last (and select the option
       with the smallest number of candidates)



                                                              5-11
            JSSP: Heuristics
• Branch exploration ordering
  – Select the branch on which the operation with
    the smallest endmax is scheduled first (EDD)
  – Select the branch on which the operation with
    the largest startmin is scheduled last
  – Propagate each alternative in turn and select the
    one which appears the most constraining



                                                        5-12
      JSSP: Benchmark results
• [Applegate & Cook 91]
  – Ten instances with 10 jobs and 10 machines
    (100 operations)
  – Results (table) taken from [Le Pape 95]
• [Vaessens et al 94]
  – Thirteen instances (one open) with up to 225
    operations


                                                   5-13
      JSSP: Benchmark results
Instance     BT     CPU    BT(PR)   CPU(PR)
MT10       13684   184.8    4735      52.8
ABZ5       19303   226.6    4519      49.7
ABZ6        6227    80.3     312       3.8
LA19       18102   219.2    6561      74.7
LA20       40597   407.3   20626     186.9
ORB1       22725   323.7    6261      85.3
ORB2       31490   416.4   14123     189.3
ORB3       36729   488.4   22138     277.6
ORB4       13751   169.9    1916      19.0
ORB5       12648   168.5    2658      29.7


                                              5-14
 Benchmarks (Applegate & Cook)

215


210


25


       MT10     ABZ5    ABZ6     LA19   LA20   ORB1   ORB2    ORB3   ORB4   ORB5


     [Applegate & Cook 91]                Number of nodes     CPU time (Sparc1)
     [Baptiste et al 95] [Le Pape 95]     Number of fails     CPU time (RS6000)
     [Caseau & Laburthe 95]                                   CPU time (Sparc10)
     [Colombani 96]                       Number of choices   CPU time (Sparc 5)
                                                                                   5-15
 Benchmarks (Applegate & Cook)
215


210


25


        MT10     ABZ5    ABZ6     LA19   LA20   ORB1   ORB2   ORB3   ORB4   ORB5


      PROOFS OF OPTIMALITY
      [Applegate & Cook 91]                Number of nodes    CPU time (Sparc1)
      [Baptiste et al 95] [Le Pape 95]     Number of fails    CPU time (RS6000)
      [Caseau & Laburthe 95]               Number of fails    CPU time (Sparc10)

                                                                                   5-16
      Benchmarks (Vaessens et al)
15


10


5



     MT10   LA02   LA19   LA21   LA24   LA25   LA27   LA29   LA36   LA37   LA38   LA39   LA40


        [Adams et al 88]                                 [Mattfeld 96]
        [Nuijten & Le Pape 97]                           [Nowicki & Smutnicki 93]
        [Caseau & Laburthe 95]                           [Van Laarhoven et al 92]
                                                                                                5-17
        Benchmarks (Vaessens et al)
215


210


25



       MT10   LA02   LA19   LA21   LA24   LA25   LA27    LA29   LA36   LA37   LA38   LA39   LA40


      [Adams et al 88] (Vax780)                         [Mattfeld 96] (Sparc10)
      [Nuijten & Le Pape 97] (RS6000)                   [Nowicki & Smutnicki 93] (PC)
      [Caseau & Laburthe 95] (Sparc10)                  [Van Laarhoven et al 92] (Vax785)

                                                                                                   5-18
 RCPSP: Problem definition (1)
• Given:
  –   m resources R1 ... Rm with given capacities c1 ... cm
  –   n activities A1 ... An with given durations d1 ... dn
  –   precedence constraints between activities
  –   resource requirements qij (for activity i and resource j)
 assign start and end times to activities so as
 to satisfy the constraints and minimize the
 duration of the overall project

                                                                  5-19
 RCPSP: Problem definition (2)
• Given:
  – m resources R1 ... Rm with given maximal capacities c1max ... cmmax
  – n activities A1 ... An with given minimal durations d1min ... dnmin and
    maximal durations d1max ... dnmax
  – precedence constraints between activities
  – resource requirements qijd (for activity i, resource j and duration d)

  assign start and end times to activities so as to
  satisfy the constraints and achieve the "best"
  tradeoff between the duration of the overall
  project and the peak capacity of the resources
                                                                              5-20
    RCPSP: Problem variables
• Integer variables start(Ai) and end(Ai) for
  each activity Ai
• Integer variables duration(Ai), cj and qij in
  the variable-duration variable-demand case
• Optimization criterion
    makespan = maxA(end(A))



                                                  5-21
     RCPSP: Problem constraints
•   Resource capacity constraints (cj)
•   Duration constraints
•   Precedence constraints
•   Resource requirement constraints (qij)
•   Relations between durations and resource
    requirements


                                               5-22
    RCPSP: Search procedure (1)
1 Initialize the set of selectable activities W to the complete set.
2 If all activities have fixed start and end times, exit. Otherwise remove
  from W those activities which have fixed start and end times.
3 If W is not empty, select an activity from W, create a choice point for
  the selected activity (to allow backtracking) and schedule the selected
  activity from its earliest start time to its earliest end time.
4 If W is empty, backtrack to the most recent choice point. (If there is no
  choice point left, report that there is no problem solution and exit.)
5 Upon backtracking, mark the backtracked activity as not selectable as
  long as its earliest start and end times have not changed. Then goto
  step 2.



                                                                              5-23
     RCPSP: Search procedure (2)
1 Initialize the set of selectable activities W to the complete set.
2 If all activities have fixed start and end times, exit. Otherwise remove
  from W those activities which have fixed start and end times.
3 If W is not empty, select an activity from W, create a choice point for
  the duration of the selected activity, select a duration, create a choice
  point for the start and end times of the activity and schedule the
  selected activity from its earliest start time to its earliest end time.
4 If W is empty, backtrack to the most recent choice point. (If there is no
  choice point left, report that there is no problem solution and exit.)
5 Upon backtracking on a start/end time choice point, mark the
  backtracked activity as not selectable as long as its earliest start and
  end times have not changed. Then goto step 2.
6 Upon backtracking on a duration choice point, select another duration.

                                                                              5-24
            RCPSP: Optimization
• Classical minimization scheme
• Pareto-optimization (find all Pareto-optimal
  tradeoffs)
   1 Generate a solution which minimizes the first criterion c1. (If there
     is no solution, exit.) Let v1 be the optimal value for c1.
   2 Constrain c1 to be smaller than or equal to v1. Generate a solution
     which minimizes the second criterion c2. Let v2 be the optimal
     value for c2. The solution found is Pareto-optimal.
   3 Remove the constraint stating that c1 is smaller than or equal to v1.
     Replace it by a constraint stating that c2 is strictly smaller than v2.
     Goto step 1.

                                                                               5-25
          RCPSP: Heuristics
• Selection of an activity
  – Select the activity with the smallest endmin



• Selection of a duration
  – Select the shortest possible duration



                                                   5-26
                   RCPSP: Results
• Ship loading problem [Aggoun & Beldiceanu 92]
   –   1 resource
   –   34 activities with precedence constraints
   –   Fixed-duration fixed-demand fixed-capacity: 0.2s
   –   Fixed-duration fixed-demand Pareto-optimization: 0.4s
   –   Variable-duration variable-demand fixed-capacity: 0.2s to 0.9s
   –   Variable-duration variable-demand Pareto-optimization: 13s
• Industrial problem
   – 2 resources
   – 40 to 50 activities with precedence constraints
   – Variable-duration variable-demand fixed-capacity: 1s

                                                                        5-27
            RCPSP: Results
• However, the efficiency of RCPSP search
  procedures is shown to depend a lot on the
  structure of the precedence network. Much
  harder instances can be obtained by simple
  modifications of the ship loading problem.
• Additional constraints of real-life problems
  can make the problem much more simple or
  much more difficult than the RCPSP.
                                                 5-28

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:1
posted:9/21/2011
language:English
pages:28