Introduction

An FMS is a highly automated production system consisting of a group of computer numerical control machine tools, linked by material handling system and controlled by a distributed control system. An FMS can simultaneously process medium variety and medium size volumes of products (Browne et al. 1984). An FMS is a sophisticated production system to respond dynamic variations of contemporary market including lead time reduction, flexibility to respond market variations and higher productivity (Atmani and Lashkari 1998). The major problems that an FMS has to face include designing, planning, scheduling and controlling. Among these, scheduling problem is a major challenge (Stecke 1985). An FMS’s scheduling differs from a conventional job shop scheduling due to routing flexibility of parts (Jain and Elmaraghy 1997).

Scheduling is the assignment of resources over time to perform tasks. In conventional scheduling system, only one resource is considered, which processes the parts. An FMS scheduling differs from conventional job shop scheduling. The complexity of FMS scheduling is due to the flexibility of an FMS in terms of machine, product, operation and routing (Browne et al. 1984). Scheduling of an FMS is effected by several factors including orders arrivals, due dates and batch size (Liu and MacCarthy 1996). The production management has to set policies whether to handle periodic or continuous orders of the customers. Meeting customers’ due dates play key role in make to order system and the FMSs are mostly suited for MTO system. Due dates are effected by various factors including arrival rate, variability and batch size. Among these factors, batch size is significant factor for effective scheduling of an FMS as it directly affects due dates. In addition, constant batch size makes MTO less responsive to customers’ demands (Beemsterboer et al. 2017).

Extensive literature has been studied to address scheduling of an FMS. The scheduling of an FMS is NP-hard problems, and is solved by heuristics to find near optimal solution (Baker 1974). Close conformance to due dates is accomplished by minimizing mean and maximum tardiness. In MTO system, minimization of tardiness is significant. Nidhiry and Saravanan (2014) addressed FMS scheduling problem to minimize idle time of the machines and total penalty cost. Sixteen computer numeric-control machine tools were used to process eighty different parts in an FMS. The results of the proposed heuristic were compared with cuckoo search and particle swarm optimization (PSO). The results depicted that the proposed approach outperformed cuckoo search and PSO.

Keung et al. (2003) proposed intelligent hierarchical control technique for an FMS. The paper aimed to optimize machine utilization as well as to balance capacity of tool magazine. The proposed model was assessed based on two benchmarks: earliness and tardiness penalty costs. Jerald et al. (2005) determined optimal Scheduling of three FMS with eight, fifteen and sixteen machines. The objective was to optimize idleness of the machine and penalty costs. Saravanan and Haq (2008) applied scatter-search approach to optimize FMS scheduling, considering multiple objectives, including minimization of machine idle time and total penalty costs in case of exceeding the due dates.

An important performance measure to determine utilization of an FMS is in optimizing makespan and completion time. Chan et al. (2005) addressed an FMS problem in two different situations. In first case, only three machines were under consideration, whereas in second scenario thirty-three machines were accommodated. The objective was to optimize makespan. Reddy and Rao (2006) addressed scheduling of machines as well as Automated Guided Vehicles (AGVs) simultaneously in an FMS to optimize makespan and mean flow time. The proposed approach was practiced for an FMS having six machines with two guided vehicles. The results depicted that the presented algorithm has diverse solutions. Kim et al. (2007) solved scheduling problems in an FMS with the objective to optimize makespan in an FMS having ten machines. The results obtained were compared with other techniques and it was found that the proposed algorithm outperformed in terms of quality of solution and convergence speed. Multi-mode Resource Constrained Project Scheduling Problem was solved using hybrid genetic algorithm. Feasible schedules were based on the minimum project completion time (Lova et al. 2009).

Udhayakumar and Kumanan (2010) performed multi-objective scheduling of tasks of AGVs using ant colony optimization (ACO). The objective was to maximize AGVs utilization which has also been validated on several problems. Machines and AGVs scheduling in flexible manufacturing system was also addressed by Chaudhry et al. (2011) using genetic algorithm spreadsheets to minimize total completion time. Zhang et al. (2012) proposed a model for flexible job shop scheduling considering transportation constraints and bounded processing time to minimize makespan and storage. Different types of problems were tested including sequencing as well as bounded processing times. The proposed model outperformed said types of scheduling problems. Raj et al. (2014) presented combined machines and tools scheduling for multi-machine in an FMS to achieve best optimal sequences with the aim to minimize makespan. A meta-heuristic GA was developed to minimize makespan of the scheduling problem. The parameters of the GA were determined by Taguchi orthogonal array. Analysis of variance was performed to examine significant factors affecting makespan (Candan and Yazgan 2015).

