A real-time order acceptance and scheduling approach for permutation flow shop problems

A real-time order acceptance and scheduling approach for permutation flow shop problems

ARTICLE IN PRESS JID: EOR [m5G;July 1, 2015;19:8] European Journal of Operational Research 000 (2015) 1–16 Contents lists available at ScienceDire...

733KB Sizes 1 Downloads 42 Views

ARTICLE IN PRESS

JID: EOR

[m5G;July 1, 2015;19:8]

European Journal of Operational Research 000 (2015) 1–16

Contents lists available at ScienceDirect

European Journal of Operational Research journal homepage: www.elsevier.com/locate/ejor

Production, Manufacturing and Logistics

A real-time order acceptance and scheduling approach for permutation flow shop problems Humyun Fuad Rahman∗, Ruhul Sarker, Daryl Essam School of Engineering and Information Technology, University of New South Wales, Canberra, ACT 2600, Australia

a r t i c l e

i n f o

Article history: Received 4 June 2014 Accepted 8 June 2015 Available online xxx Keywords: Real-Time multiple-order scheduling Flow shop scheduling Random order arrival Genetic algorithm Memetic algorithm

a b s t r a c t The Permutation Flow Shop Scheduling Problem (PFSP) is a complex combinatorial optimization problem. PFSP has been widely studied as a static problem using heuristics and metaheuristics. In reality, PFSPs are not usually static, but are rather dynamic, as customer orders are placed at random time intervals. In the dynamic problem, two tasks must be considered: (i) should a new order be accepted? and (ii) if accepted, how can this schedule be ordered, when some orders may be already under process and or be in the queue for processing? For the first task, we propose a simple heuristic based decision process, and for the second task, we developed a Genetic Algorithm (GA) based approach that is applied repeatedly for re-optimization as each new order arrives. The usefulness of the proposed approach has been demonstrated by solving a set of test problems. In addition the proposed approach, along with a simulation model, has been tested for maximizing the revenue of a flow shop production business under different order arrival scenarios. Finally, a case study is presented to show the applicability of the proposed approach in practice. © 2015 Elsevier B.V. and Association of European Operational Research Societies (EURO) within the International Federation of Operational Research Societies (IFORS). All rights reserved.

1. Introduction The Permutation Flow Shop Scheduling Problem (PFSP) is one of the challenging scheduling problems that occurs in the manufacturing industries. A conventional PFSP considers how to process n jobs on m machines. Each job has predefined tasks that are processed by a specific set of machines through a specific processing order. In solving PFSPs, makespan minimization is a common and popular measure of performance. The time difference between the start of the first job in the first machine, and the end of the last operation in the last machine, can be defined as makespan. In order acceptance and scheduling problems, the objective is to maximize the number of accepted orders, while minimizing the order completion times. PFSPs can be categorized as either single-order or multiple-order. In this research, we assume each order contains a certain number of jobs. The basic difference between a single-order and a multiple-order problem is that in a single order problem the decision maker has to determine an effective schedule for a single order (a given set of jobs in the order) on a set of machines with known sequence of operations and processing times. Whereas, in a multiple-order problem, the decision maker has to face a stream, or pool, of orders which are scheduled on a set of machines, where the scheduler has the option of accepting or rejecting the arriving orders (Slotnick, 2011). Besides,



Corresponding author. Tel.: +61 262688176 E-mail address: [email protected] (H.F. Rahman).

the single-order problem is static and the multiple-order problem is either static or dynamic. In a multiple-order static problem, the order arrival times and due dates are known well in advance. For static problems, either single or multiple-order, it is expected to solve a problem only once. However, in dynamic multiple-order problems, it is assumed that the order arrivals continue with time (on a real-time basis), and the problem is to select a set of orders that would be feasible for processing within the available shop capacity, and to determine an effective schedule for the jobs of those selected orders over a given period of time. In this case, the order selection must be done immediately after the arrival of any new orders, and the job schedule must be updated, if any order is accepted. Single-order PFSPs have been widely studied in the literature. First, in 1954, Johnson (1954) introduced the flow shop problem as an interesting scheduling problem and proposed a simple algorithm that guaranties the optimal solution for a two machines static flow shop problem, and for a special case with a three machine problem, in polynomial time. For solving PFSPs with three or more machines, many researchers used exact techniques such as mixed integer programming (Selen & Hott, 1986), and Branch and Bound (B&B) algorithms (Ignall & Schrage, 1965). However, as the single-order PFSP is NP Hard (when the number of machines is three or more) (Garey, Johnson, & Sethi, 1976), researchers have focused on heuristic techniques (Ruiz & Maroto, 2005). Among recent heuristics, Nawaz et al.’s (Nawaz, Enscore, & Ham, 1983) NEH algorithm is regarded as one of the best constructive heuristics for solving static PFSPs. However, it still deviates by up to 7 percent from the known optimum for some

http://dx.doi.org/10.1016/j.ejor.2015.06.018 0377-2217/© 2015 Elsevier B.V. and Association of European Operational Research Societies (EURO) within the International Federation of Operational Research Societies (IFORS). All rights reserved.

Please cite this article as: H.F. Rahman et al., A real-time order acceptance and scheduling approach for permutation flow shop problems, European Journal of Operational Research (2015), http://dx.doi.org/10.1016/j.ejor.2015.06.018

JID: EOR 2

ARTICLE IN PRESS

[m5G;July 1, 2015;19:8]

H.F. Rahman et al. / European Journal of Operational Research 000 (2015) 1–16

problems (Ruiz & Maroto, 2005; Taillard, 1990; Zobolas, Tarantilis, & Ioannou, 2009). This heuristic is based on the idea that longer jobs in the sequence should be processed as early as possible in the schedule. To improve the solution quality of PFSPs, researchers have switched their attention to metaheuristics, such as the Simulated Annealing (SA) algorithm (Ogbu & Smith, 1990; Osman and Potts, 1989), Cuckoo search algorithm (Dasgupta & Das, 2015), Genetic Algorithms (GAs), including Hybrid GAs (Murata, Ishibuchi, & Tanaka, 1996; Rahman, Sarker, & Essam, 2013; Ruiz, Maroto, & Alcaraz, 2006; Tseng & Lin, 2009; Zobolas et al., 2009), Ant colony algorithms (Rajendran & Ziegler, 2004), particle swarm optimizations (Tasgetiren, Liang, Sevkli, & Gencyilmaz, 2007), tabu search (Grabowski & Wodecki, 2004), and differential evolution (Onwubolu & Davendra, 2006). From the computational results provided in the literature, the hybrid metaheuristics, in general, show promising performance. Many manufacturing firms receive a stream of orders (or a certain pool of orders) from which certain orders may be accepted and scheduled with respect to the available production capacity (Slotnick, 2011). If a firm either accepts a new order without checking its feasibility for on-time completion, or cannot schedule all the accepted orders for on-time completion, it will produce a poor production plan that would lead to reduced revenue (Guerrero & Kern, 1988). The order acceptance/rejection problem has been studied mainly in a single machine environment as a static problem, where the order arrival times are known well in advance (Lewis & Slotnick, 2002; Rom & Slotnick, 2009; Slotnick & Morton, 1996, 2007). A brief review of the single machine static acceptance/rejection problem is provided here. Slotnick and Morton (1996) proposed an integer programming algorithm with the objective of maximizing the profit. Lewis and Slotnick (2002) applied dynamic programming for a multi-period job selection process where job rejection involves future loss of customer. Slotnick and Morton (2007) later extended the problem of (Lewis & Slotnick, 2002; Slotnick & Morton, 1996) for limited capacity. In their work, a branch and bound algorithm was proposed to deal with order acceptance decisions and several heuristics were used to sequence the jobs to minimize weighted tardiness. Rom and Slotnick (2009) extended the previous approach of order acceptance and scheduling decision with lateness penalties (Lewis & Slotnick, 2002; Slotnick & Morton, 1996) and weighted tardiness (Slotnick & Morton, 2007). They proposed a GA which minimized weighted tardiness, and it performed well with respect to a previously proposed heuristic (Slotnick & Morton, 2007), even though it took more time in computation. Nobibon and Leus (2011) considered a problem where a company has to select orders from a pool of firms planned orders, as well as any other demanded orders. Wang, Zhu, and Cheng (2015) studied a subcontracting price scheme for the static order acceptance and scheduling problem in a single machine environment. The multi-order static problem has also been studied in a multiple machines environment (Chen, Mestry, Damodaran, & Wang, 2009; Pourbabai, 1989; Roundy et al., 2005; Wang, Huang, Hu, & Cheng, 2015; Wang, Xie, & Cheng, 2013a , 2013b). Wang et al. (2013a) developed a modified artificial bee colony algorithm for solving the order acceptance problem in two machine static multiple-order PFSPs. Wang et al. (2013b) proposed a B&B algorithm and a heuristic to solve the order acceptance problem in two machine static multiple-order PFSPs. Xiao, Zhang, Zhao, and Kaku. (2012) studied a static multiple-order PFSP with order acceptance and weighted tardiness problems. Lin and Ying (2015) proposed a multi-initiator SA for the same problem, and the experimental results showed that the proposed algorithm outperforms Xiao et al. (2012)’s approach. In both studies, each order contained a single job and at the beginning of the planning period, the firm received a pool of candidate orders with known arriving times, order compositions, and due dates. Wang, Huang et al. (2015) proposed a Lagrangian relaxation technique based exact algorithm, and two heuristics to solve the order acceptance problem in a static multiple-order two identical parallel machine problem. Chen et al. (2009) addressed static

order arrival in a job shop environment by using a mixed integer programming approach for smaller problems, and a B&B algorithm with Lagrangian bounds and approximate branching features for larger problems. Pourbabai (1989) developed a model to identify potential orders, order splitting considering due dates, and job set up, and scheduled jobs using a dispatch rule based on order availability and due dates on a multiple machine environment where the machines are grouped into cells (group technology concept). Roundy et al. (2005) considered a job shop environment, in which an order is accepted, if it can in any way be inserted into the current schedule. They developed both a single machine heuristic, as well as meta-heuristics (tabu search, GA, SA), to solve the problem. There are a few studies that have considered dynamic order arrival in a single machine environment. Wester, Wijngaard, and Zijm (1992) studied the relationship between three different order acceptance strategies: order acceptance based on the knowledge of previously accepted orders, order acceptance based on the total workload of all accepted orders, and order acceptance based on the aggregated load profile of accepted orders, and scheduling jobs to maximize the utilization of capacity. In this case, the authors found that using knowledge of the current production schedule when generating new schedules because of new order arrivals, was superior over the other two approaches. Duenyas and Hopp (1995) considered that order arrival and processing times were stochastic. In that study, an arriving order was only rejected if it was beyond the customer’s tolerance limits. Later, Duenyas (1995) extended the work of Duenyas and Hopp (1995) to consider customer quoted due dates. The next level of complexity is dynamic order arrival in a multiple machine environment, which is closer to the research presented in this paper. There is no doubt that this topic is much more complex and has more synergies with practical situations. Nandi and Rogers (2004) proposed simulation based order acceptance and scheduling decisions for two product types (regular and urgent), with profit maximization as the objective in a four stage hybrid flow shop environment. The order acceptance was done by pair look simulation (based on the total contribution in companies profit, if an order arrives and whether it is accepted or rejected), and scheduling was done by minimizing the amount of slack per operation remaining. Rogers and Nandi (2007) used a simulation tool to maximize the profit with a fixed capacity in a four stage hybrid flow shop. The scheduling was done by using dispatching rules (first come first serve rule, earliest due date, minimum slack per operation remaining). Moreira and Alves (2009) also used simulation to investigate multiple decision making (order acceptance, due date adjustment, order releasing and scheduling) in a job shop environment to improve lateness penalties and workload performance. Scheduling was generated by using both the earliest due date rules and also the first come first serve rules. Tang, Liu, and Liu (2005) proposed a neural network that integrated six priority rules, for the hybrid dynamic flow shop problem with the objective of minimizing the average flow time, average number of tardy jobs, and average tardy time. In that work, jobs arrival (each order containing a single job) was assumed to follow a Poisson distribution. Kang, Duffy, Shires, Smith, and Novels (2014) developed an integrated approach, based on the concept of advanced planning and scheduling, with a closed looped methodology for Lean-scheduling of practical dynamic semiconductor and cable manufacturing environments. Pinedo (2012) criticized that most of the theoretical models for multiple machine scheduling made an assumption of scheduling an n set of jobs in an m set of machines, while in an actual manufacturing environment, the jobs of an order may be processed at any specific time, because orders may be placed by the customers at any point in time, i.e. new orders arrive in the system randomly. Machine and resource availabilities also change with time (Schmidt, 2000). The static single-order and static multiple-order PFSPs thus ignore the status of the manufacturing shop floor. In addition, each order has

