- 46 Views
- Uploaded on
- Presentation posted in: General

Norman Sadeh, School of Computer Science, CMU Mark S.Fox

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Variable and value ordering heuristics for the job shop scheduling constraint satisfaction problem

Norman Sadeh,

School of Computer Science, CMU

Mark S.Fox

Dept. of Industrial Engineering, Univ. of Toronto

Artificial Intelligence, 86(1996) p1-41

1. Introduction

2. Job shop CSP

3. Search Procedure

4. Some popular variable ordering heuristics

5. Some popular value ordering heuristics

6. New variable and value ordering heuristics

7. Empirical evaluation

8. Concluding remarks ? -> No!

- Fox and Sadeh
- the most representatives in CSP and Scheduling area.

- ISIS (1986)
- MICRO-BOSS (1991)
- CMU School of CS, Robotics Institute

- CSPs for design and scheduling
- Generally entail large search spaces.
- Only a very tiny fraction of all possible assignments participates in solution.

- Variable and Value ordering
- Reducing the effective size of the search space to be explored.

- Job Shop Scheduling Problem.
- Large scale, tightly connected problem
- Objective is to find a feasible solution as quickly as possible. (notes: in large scale problem in industry)

- In this research,
- Review generic variable and value ordering heuristics
- Introduce new variable and value ordering heuristics with Probabilistic framework considering reliance of a variable, and measure of contention

- Assumption on this study
- Tree-like process routing (그림 참조)

- J = { j1, j2, …., jn}
- RES = {R1,R2,..,Rm}
- Ol = {Ol1,…, Olnl }
- Variables Ol
- operation start time stli
- resource requirements, Rlij

O14

O16

O11

O17

O12

O15

O13

O18

O21

O22

O23

Constraints

- Precedence Constraints
- stli + duli <=stlj (i.e. Oli Before Oli)

- Capacity Constraints
- Example :
- 4 jobs, 4 resources, 2-3 operations
- All jobs should be terminated by 15 time units.

P1

P2

O11 R1

O12 R2

O13 R3

j1

C1

C2

C4

C6

P3

C7

j2

O21 R1

O22 R2

C3

C5

C9

C8

P4

P5

j3

O31 R3

O32 R1

O33 R2

C10

P6

j4

O42 R2

O41 R4

1. If all operations have been scheduled then stop, else go on to 2.

2. Apply the consistency enforcing procedure.

3.If a deadend is detected then backtrack (i.e. select an alternative if there is one left and go back to 1, else stop and report that the problem is infeasible). else go on to step 4.

4. Select the next operation to be scheduled (variable ordering heuristic).

5. Select a promising reservation for that operation (value ordering heuristic).

6. Create a new search state by adding the new reservation assignment to the current partial schedule. Go back to 1.

- Consistency with respect to precedence constraints
- Propagate EST to downstream and LST to upstream

- Forward consistency checks w.r.t. capacity constraints
- difficult because of disjunctive nature
- checks the remaining possible reservations,
- and remove those reservations that would conflict with the new assignment.

- Additional consistency checks w.r.t. capacity constraints
- checks that no two unscheduled operations require overlapping resource/time intervals.
- In example [lskki, efkki]and[lsklj, efklj] overlap --> oversubscribed interval
- This enforces a higher level of are-consistency than forward checking.

Before Propagation

j1

O11 3 R1

O12 4 R2

O13 5 R3

[0, ]

[0, ]

[0, 15]

Downstream Propagation

j1

O11 3 R1

O12 4 R2

O13 5 R3

[0, ]

[3, ]

[7, 15]

Upstream Propagation

j1

O11 3 R1

O12 4 R2

O13 5 R3

[0, 8]

[3, 11]

[7, 15]

Detecting situations where two unscheduled operations

requiring the same resource are in conflict

O11 R1

O12 R2

O13 R3

j1

[0,6]

[3,9]

[6,12]

j2

O21 R1

O22 R2

[3,12]

[0,9]

j3

O31 R3

O32 R1

O33 R2

[0,6]

[3,9]

[6,12]

j4

O42 R2

O41 R4

[0,9]

[3,12]

In Job shop Scheduling Problem

- Consistence enforcement to Precedence constraint is sufficient to guarantee decomposability.
- Backtracking can only occur as the result of capacity constraint violations.

- Difficult variables first!
- Fixed variable ordering heuristics
- a unique variable ordering is determined prior to starting the search.
- Require less computing!

- Dynamic variable ordering heuristics
- The ordering is dynamically revised in each state in order to account for earlier assignments.
- More powerful!

- DSR (Dynamic search reassignment)
- DSR look for the the variable with the smallest number of remaining values.
- BENCHMARK to determine whether it is worthwhile using a dynamic variable ordering heuristics.

- Job shop scheduling is more difficult problem for which Dynamic variable ordering heuristic is justified.

- MW (Minimum Width)
- select a node which has minimal degree remaining after deleting all nodes that have already been selected.

- MD (Minimum degree)
- Ordering variables according to their degree in the initial constraint graph.

- MC (Max Cardinality) Dynamic
- picks the variable connected to the largest number of already instantiated variables.

- Least constraining values first!
- ABT (Advised Backtracking) and MST(Min Spanning Tree)
- Benchmark in this research.

- General Consideration
- A probabilistic model of the search space
- a variable ordering heuristic based o measures of resource contention
- a reservation ordering heuristic that attempts to minimize contention
- Estimation the probability that a reservation survives contention
- Estimating the probability that a job schedule survives contention

- This research aims at developing heuristics that efficiently reduce the expected number of search states that need to be explored

- The chance that a given value will be assigned to a variable
- the chances that values assigned to different variables conflict with each other.

- Calculate individual demand of each operation for each resources ==> Dli() (fig10-1, fig10-2)
- Aggregate each demand for Resource Rj ==> DaggrRj() (fig11-1, fig11-2)
- Compare each aggregated demand profile ==> select max contention resource Rj*
- Select Operation Oli which has highest contribute to Rj*(fig12-1, fig12-2)

- Estimate the Survivability for each reservation.==> (Fig 13)
- Estimate the survivability for each job ==> Goodness. (Fig 14)

- Test data parameters
- Range parameter : release date and due date distribution control
- Bottleneck parameter : Number of bottleneck resources
- Slack parameter

- Comparison competitors
- DSR & ABT
- DSR & FSS
- ORR & ABT
- ORR & FSS

- Performance Measures
- Search Efficiency : the number of operations to be scheduled over total number of search states explored
- Number of experiment solved
- Average CPU time