Exact and Local Search Algorithms to Minimize Multicriteria Scheduling Problem

: In this article , we consider the Multicriteria scheduling problem on a single machine for minimizing the sum of total completion time (∑C j ) with the total tardiness (∑T j ) and maximum earliness (E max ). We propose a branch and bound (BAB) algorithm to find the optimal solution for the problem. In this BAB algorithm, a lower bound (LB) based on the decomposition property of the Multicriteria problem is used. Two local search algorithms, descent method (DM) and simulated annealing (SA) are applied for the problem. The algorithms DM and SA are compared with the BAB algorithm in order to evaluate effectiveness of the solution methods. Conclusions are formulated on the efficiency of the algorithms, Based on findings of computational experiments.


Introduction
Generally, the sequencing problem is denoted as a problem of assigning a set of jobs to a set of machines in time under given constraints [6,7,8].Jobs j (j=1,2,…,n) are mainly distinguished by processing times (Pj), due dates (dj), define completion times (  =∑  =1   ) for particular schedule of jobs.The quality of a schedule can be evaluated by different performance measures including due date's from, the informal Criteria that are applied by practitioners ]1[.Real world problems happen in various application domains are usually strictly related to time]1[.In simultaneous Multicriteria problems, when the criteria are weighted differently, an objective function can be defined as the sum of weighted functions and transform the problem into a single criterion sequencing problem.Al-Nuaimi ]2[ proposed an algorithm to find efficient solutions for Multicriteria scheduling problem of total completion time (∑Cj) with maximum late work (Vmax) and maximum lateness (Lmax) on a single machine.In ]3 [Al-Nuaimi presented some algorithms to find exact and best possible solutions for the problem of three objectives maximum lateness (Lmax), maximum earliness (Emax) and sum of completion time (∑Cj) in hierarchical case.Also, Al-Nuaimi ]4[ proposed an algorithm to solve the problem 1//F(∑Cj , ∑Tj , Lmax ) to find the set of efficient solutions.

Formulation of the problem:
A set N={1,2,…,n} of n independent jobs are available for operating at time zero, each job j (j=1,2,…,n) is to be processed without interruption on single machine that can be handle only one job at a time, requires processing time Pj and due date dj.For a given sequence   ℎ , completion time  () =∑  =1  () , total tardiness ∑  =1  () where  () =max{ () - () ,0} and maximum earliness Emax()=max{  (1) ,   (2) , … ,  () }, can be computed where  () =max{ () - () ,0}.The objective is to schedule the jobs so that the objective function ∑Cj + ∑Tj + Emax of three criteria is minimized.This problem is NP-hard since the ∑  =1   is NP-hard.This problem is symbolled by (P) and can be formulated as followed: Where S is the set of all schedules.

The Branch and Bound (BAB) algorithm [5].
The Branch and Bound (BAB) algorithm is an enumeration method for finding the best solution by systematically evaluating subsets of possible solutions.All s ∈ S are implicitly enumerated by examining smaller subsets of the set of feasible solutions S. S* is discovered by the branch and bound.These subsets can be thought of as collections of solutions to the original problem's corresponding sub problems.
The steps of the BAB algorithm are as follows:

The branching step:
This procedure explains how to divide possible solutions into subsets.These subsets can be thought of as a collection of solutions to the original problem's corresponding sub problems.

The bounding step:
This procedure explains how to calculate a lower bound (LB) on the value of the optimal solution for each sub problem that is created during the branching process.