In MTO system, batch size plays a significant role for effective scheduling of an FMS due to its direct effect on completion time. Furthermore, constant batch size makes MTO less responsive to customers’ demands. A few researchers have addressed batch size problem in an FMS scheduling. Machine utilization of a flexible manufacturing cell was improved using hierarchic approach. In first stage, batches of parts were determined. In second stage, batches were sequenced and scheduled. A fuzzy-based approach was proposed to solve machine loading problem in an FMS. The sequence of jobs was determined by evaluating the contribution of each job in terms of batch size and operation processing time (Vidyarthi and Tiwari 2001). Cheng et al. (2012) developed a mixed integer linear programming model to address scheduling problem of parallel batch processing of jobs to minimize makespan and completion time using polynomial time algorithm. Geng and Yuan (2018) investigated the unbounded parallel batching machine to minimize makespan and completion time using pareto optimization. Matin et al. (2017) proposed PSO to optimize batch size in flow shop to minimize makespan and completion time. Different batch size compositions were used on machines and an optimal batch size of all jobs on each machine was obtained. Ying and Lin (2018) addressed hybrid flow shop scheduling problem to minimize makespan using self-tuning iterated greedy algorithm.

Scheduling of an FMS is NP-hard problem and it is more complex as compared to classical job shop scheduling problems. Different heuristic-based approaches including cuckoo search, PSO, GA and artificial neural network have been used in an FMS scheduling (Sankar et al. 2003; Jerald et al. 2005; Burnwal and Deb 2013; Sadeghian and Sadeghian 2016). A hybrid multi-objective GA was presented to optimize makespan, AGV travel time and penalty cost due to jobs lateness. The proposed algorithm proved feasibility and effectiveness for all the objectives (Umar et al. 2015). A non-dominated sorting biogeography-based approach to solve multi-loading–unloading problem in an FMS was addressed to minimize makespan and total earliness (Rifai et al. 2018).

The main research gap identified in the literature is the lack of considering the effect of batch size on due dates and makespan in MTO system in an FMS scheduling. In this paper, an FMS scheduling problem is addressed to minimize lateness in meeting due dates. A mathematical model is developed for optimizing the batch size. GA is used to optimize lateness of each order and penalty cost. Then, multi-objective Pareto optimization is performed for three batch size strategies to evaluate its effect on completion time. These strategies are then compared with each other to investigate completion time.

The rest of the paper is organized as follows. Section 2 discusses mathematical model description. Section 3 gives insight of technique used and Sect. 4 presents results and discussion. In Sect. 5, conclusions and future work recommendations are presented.

Description of model

In this study, an FMS scheduling problem is studied to minimize penalty costs incurred due to lateness, which helps in minimizing completion time of jobs. The scheduling problem of five parts and six machines in an FMS having four flexible machining cells (FMC) is discussed. Each part has predefined sequence of operations and corresponding processing time. The structure of our FMS is depicted in Fig. 1.

Fig. 1
figure 1

Structure of an FMS. FMC Flexible manufacturing cell, ATC Automatic tool changer, AGV Automated guided vehicles, AS/RS Automated storage and retrieval system, S Shuttle

The FMS contains one to two CNC machines, each supported with tool magazines. ATC is capable of changing tool according to the part. Buffer storage is used to store parts temporarily to mitigate the effect of starving and blockage. Part-carrying conveyors and shuttle are used to transfer parts between machine and AS/RS. Automated storage and retrieval systems are used to store parts and to deliver/retrieve materials to/from the storage racks, respectively. All FMCs are linked by AGVs which are responsible for: intercellular movements, finish jobs movements to unloading station and work in process to AS/RS. Four flexible manufacturing cells and six machines are considered. Each cell comprises one to two machines and is capable to process five parts A, B, C, D and E. The sequence as well as processing time of each part is different. The distribution of the machines at each FMC is shown in Table 1.

Table 1 Machine distribution in each FMC

Assumptions

The following assumptions have been set for our proposed model:

  • There are five different parts to be processed ensuring the presence of multi-tools in tool magazine.

  • Every part has a predefined processing sequence incorporating batch size, due dates and penalty costs in case of not meeting due dates. The processing time of every part is known and deterministic.

  • Every machine can perform only one operation at a time.

  • The sequence of operations for all parts is pre-determined.

  • The sequence-dependent setup times are considered.

Notations

