A genetic algorithm for fuzzy order acceptance and scheduling problem

ABSTRACT


Introduction
Make to Order (MTO) is a production strategy in which manufacturing starts once a customer's order is received.In a MTO production environment, manufacturers offer more customized products to appeal their potential customers.However, limitations on manufacturing capacity generally require manufacturers to make a selection among incoming customer orders.On top of this, while deciding which orders to accept, manufacturers have to simultaneously determine the schedule of these orders over a time frame that will make efficient use of their capacities.This problem, which involves the joint decision of order acceptance and order scheduling, is called the order acceptance and scheduling (OAS) problem [1].The OAS problem arises from the limited the production capacity that is characteristic of MTO environment.Based on Slotnick's detailed review and taxonomy of OAS problems [1], it is clear that numerous versions of OAS problems within various settings and with different objectives have been studied over the last decades.In this study, we concentrate on the OAS problem in a single machine environment.The single machine environment is one of the most commonly studied environments in scheduling literature [2].Since many multi-machine environments generally have a bottleneck machine, which significantly affects the overall performance of the system, this machine can be isolated and considered as a single machine.Some of the single machine problem studies take into account maximization of profit.Charnsirisaksul et al. [3] examined a mixed integer programming formulation in a preemptive environment with the goal of maximizing the producer's profit.Profit is defined as revenues obtained from all the accepted orders minus all the manufacturing, holding and tardiness costs.They later extended this study by including lead time flexibility into the model.They showed the benefits of lead-time flexibility through numerical analyses [4].Slotnick and Morton [5] took into account the order acceptance decision with weighted lateness as the time-related penalty by calculating profit in single-machine OAS problem.Since the problem is NP-hard, an optimal branch and bound procedure and several heuristics that integrate the scheduling and acceptance decisions were proposed to solve the problem.Rom and Slotnick [6] presented a GA approach for OAS problem with customer weighted tardiness.They claimed that the proposed approach performed better than previous heuristics in terms of solution quality.Oguz et al. [7] incorporated sequence-dependent setup times in the OAS model.The proposed model maximized profit which is defined as revenues of accepted orders minus total weighted tardiness penalties.They also identified two different due-dates: a preferred due-date after which a tardiness penalty is incurred, and the strict deadline after which the customer will not take the order.They assumed that the revenue gained from an accepted order decreases linearly with the order's tardiness until its deadline.A mixed integer linear programming (MILP) was formulated and solved optimally for small scale problems with 10 or 15 orders.In addition, they devised a simulated annealing (SA) algorithm and two constructive heuristics to solve larger scale problems.Nobibon and Leus [8] presented two branch and bound algorithms, along with heuristic algorithms, for the OAS problem, in which orders were characterized by deterministic processing time, delivery dates, revenues and the weight representing a penalty per unit time delay.Cesaret et al. [9] developed a tabu search (TS) algorithm that included a probabilistic local search procedure.The problem involved the sequencedependent setup times, due dates and deadlines, and release dates for orders.The other meta-heuristic solution methodology was developed by Lin and Ying [10].They suggested artificial bee colony (ABC) based algorithm to solve the single machine OAS problem with sequence-dependent setup times and release dates.The performance of the proposed algorithm was tested by a benchmark problem set containing test instances with up to 100 orders.Chen et al. [11] put forward an improved GA with a diversity controlling mechanism for the OAS problem with sequence dependent set up times, tardiness penalties and distinct release dates.They demonstrated that the developed diversity controlling mechanism was effective in improving solution quality in most of the used benchmark instances.Xie and Wang [12] formulated an OAS problem where each order has a known processing time, due date, revenue and set up time.The objective was to maximize the total revenue.To solve the problem, firstly they utilized basic ABC algorithm.Then taking into consideration the result of the first methodology, they developed an improved ABC algorithm by making some modifications.Zandieh and Roumani [13] proposed two metaheuristic solutions: a biogeography-based optimization (BBO) algorithm and a GA for solving the OAS problem.They then compared the computational results of the algorithms and found that the BBO algorithm outperforms GA, especially for large size instances.Chaurasia and Singh [14] presented two hybrid metaheuristic algorithms, namely hybrid steady-state genetic algorithm (SSHGA) and hybrid evolutionary algorithm with guided mutation (EA/G).They defined the OAS problem the same as the study of Lin and Ying [10].In the literature, there are also some studies with stochastic order arrivals.Wester et al. [15] presented a simulation model with Poisson order arrivals and limited capacity in a single machine environment.They developed three different order acceptance strategies and compare their performance via simulation experiments.De et al. [16] examined the OAS problem with random processing times and a random common due date.Stadje [17] presented scheduling and selecting procedures with random common due date and processing times to maximize the total expected reward by selecting and scheduling a predetermined number of orders.The machine was subjected to random breakdowns that cause processing to terminate.Two optimal procedures which involve myopic properties were presented.Rogers and Nandi [18] used simulation for the OAS with the objective of maximizing net profit, defined as revenue minus tardiness.Kate [19] compared various approaches to OAS problem with random arrivals via Simulation.Carr and Duenyas [20] took into account both make to stock (MTS) and MTO product classes, with random arrivals and processing times, and preemption.Their computational studies demonstrated that the performance of the policy that includes joint decision making in the OAS was superior to the other policy in which these decisions were made separately.To the best of our knowledge, Koyuncu [21] was the first researcher to study the fuzzy OAS problem.In this study, fuzzy mixed integer linear programming model (fuzzy MILP) for a single machine OAS problem was proposed and the orders were defined by their fuzzy due dates, fuzzy processing times and fuzzy sequence dependent set up times.The proposed fuzzy MILP model was first converted into the equivalent crisp model using the signed distance method and then solved optimally via an appropriate package programme.It is proved that the OAS problem is strongly NP-hard [9], so the fuzzy OAS problem is also strongly NPhard.This means that an exact solution can be obtained only for small scale problems.In the light of above literature summary, there is not any metaheuristic approach in the literature to solve the realworld complex fuzzy OAS problem.In the present study, a GA approach that uses ranking methods is developed to solve the fuzzy OAS problem.The proposed GA enables solving the fuzzy OAS problems with even hundreds of order.In addition, the fuzzy OAS problem is solved directly without transforming the model into the crisp equivalent.The organization of this paper is as follows.In the next section, the problem description and formulation is presented.In Section 3, the proposed GA is illustrated.In Section 4, the computational results are discussed and in Section 5, the conclusions are presented.

