Вы находитесь на странице: 1из 31

CABINS : A Framework of Knowledge Acquisition

and Iterative Revision for Schedule Improvement


and Reactive Repair
Kazuo Miyashita, Matsushita Electric Industrial Co. Ltd. Japan
Katia Sycara, The Robotics Institute, CMU USA.

Artificial Intelligence, 1995

1999. 4. 8
SNUIEFAL
2013 12 26

2/31
Contents
Introduction
Job shop scheduling
Constraint-based search procedure
CABINS overview
Evaluation of the Approach
Conclusions
References
SNUIEFAL
2013 12 26

3/31
Introduction
Practical scheduling problems generally require allocation of resource
in the presence of a large, diverse and typically conflicting set of
constraints and optimization criteria.
Scheduling is difficult to automate for the following reasons :
Computational complexity
Tight constraint interactions
cause the ripple(domino) effect.
Ill-structured objectives/preferences
The tradeoffs between conflicting objectives are not captured in scheduling
model.
Dynamic environment
Stephen, C., Grave : There is no scheduling problem but rather a rescheduling
problem.
SNUIEFAL
2013 12 26

4/31
Introduction
Two general approaches of scheduling methods
constructive approach : a schedule is constructed by incremental
construction and merging of partial schedule.
revision based approach : a complete but sub-optimal initial schedule is
incrementally repaired by several techniques.
Many researches assume the existence of a static, predetermined
optimization criteria. But in practice, optimization criteria reflect
context dependent user preferences and cannot be expressed in terms
of a single global objective function.
SNUIEFAL
2013 12 26

5/31
Introduction
This paper describes a revision-based approach, implemented in the
CABINS system, that provides a unified framework for acquisition of
user preferences and tradeoffs, improvement of schedule quality based
on these preferences, and reactive schedule management in response to
unforeseen events.
SNUIEFAL
2013 12 26

