Kulcsar-Forrai Kulcsar 75
Kulcsar-Forrai Kulcsar 75
4, 2017
Abstract: This paper presents an extended model for solving time-varying resource-
constrained scheduling problems. The motivation for our research comes from the
automotive industry. The problem is to create fine schedules for a complex manufacturing
system to satisfy diverse customer demands. The detailed characteristics of the analyzed
scheduling problem and the developed solving approach are described in this paper. To
consider the impact of the assistant processes that are connected to the manufacturing
primary processes, we elaborated a problem-transformation procedure and a new extended
scheduling model that can manage time-varying availability constraints of parallel
resources, unit processing times, job-dependent release times and due dates. This paper
also presents slack-oriented and JIT-oriented algorithms that can solve the resource-
constrained scheduling problems. The research results have been successfully applied and
tested in practice.
1 Introduction
Production planning and scheduling systems deal with the allocation of limited
resources to production activities to satisfy customer demands over the actual time
horizon. Planning and scheduling tasks can be expressed as optimization
problems, in which the main goal is to create plans that meet constraints and
maximize production performance. These optimization models are very different
in practice, corresponding to the characteristics of the real production systems and
their business environments.
A hierarchical approach is one of the possible ways for solving such planning and
scheduling problems. The hierarchical optimization approach means that the
– 27 –
M. Kulcsárné Forrai et al. Modeling and Solving an Extended Parallel Resource Scheduling Problem
in the Automotive Industry
decision process will run in a layered way by ordering the decisions according to
their relative importance. This decomposition technique uses a suitable
optimization model at each level of the hierarchical decision-structure. At a given
level the applied model extends the decision variables, the constraints and the
objective functions of the problem arriving from the upper level.
Production planning and scheduling process typically works according to the
rolling horizon principle. This means that an initial plan is created for the actual
time horizon, and its first part is executed. The system creates the plan for the next
period by considering the previous partially overlapped period in advance. Then,
the initial plan may be modified or re-planned by considering the changes and
disturbances. The actual plan can also be periodically revised due to the
uncertainties that may occur in the business and in the production processes.
Results of production planning and scheduling are usually not applicable to
managing operational manufacturing since the created plans are rough and large-
scale solutions, and they refer to aggregate resources. The role of fine scheduling
(detailed scheduling) is to make a precise executive fine program for a short time
horizon (for weeks/days/shifts) that concerns every detail.
To realize the created production fine schedule in practice, the complex decision
making has to cover the primary processes and also the most important
supplementary (e.g. logistical) and assistant processes (e.g. instrument supply) of
the production.
In this paper, we present fine scheduling models and algorithms for solving real-
life problems in the automotive industry. We focus on modeling and solving the
scheduling problems of vehicle seat element manufacturing. To solve the fine
scheduling problem, not only the main manufacturing processes, but the
configuration-preparation processes have to be considered.
This paper is organised as follows: Section 2 briefly describes the examined
production system. Section 3 reviews fundamental models for production
scheduling, while Section 4 introduces a new solution for fine scheduling. Section
5 proposes an extended parallel resource scheduling model and new solving
algorithms, and Section 6 shows an application of the theoretical results in
practice. Finally, conclusions are given in the last section.
– 28 –
Acta Polytechnica Hungarica Vol. 14, No. 4, 2017
– 29 –
M. Kulcsárné Forrai et al. Modeling and Solving an Extended Parallel Resource Scheduling Problem
in the Automotive Industry
In the professional literature, many books and papers deal with scheduling models
and methods. There are well-structured books that focus on manufacturing
scheduling (e.g. [16], [17], and [21]). Several review and survey papers can also
be found on this topic, for example [1], [5], and [11]. Scheduling plays an
important role not only in manufacturing but in many different service industries.
Pinedo et al. [18] presented an overview of some of the more important
scheduling problems that appear in various service industries.
The scheduling problems lead to optimization tasks. Their complete review and
classification exceed the scope of this paper; there is a vast amount of literature
that deals with such problems. Therefore, only some of the most important solving
approaches are shortly mentioned. The main categories are as follows:
Mathematical programming approach (e.g. linear, nonlinear, integer
programming, disjunctive programming, set assigning, set partitioning,
set packing and set covering, etc.).
Exact optimization approach (e.g. branch and bound methods, dynamic
programming, etc.).
Constraint programming approach (e.g. constraint satisfaction and
constraint programming).
Heuristic approach (e.g. basic scheduling rules and composite dispatching
rules, etc.).
Iterative improvement approach (e.g. beam search, local search and
genetic algorithms, etc.).
To solve a scheduling problem in practice, we have to deal with at least three
important issues. The first issue is the resource environment. This takes into
consideration all features of the resources concerned (machines, workplaces,
workers, tools, etc.) and characteristics of the relations among them. We also have
to pay special attention to the features of the operations to be executed. The
second issue focuses on the job characteristics and constraints. This group
includes all the technological rules, manufacturing restrictions, job execution
features and alternative process plans. The third issue is the production control
policy that specifies the priorities, requirements, objective functions and key
performance indices. The possible variants of these groups of issues result in
many scheduling problems.
The simplest resource environment of scheduling problems is represented by the
single machine type model, which refers to jobs containing one operation to be
performed. If the single resource is replaced by a given set or group of resources,
the scheduling problems become models of parallel resources. In this case, the
jobs are executed simultaneously on different resources (machines or workplaces).
Depending on the working resources capability of the parallel models, three basic
resource environments are categorized [16], [21]. The first is the model of
identical parallel machines, where each job can be processed on any machine, and
– 30 –
Acta Polytechnica Hungarica Vol. 14, No. 4, 2017
the processing time only depends on the dedicated job. The second variant is the
model of uniform parallel machines, where the processing time of a dedicated job
varies according to the machine speed. The third variant is the model of unrelated
parallel machines, where the processing time varies according to the job and the
machine. In this case, each machine can work at different speeds on the jobs.
Several papers give detailed reviews on parallel machine scheduling, for example
[4], [7], and [22]. However, Weng et al. [19] and later Lamothe et al. [13] have
shown that the scheduling problems on machines with limited flexibility, setup
and secondary resource constraints were poorly studied.
The shop scheduling models involve more machines and more jobs containing
more than one operation. However, each operation can be performed on a given
machine. According to different prescriptions, specific models can be formed
from this general shop, as follows [21]:
Job shop: the set of operations is job dependent, and each job may have a
special precedence chain relation (operation sequence).
Flow shop: a special case of the job shop in which the number and
sequence of operations is fixed for any job.
Open shop: a special case of the general shop in which there are no
precedence relations between the operations.
Mixed shop: a combination of the above models.
In the above-enumerated models, each operation can be assigned to a given
machine (dedicated resource). A further extension of the general shop model is the
flexible shop model, where the flexibility feature refers to the machine assignment
possibilities. In the flexible models (e.g. flexible flow shop and flexible job shop,
etc.) a given operation can be performed on any of the machines of a specified
machine group. In this way, the scheduling problem is supplemented with
machine selection tasks. The suitable machines from the group can simultaneously
work identically or uniformly or even in an unrelated way [6], [23]. These models
can be considered as the combined models of the shop models and parallel
machine models.
The extended flexible shop models represent a new generation of the scheduling
problem class (e.g. extended flexible flow shop and extended flexible job shop,
etc.). It often occurs in the manufacturing systems that there are some resource
objects (e.g. integrated production lines and cells) that can perform more than one
operation as a unit. In this case, some operations can be grouped into larger units
such as technological steps or even execution steps. These collecting steps can be
considered as basic units for scheduling [8], [9], and [15]. The extended flexible
shop models support the usage of alternative technological routings and resources.
Parallel machine models are the functional building blocks of these extended
models to support the parallel realization of the execution steps.
– 31 –
M. Kulcsárné Forrai et al. Modeling and Solving an Extended Parallel Resource Scheduling Problem
in the Automotive Industry
– 32 –
Acta Polytechnica Hungarica Vol. 14, No. 4, 2017
earliness. In the literature we have not found any research papers considering this
set of constraints and objectives.
Input
Advanced
Performance
Scheduling for
Evaluation
JIT Preparation
Output
Figure 1
Simplified flow chart of the integrated scheduling approach
– 33 –
M. Kulcsárné Forrai et al. Modeling and Solving an Extended Parallel Resource Scheduling Problem
in the Automotive Industry
Based on the given input data, the model builder component defines the required
model objects and initializes them with start values (attributes). Its tasks include
the creation of the starting status of resources (paths, positions, carriers, molds),
the specification of the internal production orders, and furthermore the definition
of the restrictions and objective functions.
After carrying out the availability, applicability, and feasibility studies on the
created object model, the builder process defines the currently indexed
relationships of the entire system. Using these indices in each decision-making
situation (e.g. assignment, selection) of the solving process, the alternatives of
choices can easily be retrieved, so the chain of decision making produces feasible
solutions.
The core of the implemented solver explores iteratively the space of the feasible
solutions and creates neighbor candidate solutions by modifying the decision
variables of the fine schedule according to the problem space characteristics. For
each shift, the fine schedule specifies the configuration of shape carriers and
molds to be run and the kinds of products to be manufactured in each position of
each production line.
The candidate schedules are simulated by using an execution-driven fast
simulation algorithm that represents the real-world environment with capacity and
technological constraints. In this execution-driven simulation, the product units
are passive, and they are processed, moved and stored by active system resources
such as production lines, material handling devices, and buffers. The numerical
tracking of the entities (product units, shape carriers and tools) provides detailed
data of the manufacturing.
By using the results of the simulation, the actual values of the key performance
indicators (KPIs) can be calculated. To express the shop floor management’s
goals, we use the following objective functions to be minimalized in a multi-
objective optimization problem:
The maximum product shortage at the due dates of the production orders;
The sum of product shortages at the due dates of the production orders;
The number of tardy production orders;
The number of set-up activities;
The maximum number of set-up activities in one shift;
The number of product types with surplus;
The sum of product surpluses;
The maximum product shortage at the end of the time horizon;
The sum of product shortages at the end of the time horizon;
The sum of the priorities of tardy production orders;
– 34 –
Acta Polytechnica Hungarica Vol. 14, No. 4, 2017
– 35 –
M. Kulcsárné Forrai et al. Modeling and Solving an Extended Parallel Resource Scheduling Problem
in the Automotive Industry
The built-in sub-problem is a special scheduling problem. The “job” means one
preparatory task at the lower level. We have to schedule the preparatory tasks
(assembly the configurations of part-adequate tools and shape carriers) required
by manufacturing primary (main) processes. The current production schedule (the
solution of the overall problem) generates dynamically the jobs to be scheduled
and their release times and due dates for the built-in sub-problem (a given set of
configurations is used on the production lines and then a given subset has to be re-
assembled by due dates). In the following parts of the paper, we focus on
modeling and solving this sub-problem.
– 36 –
Acta Polytechnica Hungarica Vol. 14, No. 4, 2017
The problem described in the previous section is difficult to solve in its original
form. Many papers can be found in the literature on parallel machine scheduling,
but there is no suitable model for the examined time-varying resource availability
features of the current problem. Therefore, we elaborated a problem-
transformation procedure. Using this procedure we transform the problem to an
advanced parallel machine scheduling problem, in which the actual number of the
available machines depends on the time.
The essence of the transformation is the following:
We give serial numbers in the form of decimal integers to the shifts in the
global system joint to the plant. These serial numbers are called slots (s).
The slots create a connected series that replaces the time axis. The last
slot is denoted by smax.
The processing time of the configuration preparation cannot be longer
than one shift. This fact comes from the applied technology. Each
processing time takes one (unit value) slot (pi = 1).
The time data of the jobs are also transformed to slots: the earliest
starting time is converted into the serial number of the next shift (ri), the
due date is converted into the serial number of the target shift (di), and we
search for the completion time in a form that expresses the serial number
of the assigned shift (Ci).
The lateness of the job is also measured in slots: Li = Ci - di. The
tardiness is also calculated in slots: Ti = max (0. Li).
The group of assembly workers changes with the set of parallel virtual
machines (resources). Each virtual machine can work on one job at one
time, and each job can only be executed on one virtual machine at a
particular time. The number of the available virtual machines can differ
according to the slot. This time-variable number of machines is denoted
by P(s). The original limitation in the number of executable jobs in the
shift gives the concrete number of the available virtual machines in the
specific slot.
The P(s) values (limits) define the time-varying resource availability constraints.
For example, the limit is 3 in the second shift, and 5 in the seventh shift. In the
transformed model, these constraints define the number P(s) of virtual machines
(special skilled workers) in slot s, so each job has a unit processing time (equal to
the shift length) without loss of generality. For example, one worker team
performs three jobs, or there are three workers and each worker performs
separately one job.
– 37 –
M. Kulcsárné Forrai et al. Modeling and Solving an Extended Parallel Resource Scheduling Problem
in the Automotive Industry
no
Are there any unscheduled jobs? Stop
yes
s := the earliest release time of the unscheduled jobs
H := the set of the unscheduled jobs that are releasable at s
k := 1;
yes
Is set H empty?
no
s := s + 1;
yes
H := the set of the unscheduled jobs
k > P(s)
that are releasable at s;
k := 1;
no
Find the job that belongs to the smallest due date in set H.
th
Schedule the selected job on the k available machine at s.
Remove the scheduled job from set H.
k := k + 1;
Figure 2
Simplified flow chart of the slack-oriented solving algorithm
The key element of the solving algorithm is that we store the actual number P(s)
of the available parallel machines in each slot and schedule the releasable jobs
according to the well-known SDS (Smallest Dynamic Slack first) rule. This rule
– 38 –
Acta Polytechnica Hungarica Vol. 14, No. 4, 2017
selects the releasable job that has the smallest dynamic slack time. The slack of a
given job is equal to the due date minus the sum of the actual time and the
remaining processing time: slacki = max(di−pi−t, 0), where t denotes the actual
time of the decision. As the processing time pi of all jobs is one unit time, in each
situation the job with the smallest dynamic slack can be achieved by using the
EDD (Earliest Due Date first) rule. This means that if we can find a free machine
at an intermediate slot s and there are at least one unscheduled and releasable job,
then we schedule the job Ji with the nearest due date di.
The proposed algorithm creates a solution that minimize the maximum lateness. It
produces an optimal solution in polynomial running time. If an ordered input data
structure is used for jobs (r1 ≤ r2 ≤ ... ≤ rn), the algorithm runs in O(n log n) time.
If the maximum lateness (Lmax) is not greater than zero, then the configuration-
preparation schedule is able to fully serve the execution requirements of the
examined production fine schedule. The algorithm calculates the value Ci and
thereby creates the required solution (schedule) at the same time. The job Ji
(configuration preparation) must be performed in the shift of slot Ci.
To prove the optimality of the presented algorithm, we show that all optimal
solutions can be transformed into the result of the slack-oriented algorithm by
retaining the optimal value of the objective function.
Each job has a serial number (index i) in order of release times (r1 ≤ r2 ≤ ... ≤ rn).
Let Sa be the schedule created by the slack-oriented algorithm. Let Sb be an
optimal schedule. Two vectors store the completion time of the jobs according to
the two solutions (Sa and Sb). Let index x be the smallest job index where the Cx
value (completion time) is different in Sa and Sb. This means that the first x−1 jobs
are processed in the same slot according to Sa and Sb. We suppose that the value of
index x is maximal because our assumption covers the relationship between these
two solutions.
Therefore, the job Jx is carried out in slot Cx according to Sa while the same job Jx
is processed in a later slot according to Sb. In this situation, two possible cases
may be distinguished.
In the first case, a given machine is free in slot Cx according to Sb. Therefore, the
job Jx can be moved to slot Cx on the free machine. This modification does not
spoil the maximal lateness because the target job starts earlier, so the schedule Sb
remains optimal.
In the second case, there is no free machine in slot Cx according to Sb. Therefore,
there exists a job Jy that is carried out in slot Cx according to Sb, but the same job
Jy is carried out in a later slot according to Sa. The due date dy of job Jy is greater
– 39 –
M. Kulcsárné Forrai et al. Modeling and Solving an Extended Parallel Resource Scheduling Problem
in the Automotive Industry
than or equal to the due date dx of job Jx. This follows from the fact that the slack-
oriented algorithm scheduled the job Jx in an earlier slot than the job Jy according
to Sa. As the schedule Sb is optimal, we can interchange Jx and Jy in schedule Sb,
and the value of the objective function does not increase.
In both possible cases, the modified schedule Sb remains optimal, and the value x
has increased after modification. This result contradicts the assumption that value
x is maximum, so the modification can continue until the index x is greater than
the number of jobs. Finally, each job Ji is completed in the same slot Ci according
to schedule Sa and Sb. This proves that the slack-oriented algorithm creates an
optimal solution.
– 40 –
Acta Polytechnica Hungarica Vol. 14, No. 4, 2017
4. If a free machine can be found in a later slot than the original slot, then
break the searching loop and move the selected job into the first-found
free machine of the latest suitable slot.
5. If there is no free machine in the suitable slots, then the selected job
remains in its original place.
6. Delete the selected job from the LDD list. If the LDD list is not empty,
then go to 2, otherwise stop.
This JIT-oriented algorithm converts the schedule Sa into a new feasible schedule
SJIT, where the maximal tardiness is not increased, and the maximal earliness is
reduced. It is easy to see that if a selected job has been moved from its original
slot to a later slot, then its earliness is reduced, but the modification does not
violate the due date or release time restrictions because of the well-defined
boundaries of the searching loop. The modifications are carried out on the jobs in
the non-increasing order of due dates. Therefore, jobs can be moved into the
places which are freed by one of the previous job movements so the algorithm can
achieve the maximum improvement. In the worst case, each job remains in its
original place, and thus the tardiness and earliness are not changed.
The presented JIT-oriented algorithm creates a very sharp schedule in each
situation. To increase the flexibility of the solution, we extended the algorithm
with a set of job-dependent control parameters that specify the safety slack of each
job. In this case, the free machine searching loop of the algorithm starts at an
earlier (time) slot than the due date. For each job, the initial value of the first
examined slot is equal to the difference of the given due date and the given safety
slack control value of the job. This technique is well suited to the sophisticated
safety requirements of the manufacturing control and to creating not only effective
but also robust schedules.
– 41 –
M. Kulcsárné Forrai et al. Modeling and Solving an Extended Parallel Resource Scheduling Problem
in the Automotive Industry
– 42 –
Acta Polytechnica Hungarica Vol. 14, No. 4, 2017
– 43 –
M. Kulcsárné Forrai et al. Modeling and Solving an Extended Parallel Resource Scheduling Problem
in the Automotive Industry
– 44 –
Acta Polytechnica Hungarica Vol. 14, No. 4, 2017
– 45 –
M. Kulcsárné Forrai et al. Modeling and Solving an Extended Parallel Resource Scheduling Problem
in the Automotive Industry
– 46 –