Scheduling for production teams

Article history: Received October 14 2014 Received in Revised Format February 1


Introduction
Contemporary methods of production planning consider each department of an enterprise, for which the schedule is developed, as the "working center".This paper relates to scheduling for working centers, which are production teams.The production teams are organized for assembly of compound machines, equipment repair or transfer to a new place and so on.Each production team consists of regular or temporary staff, completing a joint job (order) and having joint responsibility for their results.Team members may have the same or different professions.Accordingly, there are specialized or complex teams.Each job may comprise some tasks (operations) of various types that require personnel of appropriate professions.Depending on compliance between task types and professions of team workers, a complex team may perform all tasks of a job or its part only.A specialized team may only perform a task corresponding to its profile.
The main advantage of using teams as working centers is associated with great flexibility inherent in such systems.Two types of flexibility are possible in scheduling.Routing flexibility is possibility to choose among two or more working centers to carry out a given operation.According to the classification (Blackburn & Millen, 1986) this type of flexibility is associated with hardware flexibility.The other type of flexibility named as sequencing flexibility is associated with software flexibility.This type of flexibility makes it possible to change the sequence of operations within the job.The possibility to appoint one of available complex teams when scheduling for any job relates to routing flexibility of scheduling.At the same time, the sequence of operations needed for a job may be changed by agreement of team members, depending on such factors as worker's load, availability of facilities, etc.
Scheduling for teams is a difficult problem as it is often difficult for a manager to determine the load level of each worker and expected completion dates of the team tasks.The only possible version of production planning here is the combination of tasks scheduling for all teams within a planning period (a week, a month) and the daily plan, which is elaborated by the team itself.Since for completion of a specific planned job several teams of various specialization may be engaged, sequence of their work may only be directly determined by team leaders and may vary depending on the situation.
If production teams are considered as "machines", then according to the classification of planning problems (Graham et al., 1979), the set of production teams with non-determined sequence of their use may be determined as Open Shop.At the same time, possibility to several teams for a given operation provides the flexibility of such machine set.Therefore, we may suggest that scheduling for the set of production teams is associated with the Flexible Open Shop problem.
Apparently, the better is the preliminary schedule the less is the necessity of its revision and daily amendment.The schedule quality depends on the data set available to a planner at the moment of scheduling, and on the planning algorithm.In this article the criterion of average orders utility is used for scheduling estimation.The remainder of this paper is organized as follows.Section 2 provides a review of the relevant literature.Section 3 determines the main notions and the function of current order utility.In Section 4 the problem is formulated and the algorithm for its solving is provided.The example of scheduling for a given set of jobs is provided in Section 5. Section 6 contains some concluding remarks.

Literature review
As far as the author knows, there is only one article, which is dedicated to scheduling for technical structure of Flexible Open Shop type.In the paper by Witkowski et al. (2011) the problem of this type is considered, when all jobs at the moment of planning are available.In this paper the makespan max C is considered as a criterion.The criterion max C has been used in most other studies on Open Shop Scheduling problem.Gonzalez and Sahni (1976) elaborated the exact algorithm for this problem, when preemption is possible.Bai and Tang (2013) considered the task with the given release dates.In the book (Gupta et al., 2013) several algorithms were studied for scheduling at two operation stages with the criterion max C .Shabtai and Kaspi (2006) researched the Open Shop Scheduling problem with the criterion max C when job duration may vary.In some papers other criteria are used.Brasel et al. (2008) designed some heuristic algorithms for the Open Shop Scheduling problem with the criterion of mean flow time F .Liaw (2005) studied this problem for the case of summary tardiness minimization ∑ .Doulabi (2010)   elaborated the algorithm for the Open Shop Scheduling problem based on the method of mixed integer linear programming.They used the criterion of earliness-tardiness penalties minimization.
The important version of the Open Shop Scheduling problem relates to a task of Concurrent Open Shop Scheduling.The latter may be considered as a variant of the classical Open Shop model, in which operations belonging to the same job may be processed concurrently on several machines.Ng et al. (2003) studied this problem for the criterion of weighted tardy jobs number i i wU ∑ .Leung et al. (2005)   used definition of the task as PD Open Shop Scheduling, if a certain machine is assigned to each operation.For example, Mastrolilli et al. (2010) for this problem applied the linear programming method with the criterion of minimal summary weighted duration i i w C ∑ ; Ma and Jin (2013) also used linear programming with the criterion max C .All criteria above do not take into account the process time of planned jobs, which is a substantial disadvantage.For the Open Shop Scheduling problem Blazewicz et al. (2004) developed "non-classic" quality criterion, which is equal to the summary processing time of tardy jobs i Y Y = ∑ .In this criterion for each job min ( , )   i i i Y T p = , i.e. this value is equal to a smaller value of job tardiness i T and processing time i p .

