1 Notation

Input constants:

A m :

total availability time of machine m during observation period

D il :

delay required between operations l and l+1 of job i

d i :

due date of job i

o i :

total number of operations of job i

P il :

processing time of operation l of job i

r i :

release time of job i

τ 2mk :

tear-down time of subassembly k of machine m

τ 1mk :

setup time of subassembly k of machine m

Indexes:

i :

index of a job

\(\hat{i}\) :

index of a job finally selected by scheduling rule

j :

sequence position of operation on machine

k :

index of an adjustable subassembly of machine

l :

sequence position of operation within a job

m :

index of machine

Variables that are used in solving the problem:

B il :

start time of operation l of job i

b mj :

start time of operation on machine m at sequence position j

c i :

completion time of job i

N :

set of jobs that waits in the queue of a machine

p mj :

processing time of operation on machine m at sequence position j

S il :

setup time of operation l of job i

s mj :

setup time of operation on machine m during operation at sequence position j

\(\widetilde{S}_{mjk}\) :

setup state of subassembly k of machine m during operation at sequence position j

\(\widehat{S}_{mjk}\) :

setup state of machine subassembly k required by the operation to be performed on machine m at sequence position j

Z i :

priority index of job i

Ψ 1, Ψ 2 :

sets of jobs

Symbolic constants:

\(\widetilde{S}_{mjk}=0\) :

no tool or fixture is mounted at subassembly k of machine m during operation at sequence position j

\(\widehat{S}_{mjk}=*\) :

machine subassembly k is unused during operation at sequence position j, i.e., any state of it is allowed

Metrics for the quality:

\(\bar{F}\) :

mean flow time

\(\bar{T}\) :

mean tardiness

T max :

maximum tardiness

α m :

load of machine m

γ :

percentage of tardy jobs

σ :

setup time per operation

Other:

ab :

precedence constraint: job a has to be completed before the first operation of job b can be started

2 Introduction

The highly competitive nature of the furniture market has resulted in a growing number of companies that offer customized furniture made to the end users’ order. To retain some level of standardization, these products are usually offered as standard collections with a limited number of properties that the end user can modify at the stage of order specification. These properties usually comprise: species of wood, color of surface finishing, color and pattern of upholstery, type of door/drawer handles, shape of noticeable parts as well as the type of decorative add-ons. In some cases producers may even allow a choice of different colors for particular subassemblies of a piece of furniture (e.g. seat, backrest and armrest in case of an armchair). However, even in the case of a short list of customizable properties the resulting number of variants of a single product can be considerable. This in turn leads to a substantial reduction of the batch size and heightens the importance of machine setup optimization.

In literature there are many approaches to scheduling with sequence-dependent setup times. Most of them employ setup time matrices for storing information on setup times between operations on particular items (Artigues and Feillet 2008; Artigues et al. 2005; Balas et al. 2008; Chen 2007; Choi and Korkmaz 1997; Kim and Bobrowski 1994; Low et al. 2005; Vinod and Sridharan 2008, 2009). This solution, however, is highly impractical for the furniture industry. In the case of customized furniture production the number of different parts that may potentially be processed on a work center may exceed 10,000. In such a case the maintenance of a non-symmetric setup time matrix would require a determination of about 108 individual setup times for a single machine. On the other hand, using a fixed family setup time, like Crauwels et al. (1997), in most cases does not satisfy the requirements of furniture production.

Published solutions to the setup time optimization problem concern either typical static scheduling (Artigues and Feillet 2008; Artigues et al. 2005; Balas et al. 2008; Chen 2007; Choi and Korkmaz 1997; Low et al. 2005) or typical dynamic scheduling, when jobs arrive continuously over time (Kim and Bobrowski 1994; Vinod and Sridharan 2008, 2009; Wilbrecht and Prescott 1969). Furniture production cannot usually be neatly classified into one of these categories. Most furniture companies collect customers’ orders over a specified period of time after which these orders are combined into a production plan. All orders within the production plan are released at the same time and they have the same due date. This enables a company to merge production orders for identical products or parts to form larger jobs. The new production plan is released before the previous one is fully completed thereby allowing for better utilization of some specialized workshops that perform operations at the beginning or at the end of the technological process. Such a scheduling problem can be solved in the same way as a dynamic one, although it cannot be considered as purely dynamic because of the non-continuous arrival of jobs. Therefore it is not known if the dispatching rules, considered to be the most efficient at dynamic scheduling, preserve their high performance in the case of furniture production.

