Solving Multi-Objectives Function with Release Dates Problem using Branch and Bound Methods

This research study focuses on solving a multi-objective job scheduling problem on a single machine. This problem involves the summation of four objective functions namely the total flow time ( 𝑭 𝑱 ), tardiness ( 𝑻 𝑱 ), earliness ( 𝑬 𝑱 ), and late work ( 𝑽 𝑱 ) of each of the n jobs with unequal release dates 𝒓 𝑱 , 𝒋 = 𝟏,⋯,𝒏 . This is formulated as 𝟏/𝒓 𝒋 /∑ (𝑭 𝑱 + 𝑻 𝑱 + 𝑬 𝑱 + 𝑽 𝑱 ) 𝒏𝒋=𝟏 . We present some special cases that yield optimal solutions. also, we propose a branch and bound algorithm in order to find the exact (optimal) solution for it, by derive and use a good lower, and using some heuristics methods to find the upper bound of seven including Gray Wolfe algorithm (GW), and Bat algorithm (BAT), this algorithm was given to find the optimal solution


Scheduling Importance
In this subsection, the problem of scheduling multiple jobs on a single machine using several performance metrics and varying or unequal release dates   ,  = 1, ⋯ ,  is described.The goal is to minimize the total flow time (  ), tardiness (  ), earliness (  ), and late work (  ), and optimize the overall performance of the machine.The problem is denoted by /  / ∑ (  +   +   +   )  = , and it is drawn from the 3-filed  //  approach by Graham et al. (1979).The thrust of early research on the theory of job scheduling was based mainly on a single performance criterion, which may not effectively capture the reality in applications both in industrial production and service delivery.Due to the growing importance of scheduling in decision-making in real-world applications, there is a need for a multi-criteria assessment of performance and job quality (Chen and Sheen, 2007).Furthermore, the production philosophy referred to as just-in-time (JIT) is based on the premise that a sense of urgency and tardiness may be damaging, for example, tardiness can result in customer loss or payment delays.Earlyness, on the other hand, results in inventory carrying costs, insurance, and other expenses (Ali and Mehdi, 2012).These and several other factors have drawn the attention of researchers to the investigation of the scheduling problem involving several criteria (two or more), and/ or multiprocessing time on more than one machine.In Belbachir et al. (2021), the flow shop scheduling problem was considered, while in this research, we look at the scheduling problem using four criteria (mentioned above) for evaluating performance with unequal release times, and a to the best of our knowledge, research is still lacking in this area.

Scheduling History:
The earliest mention of the scheduling problem in the literature dates back to the mid-1950's (1954)(1955)(1956) (Johnson, 1954;Smith, 1956).The intervening years between 1956 and 1973 did not indicate significant activity until 1973 when Lawler (1973) suggested a method for reducing the maximum cost (  ).After that, scheduling difficulties sparked a lot of attention, resulting in a significant number of studies introducing excellent approaches for determining optimality.Many researchers focused on scheduling issues as an objective criterion in subsequent years .However, the expansion in manufacturing businesses, services such as airlines, health care, and even military operations, provide real-life ramifications to study the multi-criteria scheduling problem.In addition, the complexity and diversity inherent in resource allocation in the real-world has stimulated growth in the new field of multi-criteria scheduling.The minimization of a maximum function (Minimax) and minimization of a sum function (Minisum) are the two types of objective criteria that can be applied in this regard (T'kindt and Billaut, 2002).As a result, research in the field of multi-criteria scheduling has been expanding since the 1980s till now.

Problem Representation:
The problem addressed in this work is that of scheduling the set , of n jobs,  = {1, … , } on a single machine.Each job ,  ∈  has a processed time that is an integer   , a release date   , and due date   .Given a schedule  = (1, … , ), the flow time of the job  , Ϝ  can be defined as Ϝ j = ∁ j − r j where ∁ j is the completion time for job , and is given as for j = 2 , . . ., n.
The tardiness of the j th job, is defined by T j = max{∁ j − d j , 0} , and earliness by E j = max{d j − ∁ j , 0}.The corresponding late work of job j given by   =  {  ,   }.Let is a schedule in and be a set of all viable solutions.Our issue (P) has the following mathematical form: The purpose is to find a processing sequence  = ((1), . . ., ()) that will minimize the sum of the overall flow times, total tardiness, total earliness, and total late work for the problem (P).

