In a well-known optimization problem known as the flowshop job scheduling problem, a set of devices has to be scheduled. The goal is to reduce the makespan or time spent on all tasks. It is well known that the problem is NP-hard, which means that it is mathematically impossible to find exact solutions for large problem cases. Therefore, to address this issue, many people use meta-heuristics, which are heuristic optimization techniques. Optimization techniques known as meta-heuristics are used to determine near-optimal solutions. Several instructors have used meta-heuristic approaches to solve the flow shop task scheduling problem. Popular meta-heuristic algorithms include simulated annealing, particle swarm optimization, genetic algorithms, and ant colony optimization.
The paper by Ronghua Chen et. al. in 2020 [1] suggests a self-learning genetic algorithm (SLGA), in which reinforcement learning (RL) is used to intelligently alter the essential parameters of the genetic algorithm (GA), which is adopted as the fundamental optimisation approach.
In another paper by Dai Min et. al. in 2019 [2] The simple job shop scheduling problem of transport constraint is presented to a multi-objective optimization model with the objective of minimizing energy consumption and minimizing makespan and subsequently developing a genetic optimization strategy to solve the problem role. Finally, several experiments are conducted to evaluate the effectiveness of the proposed model and algorithm.
“An improved Jaya algorithm for solving the flexible job shop scheduling problem with transportation and setup times” by Jun-qing Li et. al in 2020 [3]. In this version, each solution is represented by the two-dimensional vector of the proposed algorithm. As a result, many locally-focused search engines are developed for utility projects. The method incorporates SA-based statistics to improve identification. Meanwhile, 30 models with different dimensions were fabricated and subjected to simulation testing to evaluate the efficiency of the proposed IJaya algorithm
“A Two-Level Particle Set Optimization Algorithm for the Flexible Job Shop Scheduling Problem” For the flexible job shop scheduling problem, this research proposes a method for flexibly mapping jobs to machines is controlled at a high level and sequencing activities to devices are controlled at a low level. For benchmark problems, the method is compared with current state-of-the-art solutions to the simple factory scheduling problem [4].
In “A hybrid artificial bee colony algorithm for flexible job shop scheduling with worker flexibility”, to solve the proposed FJSPW, a hybrid artificial bee colony algorithm (HABCA) is presented [5]. To increase the HABCA's speed and exploitation potential, efficient encoding, decoding, crossover, and mutation operators are devised. Additionally, a novel efficient local search technique is created. To find the ideal combination of important HABCA parameters, the Taguchi method of Design of Experiments is utilised.
In “A variable neighborhood search based genetic algorithm for flexible job shop scheduling problem” [6], A flexible job shop scheduling problem has been proposed which aims to minimize the maximum completion time or makespan, is considered in this study. Variable Neighborhood Search (VNS) based on Evolutionary Algorithms is proposed to balance between Intensification and Diversification to improve Searchability and solve such NP Hard Problem VNS algorithm has shown good local searchability by adopting methods over search local search programs.
Framework:
The proposed approach consists of the following steps based on original COA [7]:
Psuedo Code for the proposed methodology:
The COA is parallelized using OpenMP, which enables data interchange and communication across many processes. To parallelize COA, the iterations were performed in two parts. Total number of iterations suppose are taken to be 100. For the first 50 iterations, five threads were run with each thread performing 10 iterations. The resultant best cuckoos of each thread along with some randomly generated population was again fed into 5 threads for 10 iterations each. The best solution obtained is the one with the least cost out of the previous result.
Mathematical model:
The objective function for a parallelized cuckoo search algorithm for the Flexible Job Shop Scheduling Problem (FJSP) can be formulated as follows:
Minimize the makespan, i.e., the time taken to complete all the jobs, subject to the constraint that each job is processed on exactly one machine at a time.
Mathematically, if we represent the problem as a set of jobs J = {j1, j2, ..., jn} and a set of m machines M = {m1, m2, ..., mm}, and let Sij be the processing time of job j on machine i, then the objective function can be written as:
minimize max { Cj | j ∈ J }
subject to:
∑j ∈ J Sij × xij = Ci ∀ i ∈ M,
∑i ∈ M xij = 1 ∀ j ∈ J,
∑j ∈ J xi(k,j) = ∑j ∈ J xi(j,k) ∀ k ∈ M,
∑j ∈ J {Cj − Sij} × xij ≤ Tmax ∀ i ∈ M,
xij ∈ {0, 1} ∀ i ∈ M, ∀ j ∈ J,
where xij is a binary variable that takes the value 1 if job j is processed on machine i and 0 otherwise, and Ci is the completion time of job j, given by:
Ci = max {Ck + Sij | j ∈ J, k ∈ M, xik = 1, k ≠ i}
The first constraint ensures that each job is processed on exactly one machine at a time, the second constraint ensures that each machine processes exactly one job at a time, and the third constraint ensures that the completion times of all jobs are synchronized. The fourth constraint imposes a time limit Tmax on the makespan.
The cuckoo search algorithm can be used to search for the optimal solution by iteratively improving a set of candidate solutions. The parallelization of the algorithm can be achieved by dividing the search space into multiple subspaces and assigning each subspace to a different processor or thread for concurrent exploration.
The objective function is evaluated in each processor or thread to determine the fitness of the candidate solutions. The best solutions from each processor or thread are then combined to generate a new set of candidate solutions for the next iteration.
Experimental Results:
The proposed algorithm is tested on benchmark instances from the literature. The experiments are conducted on a computer with an Intel Core i7 processor and 16 GB RAM. The parameters of the algorithm are set as follows: population size = 50, number of iterations = 500, discovery rate = 0.25, abandonment rate = 0.25, and local search probability = 0.25. The proposed algorithm is compared with state-of-the-art algorithms.
PCOA results:
Example
Kacem sample data 1 has been used here:
4 5
3
5 1 2 2 5 3 4 4 1 5 2
5 1 5 2 4 3 5 4 7 5 5
5 1 4 2 5 3 5 4 4 5 5
3
5 1 2 2 5 3 4 4 7 5 8
5 1 5 2 6 3 9 4 8 5 5
5 1 4 2 5 3 4 4 54 5 5
4
5 1 9 2 8 3 6 4 7 5 9
5 1 6 2 1 3 2 4 5 5 4
5 1 2 2 5 3 4 4 2 5 4
5 1 4 2 5 3 2 4 1 5 5
2
5 1 1 2 5 3 2 4 4 5 12
5 1 5 2 1 3 2 4 1 5 2
|
The two numbers in the first line represent the number of jobs and the number of available machines respectively.
Then blocks of lines corresponding to the number of jobs follow with each block beginning with the number of operations.
Next up, each line gives the data for the operation where the first number indicates the number of route choices for that particular operation and next up on the same line, we have the machine numbers and the processing times for each of the route choices.
Number of iterations used: 500
Number of particles: 20
The result obtained after running the Parallel Cuckoo Optimisation Algorithm on the kacem data sample 1 is as follows:
Best Solution:
Makespan:11
time taken = 0.280016
|