Enginwlng
Costs and Production Economics, 6 ( 1982) 13 I- 139
ElsevierScientific Publishing Company, Amsterdam - Printed in The Netherlands
131
DYNAMICRESCtlEDUl,XNG OF OPERATIONS - A COMPUTER APPROACH TO PRODUCTION CONTROL Jitf
Herman, Zdeni5k Kafka
INORGAInstitute,
Prague,
Cxechos lov qkia
E)ynernic rescheduling of operations (DYNAR) has been developed as an applicatTon programme, especially for minicomputers used for job shop scheduling-and production control in the manufacturing industry. The aim of the DYMR approach is .,ot only to obtain a short-term det ai led schedule of operat ions, but also to make the control system capable of rapid response to various disturbances and dynamic changes in the production system. It is carried out by rescheduling in accotdance with feedback information from the shop floor. Considering such a schedule is to be used as direct control information, the algorithm mrst be able to provide schedules that can be a feasible solution must always be found executed isnuediately (i.e., which will resp’r?ct the actual state of the product ion system at the given mxsent). To met such requirements, DYNARrepresents a computer-oriented, interactive, heuristic simulation of the production process. The interaction is activated by the algorl+bm itself and only uhen it is necessary to obtain a feasible schedule at every step. The human scheduler’e role becomes that of a source of non-standard information that cannot be placed on data files. The sense of the interaction consists in enabling the scheduler to deal with various anticipated prob lems in advance. According to the need of real-life systems, a variety of criteria is used in the algorithm to obtain instant values of dynamic prioriThe objectives of this type of ties used in the simulation process. scheduling are to minimiee the cumulative values of various undesirable effects of the scheduling that occur in the simulated time. 1.
BASIC CONCEPTS A problem of production control, especially in systeme concerned with the general and intermittent flow of jobs and operations, can be considered aa the problem of short-term, Jetarled scheduling of operatione in rpace and time in accordance with a higher level plan. Scheduling is usually carried out by a scheduler or production controller using his knowledge and experience. This is t’je reason why so many problems occur if we tr!. to “computerize” this lowest level ol t..e planning and scheduling process. tiany requirementr lust be met by the scheduling-system. The most important of them are:
0167-188X/82/0000-0000/$02.75
- the schedule must respect due times from the higher level planning; - the actual state of the production system must be taken into account; - the schedule must be ‘performable’ immediately; - the scheduling eyatem must be capable of not only creating a schedule, but also to survive various disturbances leading to invalidating the schedule; - non-standard information can be used to obtain a feasible schedule; - various specific criteria and conditions must be respected according to the particular production system. To meet thesr requirements, the Dynamic
@ 1982 Elsevier Scientific Publishing Company
132 Rescheduling
system
DYNAR has
Its position between the plauning and the production within the basic information in Fig.1.
immadiato~y s chsdula
rorlr
stat%
been
developed.
Ggher level Frocesa and flow is sboh.1
DYNAR and
its
example,that
Fig.
performable
pcoBIp%n%, of the production
in
4ybOtem Fig. 1
The conditions of certainty in the total given space a.qd time support the global approach to optimization. It means, for
environment
a rather
2
Closed
“bad”
decision
scheduling
model
can
be
made in the immediate future, in order to create a better decision space later. This can lead to a better global solution. Such an appruach may be quite suitable for more aggregate planning levels, but another model must be used t.- meet the requirements of production control. 1.2
*en model this model_1’.t is assumed that the scheduling problem is open in time but relatively closed in space. Also the scheduling process takes place under conditions of uncertainty. These assumptions bring the production model closer to the rea 1,-life process c.In be desystems. The scheduling scribed figuratively as a “tube filling!’ problem as shown in Fig 3. In
The ;nformation flow plays a very imporrole in obtaining feedback from the ensuring the possibility of shop floor, scheduling the operations in accordance with the actual state of the production system. When the DYNAR algorithm is started, the previous schedule is forgotten and the new schedrule is based exclusively on the feedtant
back information. The scheduling problem has generally many solutions,; thus, the question of optimality arises. ‘ho basic approaches to this problem can be coos idered: Closed mrde 1 In this model s is assumed that the scheduling problem is closed in space and time and that the scheduling process takes place under conditions of certainty. Such a problem of optimization can be described fi.guratively as a “box filling” Iproblem: A box with e dimensions (capacity, time) is to be filled with a given amount of material [jobs, operations) while minimizing the difference between capacity and requirements as shown in Pig. 2. The result is apparent from the figure. ISn order to obtain a feasible solution, the capacity limits cannot be respected.
realits
achsdule
1. I
time Fig.
3
P
Open scheduling
model
An endless tube (time) with a given diameter (capacity) is to be filled with a maximum amount of a material (jobs, optirations), taking into account the initial state in r&al time, due drtes from the higher planning level and the capacity limits. These limits can be adjusted, however, in order to gain a feasible solution.
133
follows mization
From the
conditions of uncertainty it that a global approach to the optiis not advantageous anymore. The
task is a given optimal
not to find an optimal schedule for time period, but to follow a certain strategy assuming that only the nea-
rest steps of the scheduling process represent the virtual control information. The value of the schedule further into the future consists rather in recommendations and in revealing possible future problems. The open mode1 assumes that, according to the nature of the particular production system, various dynamically occuring dieturbances wi I1 “destroy” the schedule before it reaches its horiton. Thus rescheduling will be necessary. In this type of scheduling model, the horizon does not enclose a certain period of time. It represents only a date in the future scheduling
to
interrupt
(not
to
end)
the
process.
Optima1 solution and strategy The closed and open models correspond two types of optimization processes. In 1.3
criterion
to
t
?I
!I
I I
minimum value
I
4e .
x
P
the closed model, some initial, global solution can be found and subsequently improved until the optimal solution (with the best value of the objective functi.>n) is reached. In the open mode 1, however, each particular decision (step) must be made in an optimal manner, with respect to the preceding steps. Such a sequence of decisions represents a certain optimal strategy, the quality of which can be measured by means of a cummulative objective function. Supposing the cbjective function is to be mi nimi zed , the problem of optimization can be depicted as shown in Fig.4. The DYNAR algorithm is based on the open model of the scheduling process. 2. 2.1
APPROACHES TO PROBLEMSOLVING PROCESS Heuristic approach VariZtemps to use exact, analytic models for practical scheduling problems usually lead to many difficulties. On the the size of real scheduling tasks one hand, is comparatively large. On the other hand, the validity of the analytic model is usually conditioned by a whole list of .zsrious assumptions and constraints, which cannot be taken into account in practice. a heuristic approach has been Therefore, used to make the scheduling mode 1 workable in real-life systems.
I optisolution
.
model: find l point in the space with the minimum value of the objective iuaetion
Cloerd (r,y)
criterion t iaercraao
(x ,y ) ‘Open model: find a path in the rprar “with the minimum increaa@ of the tumulaobjaetive function tive Fig.4
Optimal
solution
and
strategy
Fig.5
“Off-line”
heuristic
134 According to the tw, types of models described above, two basic types of heuristrc from the viewptlint can be used, especially of inwolving, the human factor into the prob lem solving process. The closed model corresponds to an “off-line” heuristic (Fig.5). The algoritnn, providoe the comr :ete solution, .which can then be evaluatea. IE the solution is not feasible, the task, i.e. input data or parameters (capalcity, due dates etc. 1, can be modified by the scheduler and a new complete solution is found. The open model corresponds to an “or.-line” heuristic (Fig.61 .In o’rder to obtain a feasible, i.e. an immediately perthe actions of the a lgoformable decision, rithm can be supported (only if necessary) by some information from the human scheduler. The tendency to immediately e 1iminate each infeasible step may naturally lead to some modification of the initial task. The result of the “on-line” heuristic is thus both a feasible schedule and a modif ied task corresponding to such a schedule. It should be emphasized that the modification of the initial task represents always the minimum, just necessary to gain a feasib‘ie solution. In a~ ideal zase, the modified task is equal to the initial one.
Pig.6
“On-line”
heuristic
The DYNARalgorithm utilizes an “on-line” heuristic. Although a heuristic can lead to only sub-optimal solutions, in practice such solutions are usually suEEicient. Interactive aDroach As already menthned, the human Eactor is integrated in the DYNARalgorithm. Itt tepresents an interactive, man-computer system. However, in comparison with col.ventional interactive systems, the roles of the man and the computer are reversed. Whereas in the usual interactive system, makes it ir the person who asks qllestions, decirzions and uses the computer mainly as a sour:e of information, the DYNARsystem is -JFpr-oriented. It means that the production process is controlled by the computer. The scheduler intervenes only iE certain comprementary, non standard inFormation is necessary for the algorithm. However, the algorithm itself must estimate wha+, if any, information is needed. The complementary information -iven by the scheduler may represent some interuention into the initially formulated conditions, e.g. overtime work, or the scheduler’s estimation of the non-standard solution proposed by the computer. Such an approach does not oxcludz the mar from the decision process. Combination of features and capabi iities of both parts of the man-computer system, provides the acheduler with maximum information for the prepared decisions to te approved, rejected or modified. While the computer brings its rapidity, large memory and knowledge of a 11 re latronships, the scheduler can use his intelligenknowledge of some nonce, experience, standard, i.e. implicit information and consequent ability of using various local criteria. The interaction between the scheduler and the computer should be seen as a possibility, not a necessity. On the contpary, there is always a tendency to let the computer solve the largest part of problems connected with seeking feasible and optimal decisions. Generaly speaking, a whole aet of act ions, which can be done by the algorithm, can be divided into two subsets, Al! actions from the first subset can be performed auto-i matically, i.e., without any interact ion. / The actions from the second subset are submitted for the scheduler’s preliminary eatimation and approval. The scheduler can dej termine, by means of various parameters (described below), how the complete set of actions is to be divided.
2.2
135 3.
DYNAMIC PRIORITY
If the scheduling process is to be automated, the prL&ramme itself must be able :CJ choose the scheduled operation. Such a choice, made in space and rime from a set of operations, muee refkct various objectives considered in a particular production eystern. Thus, the priority rules represent an important part of the algorithm. A case of using only one priority rule in the scheduling of operatione is less probable in practice. Usually, despite a higher complexity of the decision process, the scheduled operation must be chosen according to several, often inconsistent eriteria. Thus, a problem of multicriterial decirlon occura. The primary objectives considered in DYNARare: - to minimize the idle hours on machines, - to ensure some overlapping of operations, - to prefer “rush” jobs, - to maintain due dates obtained from the higher planning level, - to give preference to jobs according to their stage of completion, - to minimize the elapsed time and work in Progress, - to meet various technological, social specific to a etc. requirements, particular production system, - to coneider the availability of materia 1, too Is, personne 1 etc. In case it is necessary to consider all criteria simultaneously (each criterion may be expressed by a particular priority), the operation can be chosen according to some composite priority, which represents a value compounded from particular priorities. The use of a composite priority brings some ohjectivity into the scheduling process. Moreover, it is relatively easy to survey, enabling the scheduler eo modify the decision process. Verioua weights may be assigned to the particular criteria, expressing the importance of each of them. Pat+icular priorities uaed in DYNARmay be diseinguiahed also according to their dependence on ehe moment of their computation. Some of them are constant for all operations of the same job (e.g.“rush” jobs), some are determined 8s the operation is put into its 4) on the machine “waiting set” (see section (e.g.stage of completion). The last group cf priorities, which especially involves various time-oriented (dynamic) criteria, must be evaluated at every moment of choosing the operation from the set on the machine.
The total dynamic priority at any moment 5 involving several particular prioriti;?s can be thus expressed (for machine kl ks: N
P(i,j,k,t)
= 7
w, * pfi(i,j,k,t)
+mi
nctt where
Pfi,j,k,t) N wn p,,(i,j,k,tl
mi
is the composite priority of the job/operation
The operation with the maximum value of P(i,j,k,t) is chosen from the “waiting set” and scheduled on the particular machine. 4.
ALGORITHM The process of the dynamic rescheduling can be divided into three consecutive phases (described below) and depicted in a very
simplified
manner
as
shown
in Fig.7:
z start
Pha!?a I
Fig.7
Phases
of
the
DYNAR process
136 A full description of the algorithm is beyond the extent of this paper (the programme consists of about 7000 Fortran statements). Therefore, a simplified matrix n&ode1 (Fig.8) has been used to explain its basic utructure and function:
S=s(i,j,g)
i=l,..., I; j=l,...,J; g-1,2,3 is the scheduling nrtrix showing the reeult of the schedu ling process, i .e. #,&at job/operation, where and when is to ~0 performed;
Let:
s(i,j,l)=k,
if job/operation been scheduled for operations
number of jobs to be ache- .11ed; where Ji is the number of operations of job i; number of machines; number of time periods from the present time to the scheduling horizon;
I J
qax(Ji)
K Ii
i=l ,...,I; j=l,...,J is the availability matrix, showing the operation i of each job i to be scheduled first;
A=aCi, j)
a(i,
j)=l, =o,
l&r(i)
j,k)
for available operation; for all preceding and succeeding operations and for JiCj ;bJ; i=l ,.._,I; j=l,...,J; k=l,...,K is the matrix of the relationships among jobs i, operations i and machines 2;
“0, s(i,
where hl(i,j) iS the j), start time period of l)b/ operation (i,j); =O, for s(i,j,l)=O;
j,P)=hl(i,
s(i,j,3)=h2(i,j),
‘0,
where hq(i,j) is the completion time petiod of job/ operaticn (i,j); for s(i, j,l)=O;
C=c(k,h)
k=l ,...,K; h-l,...,H is the capacity matrix, showing working and free time periods h (e.g. hours) on each machine g;
c(k,h)=l,
if h is ’ le working on-machj ;e lc; elsewhere;
‘0, U=u(k,h)
for all machines & suitable for the operation i of +he job i; 50) elsewhere;
r(i, j.k)=l,
%:r(i,
(i,j> 18s on math ne 1; not nche!*Jled;
j)
time
k=l ,..., K; h-l ,..., H is the capacity uti lieation mab.rix, showing t’le capacity loading on machine 5 in time period h; C=c(k,h)
Fig.
8
Simplified
matrix
model
period
137 if the time period h is uti l.ieed by operatyon on machine k or represents
unserviceability machine; ‘0,
u(k,h)=l =o
of the 4.2
Phase II The algorithm identifies one opel,aticn for each job to be scheduled as first in the subsequent run. For jobs already in
elsewhere; ial ,..., I; j-1 ,..., J is the waiting matrix
W=w(i,j)
wfi, jlwl, “0,
progrese it is operation, for operation.
(“waiting set”) for a perticu lar machine 5; if operation i of job-i io waiting for the macline; e leewhere;
t(k)-hk,
Phase I --. This phase involves the option and introducing the scheduling parameters by means of a terminal, for erample: - scheduling horizon, - admissible idleness of any machine, - required overlapping of operations, - standard transportation time etc., The DYNAR algorithm identifies the actual staee of the production system such as work in progress and avai lab i 1i ty
4.1
uf machines. It updates the previously scheduled completion of operations in progress
taking into account the actual state of the machines at the given moment. Four basic states are identified: oid leneaa, work on a job, l-
2 - break-down without removing the job in progress, 3 - break-down after which the job must be removed from the machine. The
aim of
thie
phase
is
to
define
the
nearest moment of id leners for each machine, the free space for the subsequent schei.e. duling. In the matri:; model it represents determining the initial values to the elementa of the time vector T and of the matrix U (for k-1 ,...,Ki): t(k)=hk Define then
bk=min(hk,s);
the first not yet started a new job it is its first
Such an operation is then assigned ta each technologically suitable machine on the shop floor (generally, each of the operations may be assigned to more than only one machine). This procedure increases the flexibility of the scheduling process and has a positive affect on capacity utilization. In this way, sets of operations (“waiting sets”) awaiting their schedule and performance are specified for each machine. In &he model, phase II corresponds to deter&ning the initial values of elements in the matrix A for which:
k-l ,***. K is the time vector, registrating the last time period on machine 4 utilized by some operation or for example break-down; where hk= O,...,CJO is the last time period mentioned I above;
Tat(k)
for h=l,...,bk; bka 1 (state 1 or 2 or 3 1; elsewhere;
a(i, j)=l =o
for for
jobs i not yet completed; all j&s already finished;
Since the zero-one elements of the matrix R represent every possible assignement of all operations to suitable machines, the “waiting set” for any particular machine & can be defined (in the next phase) as all non-zero elements of the waiting matrix W.
Phase III This phase represents the simulated production process from the present time to the future. It is a cyclic procedure lasting until the scheduling horizon is reached. At the beginning of each cycle the earliest idle machine is selected and the cor“waiting set“ is defined. responding One of the operations waiting in this set for the selected machine is to be scheduled, The choice of the operation must reflect various priority aspects. The dccision is made automatically, by means of s dynamic priority, which was described in the previous section. As soon as the operation is chosen, the algorithm tests the feasibility of such a decision in terms of the input parameters. If the decision is not feasible, DYNAR proceeda to a modification of the initial scheduling task using some interaction with the scheduler . the chosen operation is scheduFinally, led, i.e. the dates of start and completion
4.3
138 together with the identification of the machine are assigned to it Having scheduled the operation, the algorithm automatically ident ifief, qn immediately succeeding operation fo- the particular job. Such an operation is, zimi larly as in Phase II, assigned LO each ?e:hnologically suitable machine. Herewith one cyc ;Le is closed al,? the algorithm of this phase returns to its beginning to select a new earliest idle machine. In the model the selection of the earliest idle machine corresponds to finding k’ such that t(k’)=$n
t(k)
i=l, .,,I j=l,...,J For all jobs/operations \i,j) corresponding to non-zero elements of W, dynamic priorities are evaluated. Job/operation (i’,j’> vith the maximum priority is then chosen from the “waiting set” to be scheduled. j,k’)
l
a( i, j>
for
Let: qfl, j)
be the processing time of the job/operation Ci,j> (including set-up time), d be the standard transportation time between the completion of an operation and the start time of the immediately succeeding operation on the same job. Thus, the start time period hl(i, j) of a job/operation (i,j) is: hl(i,j)=max(h2(i, “-t(k)
j-l)+d,t(k))
for j > 1 for j = 1
where hp(i, j-1) is the completion time of the immediately preceding operation on the same job i and 1 is the machine on which the job/operation (i,j) is to be scheduled. Since the processing time q(i,j) can utilize only working tirme periods, which are registered in matrix C, the compiet ion time of a job/operation (i,j) bZ(i,j)
>hl(i,j)
can be computed
* q(i.j) fr em the equation
j)
j)
Now, the schedule of the job/operation (i’,j’) can be expressed by assigning values to corresponding elemants of the echeduling matrix S: s(i’,j’,l)*k’ s(i’
,j’,Z)=hl(i’,j’)
s(i’,j’,3)nh2(i’,j’) Consequently, changed :
k=l,. . . ,K
If t(k’) > H, the scheduling process is finished, else the ‘“waiting set” of operations is defined. This set is represented by all non-zero elements of the matrix W corresponding to the machine k’ : v(i, jPr(i,
c(k,h)=q(i, h=hl(i,
t(k’)eh2(i
the
value
of t(k’)
is
,j’)
and the immediately succeeding operation for the same job is identified as a corresponding element of the availability matrix A: a(i’, j’+l)=l a(i’,j’) 50 Remark: If ;“Ji’, and no succeeding Pied.
job i’ is completed opera;ion can be identi,-
WNAR IN PRACTICE The simplified model desc-ibed in the previous sections shows only a basic structure and function of the algorithm. In practice, however, many problems occurs, especially as regards the necessity to handle a large amount of data. It forces the use of data filea or a data bank instead of matrices. In order to minimize the frequency of communrcatioae with direct access memory devices, which proved to be the most time consuming factor in the run of the programme, purpose-oriented f i lea have bean used f.w the DYNARdata base. These files contain standard information on jobs, operations and capacities. A special file rubstitutes the waiting matrix W, containing not only an up-to-date “waiting set” of operations on each machine, but also all information necessary for dynamic priority evrJurt ion. The data base is being updated directly from the production process. It represents the feedback, which is so important for the adaptive and dynamic computerized production control. If the data base is up-todate at all times, DYNARcan be started either periodically, e.g. every day, or according to the need. The program is initiated by inputting the parameters,
5.
which enable the scheduler to affect the function of the algorithm in advance (see section 4.11. A maximum of five days, divide‘ into hours, can be covered by DYNAR. During the run of the programme, some interaction may be requested by the computer. Variou... local problems of infcaaibility or inconsistency can be solved in this phase. According to the teal production system, various measured and precautions can be used, for example: - overtime work, - changes in lot aiaing, - utilisation of idle time non-scheduled jobs etc.
for some
modificationa of the initial echeduling task are automatically recorded in the data base. At the end of the algorithm all DYNAR outputs are available. The outputs represent, on the one hand, time estimated sequences of operations recorded in files, ae uell as recorded overtimes and idleness of machines. On the other hand, printed outputs may be required and provided by a special service program. These outputs contain, according to the scheduler’s option: All
-
daily schr?dulc of operations, report on idleness on each machine, report on overtime work on each machine, material requirements, tool requirements.
The DYPARbased software has been impleusing a minicomputer inmented in practice, stalled directly on the shop floor. Approximately one hundred machine tools, several thousands of jobs (each coneisting of a sequence of operation81 represent the real production system. Work on the next implementation is about to atart. References: (1)
(2)
of intermittent Rerman, J.: “Control production procers by means of a man-computer system”; uorking paper in Czech, Inorge Prague, 1979. and hardware Kafka, 2.: “Software equipment for detai led scheduling working paper in Czech of operationr”; Inorga Prague, 1979.