Materials and Methods
In this section, an overview of the methods employed to solve the challenge (P) is presented.The branch and bound (BAB) method is the major approach for solving the problem, whereas the bat algorithm (BA) and the Gray Wolf algorithm (GW) are used to acquire upper bounds from the exact methods.

BAB Method
By undertaking an implicit enumeration of all possi8ble solutions in the solution set (i.e.evaluating subsets of the solution set sequentially), the branch and bound (BAB) algorithm discovers the optimal subsets.These subsets can be viewed as sets of solutions to corresponding sub-problems of the main problem.As a result, the (BAB) method is employed to determine an exact solution that optimizes (minimizes) the problem (Blazewicz et al., 2007).
A procedure for the (BAB) is introduced in this study by suggesting severl upper bounds and a lower bound.

Upper bounds
Seven upper bounds shall be presented in this subsection, namely 1-  : SPT., sort the jobs in a non-decreasing order of processing time (  ).
4-  : LW., sort the jobs using the Lawler algorithm.
5-  : MPRT., sort the jobs by the minimum of the sum of processing time and release time (  +   ).
6-  : determine the upper bound by applying the bat algorithm (BA).

Bat Algorithm (BA)
Due to the basic rules of Bat algorithm (BA) in chapter two, the parameter x and v refers to position and velocity of solution respectively, in our work we will regard these parameters as a control parameters to choose method of transfer to next neighborhood, and the loudness as a parameter in accepting the movement, we start by initialize the value of  , , and the loudness  , by a random values in [0,1], also start by population of bats (schedules) of size , some of these schedules are known (or/and) several are random, the procedure start by compute the value of cost function for all schedules in this population and chose the schedule with minimum value to be the Global bat algorithm solution ( * ), and then for each solution () in the population, we use its cost value, with the parameter    to find, its neighborhood (new solution).the condition of accepting this new solution (') to be the current solution () is depending on the cost value of (') and the parameter of the loudness (  ), this procedure will be repeated iteratively for  −  (  the number of iterations), at each iteration the value of    are updated, and the value of  will be decreasing, Where:  is the current local solution, () is a random vector, ,    ∈ (0,1).
The method of generate the new solution depend on the value of loudness  and position , that is: The algorithm terminates after finish all iterations   , or if the procedure exceeds fixed period of time.
In our work we initialize the value of parameters as follows: For the parameters , ,  ∈ (0,1),  = 0.9 ,  = 0.125 ,   = 0.9 , and for the number of initial solutions (population size  )  = 50, that iterative by the index  = 1: .

Gray Wolf Algorithm
To adapting the GW algorithm in order to appley it in machine scheduling theory, for any group of wolf with size , we have to consider each wolf in this group represent a one solution, and then find its cost of objective function value, by reordering the solutions in group by nondecreasing order of cost function value, we get the classification of the group, into three subgroup , ,  , and save the best solution found yet, then by special considered swarm technics we construct a new group of solutions (wolfs) by using the subgroups , ,  , and then evaluate the new group by compute the values of cost function for this new population (group) and rearrangement it according to these values to find the subgroup , ,  , again, and update the best solution found yet if any.repeat this process until fixed number of iterations (.) is reached, or after a fixed period of time, the last best solution is the GW solution.The suggested the parameters and steps of above procedure as follows: Step 1: initialize the iterations  = 50, the size of group  = 50, and the first random group 50 solutions, (the five special solutions -SPT, MRT, MPRT, LW, and LRT -are insert in this group).
Step 2: Evaluation the solutions in group, and classifies into subgroups , ,  , which is the first, second and third solution.
Step 3: Enhance the solution , ,  , until 50-times, and save the best solution founded yet and update the best GW solution if the new solution is dominated, and then construct new group (population of 50 solution), by made crossover between ,   .And add some random solutions.
Step 4: if any of termination criteria (complete all iterations or exceed 10 minute), not met go to step 2; else stop and consider the last best solution as the GW solution.
In next figure we introduce the Flow chart of the Gray Wolfs algorithms: Figure 2. Flowchart for the Gray Wolfe algorithm.