Please cite this article as: H.F. Rahman et al., A real-time order acceptance and scheduling approach for permutation flow shop problems, European Journal of Operational Research (2015), http://dx.doi.org/10.1016/j.ejor.2015.06.018

JID: EOR

ARTICLE IN PRESS

[m5G;July 1, 2015;19:8]

H.F. Rahman et al. / European Journal of Operational Research 000 (2015) 1–16

customer or manufacture specified due dates, within which it should be processed and delivered to a customer. Considering all these conditions, it may be feasible to accept all the orders that arrive at a manufacturing firm. On the other hand, frequent order rejection will diminish a Company’s goodwill. So an effective approach is necessary to deal with this situation. Although the order acceptance/rejection decisions and scheduling decisions are interdependent, in multiple machine environments where orders arrive dynamically, almost all previous research considered the order acceptance/rejection decision and scheduling decisions separately. In this research, we have considered a real-time multiple-order PFSP, where the orders are placed with a flow shop at random time intervals. In this case, each individual order can be thought of as being similar to a static single-order PFSP, but with no prior knowledge about the order compositions, due dates and arrival time. Each order has a customer or manufacturer specified due date (or delivery date). If the inter-arrival time of orders is greater than the makespan (calculated under a static single-order PFSP scenario) of the previously accepted orders, then the schedule generated for their static single-order PFSPs can be implemented without any alteration. However the situation is different when their processing times overlap. In such cases, it may not be feasible to accept all the arrival orders while satisfying production capacity and due date constraints. The production scheduler has to make two decisions: (i) is it possible to accept a new order? (ii) if the processing time of a new order overlaps with the other orders; how should the order be scheduled? The first decision depends on the orders already accepted, orders under process, and the availability of resources to process the new order. The second decision can be made in two ways. (i) Each order can be assumed as a static single-order PFSP and the order can block the machines for the time slot equal to their makespan. Each new accepted order should then be scheduled immediately after finishing the orders currently under process. That means new orders will be scheduled by shifting them to the right of the schedule. Such an approach is known as the Right Shifting (RS) strategy. (ii) This strategy intends to utilize any free machines, instead of blocking all machines for a certain period of time that is equal to the makespan of each individually accepted order. For example, the current order or orders may finish processing in the first machine, or the first couple machines while a new order has been accepted. The newly arrived order can then start processing in the first machine. After processing in the first machine, the second or third machine may not be available immediately. In that case, the order may have to wait in a queue until the following machine is free. But the immediate start of an order has the benefit of finishing the order early, as well as of increasing the chance of accepting upcoming orders by the same facility. This advantage can be taken by rescheduling the order while considering the individual machine availability constraints. In this paper, a GA based Memetic Algorithm (MA) for rescheduling an order in real-time has been developed. We introduce this as the Real-Time (RT) strategy. There is no standard benchmark available for the real-time multiple-order PFSPs. For experimentation, we have chosen 40 instances of 10 machine PFSPs from the standard Taillard’s benchmark (Taillard, 1993). We then generated random interarrival times and due dates for arriving orders. To judge the quality of the solutions, we compare with the upper and lower bounds of possible solutions. The experimental results show the benefits of the proposed algorithm. As a consequence of the variability in the interarrival times of new orders and their due dates, and production capacity, it may not be feasible to accept all arriving orders. However, it may be profitable to accept some tardy orders, with an agreed tardiness penalty, if they are completed within a given tardiness limit. To examine the possibility of accepting tardy orders, we have developed a simulation model for experimenting with different level of tardiness limits. This approach shows interesting results. Finally, to demonstrate the usefulness of the developed approaches in practice,

3

we have presented a brief case study of a Sanitaryware production system. The proposed approaches will provide numerous advantages over the existing methodologies, such as better production capacity utilization, higher financial return, higher organization satisfaction, higher customer satisfaction and real-time decision making. This paper is organized as follows: after the Introduction, the problem definition and necessary assumptions have been provided in Section 2. Section 3 describes the proposed algorithm for solving single-order PFSPs, as well as two new strategies for real-time multiple-order order acceptance and scheduling for a Permutation Flow Shop. Section 4 provides an experimental study for static singleorder and real-time multiple-order PFSPs. In Section 5, a simulation model has been presented for studying the influence of tardiness in accepting new orders. A case study on a Sanitaryware production system has been presented in Section 6. In the final section, conclusions are given. 2. Problem definition and assumptions In this section, the static single-order and the real-time multipleorder PFSPs are briefly defined. 2.1. Single-order PFSP In this problem, it is assumed that a single-order contains a set of finite jobs n that are to be processed in a finite set of m machines with the same processing sequence. The processing time pi, j of job j (j = 1,2,3, … , n) on each machine i (i = 1,2,3, … , m) is known in advance. Here, π = (π 1 , π 2 , … , π n ) is the permutation of n jobs and C(i,j) represents the completion time of job j on machine i. The competition time of the last job on the last machine (i.e., makespan) can be calculated as follows.

Makespan, Cmax (π ) = C (m, n )

(1)

So the objective is to identify a job sequence, π ∗ so that

Cmax (π ∗ ) ≤ Cmax (π )∀π ∈ 

(2)

π∗

where,  is the set of all feasible job sequences, and is the best schedule achieved by the algorithm. C(m, n) is the completion time of the nth job in the mth machine. The following assumptions are made for the single-order PFSPs. •

• •

• •



The processing time of each job on each machine is known well in advance. Each machine can process only one job (of an order) at a time. Each job should follow the same predefined processing sequence of machines. No interruption of processing is allowed. Inventory costs of work-in-process and finished goods are not considered. Set up and transportation costs are negligible.

2.2. Real-Time multiple-order PFSP In practice, production occurs on a continuous basis and new orders are received while processing other orders on hand. However, in most cases, without prior knowledge new orders are placed by customers on a real-time multiple-order basis. In defining Real-Time multiple-order PFSPs, the following assumptions are made. • •

• • •

The order arrives randomly (no prior knowledge of arrival time). Each order may contain multiple jobs (similar to a single-order PFSP). The composition of each order is not known in advance. The due date of each job is provided by the customer. The manufacturer has the right to accept or reject any new order.

Please cite this article as: H.F. Rahman et al., A real-time order acceptance and scheduling approach for permutation flow shop problems, European Journal of Operational Research (2015), http://dx.doi.org/10.1016/j.ejor.2015.06.018

ARTICLE IN PRESS

JID: EOR 4

[m5G;July 1, 2015;19:8]

H.F. Rahman et al. / European Journal of Operational Research 000 (2015) 1–16

Accept Order Arrival

Schedule for Processing

Decision process for Acceptance/Rejection

Processing

Customer

Reject Order leaves the system Fig. 1. Order processing flow diagram. •

• • •

The completion of an accepted order, within the given due date, will have a positive impact on productivity. An order in process cannot be interrupted. Once an order is accepted, it cannot be later rejected. There may be a financial benefit for early completion, and a penalty may be imposed for tardiness.

The order processing flow diagram for Real-Time multiple-order PFSPs is presented in Fig. 1. In it, orders from customers are received by the system. The management then decides whether to accept or reject the new order. If a new job is accepted, it must be scheduled while considering the current jobs of the order/orders in the system, shop capacity, and the due dates of all of the accepted orders waiting for processing. This means that some of the jobs of an order waiting for processing may be rescheduled. If the machines are available, an order may be processed immediately after being accepted. Otherwise the order waits in the queue according to the generated schedule. After the completion of each order, it is delivered to the appropriate customer. Alternatively, if a new order cannot be completed by meeting its due date, then it should be rejected. A rejected order leaves the system immediately. The parameters and performance measures for real-time multiple-order PFSPs are as follows.

Fjh – the finishing time of the last job of order h on machine j The makespan of an individual order, h, can be determined as the h . The makespan of an equivalent static single-order PSFP, which is Cmax h , can be expressed as completion time for that order, Ccom (3)

where, the start time of the first job of the first order (start of production shift) is S11 = 0

So the completion time for the first order is equal 1 1 = Cmax to its makespan, Ccom

(4)

The tardiness of an order is then: h Th = Ccom − −dh ,

h = 1, 2, 3, . . . , H and dh ≥ 0

Order h is accepted only if Th ≤ 0, or else it is rejected

∀h, j

Before we propose a solution approach for real-time multipleorder PFSPs, we will consider the solution approaches used for singleorder PFSPs. Although heuristics and metaheuristics are both popular, metaheuristics have been found to be relatively better performing algorithms for single-order PSFPs. In this research, we first developed a Genetic Algorithm (GA) based Memetic Algorithm (MA) approach for solving single-order PFSPs with an objective of minimizing the makespan of a single-order. We later extended the algorithm for dealing with real-time multiple-order PFSPs. The extended algorithm helps to reduce the completion time of each order (with respect to the production capacity constraints and due dates) and increases the number of accepted orders (reduces the number of rejected orders). 3.1. Single-order PFSP

3.1.1. Chromosome representation and initial generation In a GA, chromosomes can be represented by binary, integer or real numbers. For PFSP, using an integer representation of the job sequences representation is most popular. Traditionally, the initial population in GA is generated randomly. But in PFSP, random initialization may not help to achieve a quality solution within reasonable times. We have proposed to have certain non-random individuals in the initial population, where those individuals are generated by using the NEH heuristic and Johnson’s algorithm. In the first case, some individuals are generated by randomly swapping two jobs from the NEH heuristic’s solution. In the second case, because more than two machine flow shop problems can be divided into multiple two machine flow shop problems, and these problems can be optimally solved by Johnson’s algorithm, a certain percentage of the initial population is generated using both this and the previous method. The rest of the individuals are randomly generated.

