Combination of genetic algorithm and shifting bottleneck heuristics to solve a job shop scheduling problem in wood processing company

The scheduling problem has always been the concern of most companies in the flexible Job shop or Job shop environments because of its complexity. It is really a challenge for researchers to solve or find out the optimum solution. The lead time production at Teak Woods line in a wood processing company, a case study, faced with about 80% of orders which could not be done on time, although its capacity meet requirements. Therefore, it is very useful and necessary to set up a production scheduling model in order to reduce production time and synchronize the product’s parts through efficient modulation in an optimum sequence of jobs on the shopfloor. A combination of Genetic Algorithm and Shifting Bottleneck Heuristics was used to find out high quality solutions. It shows that the productivity increased from 2.32 m 3 /day to 4.3 m 3 /day (up 98.27%); Processing time was reduced from 3248.6 minutes to 1352.1 minutes (down 58.38%); The sync time decreased from 7554.8 minutes to 350.8 minutes (down 95.36%).


Introduction
This paper would solve a wood processing company scheduling problem, in which about 80% of orders could not be done on time as the plan.Actually, different products would follow different production processes, but they have to share the limited resources such as machine, operator, equipment, and tool.Unfortunately, the priority of the jobs on the shop floor was set by manual way, which belongs to the manager experiment.In another hand, there are many scheduling algorithms or heuristics to solve the job shop models.Each of them has their own advantages and disadvantages.They are classified into three types of algorithms including experiment algorithms, optimal algorithms and nearest neighbor algorithms.Experiment algorithms show scheduling results in a short time, but they do not sure about the quality of the solutions.Optimal algorithms could find out optimal solutions but they would face with the very difficulty to solve the big scheduling problem.Nearest neighbor algorithm, which could be known as the improvement heuristics algorithms, could solve big problem with an acceptable quality solution.According to Hong Zhou, Waiman Cheung, Lawrence C. Leung [8], an algorithm combining local and global search would quickly find a better solution than a simple one.In this research, the company has to moderate a large and complex number of jobs in term of complicated shopfloor scheduling problem, NP-hard problem.The better solution could be achieved by applying the heuristics algorithms [5].
In the study, a combination of Genetic Algorithm (GA) and Shifting Bottleneck Heuristic (SBH) would be introduced to solve that problem.

Scheduling
Scheduling is the process of arranging, controlling and optimizing work and workloads in a production process or manufacturing process.Scheduling is used to allocate plant and machinery resources, plan human resources, plan production processes and purchase materials [10].
There are five popular dispatching rules using on scheduling, which are earliest due date first (EDD), weighted shortest processing time first (WSPT), longest processing time first (LPT), with biggest weight first (WBW), shortest processing time first (SPT).Intended objective function of these rules are shown in

Genetic Algorithm
Genetic Algorithm (GA) is a search-based optimization technique based on the principles of Genetics and Natural Selection [1].It is frequently used to find optimal or near-optimal solutions to difficult problems which otherwise would take a long time to solve.It is also used to solve optimization problems, in research, and in machine learning.
GAs have various advantages which have made them immensely more popular than other algorithms [1,2,5,14]:  Provides a list of "good" solutions, not a single one. Useful in a large -space search and a large number of parameters involved. Uses probability changing rules, not determinism. Try to get objective function value without other information.
A GA begins by creating a random initial population then creates a sequence of new populations, computes its objective function value, fitness value, which is used to evaluate the quality of the candidate alternatives.The good alternatives, parents, are selected to generate new alternatives as children of the population.They are produced either by making random changes to a single parents-mutation or by combining the vector entries of a pair of parents-crossover.Some individuals in the population would be replaced by the new alternative generating the next generation of the population if the their fitness values were better.In that way, the next generation is always better than the previous generation because of taking good features from the parents.The algorithm stops when one of the stopping criteria is met.