The search strategy step:
This refers to the method for branching from a node in the search tree.Among the nodes that have recently been formed.Normal The BAB algorithm will now be given a formal definition.The total number of possible sequences is divided into disjoint subsets, each of which can contain multiple sequences.We measure a (LB) for each subset, which is the cost of the sequencing jobs (tasks) (depending on the objective function) and the cost of the unsequencing jobs (depending on the objective function) (depending on the derived LB ).When the upper bound's (LB) is greater than or equal to the subset's (LB) (UB).This subset is ignored (the value for a trial solution is the upper bound UB) (schedule).Because any subset with a value less than UB can only occur in the remaining subsets, the trial solution is obtained using a heuristic method.These remaining subsets must be examined one by one.
In accordance with a quest plan.One of these subsets is chosen.This subset is then partitioned into smaller disjoint subsets (as seen above).A full schedule of the jobs should exist as soon as one of these subsets contains only one element.If the value of this schedule is less than the current upper bound UB, the UB is reset to take that value.After that, the process is repeated until all (node) subsets have been taken into account.The optimal solution for the problem is the upper bound (UB) at the end of this BAB process.
The BAB algorithm uses the upper bound of the objective value (UB) to truncate search tree branches that do not lead to an optimal solution.UB is equal to the objective value for the best solution constructed by BAB during the search.The initial upper bound is determined by the problem at hand at the start of the solution process.
At the root node of the BAB search tree, the heuristic method which is applied once to find the upper bound (UB) on the minimum value of (∑  =1  +∑  =1  + Emax ) is obtained by the shortest processing time (SPT) rule, that is sequencing the jobs in non-decreasing order of their processing time (Pj), j=1,2,…,n.
To calculate a lower bound (LB) for each node, let  be the sequencing jobs and ́ be the unsequencing jobs, hence LB()=Exact cost of ()+ cost of ().
Where cost of ́ is obtained by using lower bounding procedure.
This sub problem (SP3) is solved by minimum slack time (MST) rule, that is sequencing the jobs in nondecreasing order of their slack time dj-Pj ,J=1,2,…,n.
Thus, the lower bound (LB) for the problem (P) is the sum of minimum values of the sub problems (SP1), (SP2) and (SP3).We proposed that the minimum value for ∑ Tj is obtained by ∑ Tj (SPT) -Tmax (EDD), Where EDD is the earliest due date value, i.e., sequencing the jobs in non-decreasing order of their due dates.

The local search algorithms.
The local search algorithms can find the best near optimal solution within a reasonable running time.Approximation local search is a collection of methods that iteratively search through the set of solutions.Beginning from an initial solution, which is found by heuristic method, a local search procedure moves from one feasible solution to a neighbour solution until some termination criteria are met.The choice of suitable neighbourhood function has an important influence on the performance of a local search.These neighbourhood functions define the set of solutions to which the local search procedure may move to a single iteration [9].This is formulated in the following definition:

Definition 1 [1]:
A pair (S,f) is an instance of a combinatorial optimization problem , where the cost function F:S R and the solution set S is the set of all feasible solutions.
The problem is to find a global (minimal) optimal solution.i.e. an s * ∈S, such that F(s * )≤ F(s) for all s∈S.

The Solution representation [1].
The representation of solution depends on the problem specification.In a sequencing problem of n tasks (jobs).A solution is denoted by a Permutation of the integers 1,2,…,n.
Definition 11 [1]: A mapping N * :S P(S) which specifies for every b s∈S a subset N * (S) of S neighbours of s is called a neighbourhood function N * For scheduling problems, the representation is a permutation of the integers 1,2,…,n where n is the number of jobs.Two basic neighbourhoods can be defined [9].With this representation.Each of which is determined by considering a typical neighbour of the schedule (1, 2, 3, 4, 5, 6, 7, 8).
Definition 111 [1]: Let (S, F) be an instance of a combinational minimization problem and let N * be a neighbourhood function.The neighbourhood function N * is called exact if every local minimum with respect to N * is called exact if every local minimum with respect to N * is also a global minimum.A solution s * ∈  is called a local minimal solution with respect to N* if F(s * ) ≤ F(s) for all s∈N * (s * ).

Descent method (DM) [1].
Only moves that result in an improvement in the value of objective function value are accepted.This method is the simplest kind of neighbourhood search.Which is sometimes known as iterative local improvement.In this method.
A descent method has the following main component:

Initialization:
In this step, the method has to be started with an initial solution.This solution can be composed by some heuristic method or it can be chosen at random.

Neighborhood Generating :
To generate a neighborhood, the two basic neighborhoods swap (insert) which are explained in section 3.1 can be used.

Criterion Termination:
There are many methods for termination criterion of the algorithm.In this paper, the one that is used in a constant number this of iterations; i.e, the algorithm is stopped after 18000 iteration with approximate solution.

Simulated annealing (SA) algorithm [1].
This algorithm is known as the probabilistic approach, and it is used to solve problems involving combinatorial minimization.This algorithm employs a probabilistic acceptance law.Acceptance is given to those that result in an improvement in the value objective function or leave the value unchanged.That is, a step that increases the value of the objective function by ∆ is agreed with a probability of exp(-∆/ T) where T is the temperature a parameter.The value of T fluctuates during the quest.T starts with a high value and progressively decreases.
A simulated annealing has the following main components:

Initialization.
The starting solution can be generated using a heuristic algorithm or chosen at random in this stage.This will be the first current solution for the (SA) algorithm, with Z serving as the value objective function.

Generation of neighborhood.
Two basic neighbourhoods swap or insert which are explained in section 3.1 can be used to generate a neighbourhood.

Test of accepting
The difference value between the new value Ź and the initial current solution Z, ∆= Ź -Z is computed and evaluated in the following steps: i) Z ̀ is accepted as new current solution with setting Z=Ź If ∆≤ 0.
ii) Z ̀ is accepted with p (∆) =  (−∆/T), which is the probability of accepting a move If ∆ > 0.

Stopping criterion
The method is stopped with approximate solution when the iteration reaches 1800.

Computational results.
The BAB algorithm and local search algorithms are run on a personal computer after being coded in Matlab R2014b.Test problems are created as follows: as a result of using the discrete uniform distribution [1,10], an integer processing time Pj is provided for each job j.For each job j.P (1-TF+RDD/2), a discrete uniform distribution [P (1-TF-RDD/2) is also used to generate an integer due date, where P is a function of the average tardiness factor (TF) and the relative range of due dates (RDD).For two parameters, the specific values 0.2,0.4,0.6,0.8,1.0 are taken into account.Two problems are produced for each of the five values of the parameters producing for each of the selected values of n.Where the number of jobs n = 5,7,9,11,13.The following tables give the comparative of computational results and the time (in seconds) for the problem (P).A problem is abandoned if it cannot be solved to its optimality within 1800 seconds.We have in every single one of these tables.:

:
Number of example.Node: Number of nodes.Optimal: The optimal value that is obtained by BAB algorithm.No.of opt.: Number of examples that catches the optimal value.No.of best: Number of examples that catches the best value.DM: The value that is obtained by decent method.SA: The value that is obtained by simulated annealing method.

Table ( 1
): A comparison between the optimal solutions obtained by BAB algorithm and the values result of local search algorithms at n=5.

Table ( 2
): A comparison between the optimal solutions obtained by BAB algorithm and the values result of local search algorithms at n=7.

Table ( 3
): A comparison between the optimal solutions obtained by BAB algorithm and the values result of local search algorithms at n=9.

Table ( 4
): A comparison between the optimal solutions obtained by BAB algorithm and the values result of local search algorithms at n=11.

Table ( 5
): A comparison between the optimal solutions obtained by BAB algorithm and the values result of local search algorithms at n=13.

Table ( 6
): The values result of local search algorithms at n=100.

Table ( 8
): The values result of local search algorithms at n=1000.

Table ( 9
): The values result of local search algorithms at n=5000.The values result of local search algorithms at n=20000.Table (12):The values result of local search algorithms at n=300000.Table (13):The values result of local search algorithms at n=400000.