(5) (6)

In any machine, the (h+1)th order cannot be started until the hth order has been finished. In this case, the following condition must be satisfied.

Sh+1 ≥ Fjh j

3. Solution approach

GA is a popular stochastic global search algorithm for finding either optimal or near optimal solutions for complex optimization problems. GA starts with a set of initial solutions, known as its population, and the solutions are then altered using the search operators (such as crossover and mutation), until its stopping criteria are met. The individual solutions are represented what is known as a chromosome. The details of the chromosome, search operators, and parameters used for the GA in solving static PFSPs, are briefly discussed below.

h – index for an order i – index for a job in an order h j – index for a particular machine phij – processing time of job i (of order h) on machine j nh – number of jobs in order h m – number of machines in the flow shop h – makespan for order h Cmax h – completion time for order h Ccom dh – customer specified due dates (or delivery time) Th – tardiness of order h H – number of orders that arrive in one production shift Shj – the starting time of the first job of order h on machine j

h h Ccom = S1h + Cmax

The objective of the real-time multiple-order PSFP, is to maximize the number of accepted orders (in order to maximize productivity), for a given period of time, while satisfying the constraints described above.

(7)

3.1.2. Selection technique and enhancement in population Traditional tournament selection is used to select parents from the selection pool. We also replaced parents directly with their offspring. In a heavily constrained combinatorial optimization problem, it is common to produce many duplicate individuals, which can cause stagnation in local optima. To solve this problem, in every generation, newly generated random individuals replace any duplicate ones. It is

Please cite this article as: H.F. Rahman et al., A real-time order acceptance and scheduling approach for permutation flow shop problems, European Journal of Operational Research (2015), http://dx.doi.org/10.1016/j.ejor.2015.06.018

JID: EOR

ARTICLE IN PRESS

[m5G;July 1, 2015;19:8]

H.F. Rahman et al. / European Journal of Operational Research 000 (2015) 1–16

important to note that different sequences may have the same fitness value (Ruiz et al., 2006), so by duplication we strictly mean the same job sequence. Also, if the evaluation process stagnates into the same solution for some generations, a restart scheme (Rahman et al., 2013; Ruiz et al., 2006; Zobolas et al., 2009) has been implemented. For this, if the makespan stagnates for a certain number of generations, all members are classified into three sections, best 5 percent, middle 85 percent and worst 10 percent. The middle group is replaced by newly generated individuals through shift mutations of the top section. In this algorithm, an elitism strategy has been used to save and pass the fittest individuals from one generation to its next. 3.1.3. Crossover and mutation Similar Order Crossover (SJOX) (Ruiz et al., 2006) and shift mutation (Murata et al., 1996; Ruiz et al., 2006; Zobolas et al., 2009) have been selected as the reproduction operators, as they performed well in earlier experiments. In SJOX, the job sequence from each parent is inspected one by one. The same job in the same position from each parent is directly inserted into both offspring. Next, each offspring copies all of the other jobs from one of the parents up to a randomly chosen crossover point. For example offspring 1 inserts jobs directly from parent 1 and offspring 2 inserts jobs directly from parent 2. Finally, the missing jobs from each offspring are selected from the other parent and are inherited in the relative same job sequence of that parent. That is to say, offspring 1 inherits the missing job elements from offspring 2 and offspring 2 inherits the missing job elements from offspring 1. In shift mutation, a randomly selected job is inserted into a randomly selected position in the job sequence. Between these two points, each job is moved to its adjacent position in the job sequence. 3.1.4. Local search To achieve a quality solution within a reasonable amount of time, it is common to integrate a local search method within a GA. In the current algorithm, we have applied three stage local search methods. They are insertion neighborhood, gap filling, and a job shifting process. The individual which is selected for local search, initially goes through the insertion neighborhood search process, then through the gap filling process and finally through job shifting. •





Insertion neighborhood search: In PFSPs, insertion neighborhood performs satisfactorily as a local search (Osman and Potts, 1989; Ruiz et al., 2006; Taillard, 1990). For it, each job permutation has (n − 1)2 neighbors. So it checks each pair position, and if a better sequence is found, it then replaces the current best sequence. The process continues until all of the jobs have been selected and evaluated. Gap filling: In PFSPs, no inter-job gap is allowed in the first machine. But due to precedence constraints, there may be some gaps on the rest of the machines. The job schedule can be improved if these gaps can be minimized or removed. From preliminary experiments, it has been observed that if in a job sequence an interjob gap exists in the last machine, or the last couple of machines, the makespan of that sequence can often be improved by placing a job from the right of the gap location, into that gap. The process for this is: the total processing times for all jobs in the schedule is calculated and then the job which has the least total processing time is selected. The selected job is then placed in the gap. If such a movement improves the schedule then the new solution is accepted. If not, then the job whose total processing time is the second best in the schedule is tried. The trial is limited up to three times for each gap. After the gap identification, job selection and insertion, if the makespan improves then the new schedule is accepted. Job shifting: The makespan can often be minimized if the jobs with (a) longer processing time at the lower right-hand-side (last few machines) of the schedule, and (b) shorter processing time at the

5