Crossover operator
The crossover operator is analogous to reproduction and biological crossover.In this, more than one parents are selected and one or more off-springs are produced using the genetic material of the parents.
 One Point Crossover: A random crossover point is selected and the tails of its two parents are swapped to get new off-springs. Multi Point Crossover: A generalization of the one-point crossover wherein alternating segments are swapped to get new off-springs. Uniform Crossover: Essentially flip a coin for each chromosome to decide whether or not it would be included in the off-spring then bias the coin to one parents, to have more genetic material in the child from that parents.

Mutation Operators
 Binary mutation: the gene is randomly flipped with 0 changed to 1 and 1 changed to 0.  Reciprocal exchange mutation: a subset of genes is chosen and their values are shuffled randomly.
 Inversion mutation selects a subset of genes like in reciprocal mutation, but invert the entire string in the subset instead of shuffling the subset. Displacement mutation: a random subset of gene values is assigned to a randomly chosen gene. Insertion mutation: a random value from the set of permissible values is assigned to a randomly chosen gene.
(Special case of displacement mutation, only 1 gene be chosen)  Shift mutation: randomly select a gene and then move it to a random position on the right or left of that gene's position.

Termination conditions
It's up to the problem's requirement to choose a rational termination condition.
 Time: determine how long will the process take first and then show the result in that time.
 Result: when reaching the optimal result. Number of the generation: stops right after the prescribed number of generations, ignores the result. Combination: Combine all the conditions above.

Shifting Bottleneck Heuristics
The Shifting Bottleneck Heuristics is a procedure intended to minimize the time that takes to do work, or specifically, the makespan in a job shop environment [17].The makespan is defined as the amount of time, from start to finish, to complete a set of multi-machine jobs where machine order is pre-set for each job.Assuming that the jobs are actually competing for the same resources (machines) then there will always be one or more resources that act as a 'bottleneck' in the processing.This heuristics, or 'rule of thumb' procedure minimizes the effect of the bottleneck.The Shifting Bottleneck Heuristics is intended for job shops with a finite number of jobs and a finite number of machines.

Combination model of Genetic Algorithm and Shifting Bottleneck Heuristics
The GA would select parents with a better adapted function to produce offsprings.However, crossing two good individuals together would not make sure that the offsprings have a better adaptive value and solving problems by GA takes a long time.To speed up the approach to the optimal solution, this paper would integrate local search algorithms in genomic algorithms, so SBH was introduced to optimize the offsprings [23].With a combination of GA and neighboring searches, a local optimal point would be created to contribute to global optimization.

Methodology
Based on the literature review, the scheduling model solving process was built with 6 steps below: Step 1: Identify the problem by Pareto, Ishikawa diagram, Histogram chart,… Step 2: Propose solutions.After identifying the problem and the main causes, this step would give a set of solutions.
Those solutions are analyzed and evaluated specifically based on data proving the problem, the impact of the proposed solution on the case study.The result in step 2 is the problem-solving orientation through a clear and appropriate set of solutions.For example, the case study scheduling problem should be cleared on measurements as shown on Table 2. Step 3: Collect data.The system data (system characteristics, basic data in settlement orientation, system results) is collected to serve the algorithm which will be built in step 4.
Step 4: Build algorithm and collect current system data.This step will use the algorithm and the current data to solve the system problem then show the algorithm's results.
Step 5: Compare the results in step 4 with the current system to know if it better or not.
Step 6: Conclude and request.

Case study 4.1. Mathematical model
Objective function: Minimize the weighted total between the average detail completion time - ̅ (F1) and the synchronization time of a product (F2).Processing time, production time, is the time from the first station to the warehouse.Synchronization time is the time between receiving the first detail of the product and the final detail being completed.The greater the alpha coefficient, the more the objective function is affected by F1.
Criteria as followings:  Maximum number of jobs on a machine. In the same detail, task n+1 just be executed after completing task n.  Start time of the job must be later than finish time of the previous one. The number of machines, parts and processing stages is greater than 0.  Alpha criteria falls between 0 and 1.
They are constraints of the model:

