Transactions on Information and Communications Technologies vol 1, 1993 WIT Press, ISSN

Size: px
Start display at page:

Download "Transactions on Information and Communications Technologies vol 1, 1993 WIT Press, ISSN"

Transcription

1 Strategic level interactive scheduling and operational level real-time scheduling for flexible manufacturing systems M. Tsukiyama, K. Mori & T. Fukuda Industrial Electronics and Systems Laboratory, Mitsubishi Electric Corporation, Tsukaguchi-Honmachi Amagasaki, 661 Japan ABSTRACT In this paper, we propose a hierarchical dynamic scheduling procedure by using a strategic level schedule editor and operational level distributed schedulers. With the schedule editor, it becomes possible to freely generate and modify a schedule. It enables us to build a desirable schedule by repeating modification and evaluation of a schedule. With the operational level scheduler, real-time dispatching decisions can be made. INTRODUCTION Scheduling is one of the most difficult problems in the production management, especially for FMS where various jobs are processed simultaneously by multipurpose machines. Mathematical programming methods cannot solve the problem because of combinatorial explosion. Over the past few years, dispatching rule based simulation methods and expert system techniques have been applied to scheduling problems [l]-[4]. But, it is still difficult to modify a schedule to respond to a change of facility state or product demands. For a rather small size problem, manual modification is possible, whereas, it is impossible for a real size problem, because of the complexity of managing a variety of constraints. Schedule modification is necessary for dynamic scheduling. Dynamic scheduling is one of the key factors to improve efficiency of

2 616 Artificial Intelligence in Engineering manufacturing systems. Consider the following problems. (a) When a machine failure occurs, an original schedule should be modified into a new one in which high priority jobs can be processed with as little delay as possible. (b) When an unexpected job is demanded, it should be judged whether the current schedule can accept this new demand or not, by inserting the unexpected job's schedule and evaluating the delay of the other jobs' schedule. TWO LEVEL SCHEDULING Proposed dynamic scheduling method is composed of strategic level scheduling and operational level scheduling. The former scheduling aims at making an entire schedule which leads to immediate goals to execute the operational / f Requests I Straitegic level /information l^the product! ^ofy*' 1 SLS on) -( D ^ line 1 Si jpervisor f IDMSL: Tha modai at II Stragagic laval tha stra tagic lavajl schadijla ^ OLS for contraj. o> relational level OLS for ^^ Illnq the AGVs the robots 1"" '""? OLS for > Replica of the machines Replica of ^a% * ** * :! IDMSL ^.-... Replica of ; IDMSL MM.^. IDMSL : Robot Robot Wachln i Machine Machine Fig.l System software structure of a strategic level scheduler and operational level distributed schedulers level scheduling. A obtained schedule satisfies the hard constraints such as due date constraint, release time constraint of a job, precedence constraint among processes and machine interference constraint. The latter scheduling aims at real time control of automatic guided vehicle, handling robots and machines, so as to track the strategic level schedule. Fig.l shows a structure and relation of both the strategic level scheduler and the operational level schedulers. It should be noted that each of the