upper left-hand-side (first or first few machines) of the schedule, can be shifted from the right hand side to the left hand side in the schedule as much possible. To do this, the ratio of processing times (processing time in the last machine and the processing time in the first machine) for all of the jobs in the sequence is calculated. Then if any of the three last jobs have one of the three highest ratios, then those jobs are then placed as early as possible in the sequence. 3.2. Real-Time multiple-order PFSPs In real-time multiple-order PFSPs, two important tasks are: (i) how to decide which orders are to be accepted or rejected and (ii) how to schedule the jobs in each order with respect to the available capacity. There have been a few studies where order acceptance/rejection decisions in multiple machine layouts (flow shop and job shop) have previously been considered. First, Nandi and Rogers (2004) proposed an order acceptance mechanism where an arriving order is accepted or rejected by comparing the profit of the current orders. Rogers and Nandi (2007) proposed an order acceptance/rejection rule that was based on the total workload (total processing time of each job in all machines), or the workload in the busiest machines. Moreira and Alves (2009) proposed order acceptance rules based on workload and negotiable due dates. After accepting an order, a scheduling was then generated by simple dispatching rules, namely least slack per remaining operations (S/OPN) (Nandi & Rogers, 2004; Rogers & Nandi, 2007), earliest due dates (EDD) (Moreira & Alves, 2009; Rogers & Nandi, 2007), and first come first serve rules (FCFS) (Moreira & Alves, 2009; Rogers & Nandi, 2007). In these papers, the order acceptance/rejection decisions and the scheduling decisions were made separately and sequentially. However, the overall system performance can be improved by integrating these two related problems. In this research, we first propose a heuristic based approach for the order acceptance/rejection decision. This approach is then integrated with the scheduling decisions. The integrated process thus selects a set of jobs that would be both feasible to process within the processing capacity, and that would do so by the customer specified due dates. 3.2.1. Acceptance/rejection decision The order acceptance/rejection decision is made when an order arrives to the manufacturing system. The decision depends on the start time, available shop capacity within the time window, completion time, and the due date of each order. An arriving order will only be accepted if it can be processed and completed by its specified due date. So a trial schedule has to be generated to make the acceptance/rejection decision. 3.2.1.1. Heuristic for order acceptance/rejection. The algorithm for the order acceptance/rejection decision can be described as follows. Assume O represents the total number of orders arriving in a proi is the completion time (time to complete) of duction shift and Ccom the ith order and di is the due date of that order. Also assume that Ti i is the tardiness of that order. The completion time, Ccom , is calculated based on the scheduling algorithm that will be discussed later in this paper. 1. Initialize the Orders and the Production Shift starts. Set order number, o = 1 2. Repeat until (o = O) i for an order i. A. Calculate Ccom i <= di ). B. Accept the order, if Ti ≤ 0 (Ccom C. Else Reject. D. Set, o = o + 1. [End of the step 2 Loop]. [End of the algorithm].

Please cite this article as: H.F. Rahman et al., A real-time order acceptance and scheduling approach for permutation flow shop problems, European Journal of Operational Research (2015), http://dx.doi.org/10.1016/j.ejor.2015.06.018

ARTICLE IN PRESS

JID: EOR 6

[m5G;July 1, 2015;19:8]

H.F. Rahman et al. / European Journal of Operational Research 000 (2015) 1–16

Order M (static PFSP)

Order N (static PFSP)

1 Machine

Machine

1

2

3

2

3

2

3

5

4

2

1

1

30 processing processing time time

processingtime time 30 processing

Worst case (Real-Time PFSP)

Right Shifting (Real-Time PFSP)

1 Machine

1 Machine

4

3

5

2

2

3

3 2

5

3

4

1 30

2

5

3

processing time

4

1

2

5

3

4

60

1

2

30

processing time

5

3

4

1 56

Fig. 2. Right Shifting (RS) strategy.

3.2.2. Scheduling decisions It may not be possible to process all new orders, immediately after their arrival, due to the machine availability constraints. If an order arrives at a time when at least the first machine is free, the order may start processing without interrupting the other orders being processed. If the first machine is not free when a new order arrives, or the order has to wait for processing on other machines, the scheduling or rescheduling of some or all of the accepted jobs (based on the conditions of that time) may be able to improve the system utilization. In this paper, we attempt to schedule or reschedule using two strategies, which are referred to as Right Shifting strategy and Real-Time multiple-order strategy. 3.2.2.1. Right Shifting (RS) strategy. In this approach, each accepted order is first considered as a single-order PFSP and the sequence of jobs is then generated by minimizing the makespan using a MA. Note that MA is a variant of GA that includes additional local search techniques. The accepted order is placed in the queue and it will start processing as soon as the first machine is free. In this case, the sequence of the jobs will follow the best job sequence of its single-order PFSP. Note that any number of accepted orders can be placed in the queue, and that each order contains a number of jobs. After processing a job of a particular order in one machine, it may need to wait for processing on the next machine, as the processing of an earlier order may not be completed by that time. That means, the job may need to shift to the right of the schedule and so may require more time than its single-order makespan for completion. To demonstrate the process, a simple example with a Gantt chart is shown in Fig. 2. In this example, we consider a 3 machine flow shop with 2 orders (say orders M and N). These orders (consisting of 5 jobs each) have different arrival times and due dates. In Fig. 2, the Gantt chart in the upper left hand corner represents order M. The single-order Makespan for order M is 30 and the job sequence is 2-5-3-4-1. The due date for order M is 48. Assume that order N arrives after 20 units of time from

the start of order M and has due date 58. The single-order makespan for order N is also 30 and the sequence of jobs is 2-5-3-4-1. The Gantt chart, in the upper right hand corner, of Fig. 2 represents order N. When order N arrives, order M is still in process. In the worst case scenario, order N can only start processing after completely processing order M. In that case, the sequence of jobs are taken from the best static schedule for order N, which gives the completion time of order N of 60 (=30 + 30) as shown in the lower left Gantt chart. Note that this is later than the delivery time. This scenario refers to the upper bound of the problem and will be referred to later. However, the overall processing time can be reduced by applying a simple strategy. For example, order N can start processing as soon as machine-1 is free from order M. However, when the first job of order N is completed on machine-1, machine-2 may not be available for processing order N. So the start time in machine-2 must be shifted to the right to generate a feasible schedule. Such shifting is known as the Right Shifting (RS) strategy. This process provides the completion time of 56 for order N (lower right corner in Fig. 2). This is basically a tighter upper bound than the worst case scenario discussed above. Further, as the given due date is 58, order N can now be accepted. 3.2.2.2. The algorithm with the RS strategy. The algorithm with the Right Shifting (RS) strategy can be described as follows. Let N be the total number of orders that arrive in a production shift. Also assume c is the current time of the clock and the due date of the nth order is dn . The algorithm must then determine the single-order makespan of the nth order (Cmax )n . For this, the start time of that order is Sn , the completion time is (Ccomp )n , and its tardiness, Tn . It must also calculate ti , which is the clock time when the first job of the ith order will start to be processed in the first machine. Also assume that Nacpt is the number of accepted orders per production shift. The algorithm starts at the beginning of the Production Shift, when the initial order arrives.

Please cite this article as: H.F. Rahman et al., A real-time order acceptance and scheduling approach for permutation flow shop problems, European Journal of Operational Research (2015), http://dx.doi.org/10.1016/j.ejor.2015.06.018

ARTICLE IN PRESS

JID: EOR

[m5G;July 1, 2015;19:8]

H.F. Rahman et al. / European Journal of Operational Research 000 (2015) 1–16

Order M (static PFSP)

Order N (static PFSP)

1 Machine

1 Machine

7

2

3

2

3

2

3

5

2

1

4

processing time 30

4

3

5

1

processing time

30

Real-Time Strategy (Real-Time PFSP) Worst case (Real-Time PFSP)

1

Machine

Machine

1

2

3

2

3

2

5

3

4

1 30

2

5

3

processing time

4

1

2

5

3

60

4

1 30

5

1

4

processing time

3

2 55

Real Fig. 3. Real-Time (RT) strategy. I. Set n = 1, Nacpt = 0, and clock t1 = 0 II. Repeat until n = N (up to the end of the production shift). A. update the clock, tn = c, and Sn = c B. Use MA to find the single-order makespan for the schedule of the job set of the current order. C. Revise the makespan (Cmax )n of the order depending on the current system state: a. If the nth order overlaps with the (n − 1)th accepted order, right shift the jobs of the nth order. b. Else, the makespan (Cmax )n is unchanged. c. Calculate the completion time, D. With respect to completion time, (Ccomp )n = Sn + (Cmax )n a. Calculate Tn, as Tn = (Ccomp )n − dn b. Store the completion time, (Ccomp )n , and the tardiness, Tn c. If Tn ≤ 0 i. Accept the order. ii. Nacpt = Nacpt + 1 d. Else, Reject the order. E. Set n = n + 1 [End of step II Loop] IV. Store, Nacpt (total number of accepted order in one production shift). [End of Algorithm]

3.2.2.3. Real-Time (RT) strategy . In this approach, similarly to the RS strategy, the new order is started as soon as the first machine is available. However, instead of using the best static schedule of order N and shifting any job of an order to the right due to machine unavailability, the jobs of order N are rescheduled while considering the machine availability/unavailability constraints. As shown in Fig. 3, order M has a makespan of 30 and its sequence is 2-5-3-4-1. Order N is processed in the first machine immediately after order M is completed in that machine. However, the new sequence of jobs for order N is generated while taking into consideration that some machines are available for only certain time windows (in this case, there is a strict lower bound for the starting time). For convenience of explanation, we refer to this process as Real-Time multiple-order strategy. Note that the static schedule is generated assuming all machines are un-

conditionally available. As a result, the new sequence of jobs from RT may differ from the single-order schedule. After rescheduling with the RT strategy, the completion time for order N is 55 and the job sequence is 5-1-4-3-2. Note that in this case the completion time with RT is shorter than it was for RS. 3.2.2.4. The algorithm with RT strategy. The MA based Real-Time (RT) strategy can be described as follows. Let the total number of orders that arrive in a production shift be N, and also assume that the number of accepted orders per production shift is Nacpt . Assume that c is the current time of the clock, the start time of that order is Sn , and that the due date of the nth order is dn . The algorithm must then determine the makespan of the nth order (Cmax )n , the completion time (Ccomp )n , and its tardiness, Tn . It must also calculate ti , the clock time when the first job of the ith order will start to be processed in the first machine. When the initial order arrives at the beginning of the Production Shift, the following algorithm starts. I. Set n = 1, Nacpt = 0, and clock t1 = 0 II. Repeat until n = N (up to the end of the production shift). A. update the clock, tn = c, and Sn = c B. Considering any machine availability/unavailability constraints, use MA to generate a schedule for the job set of the current order. C. Evaluate Tn with respect to its completion time, (Ccomp )n : a. calculate the completion time, (Ccomp )n = Sn + (Cmax )n b. calculate, Tn = (Ccomp )n − dn c. Save completion time, (Ccomp )n and tardiness, Tn d. if Tn ≤ 0. i. Accept the order ii. Nacpt = Nacpt + 1 e. Else, Reject the order. D. Set n = n + 1 [End of step II Loop] III. Save, Nacpt (total number of accepted orders in one production shift). [End of Algorithm]

Please cite this article as: H.F. Rahman et al., A real-time order acceptance and scheduling approach for permutation flow shop problems, European Journal of Operational Research (2015), http://dx.doi.org/10.1016/j.ejor.2015.06.018

ARTICLE IN PRESS

JID: EOR 8

[m5G;July 1, 2015;19:8]

H.F. Rahman et al. / European Journal of Operational Research 000 (2015) 1–16 Table 1 Comparisons between the algorithms (for single-order PFSP). Problem

Problem instance group

NEH

HGA_ RMA

PSOVNS

NEGAVNS

MA

20×5 20×10 20×20 50×5 50×10 50×20 100×5 100×10 100×20 200×10 200×20 500×20 Average

Ta001-010 Ta011-020 Ta021-030 Ta031-040 Ta041-050 Ta051-060 Ta061-070 Ta071-080 Ta081-090 Ta091-100 Ta101-110 Ta111-120

3.26 4.6 3.73 0.73 5.07 6.66 0.53 2.21 5.34 1.26 4.41 2.07 3.332

0.04 0.02 0.05 0.0 0.72 0.99 0.01 0.16 1.30 0.14 1.26 0.69 0.448

0.03 0.02 0.05 0.0 0.57 1.36 0.0 0.18 1.45 0.18 1.35 – 0.472

0.0 0.01 0.02 0.0 0.82 1.08 0.0 0.14 1.40 0.16 1.25 0.71 0.466

0.0 0.01 0.02 0.01 0.54 0.77 0.0 0.15 1.35 0.2 1.28 0.75 0.423

Bold values provide the better result of an algorithm or approach in comparison to other approach or approaches.

4. Experimental study 4.1. Single-order PFSPs We first implemented a MA for solving static PFSPs. That algorithm was coded in C++ and ran on a personal computer with an Intel core i7, 2.80 GHz processor and 4 GB RAM. For the single-order PFSPs, 120 standard benchmark problems from Taillard (1993) were tested to judge the performance (by minimizing the makespan) of the MA, by analyzing those results. 4.1.1. Selection of parameters The parameters were chosen based on our earlier study (Rahman et al., 2013). The population size was set to 100. The first member in each initial population was constructed by the NEH (Nawaz et al., 1983) algorithm, another 40 percent of the individuals were generated from the modified NEH (Nawaz et al., 1983) algorithm, 10 percent of the individuals were produced from the modified Johnson’s Algorithm (Johnson, 1954), and the remaining individuals were generated randomly. The selection pool size was limited to 5. The crossover probability was 90 percent and mutation probability was 60 percent. If the solution did not improve for 10 generations, then the restart mechanism was applied to escape from the local optimum. The local search process was applied to 30 members in each generation. The results of 10 independent runs were recorded and analyzed. 4.1.2. Results and discussions Our algorithm has been compared with four state-of-the art algorithms. These were: NEH (Nawaz et al., 1983) which is both simple and is one of the best constructive heuristics for static PFSPs. HGA_RMA (Ruiz et al., 2006) which is a powerful and robust hybrid GA for static PFSPs. NEGAVNS (Zobolas et al., 2009) that is another simple and robust metaheuristic algorithm which combines variable neighborhood search with GA, and lastly PSOVNS (Tasgetiren et al., 2007) is a Particle Swarm Optimization algorithm hybridized with variable neighborhood search. In Table 1, the average relative percentage of deviation (ARD) for each problem set for these algorithms has been tabulated. In Table 1, the results obtained by MA are compared with the above mentioned algorithms. The results show the average percentage of difference between the algorithms and the so far determined best makespan. The problem size (number of jobs × number of machines) is shown in the first column. The next column represents the problem instances, where each problem consists of a set of 10 different instances. The next five columns represent the average ARD (average of 10 independent runs) for each algorithm (note that NEH (Nawaz et al., 1983) is an exception because it is a deterministic algorithm, so the result for a single run has been listed). From Table 1, it is clear that in most problems our algorithm performs better than

the others, and in terms of overall average (reported in the bottom row), our algorithm shows the lowest deviation from the best known solutions. So we extended this algorithm for real-time multiple-order PFSPs, as discussed in the next section. 4.2. Real-Time multiple-order PFSPs For experimentation with real-time multiple-order flow shop scenarios, there are no benchmark problems available in the literature. Instead for this purpose the orders were generated randomly. To do this each order contains three pieces of information: (i) a randomly selected job from a pool of problem instances, (ii) a random arrival time of the order, and (iii) a random due date of the order. We have chosen a pool of 40 static problem instances (Ta011–020, Ta041–050, Ta071–080, Ta091–100) from Taillard’s Benchmark (Taillard, 1993). These all involve only ten machine problems. We have tested a total of 46 instances (40 instances for Scenario I, 4 instances for Scenario II and 2 instances for Scenario III). The problem scenarios are described later. To validate the solutions, we have derived an upper bound (UB) and a lower bound (LB) for the accepted orders. In deriving the UB and LB, we have made one basic assumption, that the shop may be left idle if there is no job to process. Depending on the assumptions, these bounds could be different. However, we have instead proposed a reasonable one for comparing the results. Suppose an order l with the arrival time of Atl has been accepted by some manufacturing firm. Also, suppose Ctl is the completion time of order l. If (Atl − Ctl-1 ) > 0, the machines will be idle for the (Atl − Ctl − 1 ) time period, which is between the completion time of order (l − 1) and the arrival time of order l. Let us define the positive time difference (TDl ) as follows.



l

TD =

At l − Ct l−1 ,

if (At l − Ct l−1 ) > 0

0

Otherwise

for all l ≥ 2

(8)

So the upper bound of completing L accepted jobs can be expressed as follows, because that is the worst case scenario for completing all of the accepted orders.

UB =

L  l=1

Cmaxl +

L 

T Dl

(9)

l=2

Here, Cmaxl is the makespan of the static PFSP problem for order l. If (Atl − Ctl − 1 ) < 0, order l may start processing as soon as machine-1 completes the order l − 1. Now, suppose (Atl − Ctl − 1 ) < 0, and order l starts processing just after completing order l − 1, and that will require a Cmaxl period of time for completing all the processes. Further assume that order l arrives just after completing order l − 1 on machine-1. This situation can be represented as the best case scenario for completing all of the accepted L orders. Now assume that Pt1l is the total processing duration required for order l on machine-1,

Please cite this article as: H.F. Rahman et al., A real-time order acceptance and scheduling approach for permutation flow shop problems, European Journal of Operational Research (2015), http://dx.doi.org/10.1016/j.ejor.2015.06.018

ARTICLE IN PRESS

JID: EOR

[m5G;July 1, 2015;19:8]

H.F. Rahman et al. / European Journal of Operational Research 000 (2015) 1–16

9

Table 2 Scenario I. Order no. Arrival time

1 2 3 4 5 6 7 8 9 10

Due date, d

0 360 4846 8638 13,882 15,991 19,112 20,764 23,051 25,101

Right Shifting (RS) strategy

6297 5984 8573 11,983 19,126 19,606 22,294 24,987 30,116 30,468

Real-Time multiple-order strategy

Order wise improvement

Completion time, Ccomp (RS)

Tardiness = Ccomp (RS) − d

Status Completion time, C (RT)

Tardiness = Ccomp (RT) − d

Status Ccomp (RS) − C comp (RT)

3006 5740 8436 11,644 16,888 19,624 22,307 24,997 27,680 33,093

−3291 −244 −137 −339 −2238 18 13 10 −2436 2625

A A A A A R R R A R

−3291 −266 −152 −339 −2238 −12 −6 −5 −2454 −112

A A A A A A A A A A

3006 5718 8421 11,644 16,888 19,594 22,288 24,982 27,662 30,356

0 22 15 0 0 30 19 15 18 2737

Status: A—accepted, R—rejected. Bold values provide the better result of an algorithm or approach in comparison to other approach or approaches.

and CPt1l is the time of completing order l on machine-1. Let us define the reduction in processing duration (RPTl ) as follows.



l

RPT =

Cmaxl − Pt1l ,

if (At l − Ct l−1 ) < 0 and At l = CPt1l

0

Otherwise

for all l ≥ 2

(10)

So the best case scenario, which represents the lower bound of completing all L accepted orders, can be expressed as follows.

LB =

L  l=1

Cmaxl −

L  l=2

RPT1l−1 +

L 

T Dl

(11)

l=2

4.2.1. Results analysis and discussion The experimental study has been carried out using the proposed algorithm with both the RS and RT strategies. The algorithm was coded in C++ and was run with a personal computer with a core i7 processor and 4 GB RAM. In the experimental study, we considered three different scenarios. In the first scenario, only one type (out of the 40 instances discussed earlier) of order was considered. In the second scenario, different types of orders were considered, where each order consisted of a fixed number of jobs (for example, n jobs). The third scenario considered different types of orders, with any number of jobs in each order. To demonstrate the applicability of the proposed algorithm, we considered 10 orders for Scenario I, and Scenario II and Scenario III both considered 25 orders. Table 2 presents the simulation results, for 10 orders under Scenario I, using both the RS and RT strategies, where each order contains a set of 50 jobs (problem instance Ta046). The first column shows the order number. The arrival time and the due date for each order are generated randomly and they are shown in the next two columns. These two time parameters are generated based on the current clock time. The column headed with completion time represents the time to complete each order in all machines. The next column shows the tardiness or earliness for each order. A negative value of tardiness means that the order completes before the due date and the order is accepted. A positive value of tardiness represents a delay in completing the order. As a result the order is rejected. The first order can start processing without any delay. The makespan of the first order will be the same as the single-order PFSP version of this problem instance for both the RS and RT strategies. The 2nd order arrives in the system when the first order is in process on the first machine. The total processing time for all jobs from the 1st order in the first machine is 2625 and the arriving time for the 2nd order is 360. So the 2nd order overlaps with the 1st order. The first machine starts processing the first job from the 2nd order at 2625. With the RS strategy, the completion time for the 2nd order is 5740. Whereas with the RT strategy, the completion time for the

2nd order is 5718. So the completion times for the 2nd order, with RT (rescheduling the sequence) gives 22 units of improved result over RS (schedule is shifted to the right). The 4th and 5th orders arrive in the shop when all their previous orders have finished processing by the machines. So there is no overlapping for the 4th and the 5th orders and so these orders can be considered as static PFSPs. However there is overlapping between the 5th and 6th orders in the first machine. In this situation, the completion time for the 6th order improves by 30 units of time by RT over RS. Similar situations arise for the 7th, 8th, 9th and 10th orders (that arrive in the system when their previous orders are still in process by the first machine). It is important to note, that out of 10 consecutive orders, RS allows the acceptance of 6 orders, whereas the MA based RT is able to accept all the orders. This is because with the RS strategy, overlapped orders block the overall capacity for a longer period, as their completion time is more than with the RT strategy. When multiple orders arrive in the shop within a short time interval, like the 2nd, 3rd, 7th, 8th, 9th and 10th orders; RT is more effective than RS. The simulation results for Scenario II (mixed order with the same order sizes) and Scenario III (mixed order with different order sizes) are presented in Appendix A. The effectiveness of each method (RS or RT) can be represented by the following equations:



Ns 

Average deviation from the UB, DU =



i=1

 Average deviation from the LB, DL =

Ns  i=1



UBi − Ri Ri

Ri − LBi LBi



/NS (12)

 /NS

(13)

where Ri is the makespan of the ith accepted order achieved by MA based RS or RT. NS is the total number of accepted orders by the particular technique (as the number of accepted orders may vary for both of the strategies). Table 3 represents a summary comparison between RS and RT, where the same types of orders arrive at the shop with random interarrival times. The first column of each table represents the number of jobs in each order. The columns headed with DU show the average improvement from the worst case (i.e. deviation from the UB) for 10 different problem instances after applying RS and RT. The bigger values mean more improvements. The following columns represent the deviation from the LB i.e. if the processing times are overlapping, how quickly the orders can be processed by the machines. Even though in the LB calculation we ignored the violation of resource availability constraints i.e. it is not possible to start an order before that time. From all the results, it is clear that in almost all cases RT has better solutions (bigger values in terms of DU and smaller values in terms of DL ). The last two columns represent the number of accepted orders

Please cite this article as: H.F. Rahman et al., A real-time order acceptance and scheduling approach for permutation flow shop problems, European Journal of Operational Research (2015), http://dx.doi.org/10.1016/j.ejor.2015.06.018

ARTICLE IN PRESS

JID: EOR 10

[m5G;July 1, 2015;19:8]

H.F. Rahman et al. / European Journal of Operational Research 000 (2015) 1–16 Table 3 Same order. Problem size 20jobs 50jobs 100jobs 200jobs

DU

DL

Number of accepted orders

RS

RT

RS

RT

RS

RT

1.566026 0.3713685 0.16546857 0.11492327

2.045218 0.4072689 0.18658584 0.11501577

0.796381 0.24099229 0.17880491 0.06381179

0.501011 0.218244499 0.17248293 0.062574632

64 73 59 59

70 80 62 65

Bold values provide the better result of an algorithm or approach in comparison to other approach or approaches. Table 4 Mixed order with same order size. Problem size

DU

20jobs 50jobs 100jobs 200jobs

DL

Number of accepted orders

RS

RT

RS

RT

RS

RT

0.145812 0.070463 0.0204339 0.0274414

0.185154 0.0774516 0.0215277 0.0310825

0.054259 0.0435364 0.00742706 0.0049502

0.038151 0.0444811 0.00630862 0.00606717

14 10 7 13

17 12 7 12

Bold values provide the better result of an algorithm or approach in comparison to other approach or approaches. Table 5 Mixed order with different order sizes. Case

1 2

DU

DL

Number of Accepted Orders

RS

RT

RS

RT

RS

RT

0.292583 0.335286

0.144235 0.335857

0.0285443 0.00712116

0.0231372 0.00665912

19 25

21 25

Bold values provide the better result of an algorithm or approach in comparison to other approach or approaches.

by the RS or RT strategies. For each problem instance, 10 orders arrive with different inter-arrival times and due dates. For most of the cases, RT allows the same or greater numbers of orders to be accepted in comparison to the RS strategy. The detailed results of each problem instance are presented in Appendix B. Tables 4 and 5 illustrate a comparison between RS and RT for Mixed orders with the same number of jobs in each order (Table A.1 from Appendix A) and different numbers of jobs in each order (Table A.2 from Appendix A). The table representations are the same as for the tables described above. Each production shift contains 25 orders with different due dates (delivery) and inter-arrival times. In Table 5, a comparison between RS and RT is shown with respect to simulation results for two independent problem instances, namely cases 1 and 2. The tables also show the better performance of RT over RS. 5. Influence of Tardiness in Accepting new Orders In the previous two sections, we assumed that an order will be accepted if the facility has the capacity to process it within the customer specified delivery time. In this section, we have relaxed this condition and examined the effect of accepting tardy orders. To make this concept useful in practice, we have imposed a penalty cost for tardiness that is expressed as cost per unit tardiness time per order. Such a relaxation may allow us to accommodate more orders that may improve the overall financial performance of the company. In fact, it will make a compromise between idle capacity utilization and cost of tardiness for the company. In a similar fashion, depending on the customers’ desire, we can consider an earliness benefit if an order is completed ahead of its due date. For experimentation, we use different level of tardiness and examine its effect on revenue generation. It also helps to find the appropriate level of tardiness for order acceptance. In this research, we define h )) required to the level of tardiness as the additional time (= (δ ∗ Cmax

complete an order. A high value of δ will incur a higher penalty cost, and a small value of δ may force some of the tardy orders to be rejected. So a question arises of ‘what is the appropriate value of δ that would maximize the overall profit of the company’? To answer this question, in this research a simulation model has been developed. The simulation model is presented below. 5.1. Simulation model In this section, a simulation model has been developed to analyze the effect of δ on profit (or revenue) of the shop floor. In the model, an order h is accepted if it is completed within the extended due date. The extended due date is expressed as follows. h dh = dh + (δ ∗ Cmax )

Here, dh is the customer requested due date and dh

(14) is the extended

due date. So Eq. (5) can now be revised as follows. h Th = Ccom − −dh ,

h = 1, 2, 3, . . . , H and dh ≥ 0, dh ≥ 0

(15)

Here, we assumed that if an order is processed earlier than its due date, that there will be an earliness benefit for that order of, EBh = ebh ∗ Th , where, ebh is the earliness benefit per unit time per order. On the other hand, if an order is accepted that uses the extended due date, tardiness cost may be imposed on order. That cost will be, TCh = tch ∗ Th , where, tch is the tardiness cost per unit time per order. As (δ ∗ dh ) is the hypothetical duration over the actual due date, so the tardiness penalty will actually be imposed on the positive difference h and the customer specified due date, dh . Under this between Ccom situation, profit (or loss) earned by the company for a specific order can be calculated as follows, Ph (in $) = SPh + EBh − TCh − OLh . Here, SPh is the selling price of an order and OLh is the opportunity loss cost on an order h. Profit per order equals the financial gain from an order, plus the financial benefit earned from that order, minus the tardiness cost for

Please cite this article as: H.F. Rahman et al., A real-time order acceptance and scheduling approach for permutation flow shop problems, European Journal of Operational Research (2015), http://dx.doi.org/10.1016/j.ejor.2015.06.018

JID: EOR

ARTICLE IN PRESS

[m5G;July 1, 2015;19:8]

H.F. Rahman et al. / European Journal of Operational Research 000 (2015) 1–16

any delay, minus the opportunity loss cost. The opportunity loss cost imposes more pressure to accept more orders, by increasing the value of δ , especially for the scenarios of lower tardiness cost. Finally, the total profit earned from a particular production shift can be expressed as

P=

H 

Ph

(16)

h=1

5.2. Scheduling the orders In this section, the modified Real Time (RT) strategy is presented. In the RT strategy, an order is accepted if it can be completed on or before the extended due date. The algorithm is described as follows. At the beginning of the Production Shift, suppose the initial order arrives and the following algorithm starts. I. Set n = 1, Nacpt = 0, and clock t1 =0 II. Repeat until n = N (up to the end of the production shift). A. update the clock, tn = c, and Sn = c B. Considering any machine availability/unavailability constraints, use MA to generate a schedule for the job set of the current order. C. Evaluate Tn with respect to its completion time, (Ccomp )n : a. calculate the completion time, (Ccomp )n = Sn + (Cmax )n b. calculate, Tn = (Ccomp )n − dn c. Save completion time, (Ccomp )n and tardiness, Tn d. If Tn ≤ 0. i. Accept the order ii. Nacpt = Nacpt + 1 iii. Calculate the Profit, Pn . f. Else if T’n ≤ 0. i. Accept the order ii. Nacpt = Nacpt + 1 iii. Calculate the Profit (or loss), Pn . e. Else, Reject the order and calculate the opportunity loss cost, OLn . D. Set n = n + 1 [End of step II Loop] III. Calculate and save P (total profit in one production shift) (by Eq. (16)). [End of Algorithm]

5.3. Experimental study on managing financial risk The simulation model was coded in C++ and was run on the same environment that was stated in Section 4. We have run the simulation for 100 orders with eleven different δ (from 0 to 0.50 with an increment of 0.05). Note that, when the value of δ equals 0, the approach is the same as the RT approach described in Section 3.2.2.1. For the experiments, we have chosen three 50 jobs × 10 machine problem instances, Ta41, Ta45, and Ta50, from Taillard (1993) under Scenario I. The inter-arrival times and due dates for 300 orders (10 instances and 10 orders per production shift for each problem instance) were generated randomly. To find the overall financial gain i.e. profit (or loss), all costs and revenue figures were randomly generated, where sales were within [500, 2000], earliness benefit and tardiness cost were within [0, 1], and opportunity loss cost was within [100, 500]. All sales, revenue and cost figures are in dollars ($). Table 6 shows the number of orders accepted (with and without penalty) and rejected for problem instance Ta45. The table starts with a column that shows the different values of δ . The column headed with ‘accepted without penalty’ shows that out of the 100 orders (from 10 instances), the total number of accepted orders which were completed within their due dates. The following column presents the total number of orders that were accepted with an extended due date. The final column shows the number of rejected orders. From the results, it is clear that the number of accepted orders decreases and the number of accepted with penalty increases as δ increases. The reason for this is that with the increase of δ , the value of extended due date per order increases and the shop then has a better chance to accept more orders. Moreover, if an order cannot be accepted with its original due date, but can be accepted with an extended due date,

11

Table 6 Accepted and Rejected orders with varying δ (for Ta45, Scenario I). Delta, δ

0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.50

Number of orders accepted or rejected with RT approach Accepted without penalty

Accepted with penalty

Rejected

40 40 38 32 26 26 22 18 18 18 18

0 4 8 20 36 36 46 56 56 60 64

60 56 54 48 38 38 32 26 26 22 18

then it will occupy more capacity, which forces other orders that comes later to be accepted, not with their original due date but with an extended due date. A plot with the average total profit with respect to different values of δ is presented in Fig. 4. The average value of total profit is calculated using Eq. (17).

ins=I

Average total profit, AP =

int=1

I

P

(17)

Where, I= number of instances (here, I =10) Total profit per production each production shift, P is calculated using Eq. (16). In Fig. 4 consider the Ta045 case. At δ = 0, single value for average total profit are shown. Apart from δ = 0, the other values of δ show the average total profit of the modified RT strategies. From the trend of line, it can be seen that at δ = 0.05 (or 5 percent increment of the due dates of an order, if it is tardy), the average total profit of modified RT approach is maximum. However, the total profit gradually decreases with the increase of δ , and after a certain limit (after δ = 0.30), the values are negative. The reason for this is that if an order with a small increment of extended due dates is accepted, and if its tardiness cost is small in comparison to its sales value, then it can contribute to the total profit of the company. On the other hand, if the value of δ increases, the possibilities of accepting an order increases, even it is tardy and for such orders, the tardiness cost also increases. Therefore, an order accepted with an extended due date may have a higher profit value over its sales value, the company will face a loss on producing such order. Table 6 shows, that as more orders are accepted with extended due dates or penalty, so the total profit per production run decreases with the increase of δ , and after a certain level, the total profit becomes negative. From the above experimental analysis, it can be seen that with the RT strategy using δ = 0.05, the company can maximize the revenue in its flow shop business. The same experimental analysis for problem instances Ta041 and Ta050 also gives with the same findings. 6. A case study In this section, a case study is presented that is based on a Sanitaryware production system which is located in Dhaka, Bangladesh. In the system, the order acceptance and scheduling problem is time sensitive and complex, as the decision making depends on real-time order arrival, customer specified due dates, number of products per order (here each product refers to a job), and capacity constraints. As the problem is very much similar to the PFSPs considered in this paper, and we have investigated the production line problem using our proposed RT approach. The inter-arrival times, due dates, and processing times of each order were obtained from the company’s database. The production flow diagram is shown in Fig. C.1 (Appendix C). The production process can be divided into a series of 10 stages or

Please cite this article as: H.F. Rahman et al., A real-time order acceptance and scheduling approach for permutation flow shop problems, European Journal of Operational Research (2015), http://dx.doi.org/10.1016/j.ejor.2015.06.018

ARTICLE IN PRESS

JID: EOR 12

[m5G;July 1, 2015;19:8]

H.F. Rahman et al. / European Journal of Operational Research 000 (2015) 1–16

Average Total Profit vs delta, δ

15000

Average Total Profit ($)

10000 5000 Average Total Profit (Ta 045)

0

Average Total Profit (Ta 050)

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55

Average Total Profit (Ta 041)

-5000 -10000 -15000

value of delta, δ Fig. 4. Average total profit vs. the value of delta, δ .

Table 7 Comparisons between RS and RT for practical production problem. Order

Arrival

Due date

Right Shifting (RS) strategy

number

time

per order, dl

Completion time, Ccomp

Tardiness, Th

Profit, $

Average computational time per order (seconds)

Status

Completion time, Ccomp

Tardiness, Th

Profit, $

Average computational time per order (seconds)

Status

1 2 3 4 5 6 7 8 9 10

0 141 248 755 4498 6638 8790 8798 10,414 12,500

5189 5933 5874 6962 8000 7559 10,188 13,019 12,517 18,216

2889 5492 8069 8044 8038 9516 11,686 11,688 14,297 15,390

−2300 −441 2195 1082 38 1957 1498 −1331 1780 −2826

4915 1157.74 −27 −88 −83 −106 −22 1790.58 −163 5169.5

39.24 40.69 39.94 39.53 39.49 40.36 39.49 39.57 40.65 40.07

A A R R R R R A R A

2889 5434 7990 7985 7985 10,537 11,664 11,688 14,245 15,377

−2300 −499 2116 1023 −15 2978 1476 −1331 1728 −2839

4915 1281.86 −27 -88 258.8 −106 −22 1790.58 −163 5193.25

40.47 40.03 39.92 39.48 40.67 40.94 39.61 40.83 40.13 40.52

A A R R A R R A R A

Total profit per production shift, $

Real Time (RT) strategy

12543.82

13033.39

A—accepted, R—rejected. Bold values provide the better result of an algorithm or approach in comparison to other approach or approaches.

operations (from jaw crusher to packaging). To demonstrate the performance of the proposed algorithms, we have experimented with 10 order problems under Scenario I. Table 7 shows the comparison between the RS and RT strategies under Scenario I, where each order consists of 50 products or jobs, and Table C.1 (Appendix C) shows the composition of each order. Currently, the company does not use any scientific approach, but uses an ad hoc approach that is similar to RS. In addition, we cannot get any actual figures of the existing approach due to business confidentiality. The first column presents the order number. The second and third columns show the order arrival time and due dates for each order respectively. The column headed with completion time shows the time to complete each order under the current production capacity. The following column shows each order’s tardiness or earliness. A negative value of tardiness (or positive value of earliness) means that the order is accepted with the available production capacity, and that the order can be finished before its due date. Otherwise the order is tardy and rejected. Note that in this study, the company only accepts an order if it is finished on or before its delivery date. So there is no tardiness cost. The following column is headed with profit, and shows the profit/loss gained from each order, where a positive value means profit and a negative value means loss. For the convenience of readers, all of the production costs figures used for the current study have been shown in Table C.2 (Appendix C). In the average computation time per order column, the average time required to compute the order acceptance and scheduling decisions for each order has been

presented. The computational time has been measured on the computational environment described in Section 4.1. At the beginning of production, the 1st order arrives into the shop and starts to process on machine-1 instantly. As the overall capacity is available instantly, the makespan and completion time (which is 2889) of this order, is the same. At time 141, the 2nd order arrives into the system. Meanwhile machine-1, is processing products on machine 1 as the total time to complete all products from order 1 on machine 1 is 2500. So, after 2500 units of time, the first product from the 2nd order starts to process on machine-1. If the 2nd order is scheduled with the RS strategy, the completion time of the 2nd order is 5492 and the profit gain is $1157.74. On the other hand, if the same order is scheduled with the RT strategy, it completes at 5434 and the company earns $1281.86 of profit. The 3rd order arrives in the system, while the 1st and 2nd order orders are still in process. With both the RS and RT strategies, the 3rd and 4th orders are rejected, as with the current production capacity, they cannot be completed on or before their due dates. So the opportunity loss cost is imposed on the company for rejecting these orders. Note that the 5th order is rejected, if it is scheduled by the RS strategy, but it is accepted by scheduling by the RT strategy. With both the RS and RT strategies, the 6th and 7th orders are rejected. Note that the 8th order arrives in the shop after the 2nd order (5th order for the RT strategy) is completed. With both RS and RT strategies, the 9th order is rejected. Finally a similar situation arises for the final 10th order of the production shift (it arrives in the system

Please cite this article as: H.F. Rahman et al., A real-time order acceptance and scheduling approach for permutation flow shop problems, European Journal of Operational Research (2015), http://dx.doi.org/10.1016/j.ejor.2015.06.018

ARTICLE IN PRESS

JID: EOR

[m5G;July 1, 2015;19:8]

H.F. Rahman et al. / European Journal of Operational Research 000 (2015) 1–16

when the previously accepted orders are in process by the system). The final rows represent the total profit earned from this particular production shift, and the profit value shows that the proposed RT approach ensures higher profit gain than the RS strategy. The computational time columns show that this occurs within a reasonable computational time.

13

approach is capable of improving the revenue return of the Sanitaryware production company, as compared to existing practices. The research carried out in this paper opens up opportunities to study and improve different methodologies for solving different make to order production problems. First, in this research we considered a dynamic order arrival and scheduling problem in a flow shop environment while assuming that there was no disturbance of any kind. However, in practice, the production system may be interrupted for many different reasons, such as machine breakdown, shortage of materials, and delay in supply. Second, the current studies can be linked with supply chains, where order acceptance and production scheduling decisions are integrated with supply chain decisions. Besides considering in house production floor scheduling decisions, the proposed decision making approaches can be integrated with out sourcing or capacity expansion decisions. Third, the proposed algorithms can be extended to study other PFSPs variants, like flexible flowshop, limited buffer, blocking, or re-entrant flowshop scheduling problems. Finally, the algorithms have been developed to solve single objective permutation flowshop problems. However, often problems require considering more than one objective, such as minimizing makespan and also optimizing earliness costs. In our future research, we intend to extend our algorithm to deal with such problems of interest.

7. Conclusion In this research, we have discussed some of the research issues that occur with real-time order acceptance and scheduling problems in a permutation flow shop environment. The problem involves multiple decision strategies, such as whether an arriving order will be accepted, how the accepted order will be scheduled with other existing orders, and how the jobs within each order will be scheduled. As order arrival is a continuous process in any real world production facility, these integrated decisions must be made, repeatedly on a real time basis, after the arrival of a new order. In the literature, we have not found any paper that has considered such a complex decision process in such a production environment. To deal with this problem, we have proposed a procedure in this paper that involves a heuristic and a memetic algorithm. To test the performance of our approach, we have generated a set of benchmark problems on real-time multiple-order PFSPs, and conducted experimental studies with them. From the experimental studies, for a given duration, it is clear that our approach improves the performance of the flow shop business by maximizing the number of orders, and minimizing the combined makespan of accepted orders, as compared to the traditional Right Shifting strategy. Using this approach, flow shop businesses can appropriately accept the orders they can process within their capacity, and so maximize their benefits. In this research, we have also developed a simulation model and extended the proposed approaches to find the best approach for maximizing revenue. The simulation model basically suggests a way to minimize financial risk in dynamic shop floor environments. Finally, the proposed approach has been applied to solve a real time multiple order PFSP, which was inspired from a practical Sanitaryware production problem. The simulation results shows that the proposed

Acknowledgments This research is funded by UNSW TFR, UCPRS and research publication fellowship. Appendix A. Table A.1 represents a sample production shift with different orders (20 jobs in each order). In this production shift, 25 orders arrive with different inter-arrival times and due dates. Even though the order size is the same (20 jobs in each order) for each order, orders may occupy different job sets. For example, the first two orders are the same as the Ta016 job set, the third order is the same

Table A.1 Scenario II. Order no. Order type Arrival Due

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Ta16 Ta16 Ta12 Ta11 Ta19 Ta17 Ta13 Ta18 Ta18 Ta16 Ta18 Ta15 Ta15 Ta15 Ta14 Ta11 Ta12 Ta19 Ta15 Ta19 Ta15 Ta11 Ta11 Ta16 Ta17

Right Shifting (RS) strategy

Real Time (RT) strategy

Order wise improvement

time

date, d Completion time, Ccomp (RS)

Tardiness = Ccomp (RS) − d

Status Completion time, Ccomp (RT)

Tardiness = Ccomp (RT) − d

Status Ccomp (RS) − Ccomp (RT)

0 7 1234 2920 3185 5227 6407 8101 9382 10,870 11,872 12,301 14,462 14,584 15,310 17,118 18,598 19,006 20,929 22,284 22,877 24,099 24,736 25,962 27,044

1591 3846 5626 4878 5934 7365 7907 10,752 11,213 12,641 13,827 15,487 15,929 17,565 18,010 19,766 21,330 22,789 22,934 24,599 25,350 25,789 27,276 27,757 29,363

−194 −1345 −1789 171 31 −109 560 −1155 −293 −374 −338 −762 −48 −187 275 −496 −847 −354 571 364 787 1276 1073 1406 1073

A A A R R A R A A A A A A A R A A A R R R R R R R

−194 −1350 −1876 20 −42 −204 453 −1155 −293 −374 −366 −857 −48 −407 132 −698 −1065 161 −493 −722 −141 570 413 714 395

A A A R A A R A A A A A A A R A A R A A A R R R R

1397 2501 3837 5049 5965 7256 8467 9597 10,920 12,267 13,489 14,725 15,881 17,378 18,285 19,270 20,483 22,435 23,505 24,963 26,137 27,065 28,349 29,163 30,436

1397 2496 3750 4898 5892 7161 8360 9597 10,920 12,267 13,461 14,630 15,881 17,158 18,142 19,068 20,265 22,950 22,441 23,877 25,209 26,359 27,689 28,471 29,758

0 5 87 151 73 95 107 0 0 0 28 95 0 220 143 202 218 −515 1064 1086 928 706 660 692 678

Status: A—accepted, R—rejected.

Please cite this article as: H.F. Rahman et al., A real-time order acceptance and scheduling approach for permutation flow shop problems, European Journal of Operational Research (2015), http://dx.doi.org/10.1016/j.ejor.2015.06.018

ARTICLE IN PRESS

JID: EOR 14

[m5G;July 1, 2015;19:8]

H.F. Rahman et al. / European Journal of Operational Research 000 (2015) 1–16

Table A.2 Scenario III. Order no. Order type Arrival

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Ta047 Ta014 Ta016 Ta049 Ta017 Ta092 Ta018 Ta071 Ta078 Ta012 Ta047 Ta094 Ta047 Ta017 Ta049 Ta074 Ta044 Ta041 Ta095 Ta073 Ta072 Ta018 Ta071 Ta099 Ta047

Due

Right Shifting (RS) strategy

time

date, d

Completion time, Ccomp (RS)

Tardiness = Ccomp (RS) − d

Status Completion time, Ccomp (RT)

Real Time (RT) strategy

Tardiness = C (RT) − Status Ccomp (RS) − Ccomp (RT) d

0 2254 4027 4679 14,282 14,427 19,287 22,461 26,769 31,753 39,733 42,341 63,319 63,765 71,866 75,647 78,321 79,959 86,101 93,996 107,889 116,783 121,105 122,912 138,444

4027 3887 6787 9732 16,644 25,409 23,441 31,839 38,278 34,762 44,745 60,741 67,976 67,958 75,361 84,354 82,979 85,336 103,716 104,935 114,760 118,809 128,063 143,164 142,737

3115 3643 5424 9746 15,766 24,743 22,574 31,246 36,759 33,679 42,848 60,751 66,434 65,853 74,768 83,258 83,491 86,593 108,689 104,115 113,251 118,321 127,844 143,382 142,099

−912 −244 −1363 14 −878 −666 −867 −593 −1519 −1083 −1897 10 −1542 −2105 −593 −1096 512 1257 4973 −820 −1509 −488 −219 218 −638

A A A R A A A A A A A R A A A A R R R A A A A R A

−912 −249 −1363 −62 −878 −670 −942 −593 −1664 −1125 −1897 −15 −1542 −2127 −593 −1118 440 142 1285 −848 −1509 −488 −220 201 −1200

3115 3638 5424 9670 15,766 24,739 22,499 31,246 36,614 33,637 42,848 60,726 66,434 65,831 74,768 83,236 83,419 85,478 105,001 104,087 113,251 118,321 127,843 143,365 141,537

Order wise improvement

A A A A A A A A A A A A A A A A R R R A A A A R A

0 5 0 76 0 4 75 0 145 42 0 25 0 22 0 22 72 1115 3688 28 0 0 1 17 562

Status: A—accepted, R—rejected. Table B.1 20 jobs, same order. Problem instance

Ta011 Ta012 Ta013 Ta014 Ta015 Ta016 Ta017 Ta018 Ta019 Ta020

DU

DL

Number of accepted orders

RS

RT

RS

RT

RS

RT

0.439556 0.153898 0.0749124 0.0866154 0.095502 0.124342 0.15979 0.158804 0.106378 0.166228

0.468393 0.174437 0.102237 0.0873553 0.206387 0.068561 0.17746 0.180409 0.384379 0.1956

0.0816231 0.031674 0.146312 0.0129195 0.158455 0.129739 0.0736844 0.039359 0.0955299 0.0270846

0.0618351 0.0319731 0.120449 0.0121924 0.110553 0.0333197 0.04171 0.036222 0.0281225 0.0246337

8 7 7 8 4 6 6 8 5 5

8 9 6 8 5 7 6 9 6 6

Bold values provide the better result of an algorithm or approach in comparison to other approach or approaches. Table B.2 50 jobs, same order. Problem instance

Ta041 Ta042 Ta043 Ta044 Ta045 Ta046 Ta047 Ta048 Ta049 Ta050

DU

DL

Number of accepted orders

RS

RT

RS

RT

RS

RT

0.0226224 0.0171709 0.0625726 0.0347438 0.0133808 0.0482807 0.0371797 0.0696407 0.0268583 0.0389186

0.0235094 0.0190439 0.0665079 0.0376576 0.0136741 0.0566648 0.0405592 0.0716271 0.030042 0.0479829

0.0101793 0.0760039 0.0206651 0.057986 0.00215818 0.0121067 0.00058664 0.0321329 0.00847397 0.0206996

0.00930131 0.073957 0.0168937 0.0549903 0.00186407 0.00755489 0.000627289 0.0301853 0.00535934 0.0175113

5 9 9 3 10 6 8 9 6 8

5 9 10 3 10 10 9 9 6 9

Bold values provide the better result of an algorithm or approach in comparison to other approach or approaches.

as Ta012, the fourth order is the same as the Ta011 problem set etc. Table A.2 represents a sample production shift with different orders. In this production shift, 25 orders arrive with different interarrival times and due dates. In the production shift, not only are the order sizes different, but also the orders may occupy different job sets. For example, the first order is the same as the Ta047 job set (50 jobs), the second order is the same as Ta014 (20 jobs), the sixth or-

der is the same as Ta092 (200 jobs), the eighth order is the same as Ta071(100 jobs) etc. Appendix B Tables B.1–B.4 give the results for the cases of the same types of order. They are summarized in Table 3 of the main section of the paper.

Please cite this article as: H.F. Rahman et al., A real-time order acceptance and scheduling approach for permutation flow shop problems, European Journal of Operational Research (2015), http://dx.doi.org/10.1016/j.ejor.2015.06.018

ARTICLE IN PRESS

JID: EOR

[m5G;July 1, 2015;19:8]

H.F. Rahman et al. / European Journal of Operational Research 000 (2015) 1–16

15

Table B.3 100 jobs, same order. Problem instance

Ta071 Ta072 Ta073 Ta074 Ta075 Ta076 Ta077 Ta078 Ta079 Ta080

DU

DL

Number of accepted orders

RS

RT

RS

RT

RS

RT

0.0145519 0.0289383 0.0291449 0.0091157 0.0110112 0.0281045 0.035019 0.0076761 0.00190697 0

0.020187 0.0289651 0.0297238 0.0114931 0.0115732 0.0285505 0.0357456 0.00886885 0.00560679 0.0058719

0.0131029 0.0202335 0.0204572 0.0261661 0.00856101 0.0205706 0.0301275 0.0180183 0.0215678 0

0.0150975 0.0202069 0.0198693 0.0237417 0.00799526 0.0201181 0.0293704 0.016731 0.0181563 0.00119647

6 5 7 5 6 7 7 5 5 6

7 5 7 5 6 7 7 5 6 7

Bold values provide the better result of an algorithm or approach in comparison to other approach or approaches. Table B.4 200 jobs, same order. Problem instance

Ta091 Ta092 Ta093 Ta094 Ta095 Ta096 Ta097 Ta098 Ta099 Ta100

DU

DL

Number of accepted orders

RS

RT

RS

RT

RS

RT

0.00451442 0.016114 0.00571586 0.00613614 0.01037 0.010599 0.0182371 0.00686385 0.0226467 0.0137262

0.0046505 0.0164665 0.00697448 0.00616399 0.0117535 0.0133404 0.013157 0.0141962 0.0145047 0.0138085

0.00102085 0.0040919 0.00516185 0.00590094 0.00313995 0.0142694 0.0164733 0.00316726 0.00360893 0.00697741

0.000886552 0.00291735 0.0043065 0.0058726 0.00176743 0.0114642 0.0166954 0.00114514 0.010624 0.00689546

9 6 7 4 9 6 4 3 5 6

9 8 8 4 9 6 4 6 5 6

Bold values provide the better result of an algorithm or approach in comparison to other approach or approaches.

Appendix C

Table C.1 Product types per order.

Table C.2 Product types per order.

Number of product types per order

Types of product

Volume

6

Wash basin Cistern with lid Foot rest Gallery Long pan Kitchen sink

13 8 5 3 4 17

Total products in this order

An order arrives

Decision process of order acceptance

50

m/c1: Jaw crushers to Magnetic separator Accept the order

Sales revenue, $

Earliness bonus per order, $

Opportunity loss cost, $

1 2 3 4 5 6 7 8 9 10

223 214 208 219 224 294 291 220 263 224

2.04 2.14 1.87 2.53 2.32 1.39 1.12 1.18 1.03 1.75

76 152 27 88 83 106 22 37 163 74

m/c2: Casting

m/c3: Drying

m/c4: Retouching

m/c5: Cleaning Order has been Delivered

Input

m/c6: Glazing the order is Rejected

Order no.

m/c7: Firing

m/c8: Sorting, Grinding

m/c9: Cleaning

m/c10: Packaging

Production Process

*m/c: machine Fig. C.1. Production flow diagram of Sanitaryware production.

Please cite this article as: H.F. Rahman et al., A real-time order acceptance and scheduling approach for permutation flow shop problems, European Journal of Operational Research (2015), http://dx.doi.org/10.1016/j.ejor.2015.06.018

JID: EOR 16

ARTICLE IN PRESS

[m5G;July 1, 2015;19:8]

H.F. Rahman et al. / European Journal of Operational Research 000 (2015) 1–16

References Chen, C. S., Mestry, S., Damodaran, P., & Wang, C. (2009). The capacity planning problem in make-to-order enterprises. Mathematical and Computer Modelling, 50(9–10), 1461–1473. Dasgupta, P., & Das, S. (2015). A discrete inter-species Cuckoo search for flowshop scheduling problems. Computers & Operations Research, 60, 111–120. Duenyas, I. (1995). Single facility due-date setting with multiple customer classes. Management Science, 41(4), 608–619. Duenyas, I., & Hopp, W. J. (1995). Quoting customer lead times. Management Science, 41(1), 43–57. Garey, M. R., Johnson, D. S., & Sethi, R. (1976). The complexity of flowshop and jobshop scheduling. Mathematics of Operations Research, 1(2), 117–129. Grabowski, J., & Wodecki, M. (2004). A very fast tabu search algorithm for the permutation flow shop problem with makespan criterion. Computers & Operations Research, 31(11), 1891–1909. Guerrero, H., & Kern, G. (1988). How to more effectively accept and refuse orders. Production and Inventory Management, 29(4), 59–63. Ignall, E., & Schrage, L. (1965). Application of the branch and bound technique to some flow-shop scheduling problems. Operations Research, 13(3), 400–412. Johnson, S. M. (1954). Optimal two- and three-stage production schedules with setup times included. Naval Research Logistics Quarterly, 1(1), 61–68. Kang, P. S., Duffy, A., Shires, N., Smith, T., & Novels, M. (2014). Lean cables—a step towards competitive, sustainable and profitable processes. In Proceedings of the 63rd International Wire and Cable Symposium (pp. 310–317). Lewis, H. F., & Slotnick, S. A. (2002). Multi-period job selection: Planning work loads to maximize profit. Computers & Operations Research, 29(8), 1081–1098. Lin, S.-W., & Ying, K.-C. (2015). Order acceptance and scheduling to maximize total net revenue in permutation flowshops with weighted tardiness. Applied Soft Computing. Moreira, M. R. A., & Alves, R. A. F. S. (2009). A methodology for planning and controlling workload in a job-shop: A four-way decision-making problem. International Journal of Production Research, 47(10), 2805–2821. Murata, T., Ishibuchi, H., & Tanaka, H. (1996). Genetic algorithms for flowshop scheduling problems. Computers & Industrial Engineering, 30(4), 1061–1071. Nandi, A., & Rogers, P. (2004). Using simulation to make order acceptance/rejection decisions. Simulation, 80(3), 131–142. Nawaz, M., Enscore, E. E., & Ham, I. (1983). A heuristic algorithm for the M-machine, N-job flowshop sequencing problem. Omega-International Journal of Management Science, 11(1), 91–95. Nobibon, F. T., & Leus, R. (2011). Exact algorithms for a generalization of the order acceptance and scheduling problem in a single-machine environment. Computers & Operations Research, 38(1), 367–378. Ogbu, F. A., & Smith, D. K. (1990). The application of the simulated annealing algorithm to the solution of the n/m/Cmax flowshop problem. Computers & Operations Research, 17(3), 243–253. Onwubolu, G., & Davendra, D. (2006). Scheduling flow shops using differential evolution algorithm. European Journal of Operational Research, 171(2), 674–692. Osman, I. H., & Potts, C. N. (1989). Simulated annealing for permutation flowshop scheduling. Omega-International Journal of Management Science, 17(6), 551–557. Pinedo, M. (2012). Scheduling: Theory, algorithms, and systems (4th ed.). New York: Springer. Pourbabai, B. (1989). A short-term production planning and scheduling model. Engineering Costs and Production Economics, 18(2), 159–167. Rahman, H. F., Sarker, R. A., & Essam, D. L. (2013). A memetic algorithm for permutation flow shop problems. In IEEE Congress on Evolutionary Computation. Rajendran, C., & Ziegler, H. (2004). Ant-colony algorithms for permutation flowshop scheduling to minimize makespan/total flowtime of jobs. European Journal of Operational Research, 155(2), 426–438.

Rogers, P., & Nandi, A. (2007). Judicious order acceptance and order release in make-to-order manufacturing systems. Production Planning & Control, 18(7), 610– 625. Rom, W. O., & Slotnick, S. A. (2009). Order acceptance using genetic algorithms. Computers & Operations Research, 36(6), 1758–1767. Roundy, R., Chen, D., Chen, P., Cakanyildirim, M., Freimer, M. B., & Melkonian, V. (2005). Capacity-driven acceptance of customer orders for a multi-stage batch manufacturing system: Models and algorithms. IIE Transactions, 37(12), 1093– 1105. Ruiz, R., & Maroto, C. (2005). A comprehensive review and evaluation of permutation flowshop heuristics. European Journal of Operational Research, 165(2), 479– 494. Ruiz, R., Maroto, C., & Alcaraz, J. (2006). Two new robust genetic algorithms for the flowshop scheduling problem. Omega-International Journal of Management Science, 34(5), 461–476. Schmidt, G. (2000). Scheduling with limited machine availability. European Journal of Operational Research, 121(1), 1–15. Selen, W. J., & Hott, D. D. (1986). A mixed-integer goal-programming formulation of the standard flow-shop scheduling problem. Journal of the Operational Research Society, 1121–1128. Slotnick, S. A. (2011). Order acceptance and scheduling: A taxonomy and review. European Journal of Operational Research, 212(1), 1–11. Slotnick, S. A., & Morton, T. E. (1996). Selecting jobs for a heavily loaded shop with lateness penalties. Computers & Operations Research, 23(2), 131–140. Slotnick, S. A., & Morton, T. E. (2007). Order acceptance with weighted tardiness. Computers & Operations Research, 34(10), 3029–3042. Taillard, E. (1990). Some efficient heuristic methods for the flow-shop sequencing problem. European Journal of Operational Research, 47(1), 65–74. Taillard, E. (1993). Benchmarks for basic scheduling problems. European Journal of Operational Research, 64(2), 278–285. Tang, L. X., Liu, W. X., & Liu, J. Y. (2005). A neural network model and algorithm for the hybrid flow shop scheduling problem in a dynamic environment. Journal of Intelligent Manufacturing, 16(3), 361–370. Tasgetiren, M. F., Liang, Y. C., Sevkli, M., & Gencyilmaz, G. (2007). A particle swarm optimization algorithm for makespan and total flowtime minimization in the permutation flowshop sequencing problem. European Journal of Operational Research, 177(3), 1930–1947. Tseng, L.-Y., & Lin, Y.-T. (2009). A hybrid genetic local search algorithm for the permutation flowshop scheduling problem. European Journal of Operational Research, 198(1), 84–92. Wang, X., Huang, G., Hu, X., & Cheng, T. E. (2015). Order acceptance and scheduling on two identical parallel machines. Journal of the Operational Research Society. Wang, X., Xie, X., & Cheng, T. (2013). A modified artificial bee colony algorithm for order acceptance in two-machine flow shops. International Journal of Production Economics, 141(1), 14–23. Wang, X. L., Xie, X. Z., & Cheng, T. C. E. (2013). Order acceptance and scheduling in a two-machine flowshop. International Journal of Production Economics, 141(1), 366– 376. Wang, X., Zhu, Q., & Cheng, T. C. (2015). Subcontracting price schemes for order acceptance and scheduling. Omega, 54, 1–10. Wester, F., Wijngaard, J., & Zijm, W. R. M. (1992). Order acceptance strategies in a production-to-order environment with setup times and due-dates. International Journal of Production Research, 30(6), 1313–1326. Xiao, Y. Y., Zhang, R. Q., Zhao, Q. H., & Kaku, I. (2012). Permutation flow shop scheduling with order acceptance and weighted tardiness. Applied Mathematics and Computation, 218(15), 7911–7926. Zobolas, G. I., Tarantilis, C. D., & Ioannou, G. (2009). Minimizing makespan in permutation flow shop scheduling problems using a hybrid metaheuristic algorithm. Computers & Operations Research, 36(4), 1249–1267.

Please cite this article as: H.F. Rahman et al., A real-time order acceptance and scheduling approach for permutation flow shop problems, European Journal of Operational Research (2015), http://dx.doi.org/10.1016/j.ejor.2015.06.018