Using Heuristic and Branch and Bound Methods to Solve a Multi-Criteria Machine Scheduling Problem

In this paper, we investigate some methods to solve one of the multi-criteria machine scheduling problems. The discussed problem is the total completion time and the total earliness jobs To solve this problem, some heuristic methods are proposed which provided good results. The Branch and Bound (BAB) method is applied with new suggested upper and lower bounds to solve the discussed problem, which produced exact results for in a reasonable time.


Introduction
There are many definitions for machine scheduling; scheduling problem is the allocation of resources over time to perform a collection of tasks. Resources and tasks are called machine and jobs respectively and both of than can take many forms [1]. The two concepts can take many forms. For example, we can consider computers as machines and the programs that are to be run on these computers as jobs.
There are two general constraints in the classical scheduling theory [2]. Each job can be processed by one machine each time and every machine is processing at most one job each time. A schedule is called feasible schedule if it satisfies the two main constraints, and if it satisfies many requirements relating to the discussed problem type. The type of the problem is related to the machine environment, the job characteristics, and the criterion of optimality. There are many known exact and approximation solution methods to solve the Machine Scheduling Problem (MSP). The exact solutions are obtained using the Complete Enumeration Method (CEM), Branch and Bound (BAB) method, and Dynamic Programming (DP) method [3].
Iraqi Journal of Science, 2020, Vol. 61, No. 8, pp: 2055-2069 2056 Multi-criteria optimization depending on conflicting objective functions establishes a set of Pareto optimal solutions (Efficient solutions), instead of one optimal solution. This set includes one (many) solution(s) that no other solution(s) is better with respect to objective functions. In the literature, there are two approaches for multi-criteria scheduling problems: 1. The hierarchical approach: the first criterion is considered as the primary criterion and the second one is considered as the secondary criterion. The objective is to minimize the primary criterion while breaking all ties in favor of the schedule which has a minimum secondary criterion value [4]. 2. The simultaneous approach: there are, at most, two types; the first one generates all efficient schedules then selects the one that yields the best composite objective function value of the criteria. The second one is to find the sum of these objectives [4]. Van Wessenhove and Gelder [5] studied the efficiency with respect to the criteria of the total completion time and the maximum tardiness in a single machine problem. A survey on multicriteria one-machine scheduling problems can be found elsewhere [6].
The most important literature survey for the last five years is that of Mahmood (2014) [7], who discussed the multicriteria scheduling problems which are studied on a single machine to find a set of efficient solutions for the general problems 1//F(∑C j ,T max ,V max ), 1//F(∑C j ,∑V j ,V max ), 1//F(∑C j , ∑V j ,T max ), and others. Some efficient algorithms were proposed for solving these problems. Ali (2015) [3], in his thesis, solved the sum of completion time and sum of tardiness (∑C j ,∑T j ). He proposed a new BAB, two local search methods, and a Neural Network (NN) to solve this problem. Ali and Abdul-Kareem (2017) [8], attempted to solve a single MSP to simultaneously minimize the maximum tardiness, maximum late work, and total late work. They used the exact methods (CEM and BAB), suggested some heuristic methods for a large number of jobs, and used the best results as a good upper bound for BAB. Chachan and Hameed (2019) [9] studied the multiobjective problem, which is the sum of completion time, the tardiness, the earliness, and the late work ( ( )). They suggested the use of BAB for solving this problem, where four upper bounds and one lower bound are proposed and a number of dominance rules are considered to reduce the number of branches in the search tree.
In section two, we will discuss the mathematical formulation of ( ) problem and its special cases. Section three introduces some heuristic methods for ( ) and our problem, while in section Four the BAB is applied with a newly suggested upper and lower bound. The practical and comparative results are introduced in section five. While in section six we present an analysis and discussion for the results which are introduced in section five. Lastly, in section seven we introduce the most important conclusions and some recommendations.

Some Important Notations
There are some notations which are used in this paper: n : Number of jobs. : Processing time of jobs j. : Due date of jobs j. : Slack time of job j s.t. . : Completion time of job j, where . : Earliness of job j, . : Total completion time. : Total earliness. OP : Optimal Value of P 1 -problem. F : Objective Function of P-problem. : Objective Function of -problem.

Machine Scheduling Problem
In this paper, we need some basic definitions. Definition(1): Shortest Processing Time (SPT) rule [10]: Jobs are sequenced in a non-decreasing order of processing times ( ), where this rule is used to solve the problem . Definition(2): Earliest Due Date (EDD) rule [11]: Jobs are sequenced in a non-decreasing order of due date ( ), where this rule is used to minimize the problem .