3 Aim of research

The aim of this paper is to develop a scheduling policy oriented towards minimizing setup times in the made-to-order furniture industry. The method should eliminate the need to determine machine setup matrices and should consider the non-continuous arrival of jobs. Moreover, the new methodology should utilize knowledge of the characteristics of the production system so as to achieve better results.

4 Materials and methods

4.1 General assumptions

Most factories that offer made-to-order furniture can be considered job-shops that meet the following assumptions:

  1. 1.

    Each machine can perform only one operation at a time.

  2. 2.

    Operations of particular jobs must be performed in a strictly defined order.

  3. 3.

    Each operation can be performed only on one particular machine.

  4. 4.

    If an operation starts it cannot be interrupted.

  5. 5.

    A job can visit the particular machine more than once.

  6. 6.

    Setup times of operations on machines are sequence-dependent.

  7. 7.

    Some natural processes may be required between operations (e.g. developing the appropriate strength of a glue line between gluing and further mechanical processing). If a natural process is required, the subsequent operation of the job cannot be executed over a defined period of time.

  8. 8.

    Precedence constraints between jobs may occur. These constraints mostly result from part-assembly relations, i.e. if a part belongs to a particular assembly all operations on the part must be completed before the first operation on the assembly can be started.

Assumption 3 may not be true in the case of some production plants, especially when simple machines, which are usually organized into production cells, are used. This situation, however, will not be discussed in this paper.

Taking into account the above assumptions, the following limiting conditions can be formulated:

  • minimum delay between operations of the same job:

    $$ B_{i,l+1} \geq B_{il} + S_{il} + P_{il} + D_{il} $$
    (1)
  • job precedence constraints:

    $$ \mathrm{if}\quad a \prec b\quad\mbox{then}\ B_{b1} \geq c_a $$
    (2)
  • machine usage constraints:

    $$ b_{m,j+1} \geq b_{mj} + s_{mj} +p_{mj} $$
    (3)

Incorporating delay time D il into formula (1) ensures that assumption 7 is satisfied. Delay time, which covers only natural processes, cannot be included in setup time, since the natural processes do not engage any machine. In turn, both S il and s mj refer to setup time. Therefore for any \(l\mathrm{-th}\) operation of job i that is performed on machine m at sequence position j the condition s mj =S il is satisfied. The different symbols are used only for the clarity and simplicity of Eqs. (1) and (3) which impose constraints based on the positions within different sequences.

4.2 Setup time model

Observations of the furniture industry revealed that each machine setup can be divided into a finite number of distinct activities (e.g. tool mounting, tool unmounting, support position adjustment, etc.). The duration of each type of activity can be considered constant for any particular machine. In turn, the number of activities of each type that are required to perform the whole setup is sequence dependent. The number of different types of activities for each machine is relatively small, so their duration can be easily determined through the typical time observations that are periodically performed on a workshop for establishing productivity standards and waste identification.

Each setup activity is associated with setting up, tearing down or adjusting a particular machine subassembly. Machine subassembly refers to everything within a machine that is subject to setup and adjustment between operations (e.g. spindle, aggregate, supporting table, single place within CNC tool changer, etc.). When the states of subassemblies of current and subsequent operation are known the setup time of the machine can be obtained using the following relationship:

(4)