6/31
Job shop scheduling
Parallel Job shop scheduling problem
a set of jobs,
a set of physical resources,
each job consists of a set of physical activities,
each activity requires different resources,
some resources have substitutable ones.
Variables which are associated with each activity, includes :
the activity start time,
each resource requirement,
Constraints
precedence constraints,
capacity constraints,
release/due date constraints
} ,...., {
1 n
J J J =
} ,...., {
1 m
R R RES =
} ,...., {
1
l
n
l l
l
A A A =
l
ij
R
l
ij
R
) BEFORE (
l
j
l
i
l
j
l
i
l
i
A A st du st < +
l
i
A
k
i
l
j
l
j
l
j
k
i
k
i
l
jq
k
ip
st du st st du st R R q p s + v s + v = ) (
l
i
st
Job shop scheduling
SNUIEFAL
2013 12 26

7/31
Objectives and Preferences
Common objectives in literature
Waiting time( ) / Total waiting time( )
Completion time( )
Lateness( )
Tardiness( ) / Weighted tardiness( )
Flowtime( )
Makespan( )
Work-in-Process( )

An optimization criterion such as , which cannot be
represented in the way that can be explored by traditional schedule
approach, could be induced by CABINS if user gave consistent
evaluation of schedule.
l
i
W
l
W
l
C
l
L
l
T
wt
T
l
F
max
C
WIP
3
2
WIP T
wt

Job shop scheduling
SNUIEFAL
2013 12 26

8/31
Example of Conflicting Objectives
Which do you select, schedule-1 or schedule-2 ?
It depends on context, or user preferences. -> Need to Capture
Job B
Job B
Job A
Job A
Schedule-1
Schedule-2
Release Date(A and B) Rue Date(A) Rue Date(B)
WIP of Job A Tardiness of Job A
WIP of Job B
Job shop scheduling
SNUIEFAL
2013 12 26

9/31
Constraint-Based Search Procedure
1. If all operations have been scheduled then stop, else go on to step 2.
2. Apply the consistency enforcing procedure.
3. If a dead-end state is detected then backtrack(i.e. select an alternative
reservation if one is left and go back to step 1, otherwise stop).
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 and go back to step 1.
Constraint based search procedure
SNUIEFAL
2013 12 26

10/31
Consistency Enforcing Procedure
This procedure is a hybrid procedure that differentiate between
precedence constraints and capacity constraints and guarantees that
dead-end states only occur as the result of capacity constraint violations.
Consistency enforcement with respect to precedence constraints is enforced
by updating a pair of earliest/latest possible start time for each unscheduled
operation.
Due to the disjunctive nature of capacity constraints, Consistency
enforcement with respect to capacity constraints requires a forward
checking procedure :
Whenever a resource is allocated to an operation, this procedure checks the set
of remaining possible start time of other operation requiring that resources, and
remove those start time that would conflict with new assignment
Constraint based search procedure
SNUIEFAL
2013 12 26

11/31
Variable Ordering Heuristic
determines which activity is going to be scheduled next.
selects the most critical activity first, i.e. , the activity with the highest
probability of being involved in a capacity constraint violation over
particular time intervals
Constraint based search procedure
SNUIEFAL
2013 12 26

12/31
Value Ordering Heuristic
Two value ordering heuristic relevant to CABINS :
Least Constraining Value Ordering(LCV) :
selects the reservation that is the least likely to prevent other activity from
being scheduled.
There is no preference for particular start time out of the activitys available
start times.
Greedy Value Ordering(GV) :
selects a reservation based on local preferences that are expressed via static
piecewise liner biased utility function associated with each activity.
Release date/ES LS
unbiased utility function
biased utility function
Constraint based search procedure
SNUIEFAL
2013 12 26

13/31
CABINS Overview
CABINS is an integrated system of CBR(Case Based Reasoning) and
constraint-directed scheduling mechanism.
CABINS uses a case to :
select repair tactics to be applied to focal activity
evaluate result effect of application of repair tactic
capture user preferences
CABINS Overview
SNUIEFAL
2013 12 26

14/31
CABINS Architecture
Scheduling Problem
Scheduler
Incomplete
Domain Knowledge
Test Data Sub-optimal Schedule Training Data
Repair by
human expert
Optimal Schedule
Contextual
Domain Knowledge
Feature Values

Repair Tactic

Evaluation Criteria
Repair by CABINS
Retrieve similar case
Apply repair tactic
Evaluate result
case
acquisition
Case-Base
CABINS Overview
SNUIEFAL
2013 12 26

15/31
CABINS Feature
Two repair strategies :
Local patching is selection of repair actions that result in changing the
sequence of activities allocated to different resources, or reassigning
resource assignment.
Model modification reformulates the problem.
change model parameters, such as the number of jobs to be scheduled, or
global constraints such as changing release or due dates.
increase resource capacity or number of shifts
CABINS default strategy is local patching but it allows due date
constraints to be relaxed.
Three execution modes :
Knowledge acquisition interactive mode
Decision support interactive mode
Automatic mode
CABINS Overview
SNUIEFAL
2013 12 26

16/31
Case Representation
Global Feature
Weighted Tardiness
Resource Utilization Average
Resource Utilization Deviation
Local Feature
Waiting time
Predictive Shift Gain
Predictive Alt Shift Gain
Predictive Swap Gain
Predictive Alt Swap Gain
Repair History
Tactic
Outcome
Effect
l
n
A
1
l
n
A
Repair time horizon
of focal activity
l
n
A
l
n
W
CABINS Overview
SNUIEFAL
2013 12 26

17/31
Case Acquisition
CABINS starts with empty case base and needs training through user
interaction.
When application of repair tactic produces a feasible schedule, the user
must decide whether the resulting schedule is acceptable or not based
on calculated effects :
effects pertaining to whole schedule : weighted tardiness, total WIP,
average resource utilization and its deviation.
effects pertaining to a job : change in the tardiness, WIP, resource
assignment.
At the end of each iteration, the current problem feature, the applied
repair tactic, the effects of the repair and user judgement are recorded
in case base.
CABINS Overview
SNUIEFAL
2013 12 26

18/31
Case Retrieval
In automatic mode, retrieved cases are for three purposes :
selection of a repair tactic in success case to be applied,
evaluation of the resulting schedule after application of the repair tactic,
in case of failure, retrieval of a tactic in failure case
CABINS uses k-Nearest Neighbor method to retrieve a case.
apply first the repair tactic with higher sum of similarities.

=
N
j
j
i
j
i
j i
j i
Dev E
e probFeatur e CaseFeatur
Salience D
1
2
)
_
(
) exp(
i i
D Similarity =
CABINS Overview
SNUIEFAL
2013 12 26

19/31
Repair by CABINS
Repair tactics :
left_slide
left_shift
left_shift_into_alt
swap
swap_into_alt
give_up
..
Repair of a schedule is allowed within repair time horizon.
CABINS Overview
SNUIEFAL
2013 12 26

20/31
Examples of Repair(left_shift)
M1
M2
M3
M4
M5
M1
M2
M3
M4
M5
CABINS Overview
SNUIEFAL
2013 12 26

21/31
Examples of Repair(Machine breakdown)
M1
M2
M3
M4
M5
M1
M2
M3
M4
M5
M1
M2
M3
M4
M5
Before breakdown
After breakdown
After reactive repair
CABINS Overview
SNUIEFAL
2013 12 26

22/31
Evaluation of the Approach
Test the following hypotheses :
The approach is potentially effective in capturing user preferences and
optimization tradeoffs that are difficult to model.
The approach improves schedule quality regardless of methods of initial
schedule generation.
The approach produces high quality schedule at much lower
computational cost as compared to simulated annealing method.
The approach is suitable as a reactive scheduling method that maintains
high schedule quality and minimizes disruptions in the face of execution
time failures.
Evaluation of the approach
SNUIEFAL
2013 12 26

23/31
Test Environment
Two optimization criteria unknown to CABINS are used :
weighted tardiness
WIP + weighted tardiness
To train CABINS, RBR(Rule Based Reasoner) is built.
Problem set consists of 10 jobs and 5 machines.
Each job has 5 activities and linear process routing.
There are 1 or 2 bottleneck machines and substitutable machines are
allowed for non-bottleneck machines.
Cross-validation method is used.
Both training and test problem sets consist of 30 problems.
Evaluation of the approach
SNUIEFAL
2013 12 26

24/31
Preference Acquisition
Trained by WT+WIP
Trained by WT
Repair by RBR
Repair by CABINS
WT + WIP
1821.8
1600.3
CPU Sec.
498.6
296.5
Repair by RBR and CABIN trained by WT+WIP
Evaluation of the approach
SNUIEFAL
2013 12 26

25/31
Initial Schedule, CABINS and SA(1)
Five scheduling methods are used to generate initial schedule.
EDD, WSPT, R&M(WSPT with order time urgency factor)
CBS(Constraint Based Scheduling)
Random Generation
Repair by CABINS
Repair by SA
WT + WIP
1660.7
1673.9
CPU Sec.
73.5
388.2
WT
349.5
340.5
Scheduled by EDD 2240.6 0.1 965.0
Repair by CABINS
Repair by SA
1575.9
1648.9
72.1
398.3
321.0
328.1
Scheduled by WSPT 1825.0 0.1 584.0
Evaluation of the approach
SNUIEFAL
2013 12 26

26/31
Initial Schedule, CABINS and SA(2)
Repair by CABINS
Repair by SA
WT + WIP
1570.2
1620.9
CPU Sec.
84.9
450.5
WT
305.3
330.1
Scheduled by R&M 1798.0 0.1 556.0
Repair by CABINS
Repair by SA
3172.5
3142.4
81.2
323.3
1740.0
1723.8
Scheduled by Random 5345.5 0.1 3875.0
Repair by CABINS
Repair by SA
1600.3
1615.5
296.5
1380.0
405.3
395.5
Scheduled by CBS 2654.0 17.4 1173.0
Evaluation of the approach
SNUIEFAL
2013 12 26

27/31
Response to Unpredictable Execution Events
In the table, CABINS efficiency is much worse than CBS.
This result is misleading. CABINS took less CPU time to achieve the
same quality of schedule.
Sequencing Disruption
Repaired WT(%)
CABINS Reactive repair
21
98.8
CBS(GV) Reschedule
27
91.6
Start Time Disruption
Routing Disruption
6380
9
8980
11
CPU Sec. 172.9 6.7
Evaluation of the approach
SNUIEFAL
2013 12 26

28/31
Evaluation of Knowledge transferability
Can CABINS trained with 10 jobs work well when there are 20 jobs ?
Repair by CABINS(1)
Repair by CABINS(2)
WT + WIP
6186.9
6253.9
CPU Sec.
171.0
234.2
WT
648.5
824.5
Scheduled by EDD 7547.1 0.3 2106.8
Repair by CABINS(1)
Repair by CABINS(2)
5786.4
5828.1
164.5
194.5
548.6
598.2
Scheduled by R&M 5927.8 0.6 709.5
Repair by CABINS(1)
Repair by CABINS(2)
5893.3
5975.8
190.0
222.0
561.2
633.7
Scheduled by WSPT 6028.7 0.5 718.4
Repair by CABINS(1)
Repair by CABINS(2)
6938.2
7176.3
880.0
973.8
692.2
924.2
Scheduled by CBS 8657.2 203.0 2396.5
Trained with 20 jobs
Trained with 10 jobs
Evaluation of the approach
SNUIEFAL
2013 12 26

29/31
How many cases are Enough
The larger the number of cases is, the better the schedule quality is.
In terms of efficiency, case base with 1000 cases might be optimal.
Evaluation of the approach
SNUIEFAL
2013 12 26

30/31
Conclusions
This paper advocates a framework for knowledge acquisition and
iterative repair for schedule optimization.
CABINS utilizes CBR-based mechanism for recording user preferences,
repair tactics and explanations, and constraint-based scheduling for
application of the selected repair tactics.
Experimental results show that CABINS can :
capture and effectively utilize user scheduling preferences.
improve the quality of schedule regardless of initial schedules.
be reactive because it efficiently responds to unexpected events.

SNUIEFAL
2013 12 26

31/31
References
Kazuo Miyashita, Katia Sycara, CABINS:A Framework of Knowledge
Acquisition and Iterative Schedule Improvement and Reactive Repair,
Artificial Intelligence, 1995.
Norman M. Sadeh, Mark S. Fox, Variable and value ordering
heuristics for the job shop scheduling constraint satisfaction problem,
Artificial Intelligence, 1995.
Katia Sycara, Dajun Zeng, Using case-based reasoning to acquire user
scheduling preferences that change over time, The proceedings of the
Eleventh IEEE Conference on Artificial Intelligence Applications,
1995
Kazuo Miyashita, Katia Sycara, Improving System Performance in
Case-Based Iterative Optimization through Knowledge Filtering, The
proceedings IJCAI, 1995

Вам также может понравиться