Problem description and formulation
As mentioned in Section 1, there are various OAS problem formulations with different objective functions and different assumption settings in the literature.However, the parameters of the OAS problem in these studies are deterministic or stochastic except the study of Koyuncu [21].Koyuncu [21] defined a fuzzy OAS problem and solved using a fuzzy MILP model.However, exact solutions can only be obtained for the small scale OAS problems using fuzzy MILP model.The aim of the present study is to develop a solution methodology based on a GA approach in order to solve the fuzzy OAS problem in any scale.Profit maximization is considered as the objective of the model and it is assumed that a set of incoming orders is available at the beginning.The schedule is non-preemptive, which means that when an order starts to be processed on the machine, the process cannot be interrupted before its completion.In most production environments, scheduling frequently has inherent resource-related and/or jobrelated uncertainties [22].Furthermore, poor reliability in the production process on account of issues such as machine hold-ups and man-made factors, may cause for example uncertainty in the processing and set up times.Thus, crisp processing and crisp sequence dependent set up times cannot reflect the real problem appropriately.As mentioned before, in the OAS literature, there are some stochastic OAS problems that represent uncertainties via stochastic modeling, where processing times and due dates are generally assumed to be random variables with a known probability distribution [17].In real life situations, it may not be possible to obtain enough prior information to characterize the probability distribution of a random processing time.This is especially the case in MTO environments, where firms offer more customized and unique products that can be novel for them.Under such circumstances, it is extremely hard to get exact information or enough historical information to construct a probability distribution of processing and sequence dependent set up times.
The notations related to the formulation of the fuzzy OAS problem are as follows: i: order index (i= 1,2,….n,i∈ SO) j: order index (j= 0,1, … . + 1,  ∈ ) r i : unit revenue of order i s ̃ij : fuzzy sequence dependent set up times p ̃i: fuzzy processing time of order i d ̃i: fuzzy due date of order i c ̃i: fuzzy completion time of order i It is assumed that a set of independent orders (SO) is given at the beginning of the planning period.For each order i∈SO, data on fuzzy processing time  ̃, fuzzy due date  ̃, and fuzzy sequence dependent set up times ̃  are available.Revenue of order i (  ) denotes unit gain from order i.The manufacturer must complete order i until its fuzzy due date ( ̃).The objective is to find a processing sequence of all accepted orders on the single machine that maximizes the total revenue (TR), which can be formulated as: TR= Max ∑ r i x i n i=1 (2) where, x i denotes a binary variable which equals to 1 if order i is accepted, or 0 otherwise.
For a given sequence of the order set, C ̃ can be calculated as follows: ̃ + (̃  +  ̃) =  ̌ (if order i is processed immediately before order j.) (3) Then, the fuzzy completion time of order j can be compared with the fuzzy due date of order j.After the comparision, the acceptance decision of order j is made as in Eq. ( 4): ELSE Reject Order j If accepted, order j is scheduled after order i and the revenue gained from order j is added to the total revenue.Comparison of fuzzy numbers can be made using various ranking methods.In this study, we employ the signed distance method and ranking based on the integral value method to make the acceptance decision in Eq.( 4).Therefore, the proposed GA also includes the selected ranking method, which is explained in Section 3. The other issue is the arithmetic of fuzzy numbers in the problem formulation.When two triangular fuzzy numbers are added or subtracted, the obtained fuzzy number will be a triangular fuzzy number.So, the calculation in Eq. ( 3) does not change the type of fuzzy number.