Main problem definitions and utility functions
Let us assume that it is necessary to perform n various jobs at the facility of scheduling (enterprise, vessel, building, etc.) for a certain period of time after the planned start.The planning horizon of the working enterprise is usually equal to a certain reporting period, for example, a month or a week.When a vessel or a building is constructed, the horizon may be determined for the reporting period, or to the entire period of construction.Let us assume each job may be performed by one or several production teams, and their number is equal to M .Each job i comprises several tasks (operations) and has to be completed on due date i d .

Assumptions
a) Within this scheduling the sequence of tasks (operations) that belong to the same job to be performed was not taken into account.In general, these tasks may be executed in any sequence.
b) The priority coefficient can be determined for each job.c) Release date is known for every job.d) Each job can be executed by any number of production teams simultaneously.e) Process time of a job as a whole and process time of every task belonging to a job is known and deterministic.
f) The summary duration of job completion is assigned normatively.g) Each job has one task of a certain type as the main one.h) In the beginning, for every production team it is known what a job is being performed, and when this work will be completed.Average utility of all jobs at level l +1 for operation k Criterion V Average utility of all jobs on the planning horizon Let us assume that the average job duration in calendar days is 1.4 more than the corresponding duration in working days.Accordingly, the necessary release date for job i is (1) The customer service level may be assessed with the help of the current orders utility function V. From the manufacturer's point of view, the order value increases proportionately to work amount i p , since staff engagement increases.Besides, the more the time reserve is for completing an order, the more attractive is the order, since there is an opportunity to prepare for order execution.Eventually the order time reserve is decreasing, and the order value is diminishing.After all, if due date has expired, the order value becomes negative.
The manufacturer's attitude to the order changes with time, and the appropriate function is named production intensity (Mauergauz, 2012).
. The diagram of this function is shown in Fig. 1.X-axis in this figure represents time reserve.The reserve is equal to subtraction between due date and current time.In the positive part of the diagram ( i d t > ) the values of intensity decrease in hyperbolic mode as available time reserve is growing.When the time reserve is negative ( i d t < ) and there is delay of order completion, the production intensity linearly increases.Since production intensity is dimensionless, it has no physical sense, but it has psychological sense.Indeed, when order delay is augmenting, nervousness about order execution is increasing.Two curves in Fig. 1 differ in the psychological coefficient value.The higher is the α coefficient, the more placid is the attitude to delays and the lower is the intensity.