To make use of the above formula, the scheduling software has to trace the machine subassembly state at each operation. This task can be automated by means of data acquisition from other software systems. Most enterprise resource planning (ERP) systems are capable of storing information on tools and fixtures used for particular operations. Another source of such information can be found in machine templates in computer aided manufacturing (CAM) software. As some spindles or aggregates may not be used in a particular operation and thus any state of it may be allowed, the real state of a unit can be predicted as follows:

(5)

The state of a machine subassembly does not necessarily mean the tool or fixtures mounted to it. It may also refer to the position of that subassembly during processing. In such situations the state can usually be associated with one of the dimensions of the workpiece. In the furniture industry some workpiece dimensions are stored in ERP systems for the prediction and optimization of material consumption. To achieve a fully automatic tracing of the machine setup state it is necessary to use a database for all adjustable machine subassemblies. The database should contain information on the setup and tear-down time of each subassembly and should indicate what other data should be used to predict the state of that assembly. The proposed structure of the record of such a database is presented in Table 1. If the value of the field use_item_prop is true the subassembly state is predicted based on the particular property of an item to be processed. The name of this property is specified within the field item_prop. If use_item_prop is false the unit state refers to the tool used for the operation.

Table 1 Proposed structure of record of the database of adjustable machine subassemblies

4.3 Scheduling method

In earlier papers on dynamic job shop scheduling problems with sequence-dependent setups dispatching rules were used to decide which of the waiting jobs were to be processed on the first machine to become free. Kim and Bobrowski (1994) as well as Vinod and Sridharan (2008, 2009) obtained the best reduction of setup time using a similar setup (SIMSET) rule. The SIMSET rule gives the highest priority to the job with the shortest setup time. The same rule resulted in the best overall performance in the research of Wilbrecht and Prescott (1969). In turn, the mean flow time was minimized with job of the smallest critical ratio (JCR) rule (Kim and Bobrowski 1994), SIMSET (Kim and Bobrowski 1994) or the shortest setup + processing time (SSPT) rule (Vinod and Sridharan 2008). Similarly, the best effect on mean tardiness was registered in the case of JCR (Kim and Bobrowski 1994) and SSPT (Vinod and Sridharan 2008) rule. The JCR and SSPT are both combined rules. The JCR rule seeks a job that is identical to the last job processed on the machine. If there is no such job the rule selects the job with the smallest critical rate. The SSPT gives the highest priority to a job with the smallest sum of setup and processing time. Combined rules also proved to outperform simple rules in researches that had not considered sequence-dependent setups (Dominic et al. 2004). The popular shortest processing time (SPT) rule is also worth consideration because, despite its simplicity, it has produced some good results in some research (Dominic et al. 2004; Holthaus and Rajendrant 1997; Vinod Sridharan 2008).

In the literature the following strategies of combining rules can be found:

  • additive strategy, in which the priority is assigned using a sum of multiple factors; rules: SIMSET (Vinod and Sridharan 2008), SPT + total work content on subsequent machine (Holthaus and Rajendrant 1997);

  • random strategy, in which the random choice of a rule from a defined set is made at each step of the algorithm; rules: SPT vs. the total work-content of jobs in the queue for the next operation on a job (WINQ) (Holthaus and Rajendrant 1997);

  • hierarchical strategy, in which the algorithm tries to select a job on the basis of a specified primary condition; if no job meets the primary condition, the secondary rule is used; rules: JCR (Kim and Bobrowski 1994), if set Ψ of jobs of which the next operation can be executed immediately is not empty use SPT on Ψ, or else use WINQ on all jobs in the current queue (Holthaus and Rajendrant 1997);

As assumed above, in the current study, setup time is the sum of a limited number of constants and therefore it can be considered a discrete variable. Similarly, because there are a limited number of production plans running simultaneously and all jobs within a plan have been assigned the same due date, there are very few values the due date can take. Therefore, there is a high possibility of many jobs having the same due date or setup time when being analyzed by a dispatching rule. This, in turn, allows for the proposal of a new hierarchical combination strategy and new combined rules designed to operate on discrete factors. If A, B and C are simple rules for selecting jobs with the least value of priority index Z i , the proposed combination A/B/C works as follows:

Step 1:

  • Assign priority index Z i for each job in N using rule A.

  • Form a set Ψ 1 of jobs that satisfy the equation Z i =min{Z i |iN}.

Step 2:

  • If |Ψ 1|=1 then:

    • select job \(\hat{i}\) from Ψ 1;

    • finish selection subroutine;

  • else:

    • assign priority index Z i for each job in Ψ 1 using rule B;

    • form a set Ψ 2 of jobs that satisfy the equation Z i =min{Z i |iΨ 1}.

Step 3:

  • If |Ψ 2|=1 then:

    • select job \(\hat{i}\) from Ψ 2;

    • finish selection subroutine;

  • else:

    • select job \(\hat{i}\) from Ψ 2 using rule C.

If only two rules are present in the combined rule it is treated as an A/C combination in which step 2 is omitted assuming Ψ 2=Ψ 1.

It is required that rules A and B must select jobs using discrete factors that take only values from a limited set while rule C may use a continuous factor. If the above conditions for rules A and B are not met, the first rule will generally influence the resulting schedule. The fact that a rule operates on a discrete factor can be assumed only in the case of a particular production system. In furniture production the due date allowance is usually no more than 2–3 times higher than the plan inter-release time. When all jobs within the plan are released together with the same due date allowance, there are at most three levels of due date in a single run of the scheduling algorithm. This is a relatively small value compared to the number of jobs in progress, which is usually more than 100. Therefore, in the current research the EDD rule perfectly fits the requirements for the A or B rule, as in most cases it only makes the initial preselection of a job set. Similar conditions are met by the SIMSET rule, especially if the setup time is evaluated in the way proposed in Sect. 4.2. Although the number of different cutter profiles and supporting equipment in a furniture factory may be significantly high, the number of activities within a setup is very limited. In turn it is worth noting that it is unreasonable to use SPT or SSPT as A or B rules within a combination. Because of the high variety of part sizes, shapes and batch sizes there are many possible values of processing time. Moreover, in typical dynamic job shop scheduling, when jobs are continuously released, practically each job has its own unique due date assigned to it. In such a situation EDD cannot be used as A or B rule. Therefore, a thorough knowledge of the specification of the particular production system is required before constructing combined rules in the proposed way.

Even though, the proposed hierarchical rules uses information on multiple factors, the highest priority is still given to the factor associated with the first rule. This is a natural characteristic of hierarchical combination methods. The most effective ordering of rules should be established via experiments. If all rules should be treated equally, other non-hierarchical combining systems should be used.

The following simple and combined rules were chosen:

  • SPT,

  • SSPT,

  • EDD/SSPT,

  • EDD/SIMSET/SPT,

  • SIMSET/EDD/SPT.

Critical ratio based rules were not considered because, as a result of precedence constraints, this factor cannot be directly established. The algorithm for building active schedules described by French (1982) together with scheduling rules we implemented in C++ language. The resulting application will need to be reexecuted each time a new production plan is released, which means rescheduling all operations which have not yet started. This ensures that any newly generated schedule reflects any divergences from the previously assumed flow of production. Rescheduling is also possible at any time when such divergences exceed the assumed level. The performance of individual rules and their suitability for scheduling in the furniture industry will be evaluated during test procedure.

4.4 Test procedure

A case study of a factory that offers made to order furniture was performed to establish conditions for this test procedure. The production planning personnel reported that the setup time problem was of particular importance in the solid wood processing department. This department produces frame and panel cabinet doors, the bill of material and technological route are presented in Fig. 1. There are many versions of this subassembly since they differ not only in dimensions but also in the shape of the upper rail and floating panel, the edge profile as well as the wood species.

Fig. 1
figure 1

Bill of material and technological route of considered subassembly

The 24 different versions of the above mentioned cabinet door were considered. Each version has the same sequence of operations with different processing times and, in most cases, different setup (Gawroński 2011). Processing times for all operations were established based on the data acquired from the industry. The following simulation procedure, implemented as Python script, was used:

Step 1::

Generate orders for considered subassemblies. The number of pieces to be produced is different for each order and is a random number from the range 0…Q. The probability of selecting any number within 0…Q is assumed uniform.

Step 2::

Generate orders for each part that is required to accomplish the production of subassemblies.

Step 3::

Form and release the production plan.

Step 4::

Schedule all operations that have not started by calling the scheduling application.

Step 5::

Simulate production flow until the period of time is reached at which the next production plan should be released.

Step 6::

If the assumed number of production plans have been generated finish simulation; or else go to step 1.

The frequency at which production plans are released varies among factories. In this paper the most difficult case, i.e. the plan inter-release time equal to 1 day, has been assumed. The allowance of each production plan was set to 3 days.

In preliminary tests two levels of Q were established: 25 and 30 which resulted in an approximately 90 % and 95 % load of CNC router respectively. The CNC router was found to be the bottleneck as well as the machine of the highest setup time to processing time ratio. The following factors were considered for the evaluation of scheduling rules:

  • mean flow time:

    $$ \bar{F} = \frac{1}{n} \sum_{i=1}^{n}(c_i - r_i) $$
    (6)
  • mean tardiness:

    $$ \bar{T} = \frac{1}{n} \sum_{i=1}^{n}T_i $$
    (7)

    where:

    $$ T_i = \max\{0,c_i - d_i\} $$
    (8)
  • maximum tardiness:

    $$ T_{\max} = \max\{T_i\} $$
    (9)
  • percentage of tardy jobs:

    $$ \gamma = \frac{1}{n} \sum_{i=1}^{n} \mathrm{sgn}(T_i) \cdot 100~\% $$
    (10)
  • setup time per operation:

    $$ \sigma = \frac{\sum_m \sum_j s_{jm}}{\sum_i o_i} $$
    (11)
  • CNC machine load:

    $$ \alpha_m = \frac{1}{A_m} \sum _j (s_{mj} + p_{mj}) \bigg\vert m = \mathrm{CNC} $$
    (12)

The simulation procedure was run 20 times for each scheduling rule and each level of Q. Each run provided a single observation for each of the specified evaluation factors. The sample size had been established based on the assumptions of earlier research (Holthaus and Rajendrant 1997). At each run data were collected for 100 production plans starting from the 51st production plan. This allowed the production system to reach a stable level before data were registered.

5 Analysis of results

The results of the simulation are presented in Figs. 27 as means and variation coefficients of all of the performed 20 observations for each evaluation factor. Because of the inequality of variances in Levene’s test prior and after transformation of data with common logarithmic function the ANOVA was omitted.

Fig. 2
figure 2

Mean flow time

Fig. 3
figure 3

Mean tardiness

Fig. 4
figure 4

Maximum tardiness

Fig. 5
figure 5

Percentage of tardy jobs

Fig. 6
figure 6

Setup time per operation

Fig. 7
figure 7

CNC machine load

The inequality of variances of an evaluation factor obtained for different rules is an expectable phenomenon. Moreover, there was an attempt to minimize variance of flow times by the use of the combined rule (Dominic et al. 2004).

The presented results show that the application of SPT and SSPT rules result in tardy jobs, even though particular machines show sufficient productivity to perform the production (maximum machine load is 95 %). The mean tardiness of jobs for these rules, with the exception of SSPT at Q=25, is of the order of magnitude of one shift. This value is relatively high in the comparison with the 3 day (6 shifts) allowance of the production plan. In turn the SPPT rule at Q=25 indicates an acceptable mean tardiness and the lowest mean flow time, but the performance of this rule degrades at Q=30. Although the number of tardy jobs for both STP and SSPT is relatively small (below 4 %), the maximum tardiness shows that in the case of these scheduling policies there are jobs that remain uncompleted even up to several weeks. This can be explained by the fact that the operation of high processing times are repeatedly assigned a low priority index by the above rules. Moreover, the high values of variation coefficients for tardiness-based factors for these rules (50–99 % for \(\bar{T}\)) indicate that the performance of the production system is very sensitive to customer order variation. Therefore SPT and SSPT rules should not be recommended for the furniture industry.