In this paper, FMS scheduling is addressed to minimize penalty costs incurred due to lateness and an optimal batch size is achieved to minimize completion time. Genetic algorithm is used to solve the complex scheduling problem. The notations used in the development of mathematical model are listed in Table 2.

Table 2 Model’s notations

Mathematical model

This objective function minimizes total lateness and total penalty cost incurred in case of exceeding due dates of each order received from customers. Total penalty cost for all orders is calculated using Eq. (1). Second objective minimizes total completion time of all jobs in an order o and it is given in Eq. (2). Third objective function minimizes sequence-dependent setup times and it is given in Eq. (3).

$$Z_{1} = ({\text{Min}})\sum\limits_{o = 1}^{o} {{\text{LT}}_{o} \times {\text{PC}}_{o} ,\quad \forall o}$$
(1)
$$Z_{2} = \sum\limits_{o = 1}^{O} {\left( {\sum\limits_{i = 1}^{I} {X_{ik} \times {\text{CT}}_{i} } } \right)} ,\quad {\text{for}}\;k = 1,2,3, \ldots ,K,\quad \forall o$$
(2)
$$Z_{3} = \left( {\text{Min}} \right)\sum\limits_{m = 1}^{M} {\sum\limits_{i = 1}^{I} {\sum\limits_{j = 1}^{I} {X_{mij} \times {\text{ST}}_{mij} ,\quad \forall m} } }$$
(3)

Subject to

$$\sum\limits_{m = 1}^{M} {X_{im} = 1,\quad \forall_{i} }$$
(4)
$${\text{LT}}_{o} = {\text{Max}} \left( {0, {\text{CT}}_{o} - {\text{DD}}_{o} } \right), \quad \forall o$$
(5)
$$q_{i} \times n_{i} = d_{i} \quad {\text{for}}\;i = 1,2,3, \ldots ,I$$
(6)
$$N = \sum\limits_{i = 1}^{I} {n_{i} }$$
(7)
$${\text{ST}}_{i} \ge \sum\limits_{o = 1}^{O} {{\text{RL}}_{o} \times X_{io} ,\quad \forall o}$$
(8)
$${\text{ST}}_{i + 1} \ge {\text{ST}}_{i} + \sum\limits_{o = 1}^{O} {{\text{RL}}_{o} \times X_{io} ,\quad i = 1,2, \ldots ,I - 1}$$
(9)
$${\text{CT}}_{i} = {\text{ST}}_{i} + \sum\limits_{o = 1}^{O} {{\text{DR}}_{o} \times X_{io} ,\quad \forall i}$$
(10)

Equation (4) shows that one part i cannot be assigned to more than one machine. In Eq. (5), \({\text{CT}}_{o}\) shows completion time of order o and \({\text{DD}}_{o}\) is the corresponding due dates, \({\text{LT}}_{o}\) guarantees that lateness is a positive value. Equation (6) shows that demand of each part i must be satisfied. Total number of batches can be computed by Eq. (7). Equation (8) shows that starting time of an order o in sequence of part i must be synchronized with order release date. Equation (9) ensures that order production in sequence i + 1 can only be started once order in production sequence i is completed. Equation (10) represents completion time of order of part i.

Genetic algorithm

Genetic algorithm introduced by Holland was inspired by the concept of natural and biological evolution (Sivasankaran and Shahabudeen 2014). GA has proven a powerful tool for finding the near optimal solution of combinatorial problems that cannot be handled by exact methods due to their complexity (Zandieh et al. 2010). To apply genetic algorithm to solve real life optimization problems, two basic issues must be addressed: (1) Encoding the solution in the form of chromosomes and (2) fitness function evaluation (Hsu et al. 2005). In GA, the chromosomes encode candidate to find optimum results. Each result is represented by binary numbers as a string of 0 and 1 but other types of encodings are also possible in the GA (Chan et al. 2006). Brief description of the GA implementation procedure is presented in the following section.

GA implementation

Chromosome representation

A chromosome consists of a set of locations known as genes that assume discrete values pertaining to the problem’s solution. Each gene represents a job number. Initial job sequence is generated randomly. Each chromosome represents a feasible solution. Chromosome representation is shown in Fig. 2.

Fig. 2
figure 2

Chromosome Representation

Initial population

In this stage, an initial population is created consisting of N chromosome as shown in Fig. 3. Each chromosome represents a potential solution. The greater the size of population, the more chances are to get better solution.

Fig. 3
figure 3

Initial Population of N chromosomes

Fitness function evaluation

Each chromosome is evaluated against fitness function. Fitness function minimizes maximum lateness and completion time. Fitness function of each chromosome is calculated to choose best parents among all other chromosomes.