Proposed genetic algorithm
In the proposed formulation, there are fuzzy numbers in constraints, so the ranking methods are used to determine the feasibility of the constraints.This approach was proposed by Baykosoglu and Gocken [23] and is called the direct solution approach.Two types of ranking methods are used in the solution approach.The first method is the signed distance method, and the second method is the integral value based method proposed by Liou and Wang [24].

Ranking fuzzy number using the signed distance method
The definition of signed distance for fuzzy numbers has some similar properties to those of the signed distance defined for the set of real numbers.( ̌ − +  ̌ + ), is taken as the signed distance of this α-level set from origin.The signed distance of  ̌ from origin (a ̃) is defined as the average of the signed distances of the αlevel sets of a ̃ over α ∈ [0,1].It is calculated as [25]: Let a ̃ and b ̃ be two fuzzy numbers; their ranking relation is defined as:

Ranking fuzzy number with integral value
Liou and Wang [24] develop an approach for ranking fuzzy numbers with integral value.This method takes into account the decision maker's degree of optimism  ∈ [0,1].The ranking method of Liou and Wang [24] is comparatively easy in computation, especially in ranking triangular and trapezoidal fuzzy numbers.This method can be used to rank more than two fuzzy numbers simultaneously.The definition of integral values for the triangular fuzzy number A ̃ is given as follows [26]: ) where 0 ≤  ≤ 1

Genetic algorithm for fuzzy OAS problem
Since the OAS problem has been proven to be NPhard [7], no exact method can obtain an optimal solution in a reasonable computational time when the problem sizes are large.For this reason, some researchers use meta-heuristics to solve the OAS problem.In the present study, a GA approach with fuzzy ranking methods is proposed to solve the fuzzy OAS problem.Genetic algorithms (Gas) are stochastic search techniques for approximating optimal solutions within complex search spaces.They are based on the process of natural selection.Before a GA can be run, a suitable encoding or representation for the solution of the problem must be developed.A fitness function is also needed.It assigns a value to each encoded solution to estimate the quality of the represented solution [27].Starting with a randomly generated population of chromosomes, a GA performs a process of fitness based selection and recombination to produce the next generation.During the run, genetic operators (selection, crossover) are applied to parent chromosomes and their genetic materials are recombined to produce child chromosomes (offspring).As this process is iterated, the quality of the solutions in the current population increases and the algorithm converges on the best chromosomes, which represent the optimal or sub-optimal solution.The evolution of the process is terminated when a satisfying solution is achieved or when the predetermined run time is reached or when any other criterion or combination of criteria is satisfied [28].The steps of the proposed GA are as follows: Step 1. Population initialization The adopted encoding scheme is based on random keys representation, which consists of random numbers between 0 and 1 [29].For a problem with n orders, a sequence of n random numbers in (0, 1) is generated and then these random numbers are ordered in ascending order.For example, for n=5, the random numbers are generated as (0.17, 0.46, 0.25, 0.96, 0.34) and then reordered as (0.17, 0.25, 0.34, 0.46, 0.96).This random sequence represents the order sequence (1,3,5,2,4).This process is repeated until the desired number of chromosomes is generated for the initialized population.The same procedure was also used by Rom and Slotnick [6] and Chen et al. [11].