Definition(3): Minimum Slack Time (MST) rule [12]:
Jobs are sequenced in a non-decreasing order of slack times ( ) = , where this rule is well known for solving the problem . Definition(4) [11]: The term "optimize" in a multi-criteria resolution-making problem indicates a solution about which there is no way of developing or improving any objective without worsening the other objective. Definition(5) [13]: A schedule S is said to be an efficient schedule if we cannot found another schedule satisfying ( ) , with at least one of the above holding as a strict inequality. Another way is that S is said to be dominated by . Remark(1): Let S be a set of efficient schedules and let be a schedule. We use the symbol if all efficient solutions of S do not dominates .

Dominance rule (DR)
Reducing the current sequence may be achieved by using several Dominance Rules (DR's). DR's usually specify some (all) parts of the path to obtain a good value for objective function so that they can be useful to determine whether a node in BAB method can be ignored before its lower bound (LB) is calculated. Clearly, DR's are particularly useful when a node can be ignored although it has a LB that is less than the optimum solution. The DR's are also useful within the BAB method to cut all nodes that are dominated by others. These improvements lead to a very large decrease in the number of nodes to obtain the optimal solution. Definition(6) [14]: If G is a graph that has n vertices, then the matrix A(G)=[a ij ], whose elements are equal to 1 if there is at least one edge between V i and V j whereas they are equal to zero otherwise, this matrix is called the adjacency matrix of G, where.

Mathematical Formulation for ( ) Problem
The object can be described as a set of n jobs N={1,2,…,n} on a single machine to find (where S is the set of all feasible schedules), so they can be fully used to specify whether that minimizes the multi-criteria ( ). The ( ) problem can be written as:

Sub problems of P-problem
For P-problem, we can deduce two sub problems: The aim for the -problem is to find a suitable processing order of the jobs on a one single machine to minimize the sum of completion time and sum of earliness jobs, which is a single object. Proposition (1): Each optimal solution for -problem is an efficient solution for P-problem. Proof: Let be an optimal schedule for -problem. Suppose that is not an efficient solution for Pproblem, then there is an efficient schedule, say for P-problem such that: and Jawad et al.
Iraqi Journal of Science, 2020, Vol. 61, No. 8, pp: 2055-2069 2058 where at least one of the inequalities is strict. This implies that then is a schedule that gives a better solution than for -problem. But is an optimal schedule, which is a contradiction with our assumption, then must be an efficient schedule for P-problem.

The
For the P 2 -problem, the objective is more important than the other objectives since the multicriteria object is ( ).

Special Cases For P-problem Case (1): If
, j, then the sequence obtained by SPT rule gives an efficient solution for Pproblem. Proof: Since and since are different, then the sequence obtained by SPT rule gives an optimal schedule for , then the sequence gives an efficient solution for P-problem.

Case (2): If
(and automatically for ), then the sequence obtained by SPT rule gives: 1. A unique efficient solution for different such that ( ). 2. If there is m similar in the schedule, then the SPT rule gives optimal solution for , and obtains efficient solutions for P-problem. Proof: Since (and automatically ) then , , and , then it is constant. 1. If all are different, then gives an optimal solution for , and gives a unique efficient solution for P-problem.

If
is similar to m , then gives an optimal solution for , and gives efficient solutions for P-problem.

Case (3): If
, for some j, then the job j is sequenced last, then we obtain an efficient solution with SPT rule for other jobs in the schedule for P-problem. Proof: Since , if the job j is sequenced last in some order, then if then the sequence gives an efficient solution for P-problem. Theorem (1): In general, there exist efficient solution(s) for P-problem that satisfies the SPT rule. Proof:

1.
First, suppose that all processing times ( ) are different. Then their exists a unique SPT sequence (SPT * ) that gives the unique value of minimum of ∑ Hence, there is no sequence  SPT * such that: …(1) with at least one strict inequality.

2.
If many jobs have equal processing times, then more than one SPT sequence exists. Let SPT * be one sequence satisfying the SPT rule, and the jobs which have equal processing times are ordered in EDD rule in order to minimize ∑ (SPT * ). Then we have to prove that each SPT * sequence is efficient. It is clear that any sequence that do not satisfy the SPT rule cannot dominate an SPT * sequence, as in relation (1). So if  is an SPT but not SPT * sequence then it cannot dominate SPT * since: …(2) Hence all SPT * sequences give efficient solutions for P-problem.

Heuristic Methods for P and P 1 -Problems
As most of the scheduling problems are NP-hard and the computational requirement to solve such problems using BAB or DP methods might require more time, many researchers have developed heuristic algorithms to solve them in an efficient and effective way. The heuristic method is defined as follows (Reeves [15]): A heuristic is a technique that seeks a good (i.e. optimal or near optimal) solution at a reasonable computational cost without guarantee for either feasibility or optimality, or even in many cases, to state how close this solution is to optimality in a particular feasible solution?
In the next section, we discuss some heuristic methods for ( ), P and P 1 -problems.

Heuristic Methods for
The problem is considered as NP-hard, so we suggested two heuristic methods to solve this problem that give good results. The first suggested heuristic method is using MST for sum of earliness (MST-SE). The idea of this method is to arrange the jobs by MST rules and calculate the objective function, then putting the second job in the first place, while the other jobs are arranged by the MST rules and the objective function is calculated. We continue this work until obtaining the n sequences. The main steps of MST-SE (mst rule-sum of earliness) algorithm are as follows: Algorithm (1): MST_SE Heuristic Method.
Step (1) We obtain the following DR: 21, 31, 41, then the adjacency matrix: The optimal solution is with the sequence 4 , 3 , 2 , 1. The DR-SE method is summarized by finding a sequence sort with a minimum which is not in a contradiction with DR and then the objective function will be calculated. The main steps of DR-SE (Dominance rule-sum of earliness) are as follows: Algorithm (2): DR_SE Heuristic Method.
Let any sequence.
Step(3): For i=1,2,…,n, find a sequence with minimum which is not a contradiction with DR (matrix A), if is more than one job that breaks the tie arbitrarily.

Heuristic Method for P and P 1 -problems
The heuristic methods for P and P 1 -problems are considered as a development of the heuristic methods for problem.

Heuristic Methods for P-problem
The first heuristic method depends on SPT and MST. Since the SPT rule solves the problem, we have improved the heuristic method MST-SE by ordering the jobs by the SPT rule and then calculating the objective function. Then, the second job was put in the first place and the other jobs were still arranged by SPT rule. The objective function was calculated, and so on until obtaining the n sequences, The main steps of SPT-MST-SCSE(F) (spt rule-mst-rule-sum of completion time and sum of earliness for function F) are as follows: Algorithm (3): SPT_MST_SCSE(F) Heuristic Method.

END;
Step(6): A filter set to obtain a set of efficient solutions of P-problem.
Step (7): OUTPUT The set of efficient solutions .
The idea of the second heuristic method is dependent on the heuristic DR-SE and it is summarized by finding a sequence sort with minimum , and which is not a contradiction with DR, and calculating the objective function. The main steps of DR-SCSE(F) (Dominance rule-sum of completion time and sum of earliness for function F) are as follows: Algorithm (4): DR_SCSE(F) Heuristic Method.
Step(3): Find a sequence with minimum which is not contradiction with DR (matrix A), if is more than one job that breaks ties arbitrarily, .
Step(4): Find a sequence with minimum which is not contradiction with DR (matrix A), if is more than one job that breaks ties arbitrarily, .
Step(5): Find a sequence with minimum which is not contradiction with DR (matrix A), if is more than one job that breaks ties arbitrarily, .
Step(6): Find the dominated sequence set from .
Step(5): OUTPUT The set of efficient solution .
Step(8): END. Step(3): i=i+1, for any node in the search tree calculate the lower bound (LB)=cost of sequencing jobs + cost of unsequencing jobs, where the cost of unsequencing jobs is obtained by =SPT rule.

Heuristic Methods for P 1 -problem
Step(4): Branch from the minimum node with LB UB for level i.
Step(6): At the last level (i=n) we get the best solution (BS).

Branch and Bound Method for P and P 1 -problems
BAB method is one of the most effective exact ways to solve scheduling problems, but it is classically difficult because of the elapsed time. We notice that P-problem has many similar efficient solutions. This implies when we apply BAB for P-problem. Many nodes are open and this implies that the BAB may be not efficient to obtain an accurate solution for large n in a reasonable time. Table-1 describes this problem.

Algorithm (6): BAB(F)
Step ( Step(4): i=i+1, in level i, for any node in the search tree, compute the LB=cost of sequencing jobs +cost of unsequencing jobs, where the cost of unsequencing jobs is obtained by , (m=1,2) for the Pproblem.
Step(5): Check that the sequence of this node is if S, cancel the dominated sequence, and branch from this node; else ignore this node.
Step(6): After finishing all nodes of this level, find the efficient solutions of S, say , such that . Step(7): State that UB={ .

Step(8): GO TO Step(3) until finishing checking all levels (i=n).
Step(9): Calculate for , for i=1,…, k (k is the number of the efficient points).

Branch and Bound Method for P 1 -problem
For the P 1 -problem, we applied what is known as the classical BAB to obtain optimal sequence =SPT since we search about the single objective function. Firstly, UB . Then calculate the LB for any node which consists of sequence and unsequence parts (obtained by SPT rule). Repeat these steps until obtaining the optimal solution at the root. The BAB algorithm steps for P 1 -problem are as follows: Algorithm (7): BAB(F 1 ) Step(1): INPUT: Step(2): Find the UB by =SPT, obtain schedule say compute and ∑ then UB= +∑ .
Step(4): i=i+1, for any node in the search tree calculate the LB=cost of sequencing jobs + cost of unsequencing jobs, where the cost of unsequencing jobs is obtained by =SPT rule.
Step(5): Branch each node with LB UB for level i.
Step (7): At the last level (i=n) we get the optimal solution (OP).

Practical Results of P and P 1 -problems
The values of p j and d j for all example are generated randomly s.t. [1,10]  It is important to mention that the results of applying all solving methods are revered for 5 experiments.
For P-problem, we note that the number of similar feasible and efficient solutions is very large. This number will be increased as n is increased, because of the function . Table-1   Notice that the P(SS) and Av(NESS) are increased as n increased.

Comparison of the Results of P-problem.
Comparison of the results between SPT-MST-SCSE(F) and DR-SCSE(F) with efficient results of CEM(F) for P-problem are shown in Table-  Notice that the Heuristics SPT-MST-SCSE(F) and DR-SCSE(F) yield good results compared with CEM(F) for P-problem. The results of applying BAB(F) compared with CEM(F) for P-problem, n=4:10 are shown in Table -5.
The comparison of the results of CEM(F) and BAB(F) which are shown in Table-

Comparison of the Results of P 1 -problem
In Table-9, we show a comparison between the optimal results of CEM(F 1 ) and the results of the heuristics SPT-MST-SCSE(F 1 ), DR-SCSE(F 1 ) and TREE(F 1 ) n=4:10 for P 1 -problem. Notice that the heuristics Tree (F 1 ), SPT-MST-SCSE(F 1 ) and DR-SCSE(F 1 ) produced good results compared with CEM(F 1 ), and this is obvious from AAE, for P 1 -problem. Table-10 shows the results of CEM(F 1 ) for P 1 -problem compared with those of BAB(F 1 ) and Tree(F 1 ) methods for P 1 -problem, n=4:10. Where TAV is the total average. The results of applying BAB(F 1 ) and the three heuristics for P 1 -problem, n=11:15, which are given in a reasonable CPU time (Time  600 seconds), are described in Table-11.      Tables-2 and 3). 2. For P-problem: a. The SPT-MST-SCSE (F) is better than DR-SCSE(F) in accuracy and CPU-time (see Tables-4,7 and 8) for all n. b. We notice that BAB(F) has a good accuracy in a reasonable time for (see Tables-10 and  11). 3. For P 1 -problem: a. In accuracy, we ensure that TTHM(F 1 ) is the best method, but SPT-MST-SCSE(F 1 ) is better than DR-SCSE (F 1 ) for . DR-SCSE(F 1 ) is better for , while it is the best as related to CPU-time (see Tables-9, 11 and 12). b. For , the BAB(F 1 ) gives accurate results in a reasonable time (see Tables-10 and 11).

Conclusions
From this paper, we obtained the following conclusions: 1. New different heuristics are suggested to solve problem for one machine, where the experimental results proved that the MST-SE and DR-SE methods produced good results. 2. We develop the heuristic methods of for convenient and we obtained two new heuristics, SPT-MST-SCSE and DR-SCSE, with good performance. 3. For P 1 -problem, we used SPT-MST-SCSE(F 1 ) and DR-SCSE(F 1 ) and suggest the use of the 3 rd heuristic method (TTHM) which gives good results for 4. For some examples, when the solving methods are applied, there are some extreme CPU times, especially when applying BAB for P1-problem. This is because of the similarity in pi or/and di which causes a large number of nodes that must be branched. 5. As a future work, we suggest the use of local search methods (such as simulated annealing, particle swarm optimization, genetic algorithm, Bees algorithm,…, etc.) to find efficient approximation solutions for P and P 1 problem for .