The worst effect of the SPT rule on tardiness was also registered by Kim and Bobrowski (1994). On the other hand the low performance of the SPT and SSPT rules does not correspond with results obtained by Vinod and Sridharan (2008) although this may be a consequence of different approaches to job arrival.

The combined hierarchical rules result in no tardy jobs at assumed levels of Q. This achievement can be explained by the fact that all these rules utilize information on the due date of a job. The importance of due date consideration has also been pointed out by Kim and Bobrowski (1994). Variation coefficients of all the evaluation factors for combined hierarchical rules are below 3 %. This indicates that these rules are not sensitive to variation of order sizes.

The best results among combined hierarchical rules were obtained with the use of the SIMSET/EDD/SPT rule. This rule also outperforms all the other examined rules in most respects. The only exception is mean flow time which is better for the SSPT rule at Q=25; however, this value is only 1 % lower than in the case of the SIMSET/EDD/SPT rule and, as discussed above, the overall performance of the single SSPT rule is low. Therefore the SIMSET/EDD/SPT rule should be considered as the best from among all the tested rules and should be recommended for scheduling in the made-to-order furniture industry.

The mean flow time registered for the SIMSET/EDD/SPT rule is over 8 % lower than that of the EDD/SSPT rule and over 27 % lower than in the case of simple SPT scheduling policy. More significant differences can be observed with regard to setup time per operation. This factor was reduced by 58 % with the SIMSET/EDD/SPT rule compared to the EDD/SSPT rule and by over 70 % compared to the SPT rule.

The reduction of setup time has a direct impact on machines’ load. The load of the CNC router obtained with the use of the SIMSET/EDD/SPT rule was reduced to 63–73 %. This is a very significant decrease when we consider the initially assumed 90–95 % load obtained with the SPT rule. Such a decrease in the utilization of a critical machine would increase the capacity of a factory to accept more orders.

The sequencing decision in the case of the SIMSET/EDD/SPT rule is based primarily on setup time and secondarily on due date information. In this way this rule is similar to the JCR rule, which provided effective overall performance in the research of Kim and Bobrowski (1994). The main difference is that the SIMSET/EDD/SPT rule uses more information on the required setup rather than just seeking for identical job. On the other hand the critical ratio used by the JCR at the second stage utilizes both due date and processing time information. Another difference is in the way in which the simple rules are combined within hierarchical rule. In the case of JCR the secondary information (i.e. critical ratio) is used when primary selection (i.e. finding identical job) fails. In turn, in the case of SIMSET/EDD/SPT the secondary factor (due date) is considered when the primary result is equivocal. The above differences make the SIMSET/EDD/SPT rule more suitable for the conditions assumed in this study. Because of the similarity of the above rules, the current results are in line with that obtained by Kim and Bobrowski (1994). In turn, the importance of the due date was not proved by Vinod and Sridharan (2008).

6 Conclusions

The developed scheduling policy allows setup time in the made-to-order furniture industry to be reduced. The division of machine setup into regular activities eliminates the need to determine setup time matrices for scheduling. The proposed method is adequate for a production system in which customer’s orders are collected over a specified period of time and after which these orders are combined into a production plan. Among the tested priority rules the best performance was observed in the case of the SIMSET/EDD/SPT rule. This rule allowed the setup time per operation to be reduced by 58 % compared to the EDD/SSPT rule and by over 70 % compared to the SPT rule. The SIMSET/EDD/SPT rule also allowed for a significant decrease in the utilization of a critical machine thereby creating greater potential for a factory to accept more customers’ orders. The comparison of the obtained results with earlier research emphasizes the importance of due date and setup time factors when planning scheduling policy for a sequence-dependent job shop.