Lower bound
The optimization problem given by (P) can be decomposed into two subproblems  1 and  2 so as to have a less complicated structure.The two subproblems are given as Hence a lower bound (LB1) for our (P1).

2-Lower bound for subproblem P2 (LB2)
The subproblem P2 is given as So that LB2= () is a lower bound for problem P2.As we mention above LB=LB1 + LB2 is a Lower bound for problem P.
LB is used in BAB to find the exact solution for our (P).

Experimental Results:
In this section, the optimal value, upper bound (UB), lower bound (LB), number of created nodes (nodes), processing time (time), and number of unsolved problems are computed.These were the factors considered in this study.To determine the number of unsolved problems, there are two criteria for stopping the BAB algorithm and concluding that the problem is unsolved.These are based on stopping the BAB algorithm either after a fixed number of nodes or a fixed time period.The second criteria was used in this study and the procedure was terminated after (30) minutes.We list (10)  and the table 5 involve the summary of results for each integer n in the interval [3,19].

Analysis and Problems Instances
The BAB algorithm was applied to the optimization problem (P) with four criteria to find optimal solution.The algorithm coding was achieved using MATLAB, and tested on the optimization problem depends on the average tardiness and the relative range of due dates (RDD) (TF).The values 0.2, 0.4, 0.6, 0.8, and 1 were taken into account for both parameters.Two problems were generated for each of the five parameter values for each value of n, resulting in ten problems for each value of n.

Computational results
The computational results from the study are presented in Tables 1-5 for different configurations of n, the number of jobs.Each table contains the results (i.e., optimal values by (BAB), the problem's upper bound, the problem's starting lower bound, the number of nodes, and the execution time).Ten tasks are checked for each n, with a maximum execution time of 1800 seconds as the halting condition.The

Discussion
Due to official standard, that consider the BAB algorithm get the optimal solution if it completes all procedures by time less than 0.5-hour i.e. (1800 second), for each example, and we say that the BAB algorithm can solve the problem of size (n), if it can solve %50 from the considered examples from the size (n).So, for our problem we get the BAB active until n=17, from above tables 4.1-4.5, we see that the algorithm can solve 10/10 examples from n=3 to 16 while it solves 9/10 for n=17 due to time condition that related to number of open nodes, that increased in problem of size n=18, so that BAB solves just 4/10 problems therefore it is cannot solve P for n=18, same as for n=19 it is solve only one example from the considered 10 examples, consequence from this two cases the algorithm will and save the best solution found yet as local Bat solution, and check if it is best than the global solution then update  * .the following equation describe the updating the value of both   , () = ( − 1) + ( * () −  * ( − 1)) * ().() =  * ( − 1) + ().Where:  is the current global solution.and  * () = ( − 1) * .() =  + ( − ) * ().() = ( − 1)(1 −  − ).() = ( − 1) *    .

(
P) with (4, 5, ..., 30) jobs.The test problems were generated as follows: For each job j: an integer processing time   is generated from the uniform distribution[1,10]; an integer release time   , is generated from the uniform distribution[1,5]; an integer due date di are uniformly distributed in the interval[A, B] symbols used in the tables are as follows: n: number of jobs Ex: number of examples.
, then, generate the new solution by swap any two jobs in old sequence, otherwise, generate the new solution by swap any pair of two jobs by other pair in old schedule, i.e., exchange the position of four jobs.
Finally, we accept the new sequence ' as a current solution if the cost of new sequence less than the cost current solution , or    > ().

Table 4 .
Result of BAB when n=17