: weighted of multi-objective function
Assumptions: Limited capacity: the number of machines is more than 1 and they are unbroken; the number of workers are known and stable; No more than 1 job on the same machine at the same time; the jobs have to be continuously and being performed after finishing the previous job (non-delay); every machine has to have its own worker at working time as a work center.

Scheduling Algorithm
Genetic coding needs to exhibit elements of the Jobshop scheduling model.A genetic coding proposal was made as Table 3.
Product A1 has 2 parts: A1.01 and A1.02, and every parts also has 3 task: 01, 02, 03.Task A1.01.01 is performed in machine M1 with 10 minutes of processing time, which are similar to other tasks.The process is encoded in the gene through the "Sequence processing" gene.The first-ranked tasks on sequence processing gene would be prioritized in scheduling model.4 show that objective function value is more sensitive with Alpha > 0.6 (reduces processing time, increases synchronizing time).

Individual number affected
A large number of original individuals will create the genetic abundance of the original population to reduce the number of iterations to reach a good solution as shown in Table 6 and on Figure 5. Therefore, the original number of individuals have to big enough to ensure the stability of the solutions.

Iteration number affected
Large number of iterations could take time to solve a large-scale problems, but it could find out the better alternatives as shown in Table 7 and Figure 6.

Results
Model input parameters that need to be noted are:  Objective function value is more sensitive with Alpha > 0.6 (reduces processing time, increases synchronizing time). With the same scheduling volume, the higher the number of iterations would show the better solution. The scheduling volume needs to fix with the company capacity On the current system, scheduling for 28m 3 with input coefficient alpha = 0.8, number of iterations 50 and initial number of 20.The productivity increased from 2.32m 3 /day to 4.3m 3 /day (up 98.3%), processing time was reduced from 3248.6 minutes to 1352.1 minutes (down 58.4%), the sync time decreased from 7554.8 minutes to 350.8 minutes (down 95.4%).Table 11 shows the evaluation between model and reality.
Thus, the scheduling model has solved the problems of product synchronization, processing time, workpiece productivity effectively by rational production moderation and machines scheduling.The scheduling results of the three cases as mentioned previously is shown on the Figure 7.

Conclusion
A large volume of workloads, diverse and complex processes lead to difficulties in assigning work to production resources.This study introduced the combination of the GA and SHB to find out the quality solutions.Many wood furniture processing companies are faced with using the limited resources in the effective way to enhance the customer services and also reduce manufacturing costs.The profits would be made higher if the production costs were lower.
This study shows that the way to combine GA and SBH would bring good solutions for the case study.However, more complicated factors of the real systems, which would pay much affect on the solutions, would be considered in the future research.Besides, the alternative to reduce computer time should be focused on with the larger job shop scheduling problems.

Figure 1 Figure 2
Figure 1 Disjunctive Graph in Job shop scheduling number of scheduling product (i = 1:n) m: m scheduling parts of each product (j = 1:m) o: part processing h: number of machine cells y: y machines in each cell ts: start time te: finish time

Figure 3
Figure 3 Gantt chartOn this scheduling model, objective function value would be affected by alpha coefficient, individual number and iteration number.In order to identify which is the most affective one, this paper keeps one of them and changes the others, try the sample products on Table4below.

Figure 5
Figure 5 Individual number of alternatives (Fixed size) affection

Figure 7
Figure 7 Scheduling results

Table 1
1, in which:  Cmax: completion time of the last job  ∑    : total weighted completion time  ∑  : total completion time Objective function

Table 3
Genetic coding

Table 5
Alpha affected

. Applying to actual schedule
In this part, the scheduling model was used to schedule 3 different cases with 3 different number of products, chosen randomly.Case 1: 5 products, 355 tasks, individual number is 20, alpha 0.8, iteration number is 50  Case 2: 8 products, 487 tasks, individual number is 20, alpha 0.8, iteration number is 50  Case 3: 12 products, 678 tasks, individual number is 20, alpha 0.8, iteration number is 50