Golden Ball Algorithm for solving Flow Shop Scheduling Problem

— The Flow Shop Scheduling Problem (FSSP) is notoriously NP-hard combinatorial optimization problem. The goal is to find a schedule that minimizes the makespan. This paper proposes an adaptation of a new approach called Golden Ball Algorithm (GBA). The proposed algorithm has been never tested with FSSP; it’s based on soccer concept to obtain the optimal solution. Numerical results are presented for 22 instances of OR-Library. The computational results indicate that this approach is practical for small OR-Library instances.


I. Introduction
T HE flow shop scheduling problem (FSSP) [1] is to schedule a set of n jobs on a set of m machines. The both parameters n and m are given. Each job consists of a chain of operations. All machines should process the jobs in the same order of jobs.
The objective is to schedule jobs in such a way as to minimize the maximum of the completion time of all the jobs (makespan). In the FSSP some constraints must be satisfied such as: • All jobs are independent and ready for processing at time zero The FSSP is one of the most difficult combinatorial optimization problem and it belongs to NP-hard problems [2].Finding a good solutions to the FSSP is of great interest to the industrial sector.
In this paper we present an adaptation of the Golden Ball algorithm (GBA) to the flow shop scheduling problem (FSSP). This algorithm is based on the soccer concepts. The objective of this approach is to produce satisfactory results more near optimal and in less time.
The rest of this paper is organized as follows: In section II, flow shop scheduling problem formulation. In section III, the golden ball metaheuristic. In section IV, the golden ball adaptation. In section V, experimental results on 22 OR-Library instances [9] and finally a conclusion. In this example the best schedule obtained is:

II. Flow Shop Scheduling Problem Formulation
with a minimal makespan Cmax=23.
In this section we describe the operation of a new metaheuristic recently proposed called Golden Ball (GB). This method is based on several concepts of soccer to find the optimal solution. It was proposed firstly in 2013 by E.Osaba et al. [10].The recent version of GB was published in 2014 by the same authors [11]. This technique divides the initial solutions into groups. Each group represents a team. Each team works independently and competes with other teams to get the best solution.
Golden Ball algorithm is based on 4 main phases (Fig.2  We use the following methods as conventional training functions: [12]- [13]: a local search operator highly used by several researches to solve TSP. Its goal is to improve the path by replacing in each step of 2-opt two edges by two other edges.

2-opt
Insertion method [14]: choose and extract a random operation, insert it in position k between i and j in a way that the whole schedule is improved.
Swapping mechanism [15]: • First possible swap: select and swap two random operations.
• Second possible swap: reverse the operations order between two random positions.
• Third possible swap: divide the path into three parts. Copy the last part into the first part of the new schedule. Copy the second part into the second part of the new schedule and copy the inverse of the first part into the last part of the new schedule.
As a custom training function the proposed adaptation uses the Ordered Crossover (OX) [16].
Step1: select randomly two positions pos1 and pos2 to select the substring to be copied.
Step2: copy the substring from the parent into the corresponding position of the child schedule.
Step3: starting with the pos2, select all operations which are not already in the substring from the second parent Step4: place these operations into the positions of the child schedule from the left to the right according to the order of the sequence.
In the competition phase we order the schedules of each group according to their makespan in ascending order.
In the transfer phase especially in the season transfer all groups of schedules must be sorted according to their average cost in ascending order. GB ALGORITHM STEPS 1. Determine the value of NT and NP.
2. Generate NT*NP random schedules 3. To each group assign randomly NP schedules and a training function. 4. For each group find its best schedule and calculate its average completion time.
5. Start of the season and points initialized to 0.
6. Start the training session for each group.
7. If the session is finished, sort schedules of each group according to their Cmax in ascending order. Else, start the transfer phase if it is necessary and go to step 6.
8. Compare each schedule of the group with another existing in other group chosen randomly. The group who has the better schedule receives 3 points. If the two schedules are equal the both groups receive 1 point.
9. If the season is not finished, go to step 4.

Else,
If the optimal solution is found, stop the program. Else, • sort all groups according to their points and average completion time in ascending order.
• exchange schedules and training functions between groups.
• go to step 4.

IV. Numerical Results
The program is tested on different instances of OR-library. The GB algorithm was implemented in C language and compiled using Microsoft Visual Studio 2008, the program code was executed in computer with Genuine Intel( R ) 575 @ 2.00 GHz 2.00 GHz RAM 2,00 Go.
The program uses four training functions and two parameters: NT (number of groups), NP (number of schedules per group. NP is assumed as constant. The effect of NT parameter is evaluated in the test problems with 6 various values. The parameters values in the TABLE II produce better results during the algorithm run. The results obtained for the different values of NT parameter are shown in the TABLE III. The application is run five times for each instance. The program stops after 60s.  The table above (TABLE IV)  The application is run ten times for each test instance.
The program stops when the best solution is reached. The maximum execution time of the application is 500s.
The following table (Table V) compares the proposed approach with other existed algorithms in the literature of flow shop scheduling problem such as Palmer [17] CDS [18] and NEH [19].
As the results show, the GBA is an effective algorithm for the flow shop scheduling problem.

V. Conclusion
This paper presents a new approach called Golden Ball algorithm (GBA) for the flow shop scheduling problem (FSSP). This proposed technique is based on soccer concept to find the optimal schedule with a minimal makespan. GBA is able to very quickly find the optimal schedule for the small flow shop schedule problem. For the other OR-Library instances, the algorithm produces results near optimal. The future work may be to increase the performance and the quality of the proposed adaptation for the large instances.