Crossover and mutation

Chromosomes from the population are then selected for reproduction. For crossover, the population is paired into even number by dividing the population by two. Chromosomes having the best fitness function value have greater probability to be selected for reproduction. Chromosomes of worst fitness value are discarded. Crossover method adopted in this paper is elaborated with an example. Demand of each part in an order is A = 15, B = 10, C = 10, D = 10, E = 15 and batch size is 5. The number of batches of each part is given as A = 3, B = 2, C = 2, D = 2, E = 3. The base sequence is AAABBCCDDEEE. For crossover, each pair has two sequences of parts and a random position is selected for partition as shown in Fig. 4.

Fig. 4
figure 4

Representation of crossover operator

Offspring 1 is produced by taking left portion of parent 1 as it and for right portion, parts from parent 2 are selected in such a way that feasibility of each part batches does not violate. Similarly, offspring 2 is produced. Mutation process is used to increase diversity of solution and it helps to explore search space for global optimization. Mutation rate used is 20%, which means that 0.2 of total genes in the population will be mutated. Mutation of offspring 1 is shown in Fig. 5. The procedure of genetic algorithm is shown in Fig. 6.

Fig. 5
figure 5

Representation of mutation operator

Fig. 6
figure 6

Procedure of Genetic Algorithm

Results and discussion

To apply GA, a random schedule is generated with different processing time of parts on machines as shown in Table 3. Each part has a predefined sequence of operations to be followed. A sequence-dependent setup is required each time a part changes in an FMS. The sequence-dependent times are shown in Table 4.

Table 3 Processing time of parts on machines
Table 4 Sequence-dependent setup times

In MTO system, several customers’ orders with order date, order quantity and due dates are received. There are total five orders with different order requirements. For example, order 1 is placed on 4rth of the month and its expected duration and due date is 3 and 12 days, respectively. Quantity of each part is also given. Complete details of these orders are shown in Table 5.

Table 5 The details of the orders of the customers

Optimization of lateness

At the first stage, scheduling is addressed to optimize total lateness and penalty costs of all orders. The objective function for lateness minimization is coded in MATLAB using and optimized using GA. The coded program is run ten times and best results are achieved. The parameters values used for the GA are listed in Table 6.

Table 6 Parameters values used in the GA

The optimum sequence achieved using the GA is 2–1–3–4–5. Total lateness is 1 day and the corresponding penalty cost is $300/day. Only order 4 is exceeding its due date by 1 day. This due date can be adjusted by negotiating with customers or improving the time study data to minimize its expected duration. The scheduling results are summarized in Table 7.

Table 7 Optimal scheduling of orders using the GA

In the second stage, the effect of batch size is investigated on total completion time of jobs. Three strategies are opted and then compared to analyze its effect on completion time. The strategies considered are: (1) Constant batch size, (2) Minimum Part Set, and (3) Variable batch size.

Effect of constant batch size on total completion time

To investigate the effect of batch size on completion time using GA, order 2 is chosen. The rest of the orders can be evaluated in the same way. Constant batch size of 5 and 10 is considered for each part. The number of batches of each part is represented as {A = 2). For batch size of 5, the number of batches for order 2 is represented as {A = 4, B = 2, C = 6, D = 2 E = 4}. After completion of each batch, a setup is required to change the workstation settings and tools for the next batch. Sequence-dependent setup times, which are more realistic to the actual production environment, are considered. The batch size of each part, processing times and sequence-dependent setup times are imputed in the MATLAB. Completion time and setup time are conflicting objectives. The results of the first scenario in which batch size is taken as 5 are represented in Table 8. Optimum batch sequences, corresponding completion time, and setup time are also given. It can be seen from the Table 8 that as the completion time increases, setup time decreases and vice versa. To get one optimal solution for such conflicting objectives is not possible. Therefore, a set of solutions known as Pareto optimal solutions exist for such kind of problems and solutions need to tradeoff between these two conflicting objectives. The tradeoff solution for batch size of 5 is the first sequence as completion time is more significant to meet due dates.

Table 8 Scenario#1: Effect of batch size on total completion time and setup time

For second scenario, experimentation is performed to observe larger batch size effect on completion time and setup time. For this case, batch size is taken as 10 for each part and the results are summarized in Table 9. Larger batch size gives better results of completion time and setup time as compared to smaller batch size of 5. Now, the minimum completion time is 362, which is lower than scenario 1. Sequence-dependent setup times are also significantly reduced. The tradeoff solution by comparing the scenario 1 results is the first sequence having completion time of 362 and setup time as 78 min.