3 Artificial Intelligence in Engineering 617 operational schedulers is distributed, and these schedulers do not need to communicate each other. PETRI-NET MODELING Petri-Net For the purpose of scheduling, a model of the manufacturing system is required. As the manufacturing system is a concurrent, discrete event system, Petri-net is suitable for representing it. Furthermore, graphical representation of Petri-net makes it easy for a human scheduler to build a model of the manufacturing system. Petri-net is described by four kinds of elements: place, transition, arc and token as shown in Fig.2. A place corresponds to a machine or a process of a job, a transition to processing, an arc to a flow of job processes or a relation of a job process and its processing machine. A transition is enabled to fire when there are tokens in all the input places of the transition. There are many varieties of machines in manufacturing systems. It is easy to represent them by Petri net model. Fig.2 shows typical models of processing,_,_,, ^ j batch of two jobs X f buffer place one job VV NT) machine place * / one machine (a) Single job and single machine (b) Multi-job and single machine one process( another proce two machines (c) Parallel machines (d) Common machine for different processes Fig.2 Typical models of machines represented by Petri-net machines. A single processing machine is represented by a job place, a

4 618 Artificial Intelligence in Engineering machine place and a timed transition. Timed transition implies a processing time of a job. A token in a job place shows that a job has arrived and is waiting for processing, and a token in a machine place shows that the machine is idle and available for job processing. A batch machine can process more than two jobs simultaneously. A set of multi machines are represented by more than two tokens in the machine place. When a machine is busy in executing a job, another machine is assigned for waiting job. A common machine is usable for different kinds of processes. STARTEGIC LEVEL SCHEDULING Outline We propose a heuristic approach, where scheduling is carried out in the following procedure. (1) Petri-net modeling of the manufacturing system and the process routing. (2) The current manufacturing state such as facility state and product demands is given to the manufacturing model. (3) Automatic rescheduling by simulation and constraint propagation. (4) Manual editing to improve the schedule into a better one, if necessary. (5) Evaluation of the schedule. (6) Going back to (3) or (4) if the schedule is not satisfactory. This approach enables a human scheduler to generate and modify a schedule as he/she desires, by combination of human scheduling abilities and M M 1 s(rate gic LeviBl SChedijler GarittChart Eval jator J ;; : Process C/hart HoE"jectlAanag er Sched ule EEditor ISr" ruwitzi 77* jya isp. (C "i> 5jeci LTata t Base Rule; Baseft Base%_J Sc :hedu er based on Discrete _l Event System S>imu!ation Me)delm Petr Net N1odel - E iditor 11 Fig.3 System software structure of strategic level schedule machine scheduling abilities. Computational experience indicates that this approach is promising for scheduling problems in real world.

5 Artificial Intelligence in Engineering 619 The strategic level scheduler consists of schedule editor, discrete event simulator (timed Petri net simulator), modeling editor, evaluator, rule base, and object manager, as shown in Fig.3. Gantt-chan (machine-wisetimediagram) and process chart (process-wise time diagram) are employed for displaying scheduling results. Schedule editing can be done by direct manipulation, that is, mouse (computer's pointing device) operations on the charts. Constraints The constraints are classified into hard constraints and soft constraints. The hard constraints are not to be violated in any case. The constraints that a single machine processes only one item at a time, and that the sequence of operations for a job must be maintained, are examples of the hard constraints. The hard constraints are described by Petri net model. On the other hand, the soft constraints are not necessarily satisfied. An example is that the duration time of a job should be in certain time limit. The soft constraints may be regarded as the objectives. In the case that all the constraints cannot be satisfied, some of the soft constraints are relaxed according to the priority attached to the soft constraint. Simulation Simulation is executed in an event driven simulation method, based on the Petri net model and state-dependent decision rules. The Petri net model is fired according to the firing rules to progress the simulation. When more than one transition of Petri net model is enabled to fire, the dispatching rules determine the transition to be fired. When more than one machine is idle and available, machine selection rules determine the machine to utilized. These rules are managed by meta-rules. Various schedule plans are obtained with parametrization of control variables such as timing of job starting, selection of dispatching rule and the Forward type Backward type Mixed type Fig.4 Three types of inset functions time number of jobs.

6 620 Artificial Intelligence in Engineering Schedule Editor Although various schedule plans are obtained by parametrization of simulation, it is difficult to get such a just-in-time schedule meeting a given due date. For the purpose of making such a schedule, a schedule editor is useful. By the schedule editor, a given schedule can be modified, and a new schedule can be generated. The function of the schedule editor is designed for a planner to move a job on the time axis, to change machines, to delete a job, and to insert another job into the existing schedule on the Gantt chart or the process chart. When changing a schedule of one job, the constraints relating its schedule are propagating to the schedules of other jobs. A change of process timing of one job changes the other jobs' process timing to go forward or go backward in time. The schedule editor controls this constraint propagation to maintain the feasibility of whole schedule. The functions of the schedule editor are as follows. (1) backward: To insert a job in a backward manner. (2) forward: To insert a job in a forward manner. (3) mixed: To insert a job specifying the starting time of any process. (4) move: To move a job to the desired time on the chart. (5) delete: To delete a job from the schedule. (6) copy: To copy a job schedule. (7) machine: To add or delete a machine. Three types of insert functions are realized: forward scheduling, backward scheduling, and mixed scheduling. The last two scheduling functions are useful for due date scheduling. The backward scheduling can determine the starting time for a job in the just-in-time fashion, by scheduling from the last operation of the job to its first operation in a backward manner. Fig.4 illustrates the insert functions. In Fig.5, high priority jobs of product C are newly inserted into the existing job schedule of products A and B. Each of the new jobs of product C was able to be assigned to the desired time by moving the existing job schedule of products A and B. Rescheduling of products A and B can be automatically done by constraint propagation. Evaluation function Various evaluation measures such as machine utilization, waiting time for processing and lead time of product, are calculated and shown in graphic representation, so that a human expert can evaluate a schedule from the different view points. It is most important for a planner to observe a schedule at a glance. For this purpose, Gantt-chart and a process chart are effective. Petri

7 Artificial Intelligence in Engineering 621 A u o B on 000 O O "CD CD r-r-n EH, 0 0 CD CD Process chart 800 Time Gantt chart 800 Time Fig.5 Scheduling example, where product C is a high priority job inserted into the existing schedule, consequently schedule for products A and B is modified

8 622 Artificial Intelligence in Engineering net representation of a schedule is good for understanding a distribution pattern of works in process. A human scheduler is able to see the state of machines and jobs at any time of the schedule. OPERATIONAL LEVEL SCHEDULING Each operational level scheduler makes a decision of which job is to be processed among jobs in buffer, by comparing the current processing state with the strategic level schedule. The operational level scheduler decides a job to be processed as follows. (1) Load a referenced schedule from the strategic level scheduler. As a result, each operational level scheduler has a copy of the strategic scheduler. (2) Surmise a progressing state of each job in buffer at future time n from the Operation flow of Product 1 me W.I MJc4in«aUchin«RM«chin«4 Operation flow of Product 2 Fig.6 A manufacturing system used for tests referenced schedule. (3) Determine the priority of each job based on the difference between the current progressing state and the progressing state at future time n. The highest priority is given to the job having the most biggest difference in time (4) Assign the highest priority job to the processing machine.

9 Artificial Intelligence in Engineering 623 Process flow of product* P11 - P12 _ P13 Machinal Machine2 Machines Machine4 Fig.7 A strategic level model of the model shown in Fig.6 (5) If the environment of manufacturing changes greatly due to long machine breakdown or release of urgent jobs, report that to the strategic level scheduler so as to invoke re-scheduling. Execute procedure (1). (6) If not, repeat procedure (2)-(4). SIMULATION TEST OF DYNAMIC SCHEDULING This section illustrates effectivity of the proposed scheduling method. A manufacturing system shown in Fig.6 is used for simulation tests. It is difficult to make a model of a real manufacturing system in detail. Taking into consideration this, we assume that the model shown in Fig.7 is the model of the manufacturing system in Fig.6. Therefore, a strategic level schedule was made based on the model in Fig.7. The strategic level scheduler makes a rough schedule of an entire manufacturing system, as shown in Fig.8. Each of operational level schedulers makes dispatching decisions in each individual local controllable place, as shown in Figs The black boxes represent a schedule for product 1, and the white boxes for product 2. The stripe box represents a period of machine breakdown. Fig.9 illustrates that the detailed operational level schedule is obtained, keeping the strategic level schedule. Fig. 10 shows that the operational level scheduler keeps the strategic level schedule as possible as it can, even if a short machine breakdown happens. CONCLUSION In this paper, we proposed a hierarchical dynamic scheduling scheme. The strategic level scheduler is based on a scheduling editor. To represent the constraints of a complex manufacturing system, Petri net is used. The backward scheduling, which is one function of the constraint based scheduling editor, is found to be a powerful tool for the due date scheduling. The distributed operational level scheduler makes real-time dispatching decisions for each machine so as to keep a strategic level schedule against dynamic changing of

10 624 Artificial Intelligence in Engineenng Machine 1 Machino2 Machines Machln<M ] Product 1 Product 2 Tm. Robot 1 Machinal Machine2 AGV Robol2 Machines Machine4 Fig.8 Strategic level schedule CZI i n ii i Fig.9 Operational level schedule Product 1 Product 2 Time Robot 1 Machine 1 Machine2 AGV Robot2 Machines Machine4 I IProdud 1 Product 2 r i / f i Machine break-down Time Fig. 10 Operational level schedule where short machine breakdown occures

11 manufacturing state. Artificial Intelligence in Engineering 625 The advantage of this approach is as follows. (1) Human scheduler can desirously debug the strategic level schedule on comprehensive Gantt chart and process chart. (2) The operational level scheduler can make a dynamic dispatching decision without communicating with the other operational level schedulers. (3) As it is not necessary to make a detailed strategic level schedule, this approach is applicable to large manufacturing systems. REFERENCES 1. J.Browne(Editor), Knowledge Based Production Management Systems, Elsevier Science Publishers, M.Numano and S Morishita, "A Scheduling Environment for Steel-Making Processes", Proceedings of Conference on Artificial Intelligence Applications* pp , T.Fukuda, M.Tsukiyama, and K.Mori, "Scheduling Editor for Production Management with Human-Computer Cooperative Systems", Proceedings of /MT0A/,pp , M.S.Fox and S.F.Smith, "ISIS- A Knowledge-Based System For Factory Scheduling", Expert Systems, Vol.1, pp.25-49, 1984