0360-8352/91 $3.00 + 0.00 Copyright © 1991 Pergamon Press plc
Computers ind. Engng Vol. 21, Nos 1-4, pp. 319-323, 1991 Printed in Great Britain. All rights reserved
ISz
AN INTELLIGENT SCHEDULER FOR BATCH MANUFACTURING SYSTEMS
Jui-chin (Kenny) Jiang Industrial Engineering Department Cleveland State University Euclid
Avenue
at
Cleveland,
East
24th
Street
Ohio 44115
ABSTRACT
This paper describes the design and development of IS (for Intelligent Scheduler), a true multiple criteria knowledge-based scheduler which can be used for operational level scheduling of batch manufacturing systems, sometimes called job shops. IS incorporates a heuristic algorithm coupled with two knowledge bases, one for job scheduling and the other for selecting a suitable schedule based on the user provided criterion or criteria. With fourteen dispatching rules, it can generate both static and dynamic schedules. IS is a far more realistic and sophisticated model, accounting for many important factors, such as multiple machines, multiple fixtures, multiple tools, alternate processing routes, machine setup time, machine processing time, due date, job arrival time, initial shop loading, hot jobs, and considering either one criterion or multiple criteria simultaneously. In addition, IS coded in C and has all the features of a modern professional quality interactive program. It has moving bar and pull down menus and an on-line help function, a friendly human-computer interface, and an intuitive and easy to understand representation of the schedules. INTRODUCTION
A job shop, which has complexity and uncertainty of the manufacturing environment, is a collection of machines and individuals capable of performing a variety of tasks in the completion of jobs(Hall, 1991). Scheduling is implemented as part of production planning and control functions. Schedules serve as a guide for production and for establishing manufacturing resource requirements in term of manpower, machine, tooling, fixture, material, and possibly other specific facilities(Newman, 1988). Although more manufacturing systems are job shop type rather than Flexible Manufacturing Systems (FMS) and some research has been done, job shops still get little support in scheduling problems(Svestka and Jiang, 1990). Job shop scheduling is among the hardest combinatorial optimization problems. Not only is it NP-complete, but also member of the latter class it belongs to the worst in practice. It is therefore natural to look for approximation methods that produce an acceptable schedule in a reasonable time. Thus, heuristic approaches are more preferable than simulation approaches. For more information about applying expert systems for planning and scheduling refer to Kusiak and Chen (1988). In general, a good scheduling system should have many of the characteristics - be simple - operate in real-time - provide multiple performance measures - have a good and simple user interface - consider multiple resources - accommodate different numbers of resources in a group - allow the operation setup times separate from the operation times in the job routings - take into account the alternative process routes - do both static and dynamic scheduling - provide rescheduling feature These characteristics not only are desirable conditions but also offer gigantic challenges for those people who do scheduling. GENERAL
DESCRIPTION
OF
IS
IS is a true multiple criteria knowledge-based scheduler which can be used for operational level scheduling of batch manufacturing systems. To produce robust and efficient schedules, IS utilizes Artificial Intelligence (AI) techniques combined with some aspects of current scheduling approaches. It incorporates a heuristic algorithm 319
320
Proceedings of the 13th Annual Conference on Computers and Industrial Engineering
coupled with two knowledge bases. Furthermore, IS is a far more realistic and sophisticated model, accounting for many important factors, such as multiple machines, multiple fixtures, multiple tools, alternate processing routes, machine setup time, machine processing time, due date, job arrival time, initial shop loading, hot jobs, and considers either one criterion or multiple criteria simultaneously. In addition, IS coded in C and has all the features of a modern professional quality interactive program. It has moving bar and pull down menus, and on-line help function, a friendly human-computer interface, and an intuitive and easy to understand representation. IS measures performance by way of three measures; mean work-inprocess (WIP), mean tardiness (TARD), and mean utilization (UTLN), any or all of which can be considered either individually or simultaneously. Therefore, seven combinations of performance can be selected in IS. They are WIP, TARD, UTLN, WIP & TARD, WIP & UTLN, TARD & UTLN, and WIP & TARD & UTLN(here, '&' means considering multiple criteria). Fourteen dispatching rules, which have proven good performance with respect to at least one criterion most often used by practitioners, are built into IS(Blackstone, Phillips, and Hogg, 1982) (Kiran and Smith, 1984). They are critical Ratio (CR), Slack Time per Operation (STO), Slack Time Remaining (STR), Fewest OPerations Remaining (FOPR), Shortest Process Time (SPT), SPT*Total Operations Times remaining (SPT.TOT), SPT/Total Operations Times remaining (SPT/TOT), Longest Process Times (LPT), LPT*Total Operations Times remaining (LPT.TOT), Longest Remaining Process Times (LRPT), Most OPerations Remaining (MOPR), LPT*Total Operations Times remaining (LPT/TOT), COVERT rule, and Shortest Setup Time (SST). DESIGN
OF
IS
To determine the sequence of dispatching rules with regard to either single criterion or multiple criteria, an experimental design was established, and the techniques of multivariate data analysis were applied. In this experiment, the dependent variables are WIP, TARD, UTLN, WIP & TARD, WIP & UTLN, TARD & UTLN, and WIP & TARD & UTLN. The independent variables are dispatching rules (14 levels), type of shops (2 levels), number of jobs, dispatching rules * number of jobs, dispatching rules * type of shops, number of jobs * type of shops, and dispatching rules * number of jobs * type of shops(here, '*' means interaction term). This experiment required 1120 sample runs. The significant factors are dispatching rules and the interaction of dispatching rules with number of jobs while considering single dependent factor. When investigating multiple dependent factors, dispatching rules interaction with number of jobs is a significant factor. This result which supports other research, shows that the level of shop loading and using the proper dispatching rule will affect the performance of schedule. However, different sequence of dispatching rules will result from different shop configuration. So, no one dispatching rule can serve a good performance in practice. The result of this analysis was incorporated into knowledge base 1 (KBI). When running IS, IS selects three dispatching rules and a sequence of dispatching rules to generate three static schedules and one dynamic schedule, respectively. Given these schedules, one will be recommended by knowledge base 2 (KB2) of IS in terms of the performance measure selected by the user. Whenever a single criterion is considered, it is easy to select the best schedule of the four schedules. However, when multiple criteria are considered, a systematic method to evaluate performance trade off is needed. A threshold value (for instance 5%) is used to evaluate whether or not the performance measures of offensive schedule is significantly better than the performance measures of defensive schedule. For detailed information on this trade off method, refer to Jiang (1991). THE
HEURISTIC
Before discussing the heuristic and an example, some terms have to be defined. Job available time is the epoch, the instant, when the operation of job is finished and next operation of job is ready to be processed. A job is schedulable if its available time is less than or equal to the current epoch, and all resources required to process next operation are available at the current epoch. In general, the process plan must include information such as operation number, machine
Jiang: Intelligent Scheduler
321
department, fixture type, tool type, m a c h i n e setup time, m a c h i n e p r o c e s s i n g time, and alternate p r o c e s s i n g operations, if available. For example, if one job contains 5 operations and each o p e r a t i o n has an a l t e r n a t e p r o c e s s i n g operation, there are 64 (25 = 64) alternate p r o c e s s i n g routes available. In the case where the process plan has alternate p r o c e s s i n g operations, the shop f l e x i b i l i t y is increased t r e m e n d o u s l y and d i f f i c u l t y of scheduling will be relaxed as well. The h e u r i s t i c used by IS is as follows: Step l : I n i t i a l i z e job available time, machine available time, m a c h i n e schedule, tool schedule, fixture schedule, and TIME, the current epoch. Step 2:If job is finished at TIME, update machine UTLN time, total r e m a i n i n g p r o c e s s i n g time, tool schedule, and fixture schedule• Step 3:Generate schedulable job set by checking job available time, p r o c e s s i n g route, machine availability, tool availability, and fixture availability. Step 4:Use KBI to select a proper job to be processed. Step 5:If no job is selected, update TIME then go to step 7, or continue. Step 6:Select the earliest available machine to process the job o p e r a t i o n and determine when to setup machine, then update m a c h i n e schedule, tool schedule, fixture schedule, m a c h i n e available time, and job available time. Go to step 3. Step 7:If all jobs have been scheduled, compute mean WIP, TARD, and UTLN then stop; otherwise go to step 2. NUMERICAL
EXAMPLE
Suppose a given shop contains 5 machine departments, 5 fixture types, and 5 tool types, where the number of identical machines at each d e p a r t m e n t is 3, 2, 2, 3, and i, respectively. Each fixture type has 3, 2, 4, 2, and 3 identical fixtures, respectively• Also each tool type has 2, 3, 2, 3, and 4 identical tools, respectively. The data structure used to represent the job information is organized as follows: [job name due date number of alternative route number of operation] [(operation_no - machine_department machine_setuptime machine_processing_time tool_type fixture_type) (operation no machine department machine_setuptime machine_processing_time tooltype fixture_type)] The p r i m a r y p r o c e s s i n g operation is followed by any a l t e r n a t e p r o c e s s i n g operation. Suppose there are 8 jobs and both mean work-inprocess and mean tardiness are selected as p e r f o r m a n c e criteria. Job data follows: [A 40 1 4] [(i 2 1 [B 55 2 5] [(i 3 0
7 2 i)(2 1 0 i0 4 i)(3 4 2 6 3 3)(4 3 3 i0 0 5)] 9 5 3)(2 4 1 12 1 3)(3 1 1 13 4 4)(4 4 4 4 0 i)
(5 2 0 10 3 5)(1 (4 1 2 7 2 1)(5
i i 12 4 0)(2 4 2 13 3 5)]
[C 56 1 5][(1 (5 [D 46 1 4] [(i [E 42 2 3][(i (2 [F 60 2 5] [(I (5
1 2 4 2 2 4 1
3 12 3 1 8 5 3 ll 2 2 ii 1 4 7 2 0 12 5 3 13 3
3)(2 3)] 3)(2 3)(2 4)(3 4)(2 3)(i
2 1 4 2 3
4 5 4 3)(3 3 4 1 3)(3 4 i0 2 3)] 1 9 2 i)(3 1 12 0 0)(2
(4 [G 43 2 4] [(1 (1 [H 60 2 5 ] [ ( 1
4 2 5 3
1 15 4 0)(5 i 11 i 5)(2 3 11 5 0 ) ( 2 1 4 3 0)(2
2 3 1 2
2 15 5 2)] 3 5 2 4)(3 2 7 0 3)(3 2 13 5 1 ) ( 3
(5 5 3
3 0
7 1 4)(i 4 1
(4 3 2 14 o 2)(5
2 3 14 5 i)(3
9 4 i)(3 5 2
5 0 15 2 i)
6 4 2)(4 1 0
7 1 0)
5 1 II 2 i)(4 3 2 9 1 5)] 5 4 5 3 0)(i 1 4 ii 1 2) 1 2 5 2 2)(4 5 0 13 1 5) 1 4 12 4 2)(3 3 0 9 3 4) 5 i 5 5 3)(4 2 1 14 0 1 ) ( 4 1 0 11 5 1 ) ( 4
4 2 8 2 i) 3 3 9 5 2)] 4 3 10 0 2)
6 4 0)(2 5 4 12 5 2)(3 4 0 13 5 4)
2 3 1o 2 3)]
322
Proceedings of the 13th Annual Conference on Computers and Industrial Engineering
For t h i s e x a m p l e , STR, STO, SPT.TOT, and a sequence of dispatching r u l e s will be c h o s e n from KB1 to g e n e r a t e four s c h e d u l e s , three static schedules and one dynamic schedule. IS p r o d u c e s three types of output on which to evaluate schedules ( F i g u r e 1), m a c h i n e schedule ( F i g u r e 2), a n d r e s o u r c e s schedule ( F i g u r e 3). Based on the user given performance criteria, schedule-2, produced b y S T O r u l e , is recommended as the best schedule(see Figure 1). In Figure 2, t h e h o r i z o n t a l axis and vertical axis represent the time scale and machine notation, respectively. Machine notation consists of two characters, the letter identifies the department and the number identifies the particular machine in that department. For instance, A3 means machine number 3 in d e p a r t m e n t A. Inside the machine schedule, each one character represents one time unit, a capital letter means that the specific j o b is u n d e r m a c h i n e processing, and small letter indicates that machine is u n d e r s e t u p . Also, '*' m e a n s t h a t m a c h i n e is n o t a v a i l a b l e , '.' m e a n s t h a t m a c h i n e is i d l e , a n d '+' o c c u r s e v e r y i0 t i m e u n i t s t o e n h a n c e reading. The bottom two lines show the name of dispatching rule which generates this schedule, as well as a summary of performance measures. The resources schedule(see F i g u r e 3) i n c l u d e s the fixture and tooling schedule. The horizontal axis and vertical axis represent the time scale and name of resource, respectively. Like machine schedule, the first character identifies the resource and the second character is t h e t y p e o f t h a t r e s o u r c e . For example, T2 m e a n s t o o l t y p e 2. The number inside this schedule indicates number of units of this type of resource available at that epoch. The name of dispatching rule generated this schedule is a l s o s h o w n a t b o t t o m . l.Mean Work-In-Process ( L o w e r is b e t t e r )
Schedule-i
2.Mean (Lower
Tardiness is b e t t e r )
3.Mean Utilization ( H i g h e r is b e t t e r )
49.38
4.25
0.4642
Schedule-2 (STO rule)
47.38
1.25
0.5803
Schedule-3 (SPT.TOT rule)
47.88
2.38
0.5601
Schedule-4
49.38
4.25
0.4642
(STR
rule)
(DYNAMIC
rule)
Criteria
: Mean
Schedule-2
(STO)
Work-In-Process rule)
Fiuure
was
& Mean
chosen
i. E v a l u a t i o n
as
Tardiness
the
proper
schedule.
of S c h e d u l e s
Machine A1 A2 A3
cccCCCCCCCCCCCCeeeEEEE . . . . . . . + ..... C C C C C C C . . . . . . . + . . . . . . . . . + ..... eeeeEEEEEEEEEEE .... + f f F F F F F . . + . . . . . . . . . + .... f f f F F F F F F F F F F F F F ..... ........ AAAAAAAAAA.+ .... b B B B B B B B B B B B B B . + . . . . . . . . . + . . . . . . . . . + .....
B1 B2
aAAAAAAAbbbBBBBBBBBBBBBBB .... + . . . . . . . . . + . . B B B B B B B B B B . . . . . . . + ..... gGGGGGGGGGGGfFFFFFFFFFddddDDDDD . . . . . . . . + . c C C C C C C C C . . . . . . . . . + .....
Cl C2
BBBBBBBBB+ ........ CCCCCCCCCaaaAAAAAAAAAA . . . . . . . . . + . . . . . . . . . + ..... h H H H H .... g g g G G G G G . . + g g g G G G G G G G G G . . . . . . . + ..... d d D D D D D D D D D . . . + .....
D1 D2 D3
d d d D D D D D D D D D D D .... e e e e E E E E E E E E E E . . b b b b B B B B
E1
. . . . . . . + . . . . . . . . . + ..... FFFFFFFFFFFF .... a a A A A A A A ..... + . f F F F F F F F F F F F F F F F . . + . . . . . . . . . + ..... ......... + ....... HHHHHHHHHHHHH..hhhHHHHHHHHHH .... + . . . . . . . . . + .....
.hhhhHHHHHHHHHHHHgGGGGG .... c c C C C C C C d D D D D D D D F D D D h h h H H H H H H H . . + ..... + .... + .... + .... + .... + .... + .... + .... + .... + .... + .... + .... + .... + .... + 0
Mean
i0
20
TIME Work-In-Process=47.375,
Fiaure
30 40 ( STO ) Mean Tardiness=l.250,
2. M a c h i n e
Schedule
50
60
Utilization=0.5803
Jiang: Intelligent Resource
(T:tooling
Scheduler
F :fixture)
T1
00000000000011111111112222222222222111111122211000000000122222222
T2
11111111211100111211001111122222333222222222222333333333333333333
T3
00000111111111121111111122222222222222222211000000001111111122222
T4
133333333222222222222221100000000000111222222222333333333333333333
T5
21111111011122222111000112222233444444444333333333444444444444444
F1
122222222111100000000001112233333332111111122222333333333333333333
F2
110000000000000011222000000000000000111111111122222222222222222222
F3
11111111122222332100000122222223444444444333222222333333333344444
F4
11111111100011111111111100000011111111222222222111111111122222222
F5
122222222222233333333333333322222222222223322211111112222333333333
+ .... + .... + .... + .... + .... + .... + .... + .... + .... + .... + .... + .... + .... + 0 i0 20 30 40 50 60 TIME ( STO ) F i u u r e 3. R e s o u r c e s S c h e d u l e CONCLUSION
IS can be u s e d for o p e r a t i o n a l level s c h e d u l i n g of b a t c h m a n u f a c t u r i n g systems. The p u r p o s e of d e s i g n i n g IS is to close the gap b e t w e e n the s c h e d u l i n g models in r e s e a r c h and real s c h e d u l i n g problems. IS can take p r a c t i c a l i n f o r m a t i o n into account, and has the c a p a b i l i t y of s o l v i n g c o m p l i c a t e d s c h e d u l i n g problems. To a p p l y IS effectively, d i f f e r e n t shops need d i f f e r e n t s e q u e n c e s of d i s p a t c h i n g rules in t e r m s of d i f f e r e n t p e r f o r m a n c e m e a s u r e s and other a f f e c t i n g factors. That is, KBI is shop specific and m u s t be r e g e n e r a t e d for the applications. REFERENCES
i. Blackstone, J o h n H., Jr, Don T. Phillips, and Gary L. Hogg, 1982, "A s t a t e - o f - t h e - a r t survey of d i s p a t c h i n g rules for m a n u f a c t u r i n g job shop operations," I n t e r n a t i o n a l Journal of P r o d u c t i o n Research, Vol. 20, No. i, pp. 27-45. 2. Hall,
R a n d o l p h W., 1991, O U E U E I N G METHODS: FOR S E R V I C E S AND M A N U F A C T U R I N G , P r e n t i c e - H a l l International.
3. Jiang,
J u i - c h i n (Kenny), 1991, " I n t e l l i g e n t A p p r o a c h e s to Real W o r l d S c h e d u l i n g Problems," U n p u b l i s h e d d i s s e r t a t i o n of C l e v e l a n d State University.
4. Kiran, Ali S. and M i l t o n L. Smith, 1984, " S I M U L A T I O N STUDIES IN JOB S H O P S C H E D U L I N G - I I P E R F O R M A N C E OF P R I O R I T Y RULES," C o m p u t e r s and Industrial Enqineerinq, Vol. 8, No. 2, pp. 95-105. 5. Kusiak,
Andrew, 1989, "KBSS : A K N O W L E D G E AND O P T I M I Z A T I O N - B A S E D S Y S T E M FOR M A N U F A C T U R I N G SCHEDULING," I n t e r n a t i o n a l I n d u s t r i a l E n u i n e e r i n q C o n f e r e n c e & Societies' M a n u f a c t u r i n q and P r o d u c t i v i t v S y m p o s i u m Proceedinus, pp. 694-658.
6. Kusiak,
A n d r e w and M i n g y u a n Chen, 1988, "Expert systems for p l a n n i n g and s c h e d u l i n g m a n u f a c t u r i n g systems," E u r o p e a n Journal of O p e r a t i o n a l Research, 34, pp. 113-130.
7. Newman,
P.A., 1988, "Scheduling in C I M Systems," A r t i f i c i a l Intelliqence: I m p l i c a t i o n s for CIM, e d i t e d by A n d r e w Kusiak, Springner-Verlag.
8. Svestka, J o s e p h A. and J u i - c h i n (Kenny) Jiang, 1990, "TOWARD THE D E V E L O P M E N T OF R E A L I S T I C R E S C H E D U L I N G M E T H O D S IN R E A L BATCH SHOPS," C o m p u t e r s and Industrial EDuineerina, Vol. 19, No. 1-4, pp. 6-10.
323