Table 9 Scenario #2: Effect of constant batch size on total completion time and setup time

Effect of minimum part set strategy on total completion time

The Minimum Part Set strategy is used in flexible production systems to deal with variety of different parts simultaneously. Mixed model production systems possess soft flexibility of different part styles and mid volume production. In mixed model systems, different parts can be processed on the same machine with small changeovers. For the FMS, MPS strategy is investigated to analyze its effect on completion time by considering sequence-dependent setup times. MPS demand is obtained by dividing each part original demand by highest common divisor (h). For example, demand of order 2 is {A = 20, B = 10, C = 30, D = 10, E = 20} and h is 10. The MPS demand for order 2 is {A = 2, B = 1, C = 3, D = 1, E = 2} and MPS sequence is AABCCCDEE. To determine the completion time and setup time for complete order 2, results are multiplied with h. The completion time and sequence-dependent setup times are solved as multi objective as both are conflicting objectives. The program is run ten times and best sequence results are shown in Table 10.

Table 10 Effect of MPS strategy on total completion time

The results show that completion time and setup times are conflicting objectives. Optimization of one objective is giving significant results but at the same time, other objective is not giving better results, as it can be seen for sequences 1–5. As completion time decreases, setup time increases and vice versa. To determine the tradeoff point, each obtained sequence is repeated h times to get total objective functions values for order 2. The results are listed in Table 11.

Table 11 Total completion time and setup time for complete order

The results show that as completion time decreases, setup times drastically increase. The reason is that, in MPS strategy, a great number of setups are required as compared to batch production. For the sequence 3, completion time is 378 while setup time is 540 min. Even for the tradeoff solution, setup times are much higher than constant batch size results.

Effect of variable batch size on total completion time

Effect of constant batch size and MPS strategy has been investigated in previous sections. In this section, batch size is considered as control variable to analyze its effect on completion time and setup time. For each part in order 2, lower bound and upper bound values of batch size are defined as {lb = 1, ub = 10}. The objective is to optimize batch size by minimizing conflicting objectives. The obtained optimum batch size and the number of batches are represented as {A = (1,20), where 1 means that batch size is 1 and 20 means total number of batches of part A. Similarly, other part’s batch size and total batches are represented in Table 12.

Table 12 Results of variable batch sizes

The optimum sequences of variables batch sizes listed in Table 12 are the best solution obtained in each run while all Pareto solution of variable batch sizes are shown graphically in the Fig. 7. Each sequence is represented by a different color and the best solution of each sequence is represented in graph by a relatively larger size solid circles. The results show that the optimum solution among all sequences is of sequence 1 which is composed of batch size A = (1,20) B = (2,5) C = (5,6) D = (10,1) E = (2,10).

Fig. 7
figure 7

Pareto Solutions of all variable batch sizes

Comparison of three strategies of batch size

The effect of batch size on completion time and setup time has been investigated and elaborated in previous sections. In this section, each of the strategy results is compared to conclude which batch strategy should be opted in an FMS. All three strategies are represented graphically in the Fig. 8. Constant and variable batch size strategy shows a similar behavior for setup time based on the best value. However, completion time is minimum for variable batch size scenario. The MPS strategy shows abnormal results as compared to other strategies and values of completion time and setup time are too high. Comparing all three scenarios, variable batch size shows the minimum completion time of 353 min and setup time of 78 min. Therefore, it is recommended to use variable batch size strategy to have the flexibility to opt different batch size of each part to meet completion time as well as setup time reductions.

Fig. 8
figure 8

Comparison of three batch size strategies

Conclusion

This research has presented an effort to optimize scheduling with objective of minimizing lateness and penalty costs in an FMS. To fulfill on time delivery of orders, the suitable batch size strategy selection and execution is significant as batch size directly affects completion time. Different batch sizes yield different completion time and sequence-dependent setup times. Multi-objective Pareto optimization using GA is performed to investigate and compare the results of three batch size strategies: (1) constant batch size of 5 and 10. (2) MPS strategy (3) variable batch size. In first scenario, the batch size of each part is kept 5 and then 10. The larger batch size shows better results. Then, MPS strategy is addressed and results show that setup times are too high for the minimum value of completion time. In the last scenario, variable batch size is used to optimize conflicting objectives. All possible batch sizes of each part are evaluated using the GA and five best results are discussed. The results show that variable batch size strategy exhibits superior results as compared to constant and MPS batch size strategies. This work significantly contributes to an FMS to opt suitable batch size strategy in various demand patterns.