Skipping Strategy (SS) for Initial Population of Job-Shop Scheduling Problem

Initial population in job-shop scheduling problem (JSSP) is an essential step to obtain near optimal solution. Techniques used to solve JSSP are computationally demanding. Skipping strategy (SS) is employed to acquire initial population after sequence of job on machine and sequence of operations (expressed in Plates-jobs and mPlates-jobs) are determined. The proposed technique is applied to benchmark datasets and the results are compared to that of other initialization techniques. It is shown that the initial population obtained from the SS approach could generate optimal solution.

In this paper, a Skip Strategy (SS) is proposed. We first determine sequence of job on machine and sequence of operations followed by designing a set of rules to activate the mPlates-Jobs. Then skipping strategy based on the rules generated on mPlates is employed to obtain initial population.

Previous Research
Several random techniques were employed to get initial population of job shop scheduling problem [5], [7], [9],12], [15]. However it demands more computational time to get to near optimal solution. A new representation and schedule deduction method using a heuristic technique based on genetic algorithms (GA) to initialize the population was proposed in [17]. Additionally, integer linear programming [18] was also proposed, and the results were compared with some other proposed initialization procedures. However, there is still a need to consider different procedure to generate a population of initialization points to get a better solution.

Method
The job-shop scheduling problem formulated as follows: given set of jobs = { 1 , 2 , … , } on a set of machines = { 1 , 2 , … , }. The operations of the jobs have to be processed on the machines. = { , = 1,2, … , ∧ = 1,2, … , }. The objective function is: where maximum amount of time required for any particular task to be completed ( ) is the completion time of is the last operation of and = 1,2, … , .

Determining Sequence of Job on Machine (SJM)
Matrix of a sequence of jobs on machines ( ) is first determined to represent a solution space. Each row of the matrix represents jobs to be processed on a given machine and the machine has to be visited just once.

Constructing Active Schedule
We utilize an instance of six jobs six machines (Ft06 benchmark data set) to build an active schedule of a given

Plates-Jobs and mPlates-Jobs
After determining we then generate Plates-jobs and mPlates-Jobs respectively. The first column/operation ( 1 ) of has two machines ( 2 , 3 ), the second one ( 2 ) has four machines ( 1 , 2 , 3 , 4 ) and so on. For example 1 has 2 Plates-Jobs, a Plate-Jobs indexes with 2 has three jobs ( 2 , 4 and 6 ) and a Plate-Jobs indexes with 3 with three other jobs ( 1 , 3 and 5 ). Another example, 5 has four Plates-Jobs of which the first includes just one job ( 1 ), the second consists of two other jobs ( 2 and 5 ), the third has one job 3 and the last one contains two jobs, 4 and 6 . The remaining operations/columns of , other Plates-Jobs is illustrated in Figure 1.

Figure 1 Plates-Jobs based on SOJ
Furthermore, the Plates-Jobs of Ft06 are reorganized one-by-one, based on the numbers of the machines, to create mPlates-Jobs. For example, 1 has three Plates-Jobs related to 2 ( 1 and 4 ), 4 ( 3 and 6 ) and 5 ( 2 and 5 ) respectively. These operations are belongs to the same machine 1 . The same process will be repeated to the remaining machines 2 to 6 . The mPlates-Jobs is illustrated in Figure 2.  Individually mPlate-Jobs is split into two parts where the top part indicates the available jobs of the mPlate-Jobs and indexed operation, and the lower part shows an available process orders of the mPlatet-Job. The number of rows and its elements on the lower part of mPlates-Jobs are similar to the number of rows and its elements on . The empty mPlates-Jobs will be filled up with the available jobs on each mPlate as shown in Figure 3. mPlates-Jobs related to 1 → The first row of

Figure 3 mPlates-Jobs filled up with available jobs on each mPlate-Jobs
Therefore, the mPlates-Jobs is: Based on (4), the makespan (completion time) of the obtained is 60 while the optimal makespan for FT06 is 55. It shows the ability and efficiency of the proposed classification of mPlates-Jobs.

Generating Rules
Furthermore to continue the process in producing initial population, we create rules to conform: 1: Two consecutive operations of mPlates on a given machine can join together.

2:
If on a given machine do not match their own mPlates or consecutive mPlates, move these jobs towards their own mPlates 3: Sorted the jobs on their mPlates based on the maximum of the remainder processing times (RPT). 4: If two consecutive mPlates on a given machine are joined together and one job is formed, the first mPlate becomes a candidate to move to the next mPlate, and the processing order of the candidate job on the operation, should be recalculated.

Skipping Strategy (SS)
By considering the conditions and following the generated rules we then employ a skipping strategy (SS) to obtain initial population. The brief outline of SS is as follows: Step 1: Define mPlates, the real processing orders ( ) of jobs related to their mPlates and their current processing orders ( ) on /row α of the .
Step 2: Consider mPlate on , if it satisfy (4), sort its on follow the third rule of mPlates-Jobs, recalculate makespan of the exchanged primal .
Step 3: Match the _ s of jobs on the primal with their _ s predefined on the mPlate or consecutive mPlates (the first and second rule of mPlates-Jobs), by moving the _ s of jobs toward their _ s one-by-one, if condition (5) or (6)  Step 4: Any job in the mPlate next to the chosen mPlate with smaller RPT than the maximum of the RPTs on the chosen mPlate can get the order of the chosen mPlate (the fourth rule of mPlates-Jobs).
Step 5: At the same time as moving jobs from their current order to a new order (Steps 2-4).

Results and Discussion
We implemented our proposed method to some of benchmark data and compared the result to those of some other algorithms in term of relative percentage of error (RPE) for the completion time.  where is the best quality of initial population produced, BKS is the Best Known Solution is the best quality of generated points by the target algorithm.
Result comparison of our experiment is shown in Table 1, where the deviation from the BKS of the best point in the initial population produced by SS is on average 3.6% for Ft06, Ft10, and Ft20 datasets, 4.3% for La01-40 datasets, and so on. The negative RPE for Willem's dataset [18] by SS means that SS has succeeded in generating a point in the initial population 2.1% better than the BKS for Willem's dataset.

Conclusion
In this paper, a new strategy (SS) to generate an initial population to near optimal solution has been proposed. The SS was designed based on mPlates-Jobs, with respect to . Then we create rules by considering the solution space, monitoring the processing order of jobs over machines, and checking their effects on the quality of the solutions and on gaps created in their schedules.
From the result obtained it is shown that SS has the ability to produce any size of initial population compare to those of available valid methods. The important point is the observation of the best known solution among the initial population of FT06, FT10, La04 and La15.