Production intensity dependence on time reserve
The production intensity concept may be used for determination of the current order utility function V.
The current utility (Fig. 2) for an order i is (Mauergauz, 2012): ( Assume the order quantity on the planning horizon equals n .Then their total utility V amounts to the sum of all order utilities, because orders, as a rule, are independent, i.e.
The value of the function V changes in time, since the time reserve to the moment of scheduled execution changes.Besides, some orders are completed and new orders appear.
This paper suggests building a multi-level tree of works performance for making a schedule of parallel operating teams, while consistently considering feasibility of adding new tree nodes.Besides, these nodes determine both new jobs and teams that perform these jobs.New branches of the tree outgoing from each built node, may correspond both to the parent node team or other teams.Let us assume that a certain job corresponding to the tree node at the level l is completed at the moment of time lz C .At the next level one of a set of uncompleted jobs has to be performed.Let us also assume that the job k starts at the moment lk t , so this job has to be completed at the moment k k t p + .It was shown in (Mauergauz, 2013), the whole utility value at each level of the job fulfillment tree can be calculated with one of the recurrent formulas, which are used if utility value is known at the previous level: 1,

(
) In Eqs.(7-8) the variable value l V is equal to average utility of the whole set of jobs, which are planned from the start t = 0 until completion zl C of the last planned job; j is a team number, which is selected for a job Jk in a new tree branch; jq C is a completion moment of the last job, which was performed by the team j at the level q ; k V is the current utility of the whole set of all non-completed jobs; 1, l k V + is the average utility of the whole set of all planned jobs between the start moment t = 0 and the completion moment k k t p + of the next planned job.
The upper integral limits in Eq. ( 7) and Eq. ( 8) are the same and equal to the completion moment of a job, which is planned at the next tree level construction.The bottom integral limits in Eq. ( 7) and Eq. ( 8) are different since they are equal to work completion moments of different teams.In the Eq. ( 7) this is the team z , which corresponds to the last built level; in the Eq. ( 8) this is the team j , which must perform a job at the next level.Apparently, this team may be used for tree construction at the previous levels, so the last level of its participation in scheduling q l < .The rules of integral calculations in Eqs.

Problem formulation and its solution algorithm
In accordance with the well-known three-part scheduling classification, the problem may be recorded as: where FO is the designation of Flexible Open Shop problem, in which any sequence of parallel working teams is possible.
To solve the problem (9), we should apply a greedy algorithm, in which at each step a solution is selected with the best corresponding criterion.In problems with the average utility criterion V there is an additional condition of start due date i g (Mauergauz, 2014).Since the number of solution-selecting conditions, which are possible at each step, is equal to 2, the number of such solutions (tree nodes) may be more than 1.Accordingly, the solution tree comprises all branches that grow from each node.At each step some possible solution versions that do not dominate each other are selected, and the algorithm below is used. Step

(Initial computation of utility functions)
Let us assume that the level number is l =0; the initial orders utility function 0 V may be computed by the formula (6); number of nodes 0 Z =1.

External cycle
Step 2. (Determination of possible operations at next levels) For each node z of the built tree at the level l all possible jobs k at the level l +1 are determined, and values k g are computed by the formula (1).

Intermediate cycle
Step 3. (Determination of necessary main teams at next levels ) For each possible job the pool i S of teams, which are able to perform the main task of this job, is determined.

Step 4. (Determination of necessary subsidiary teams at next levels )
For each possible job the least charged teams, which are not the main for this job, are determined.

Internal cycle Step 5. (Utility function computation at next levels)
For each team m related to the pool i S values 1, , are computed using the formulas (7,8).

End of internal cycle End of intermediate cycle
Step 6. (Determination of dominated tree nodes) If the level 1 l + is not last, then for domination on the level 1 l + of the tree node y with a job i over the tree node x it is sufficient to comply with the following equations Otherwise: on the last level Step 7. (Transition to the next level or stopping) If the level is more than the last (all operations are completed), then STOP.Otherwise: level number increment 1 l l = + and go to Step 2.

Example of teams load scheduling with given set of jobs
Let us assume it is necessary to perform 40 various jobs at the facility of scheduling (enterprise, vessel, building etc.) during some period after planned start.For example, assume there is maintenance of various equipment going on, and each job comprises tasks, every of which relates to one of five possible types (Table 1).Assume in this case there are five teams, which may be drawn in.Besides, some of them are specialized and can perform tasks of a single type, and other teams are complex.In Table 2 the example of highest throughput for each task type is shown.Each planned job is described by a whole set of parameters.In Table 3 the fragment of the main set of data on jobs is shown.From Table 3 it follows that jobs are sorted by increment of due date, and this date on a day of scheduling may be exceeded.The job due date, the possible start date, the whole process time and the job duration are defined by given norms for scheduled maintenance.Any job has priority, which is determined by the weight coefficient.If a job has already been started at the moment of scheduling, the value 0.5 is input into the column "Completion mark".Since, as it was mentioned above, a job may consist of five tasks, Table 3 specifies the main task for each job, i.e. the one that determines possibility to start the entire job.
For scheduling it is necessary to have initial data for started jobs at the planning moment (Table 4).If a task has to be completed but its execution has not started, the number -1 is input into the appropriate column.

Table 4
Fulfillment of started jobs at planning moment in % Job No.As it follows from Table 4, at the moment of scheduling the team 1 performs only the job 2, and the team 3 performs the job 4. The team 2 at this moment started execution of the jobs 1 and 5; besides, it must take part in the job 2. The team 4 completed its part of the job 4, and must take part in the job 3. The team 5 performs the jobs 3 and 5 in parallel.In scheduling process it is necessary to take into account that the team throughput during following weeks may be below high values in Table 2, because some workers may be absent for any reasons.A special table for expected throughput on the planning horizon of 6 weeks is made.All tables are recorded in the MS Excel sheet.
To search for solutions on the basis of the criterion V , the program using the VBA language for MS Excel has been designed.In Fig. 3  Planned teams load for the following seven weeks is shown in Fig. 4. In this case we can see that during the first and the second weeks the team load is not more than 100%; in the third week all teams are overloaded, in following weeks there are load oscillations.The computed plan solution generally ensures timeliness of jobs completion, but it is not optimal, and may be substantially improved.For this purpose, it is necessary to analyze the list of jobs, which are planned for the teams on the planning horizon.In Fig. 5 the fragment of the team timetable for jobs execution in the following 3 weeks is shown.Information in Fig. 4 shows that the team 3 is the most overloaded team, which on the third week has the load of 161%.Studying the list of jobs for the team 3 in the third week, we can suggest that this load could be less, if execution of the job 22 was postponed to the next week.  7,   2, 7, 11, 12, 9  11, 12, 20, 24, 30   26 Team 3: 4, 8, 6   8, 14, 19, 17, 13, 15   14, 19, 17, 13, 15, 22   27 Team 4: 7, 3   7, 12, 19, 13, 15  12, 19, 13, 15, 18, 24   28 Team 5: 3, 5, 6   11, 12, 14  11, 12, 14, 26, 18, 30, 22   Fig. 5. Fragment of jobs list scheduled for teams The plan improvement achieved by correction is shown on the diagrams in Fig. 6.The diagrams show the summary tardiness for all planned jobs in hours, and the overload of the most charged teams as percentage on the planning horizon.Thin lines refer to the initial planning solution, thick lines relate to the corrected solution.As it follows from Fig. 6, the correction diminishes both the jobs tardiness and the most team overload, appreciably.However, it is impossible to eliminate unevenness completely using only the scheduling process.Therefore, for timely jobs completion we have to change the team structure or duration of working time.
1) Summary weekly jobs tardiness according initial schedule in hours.
2) Summary weekly jobs tardiness according corrected schedule in hours.
3) Overload of the charged team according to initial schedule as percentage.4) Overload of the charged team according to corrected schedule as percentage.