Step 2. Fitness Evaluation
The fitness function is the same as the objective function, which is total revenue.The fitness value of each chromosome is evaluated as follows: 2.1 Until the end of the order sequence in the chromosome, choose the next order to evaluate.When all orders are chosen to evaluate, go to step 2.4.2.2.Calculate the start and completion time of the selected order.St ̌i: fuzzy start time of the order I C i ̌: fuzzy completion time of the order I st ̌ =  ̃ + ̃  (if order I is processed immediately before order j.) C ̌j = st ̌ + p ̌j 2.3.Decide whether to accept or to reject the order.  ̌ ≤  ̌ Accept order j ( its sequence should also be saved)  Reject order j and return to step 2.1.Fuzzy ranking methods are used to evaluate this fuzzy constraint.2.4.When all the orders in the chromosome are evaluated (end of the order sequence), calculate the total revenue (TR) gained.
Step 3. Crossover A variety of crossover methods are available in the literature.Rom and Slotnick [6] use a two-point crossover to generate offspring for the OAS problem.However, this method needs some correction operation if offspring are not feasible.The same-site-copy-first crossover is applied in the present study to selected parent chromosomes to generate offspring.This approach was proposed by Wang and Wu [30] and later used by Chen et al. [11] in the proposed algorithm for OAS.The procedure can be described as follows: 3.1.Any gene-code that settles into the same position in both parents is assigned to the corresponding position in the offspring.
3.2.The remaining positions in the offspring are designated by the order of all gene-codes in Parent 1 within the sequence bounded by two randomly selected points.
3.3.The remaining unassigned positions are placed in the order of appearance in Parent 2. An illustrative example of the crossover procedure is given in Figure 2. Step 3.1.7 2 Step 3.2.7 8 2 4 1 Step 3.3.5 9 7 8 2 4 1 3 6 Randomly selected points are represented by * We consider two different parent selection approaches for mating, namely random selection and selection based on the difference measurement proposed by Chen et al. [11].To select parent chromosomes, firstly tournament selection was applied to select λ chromosomes from the population.The fittest of the λ chromosomes were selected to be the first parent and the chromosome that is most different from the first parent was selected as the second parent [11].Chen et al. [11] suggested a distance measurement between two individuals based on the Hamming distance perspective.The new revised measurement takes into account the orders that are accepted.It can be defined as: Step 4. Mutation Mutation operators are widely used in GAs to provide population diversity.There are many mutation operators for scheduling problems.In this study, shiftchange mutation is performed, in which two positions are selected random and then one selected position is replaced with the other one.After that, all positions are shifted within the sequence bounded by the two selected positions [11].Shift change mutation procedure is explained in Figure 3.

Step 5. Local Search
A local search procedure is useful in scheduling problems to improve the generated solutions.The most used local search method in OAS problems is performed in the present study.This procedure successively interchanges the positions of two immediate orders in the sequence.If any interchange improves the solution, it is kept as the new solution [6,11].Flow chart of the proposed GA (Figure A1) is given in Appendix A.

Numerical examples and illustration
The proposed GA for the fuzzy OAS problem is implemented using the C++ programming language.Since there is no data related to the fuzzy OAS problem in the literature.The benchmark instances generated by Cesaret et al. [9], which are available at http://home.ku.edu.tr/~coguz/, are used to get fuzzy data.Crisp processing times, sequence dependent set up times, and due dates are revised as triangular fuzzy numbers.The data are revised using the developed user interface of the proposed program.The crispt number is taken as intermediate value ( 2 ), and then the value of  2 is decreased at a random rate to get  1 value; and increased at a random rate to obtain  3 value.Since this is the first time that the fuzzy OAS problem has been studied, it is not possible to compare the current meta-heuristic algorithm of this study with other meta-heuristic algorithms in the literature.In this section, first, the results of the two ranking methods used in the algorithm are given and evaluated, then the effects of "diversity-based selection" and "local search" operators on solution quality are examined.
The developed user interface enables the practitioners to use the solution approach easly.Some illustration of interface screenshots related to entering data, parameter settings, solving the problem and displaying the solution are given in Figure A2, Figure A3, Figure A4, and Figure A5.The data of the problem can be transferred from any saved file and revised if needed after the "Select File" option is selected (Figure A2).The fuzzified problem data can be viewed by using the "Order Data" tab in the upper right-hand corner (Figure A3).The solution procedures start after selecting the "Initialize Population" and "Start Fuzzy Process" options.The other parameters of the algorithm can also be entered through the interface of the program.Since the primary purpose of this study is to formulate the fuzzy OAS problem and to solve this problem efficiently, sophisticated parameter controlling strategies were not used.Some parameters of the GA algorithm are selected based on pretests conducted manually, while others are selected based on the study conducted by Chen et al. [11].After testing, the best performance is achieved with a population size of 200.Crossover probability and mutation probability are set to 0.8 and 0.2, as in the study of Chen et al. [11] .When the maximum 5000 iterations are reached, the algorithms stop and return the best solutions.Since local search increases computation time, the search probability can be limited via "Local Search Probability" option.The local search is not limited for illustrative examples.Six fuzzy OAS problems with 10, 15, 20, 25, 50 and 100 orders are solved to determine the performance of the proposed algorithm with different problem sizes.The data of the instances can be accessed at https://web.adanabtu.edu.tr/ekoyuncu/DuyuruList.

Figure 2 .
Figure 2.An illustrative example of the crossover procedure

Figure 3 .
Figure 3. Illustration of the mutation procedure

Table 1 .
The solutions obtained by signed distance and