Conclusion
Results above confirm that the approach to production teams scheduling, which is based on application of order utility functions, produces a satisfactory schedule.The problem solution, which uses the "greedy" algorithm, is able to construct the search tree starting from the initial system state.This algorithm determines the domination bound for tree nodes at each level according to the criterion V , and in addition according to the value of necessary job release date g .The program in VBA language for MS Excel was designed, and the example of its application for scheduling was made.The calculated schedule may be improved in interactive mode, if a certain job is postponed to the next week.
Scheduling is a regular process that repeats with certain, but not always constant frequency.For this purpose it is convenient to use new MS Excel sheets, where information from previous sheets may be contained.By changing or inserting new data, the user may correct the previous plan or design a new one.Analyzing a set of calculated schedules, one may detect systematic deviations of teams load and optimize professional team structures.In practice various additional constraints may be necessary for scheduling.For example, often it is needed to take into account impossibility job execution in a certain time interval.In the nearest future it is planned to elaborate some solutions for such problems.
. (2011) used the criterion of summary duration minimization i C Fig. 2. Order utility function the results of scheduling computation are shown, when parameters have the following values: psychological coefficient α =0.1; duration of plan period G = 5 days; quantity of hours per work day E =8.For each job calendar days of the start and the completion are recorded.Numbers in brackets correspond to the teams, which take part in the job; the team, which executes the main job component, is the first.Fragment of jobs distribution Fig. 4. Planned teams load

Fig. 6 .
Fig. 6.Jobs tardiness and highest team overload decision tree node on level l h Horizon of planning in work days ij p Processing time of operation j for job i in hours i r Release moment for job i in calendar days i w Weight coefficient for job i i p Normative duration for job i in hours i N Main operation type for job i Variables i g Necessary release moment of job i in calendar days i S Pool of teams, which are able to perform the task of main type for job i lz C Operation completion moment for tree node z at level l in hours

Table 1
Types of tasks (operations)

Table 2
Highest team throughput in hours/day

Table 3
Fragment of main data on jobs