Next Article in Journal
Deep Learning-Based Human Body Posture Recognition and Tracking for Unmanned Aerial Vehicles
Next Article in Special Issue
Research on Green Reentrant Hybrid Flow Shop Scheduling Problem Based on Improved Moth-Flame Optimization Algorithm
Previous Article in Journal
Observer-Based Predefined-Time Attitude Control for Spacecraft Subject to Loss of Actuator Effectiveness
Previous Article in Special Issue
Research on the Siting Model of Emergency Centers in a Chemical Industry Park to Prevent the Domino Effect
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Improved Arc Flow Model with Enhanced Bounds for Minimizing the Makespan in Identical Parallel Machine Scheduling

Industrial Engineering Department, King Saud University, Riyadh 11421, Saudi Arabia
*
Author to whom correspondence should be addressed.
Processes 2022, 10(11), 2293; https://doi.org/10.3390/pr10112293
Submission received: 3 October 2022 / Revised: 23 October 2022 / Accepted: 23 October 2022 / Published: 4 November 2022

Abstract

:
In this paper, an identical parallel machine problem was considered with the objective of minimizing the makespan. This problem is NP-hard in the strong sense. A mathematical formulation based on an improved arc flow model with enhanced bounds was proposed. A variable neighborhood search algorithm was proposed to obtain an upper bound. Three lower bounds from the literature were utilized in the improved arc flow model to improve the efficiency of the mathematical formulation. In addition, a graph compression technique was proposed to reduce the size of the graph. As a consequence, the improved arc flow model was compared with an arc flow model from the literature. The computational results on benchmark instances showed that the improved arc flow model outperformed the literature arc flow model at finding optimal solutions for 99.97% of the benchmark instances, with the overall percentage of the reduction in time reaching 87%.

1. Introduction

Scheduling is a decision-making process that deals with optimizing resource allocation to perform a collection of tasks in production or manufacturing processes. Scheduling is involved in many real-life applications, such as jobs in a manufacturing plant, customers waiting for services in front of a teller’s window, or airplanes waiting for clearance to land or take off at an airport. Many studies have been carried out by researchers in several scheduling environments, such as single machine scheduling and parallel machine scheduling, to fill some gaps in these problems.
Single machine scheduling requires only the sequencing of jobs. However, scheduling problems with more than one machine, such as parallel machines, involve both resource allocation and sequencing, rather than simple sequencing [1]. The importance of parallel machine scheduling may be viewed from both theoretical and a practical perspectives [2]. From a theoretical perspective, it is a general case of the single machine and a special case of the flexible flow shop. A practical perspective is important since parallel operations are frequent in the real world. The makespan objective in parallel machines is of considerable interest, since it balances the load between the parallel machines.
In the parallel machine scheduling problem, each job is processed on only one machine and each machine can process one job at a time. The identical parallel machine is a variant of the machine scheduling problem that is characterized by a set of n independent jobs J = J1, J2, …, Jn to be scheduled in m identical parallel machines M = M1, M2, …, Mm, where (m < n). Each job J can be processed in only one machine with a processing time pj that is identical on all the machines. Preemption is not allowed. Therefore, once a machine is processing a job, it must complete its processing without interruption. The objective is to minimize the total completion time of the last processed job in the schedule (makespan).
The identical parallel machine scheduling problem to minimize the makespan is described by Graham et al. [3] in terms of three fields: α β γ as P m   C m a x , where Pm indicates the identical parallel machine environment with m machines, the second empty field, which indicates no preemption or precedence constraints on the jobs, and Cmax in the third field, which indicates the makespan minimization objective. This problem is proven to be NP-hard [4]. Therefore, efficient exact algorithms were needed to be able to solve large-size instances to optimality in less computational time.
The remainder of this paper is organized as follows: Section 2 presents a literature review of the identical parallel machine scheduling problem and the arc flow model. Section 3 details the methodology used in the problem. The computational results and discussion are provided in Section 4. Finally, the conclusion and future work are shown in Section 5.

2. Literature Review

The first known heuristic applied to the identical parallel machine was the longest processing time (LPT) rule proposed by Ronald L. Graham [5]. LPT works by sorting jobs in a non-increasing order of processing times and assigning jobs to the least-loaded machine one by one until assigning all the jobs. The worst-case approximation ratio for the LPT rule is 4/3–1/(3m), where m is the number of machines. Recently, Della Croce and Scatamacchia [6] revisited the LPT rule and improved the ratio to 4/3–1/(3m-1). Other popular approximation heuristics combine (Pm||Cmax) with bin-packing techniques: MULTIFIT [7], COMBINE [8], and LISTFIT [9]. These heuristics provide a better worst-case performance, but with higher computation times.
Metaheuristics also play an important role in obtaining good solutions for parallel machine scheduling problems. Among these metaheuristics are the genetic algorithm [10], simulating annealing [11], the variable neighborhood search [12], and other metaheuristics in the literature.
Over the past years, researchers have increased their interest in finding efficient exact methods capable of solving large and hard instances to optimality in less computational time. Mokotoff [1] conducted a survey on parallel machine scheduling. Dell’Amico and Martello [13] proposed a branch-and-bound algorithm based on sophisticated lower and upper bounds and some dominance rules for (Pm||Cmax). Mokotoff [14] proposed an exact method based on the cutting plane method for (Pm||Cmax). Then, Dell’Amico and Martello [15] noted that their previous work [13], which had been published before the work of Mokotoff [14], obtained better results in terms of the computation time and solved all the studied instances to optimality. Dell’Amico et al. [16] presented a scatter search algorithm and exact algorithm based on branch-and-price algorithms, which make use of the duality between P||Cmax and the bin-packing problem. Haouari et al. [17] proposed lower bounds based on the lifting procedure. The authors also proposed two heuristics that required iteratively solving a subset sum problem. The previous work was extended by Haouari and Jemmali [18], enhanced lower bounds were obtained, a new heuristic was proposed based on solving a sequence of 0–1 knapsack problem, and these bounds were embedded in a branch-and-bound algorithm. To test the performance of their algorithm, the authors identified a set of hard instances for which the ratio between the number of jobs and the number of machines was equal to 2.5. The proposed branch-and-bound solved only about 68% of a total of 240 generated instances with different numbers of jobs and machines.
The arc flow approach has been used recently in classical optimization problems, and allows modeling with a pseudo-polynomial number of variables and constraints. For a cutting-stock problem, de Carvalho [19] proposed a branch-and-price approach for an arc-flow formulation. Next, it was extended for the bin-packing problem in De Carvalho [20]. An alternative arc-flow formulation for the cutting-stock problem was proposed in [21,22], which used a graph compression technique that reduced the size of the constructed graph without affecting the optimal solution. These formulations were recently tested and compared in [23] against several other models and problem-specific algorithms on one-dimensional bin-packing and cutting-stock problems. J. Martinovic et al. [24] compared the arc-flow model with a one-cut model for the one-dimensional cutting-stock problem and presented reduction techniques for both models. M. Mrad et al. [25] proposed a graph compression method to an arc flow formulation for a two-dimensional strip-cutting problem. Other applications of arc flow include berth allocation problems [26], vehicle-routing problems [27], and facility location problems [28].
In the area of scheduling, Mrad and Souayah [29] proposed an arc flow formulation for the parallel machine scheduling problem to minimize the makespan. The proposed mathematical model outperformed other proposed methods from the literature, since it solved to optimality most of the hard instances from the literature in a few seconds on average. On the other hand, some hard instances were still unsolved within a predefined elimination time, mainly because the number of jobs was relatively large and the ratio of the number of jobs to the number of machines was greater than or equal to 2.25.
A. Kramer et al. [30] studied the identical parallel machine scheduling problem to minimize the total weighted completion time. An enhanced arc flow formulation with reduction techniques was proposed, which reduced the number of variables and constraints. As a consequence, large instances with up to 400 jobs were solved to optimality and instances with up to 1000 jobs provided a low optimal gap. Then, A. Kramer et al. [31] extended the previous work of A. Kramer et al. [30] by adding a release time constraint for each job. A mixed-integer linear program and a branch-and-price algorithm that relied on the decomposition of an arc-flow formulation and the use of exact and heuristic methods were proposed for solving pricing subproblems. S. Wang et al. [32] studied deterministic and parallel machine scheduling location problems and proposed a network flow-based formulation, two formulation-based heuristics, and one polynomial time algorithm. Trindade et al. [33,34] proposed an arc flow formulation for parallel and single batch processing machine scheduling with non-identical job sizes and a machine capacity. A. Kramer et al. [35] proposed five different formulations for identical parallel machine scheduling with family setup times to minimize the total weighted completion time. The formulations were one commodity formulation, three arc flow formulations, and a set covering formulation. The results showed that one of the arc flow formulations and a set covering formulation yielded a better performance. de Lima et al. [36] conducted a survey on the foundation of the arc flow formulation and showed the relation between their network and dynamic programming. The survey also discussed the main solution methods for solving large-scale arc flow models and their main applications. de Lima et al. [37] proposed a network flow framework to address huge network issues in arc flow model solutions.
To summarize, we can say that so far, there are two kinds of proposed approaches for makespan minimization on parallel machines: heuristics and exact methods. On the one hand, heuristics have the potential to find good solutions in a reasonable amount of time. However, they do not guarantee the optimality of the provided solutions. For instance, one of the most recent heuristics for the studied problem [6] can still be outperformed by older methods for some benchmark instances. On the other hand, exact algorithms deliver optimal schedules, but are limited by the size of the instances (number of jobs/machines) and the relatively high computation time. To illustrate, the state-of-the-art exact method [29] still fails to solve some instances with as much as 154 jobs. Moreover, it requires thousands of seconds to solve problems with less than 200 jobs.
The main aim of this paper was to move towards an efficient implementation of the arc flow model for makespan minimization in an identical parallel machine scheduling problem. Hence, the arc flow model proposed by Mrad and Souayah [29] was considered. The improvements were made by proposing enhanced bounds and graph compression techniques to reduce the number of variables and constraints in the constructed arc flow model. A variable neighborhood search (VNS) algorithm was proposed with five neighborhood structures and an initial solution obtained from the schedule of the longest processing time (LPT) rule as an upper bound. Three lower bounds from the literature were considered for the improved arc flow model. A better upper bound was considered as a graph compression technique since it reduced the size of the graph. As a consequence, the number of variables was reduced. Furthermore, another proposed graph compression technique eliminated scheduling some jobs on the same machine, which made the resulting lower bound of the problem exceed the current upper bound obtained by the VNS algorithm. It is worth noting that devising an improved arc flow formulation has an important application in reducing the computation time for solving hard optimization problems. This can be attested by our experimental results as well as those of previous successful implementations of such techniques [30,31].

3. Methodology

In this section, the methodology of applying the improved arc flow model with enhanced bounds for the identical parallel machine scheduling problem to minimize the makespan is explained. The first step was to calculate the bounds of the problem. Three lower bounds were applied from the literature and the maximum among them was selected as the lower bound for the problem. The second step was to find an upper bound using the LPT rule. In Step 3, the obtained upper bound from the LPT rule became an input for the proposed VNS algorithm to further improve, if possible, the upper bound. The lower and upper bounds were then used to construct the graph of the improved arc flow model. To build the graph, a graph compression technique was proposed to determine the set of jobs that would have an arc leaving node 0. Then, the whole graph was constructed. After that, a mathematical formulation was proposed for the improved arc flow model. Finally, the mathematical model was solved with Cplex 12.10. If a solution was found within 20 min, then an optimal solution was found. Otherwise, the instance was not solved to optimality within the specified time limit. The flowchart of the methodology is shown in Figure 1. The details for each step are illustrated in the following subsections.

3.1. Lower Bounds

The lower bounds used in this paper are presented as follows, assuming that P 1 P 2 P n . These lower bounds were proposed by Dell’Amico and Martello [13]:
L B 1 = j = 1 n P j m
L B 2 = P n
L B 3 = P n m + P n m + 1
The best lower bound is the maximum value among them. Therefore,
L B = m a x L B 1 ,     L B 2 ,     L B 3

3.2. Upper Bound

In this paper, the variable neighborhood search (VNS) was proposed as an upper bound for the arc flow graph. The VNS is detailed in the following subsection.

3.2.1. Variable Neighborhood Search

The variable neighborhood search (VNS) is a metaheuristic approach proposed by Mladenovi’c and Hansen [38] that performs systematic neighborhood structures to improve the quality of an existing solution. To start the VNS algorithm, an initialization phase is required. In the initialization phase, an initial solution “S” is obtained (randomly or by using a heuristic method), neighborhood structures “Nk(S)”, k = 1, 2, ..., kmax are designed, where k is the index of a neighborhood and kmax is the maximum number of neighborhoods, and the stopping criteria are determined.

The Initial Solution

In this work, we proposed the longest processing time (LPT) rule as the initial solution for the VNS algorithm. The LPT rule works by first sorting the jobs in non-increasing order of their processing times and assigning the jobs to the smallest available machine until all jobs have been assigned.

The Neighborhood Structures

The neighborhood structures are methods designed to enhance the local search in the VNS algorithm. To design the neighborhood structures for an identical parallel machine scheduling problem with a makespan objective, two terminologies will be used:
  • Problem machine (Pm): a machine in which the total scheduling time is the makespan.
  • Non-problem machine (NPm): a machine in which the total scheduling time is less than the makespan.
The five neighborhood structures used in this work are explained as follows:
  • Move (one): move a job i from a problem machine (Pm) to a non-problem machine (NPm) if (makespan of Pm (CPm)-makespan of NPm (CPm) > processing time of job i (pi));
  • Exchange (one–one): exchange a job i from a (Pm) with a job j from a (NPm) if (pipj > 0) and (CPmCNPm > pipj);
  • Exchange (two–one): exchange two jobs, i and j, from a (Pm) with a job k from a (NPm) if (pi + pjpk > 0) and (CPmCNPm > pi + pjpk);
  • Exchange (one–two): exchange a job from a (Pm) i with two jobs, j and k, from a (NPm) if (Pi − (pj + pk) > 0) and (CPmCNPm > pi − (pj+ pk);
  • Exchange (two–two): exchange two jobs, i and j, from a (Pm) with two jobs, k and l, from a (NPm) if (pi + pj − (pk + pl) > 0) and (CPmCNPm > pi + pj − (pk + pl).
To illustrate how the neighborhood structures work, consider six jobs to be scheduled in two identical parallel machines. The processing times in minutes of each job are shown in Table 1.
Let us consider the initial solution with Cmax = 19 obtained by the schedule shown in Figure 2. From Equation (4), L B = m a x L B 1 ,   L B 2 ,   L B 3 = m a x 29 2 ,   10 ,   5 + 8 = 15 . The problem machine (Pm) is Machine 1, while Machine 2 is the non-problem machine (NPm). It is worth noting that the selection of jobs for each neighborhood structure was selected arbitrarily in this example just to illustrate how these neighborhood structures work.
Since the condition (makespan of Pm (1)-makespan of NPm (2) > p6) is satisfied, then applying the “Move (one)” neighborhood structure to move Job 6 from Pm (1) to NPm (2) yields Cmax = 18 as illustrated in Figure 3.
Now, the conditions (p2p5 > 0) and (CPmCNPm > p2p5) are satisfied. Applying the “Exchange (one–one)” neighborhood structure results in obtaining Cmax = 17 with the schedule illustrated in Figure 4. In this schedule, Machine 2 becomes the Pm machine and Machine 1 is the NPm machine.
With the conditions (p4 + p2p1 > 0) and (CPmCNPm > p4 + p2p1) being satisfied, the “Exchange (two–one)” neighborhood structure is applied by exchanging Jobs 4 and 2 from Pm (2) with Job 1 from NPm (1). The resulting schedule with Cmax = 16 is shown in Figure 5.
Note that the “Exchange (one–two)” neighborhood structure is similar to the previous one, with the difference being that one job from Pm is exchanged with two jobs from NPm. Here, the conditions are not satisfied for the schedule in Figure 5.
Finally, the fifth neighborhood structure, “Exchange (two–two)”, is applied by exchanging Jobs 1 and 6 from Pm (2) with Jobs 2 and 5 from NPm (1). The obtained schedule with Cmax = 15 is shown in Figure 6. Note that this is the optimal makespan, since it equals LB.

Steps of Variable Neighborhood Search Algorithm

The VNS algorithm is detailed by Algorithm 1.
Algorithm 1: VNS algorithm.
Obtain an initial Solution.
Find the set of problem machines S_Pm and the set of non-problem machines S_NPm.
Initialize iteration = 0, Max_iterations = 1, PmTime = makespan;
if (makespan ! = LB):
while (makespan ! = LB && iteration< Max_iterations)
   r = 0, q = 0;
   while (r < size of SPm && makespan ! = LB)
      while (q < size of SNPm && makespan != LB)
         SPm1 = SPm[r], SNPm1 = SNPm[q], k = 0;
         while (k< kmax)
            reduced = 0;
            switch(k):
case (0): Move (One); break;
case (1): Exchange (One-One); break;
case (2): Exchange (Two-One); break;
case (3): Exchange (one-Two); break;
case (4): Exchange (Two-Two); break;
            end switch
            if makespan is enhanced in any neighborhood structure:
              reducd = 1, Update PmTime;
            if(reduced = 1)
             Update (PmTime, S_Pm and S_NPm) Makespan= PmTime;
              if (size of SNPm > 0 && makespan != LB)
                r = 0, q = 0, k = 0, SPm1 = SPm[r], SNPm1 = SNPm[q];
              else break;
            else k = k + 1;
         end while
         q = q + 1;
      end while
      r = r + 1;
   end while
   iteration = iteration + 1;
end while
end if
It is worth noting that the maximum number of iterations in the VNS algorithm is important only when generating the initial solution randomly. Therefore, at each iteration, a random schedule is generated and neighborhood structures are applied. The final solution is the best makespan among all iterations. On the other hand, obtaining the initial solution using a heuristic such as the LPT rule will have no effect as the number of iterations increases. Therefore, only one iteration is needed in the proposed VNS algorithm.

3.3. The Improved Arc Flow Model

In this section, we will show how to construct a graph for the proposed improved arc flow model, give a numerical example to present the impact of the proposed model on reducing the number of variables compared to the arc flow model proposed by Mrad and Souayah [29], and formulate the studied problem based on the improved arc flow model.

3.3.1. Graph Building

The arc flow model for the Pm||Cmax problem was constructed by finding h disjoint paths for each job on a graph initialized from the starting time at node 0 up to the ending time at node T, where: 0 T U B . Consider a graph G with vertices V and arcs A, G = (V, A),x where V = {0,…, UB} with the notation v representing a general index of each vertex and A to represent the combination between the arcs of jobs An, where n = {1,…,N} and the loss arc is Ao (A = An Ao). The loss arc is an arc connecting each vertex (except vertices 0 and UB) and the UB vertex. Each arc is defined by three terms: an initial node s, a final node d, and a job n representing this arc such that:
A n = s ,   d , n : 0 < s < d < U B ,   d s = P n   a n d   A o = { ( v , U B , 1 } : v V \ { 0 , U B ) }  
where s and d represent, respectively, the initial and final nodes of the job arc A n .
The set of arcs for each job n is constructed as follows: a directed arc is created between two vertices s and d if there is a job n with process time Pn = ds, given that d ≤ UB and s < d. This set, i.e., An, can be reduced by applying some breaking symmetry rules [29]:
  • Jobs are sorted in decreasing order of their processing times.
  • An arc of a job n can’t be created from a node that is added from the arc of the same job.
  • Arcs for each job only start from the created nodes of previously considered jobs, assuming that node 0 is created at the beginning of the graph-building process.
In addition to the above-listed breaking symmetry rules, a graph compression technique was proposed that prevents some arcs of jobs from being created from node 0. The idea behind this technique is based on the fact that, by knowing the makespan of some scheduled jobs on one machine, we can find the lower bound of the remaining jobs on the remaining (m − 1) machines, where m represents the total number of machines. If the resulting lower bound exceeds the upper bound, these jobs will not have arcs from node 0. Instead, the arcs will be created from the first node created after node 0. Another graph compression technique was used for reducing the number of loss arcs. A loss arc is only needed for the last job in each machine schedule so that the flow conservation is satisfied. Therefore, only a loss arc is created from a node v that satisfied n N P n v / m 1 U B . The graph compression algorithm for the arcs of jobs is illustrated in Algorithm 2.
Algorithm 2: Graph compression algorithm for job arcs.
1.  Initialize: removedJobs←0, SumOfProcessTimes←0
2.  Sort jobs in increasing order of processing times.
3.  for nN:
   SumOfProcessTimes+ = pn
    if( n N p n S u m O f P r o c e s s T i m e s / m 1 > U B
      removedJobs++;
    else break;
4.  Return JobsSelection = NumOfJobs-removedJobs;
The selected number of jobs from Algorithm 2 was used to build the graph from node 0 while the remaining jobs were used to build the graph from the next node after node 0, as illustrated in Algorithm 3.
Algorithm 3: Graph building of the improved arc flow model.
        Initialize: V [0,…,UB]←0, JobArcs←0, lossArcs←0, NewV, An, and Ao.
        V [0]←1
        for nN: (n = 0; n < JobsSelection; n++);
         NewNodes←
         for vV:
         if(V[v] = 1 && (v + pn ≤ UB))
         AnAn ∪ (v, v + pn, n)
         NewNodesNewNodes ∪ (v + pn)
                JobArcs++
         end if
         end for
         for vNewNodes
         V[NewNodes[v]] = 1
         end for
for nN: (n = JobsSelection; n < N; n++)
         NewNodes←
         for vV\{node 0}:
         if(V[v] = 1 && (v + pn UB))
         An←An (v, v + pn, n)
         NewNodes←NewNodes (v + pn)
         end if
         end for
         for vNewNodes
         V[NewNodes[v]] = 1
         end for
         for vV:
         if(V[v] = 1)
         NewV←NewV ∪ V[v]
for vNewV\{0, UB}:
         if( n N p n N e w V v / m 1 U B )
         AoAo ∪ (NewV[v], UB, −1)
            lossArcs++;
         end for
         Return NewV, An, Ao

3.3.2. Numerical Example

Consider five jobs to be scheduled in two identical parallel machines. The processing times in minutes of each job are shown in Table 2.
Let LB = 14 min using Equation (4) and UB = 15 min obtained by both the LPT and VNS algorithms. The arc flow graph built using the algorithm proposed by [29] gives 11 nodes, 15 job arcs, and 9 loss arcs. Algorithm 2 can then be applied to check whether any job arcs can be reduced. Starting from the job with the least processing time, i.e., Job 5, the new lower bound is checked when one machine has only Job 5.
L B n e w   ( job   5 ) = n N p n S u m O f P r o c e s s T i m e s / m 1 = 28 2 / 2 1 = 28   min > U B .   Remove Job 5 .
L B n e w   ( jobs   5   and   4 ) = ( 28 2 + 3 / 2 1 = 23   min > U B .   Remove Job 4 .
L B n e w   ( jobs   5 ,   4 ,   and   3 ) = ( 28 2 + 3 + 5 / 2 1 = 18   min > U B .   Remove Job 3 .
L B n e w   ( jobs   5 ,   4 ,   3 ,   and   2 ) = ( 28 2 + 3 + 5 + 8 / 2 1 = 10   min < U B   stop ;
Therefore, Jobs 3, 4, and 5 will not have arcs created from node 0.
The graph compression for loss arcs, when applied, yields only one loss arc flow from node 13 that satisfies n N p n N e w V j / m 1 U B   28 13 2 1 = 15   min = U B .
The arc flow network, as proposed in [29], is shown in Figure 7. The resulting improved arc flow network with seven nodes, nine job arcs, and one loss arc is shown in Figure 8. The optimal solution is shown in Figure 9.

3.3.3. Mathematical Formulation of the Improved Arc Flow Model

This section presents a mathematical formulation for the improved arc flow model in which h independent paths containing all jobs should be selected to minimize the makespan.
Parameters:
An: set of job n arcs : n N .
Ao: set of loss arcs.
A: set of all arcs: A = An Ao.
V: set of nodes.
Decision Variables:
x s d = 1   i f   a r c   s , d   i s   s e l e c t e d 0   o t h e r w i s e   s , d A \ A o
x s d 0 , 1 , , m   s , d A o
C m a x : m a k e s p a n   o f   t h e   f i n a l   s c h e d u l e
Objective Function:
m i n i m i z e   C m a x
Constraints:
C m a x d x s d s , d A \ A o   &   d L B
0 , d A \ A o x 0 d = m
v , d A x v d s , v A x s v = 0       v V \ 0 , U B   &   d = s  
s , d A n x s d = 1 n N
x s d 0 , 1   s , d A \ A o  
x s d 0 , , m   s , d A o  
L B C m a x U B
The objective in Equation (5) minimizes the makespan. The makespan is the value of Constraint (6) that corresponds to the maximum final node of the job arc selected, given that it is greater than or equal to the lower bound. Constraint (7) means that the total number of arcs leaving node 0 must be equal to the number of machines, since each connected arc in the final solution represents a schedule of the jobs in one machine. The flow conservation constraints are presented in Equation (8) to ensure that for the intermediate nodes, if an arc enters a node, it must leave that node. Constraint (9) ensures one arc for each job. Constraints (10) and (11) are binary and integer decision variables, respectively. The binary decision variables are for the job arcs, while the integer decision variables are for the loss arcs and are limited to m. Finally, Constraint (12) illustrates the bounds of the makespan.

4. Computational Results and Discussion

The proposed improved arc flow model was coded in C++ language and the mathematical model was solved using Cplex 12.10. The proposed model was run on an Intel® Core i7-4930 k CPU @3.40 GHz and 34.0 GB of RAM. The improved arc flow mode was compared with the arc flow model proposed by Mrad and Souayah [29]. For a fair comparison, Mrad and Souayah’s algorithm [29] was run on the same PC. Both algorithms used the same LPT rule. However, the algorithm proposed by Mrad and Souayah [29] used LPT as a UB for their arc flow model. On the other hand, the LPT rule in the proposed improved arc flow model was used as an initial solution for the VNS algorithm. All algorithms had a time limit per instance = 1200 s. We will first mention the benchmark instances used in this paper, and then present the computational results.

4.1. Benchmark Instances

In this paper, we considered the benchmark instances proposed by Mrad and Souayah [29] for the P||Cmax problem. The benchmark instances were set by first considering the type of instances based on the ratio n/m, which has the following values: n / m 2 ,   2.25 ,   2.5 ,   2.75 ,   a n d   3 . Then, for each ratio, the processing times of the jobs were generated based on seven types of classes. Class 1, Class 2, and Class 3 were generated using a discrete uniform distribution with the intervals [1100], [2100], and [50,100], respectively. Class 4 and Class 5 both were generated using a uniform distribution with a mean μ = 100 , whereas the standard deviations were σ = 20 for Class 4 and σ = 50 for Class 5. Class 6 was generated using a discrete uniform distribution in the interval [n, 4n] and Class 7 was generated using a normal distribution with μ = 4 n and σ = n . In each type of ratio, each class had 10 combinations of n jobs and m machines. Each combination had 10 instances. Therefore, the total number of generated instances was 3500 instances. The combination of n and m is shown along with the results in Table 3 and Table 4.

4.2. Comparison of the Arc Flow Model and the Improved Arc Flow Model

In this section, a comparison between the arc flow model developed by Mrad and Souayah [29] and the proposed improved arc flow model was conducted. The results of the mean CPU times in seconds for both models are shown in two tables. Table 3 presents a comparison of the two models for Classes 1–4, whereas Table 4 presents a comparison for Classes 5–7.
The results in Table 3 show that for n/m = 2, the arc flow (AF) model obtained the optimal solution in less than one second for almost all of the instances (except the last two (n, m) combinations of Class 1. On the other hand, the improved arc flow (IAF) model optimally solved all these instances in less than 0.40 s. The results suggest that instances with a ratio of n/m = 2 seem to be the easiest ones. Indeed, for n/m = 2.25, the mean CPU time for the arc flow model gradually increased, especially for some classes and some combinations of n and m. For instance, the mean CPU time reached 20.1808 s for Class 4 with n = 198 and m = 88. In contrast, the improved arc flow model still found the optimal solution for all classes in less than one second. Instances with ratios of 2.5 and 2.75 seem to be the hardest ones, where the maximum recorded CPU times are observed for both the arc flow model (40.1836 s) and the improved arc flow model (3.00184 s).
Overall, the results in Table 3 show that, although both models obtained the optimal solution within the time limit, the improved arc flow model clearly outperformed the arc flow model in terms of the required CPU time.
From Table 4, we observed that Class 5 can be considered the simplest class compared to Classes 6 and 7. Indeed, all instances of this class were solved to optimality in a relatively small time for both models. The maximum CPU time was 14.5461 s and 6.14091 s for the arc flow model and the improved arc flow model, respectively. Classes 6 and 7 showed a dramatic outperformance of our proposed approach with respect to the arc flow model. Indeed, the improved arc flow (IAF) model was, on average, 5.68 and 12.70 times faster than the arc flow (AF) one on Classes 6 and 7, respectively. This ratio could reach as much as 60.53 times for Class 7 with n = 126 and m = 56. Moreover, we observed that, for two combinations of n and m (n = 198, m = 72 and n = 220, m = 80) in Class 7, the arc flow model (AF) reached the maximum time limit of 1200 s without finding the optimal solution for any of the considered 20 instances. On the other hand, the proposed improved arc flow model (IAF) was able to solve 19 of these instances to optimality within an average CPU time of 252.22 s and 377.1867 s, respectively.
To present overall insight into the performance of the proposed improved arc flow model, Table 5 shows the total time of the arc flow model [29], the total time of the proposed improved arc flow algorithm, and the percentage of improvement (% improvement) in the total mean CPU time for each type of ratio (n/m). The % improvement calculated how much savings in time were obtained by the proposed improved arc flow model compared with the arc flow model [29] and was calculated as follows:
%   i m p r o v e m e n t = 100 × ( T i m e A F T i m e I A F ) T i m e A F
A positive % improvement indicated that the proposed improved arc flow model obtained a lower total CPU time compared with the arc flow model [29].
The results in Table 5 show that the IAF algorithm considerably reduced the total time for all types of ratios. The percentage of time reduction ranged from 67.16% up to 93.09% with the overall percentage of reduction in time reaching 87.44%. Figure 10 shows a visual representation of the total CPU times of both algorithms.
To know how many instances out of 10 were not solved to optimality for both algorithms, Table 6 illustrates the number of unsolved instances for the combinations of (n, m) in Classes 6 and 7, i.e., instances where the solver could not reach the optimum solution within the time limit (1200 s). The instances of the other (n, m) combinations for Classes 6 and 7 are not shown in Table 6 since an optimal solution was found for both models.
The results show that Class 6 and Class 7 with the ratios (n/m) = 2.5, 2.75, and 3 were the hardest instances for the AF model [29]. The total number of unsolved instances for Class 6 and Class 7 in all the ratios was 19 and 58 instances, respectively. Therefore, a total of 77 instances out of 3500 instances were not solved to optimality by the AF model [29], with a percentage of 97.80% solved instances. On the other hand, only one instance in Class 7 of the ratio (n/m) = 2.75 with a combination (n = 220, m = 80) was not solved to optimality by the proposed improved arc flow model. The percentage of solved instances was 99.97% with an increase of 2.17% in the solved instances compared with the AF model [29].

5. Conclusions and Future Work

The scheduling of identical parallel machine scheduling problems to minimize the makespan was studied in this paper. An improved arc flow model with a mathematical formulation was proposed for this problem. Enhanced upper and lower bounds were utilized in the arc flow model to improve its efficiency. A variable neighborhood search was proposed as an upper bound that started with an initial solution obtained using the longest processing time rule, and five neighborhood structures were used to improve the local search. A graph compression technique that prevented some jobs from appearing together on the same machine was proposed to reduce the size of the graph and therefore reduce the number of variables in the mathematical model. The proposed improved arc flow model was compared with an arc flow model from the literature. The computational results on benchmark instances showed that the improved arc flow model outperformed the arc flow model from the literature at reducing the total time needed to solve instances, with the overall reduction in time reaching 87%. In addition, the number of solved instances to optimality increased to 99.97% of the instances.
Future work should investigate other graph compression techniques for this scheduling problem and apply the improved arc flow model in other scheduling environments, such as unrelated parallel machine scheduling.

Author Contributions

Conceptualization, K.B. and A.G.; methodology, K.B. and A.G.; software, K.B.; validation, K.B. and A.G.; formal analysis, K.B. and A.G.; investigation, K.B. and A.G.; resources, K.B. and A.G.; data curation, K.B. and A.G.; writing—original draft preparation, K.B.; writing—review and editing, K.B. and A.G.; visualization, K.B. and A.G.; supervision, A.G.; project administration, A.G.; funding acquisition, A.G. All authors have read and agreed to the published version of the manuscript.

Funding

This work was funded by the National Plan for Science, Technology and Innovation (MAARIFAH), King Abdulaziz City for Science and Technology, Kingdom of Saudi Arabia, award number 13-MAT1544-02.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data are available upon request from the corresponding author.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Morozoff, E. Parallel machine scheduling problems: A survey. Asia-Pac. J. Oper. Res. 2001, 18, 193. [Google Scholar]
  2. Michael, L.P. Scheduling: Theory, Algorithms, and Systems; Springer: Berlin/Heidelberg, Germany, 2018. [Google Scholar]
  3. Graham, R.L.; Lawler, E.L.; Lenstra, J.K.; Kan, A.R. Optimization and approximation in deterministic sequencing and scheduling: A survey. In Annals of Discrete Mathematics; Elsevier: Amsterdam, The Netherlands, 1979; Volume 5, pp. 287–326. [Google Scholar]
  4. Gary, M.R.; Johnson, D.S. Computers and Intractability: A Guide to the Theory of NP-Completeness; WH Freeman and Company: New York, NY, USA, 1979. [Google Scholar]
  5. Graham, R.L. Bounds on multiprocessing timing anomalies. SIAM J. Appl. Math. 1969, 17, 416–429. [Google Scholar] [CrossRef] [Green Version]
  6. della Croce, F.; Scatamacchia, R. The longest processing time rule for identical parallel machines revisited. J. Sched. 2020, 23, 163–176. [Google Scholar] [CrossRef] [Green Version]
  7. Coffman, J.; Edward, G.; Garey, M.R.; Johnson, D.S. An application of bin-packing to multiprocessor scheduling. SIAM J. Comput. 1978, 7, 1–17. [Google Scholar] [CrossRef] [Green Version]
  8. Lee, C.-Y.; Massey, J.D. Multiprocessor scheduling: Combining LPT and MULTIFIT. Discret. Appl. Math. 1988, 20, 233–242. [Google Scholar] [CrossRef] [Green Version]
  9. Gupta, J.N.; Ruiz-Torres, A.J. A LISTFIT heuristic for minimizing makespan on identical parallel machines. Prod. Plan. Control 2001, 12, 28–36. [Google Scholar] [CrossRef]
  10. Min, L.; Cheng, W. A genetic algorithm for minimizing the makespan in the case of scheduling identical parallel machines. Artif. Intell. Eng. 1999, 13, 399–403. [Google Scholar] [CrossRef]
  11. Lee, W.-C.; Wu, C.-C.; Chen, P. A simulated annealing approach to makespan minimization on identical parallel machines. Int. J. Adv. Manuf. Technol. 2006, 31, 328–334. [Google Scholar] [CrossRef]
  12. Alharkan, I.; Bamatraf, K.; Noman, M.A.; Kaid, H.; Nasr, E.S.A.; El-Tamimi, A.M. An order effect of neighborhood structures in variable neighborhood search algorithm for minimizing the makespan in an identical parallel machine scheduling. Math. Probl. Eng. 2018, 2018, 3586731. [Google Scholar] [CrossRef] [Green Version]
  13. Dell’Amico, M.; Martello, S. Optimal scheduling of tasks on identical parallel processors. ORSA J. Comput. 1995, 7, 191–200. [Google Scholar] [CrossRef]
  14. Mokotoff, E. An exact algorithm for the identical parallel machine scheduling problem. Eur. J. Oper. Res. 2004, 152, 758–769. [Google Scholar] [CrossRef]
  15. Dell’Amico, M.; Martello, S. A note on exact algorithms for the identical parallel machine scheduling problem. Eur. J. Oper. Res. 2005, 160, 576–578. [Google Scholar] [CrossRef] [Green Version]
  16. Dell’Amico, M.; Iori, M.; Martello, S.; Monaci, M. Heuristic and exact algorithms for the identical parallel machine scheduling problem. INFORMS J. Comput. 2008, 20, 333–344. [Google Scholar] [CrossRef]
  17. Haouari, M.; Gharbi, A.; Jemmali, M. Tight bounds for the identical parallel machine scheduling problem. Int. Trans. Oper. Res. 2006, 13, 529–548. [Google Scholar] [CrossRef]
  18. Haouari, M.; Jemmali, M. Tight bounds for the identical parallel machine-scheduling problem: Part II. Int. Trans. Oper. Res. 2008, 15, 19–34. [Google Scholar] [CrossRef]
  19. de Carvalho, J.V. Exact solution of cutting stock problems using column generation and branch-and-bound. Int. Trans. Oper. Res. 1998, 5, 35–44. [Google Scholar] [CrossRef]
  20. de Carvalho, J.V. Exact solution of bin-packing problems using column generation and branch-and-bound. Ann. Oper. Res. 1999, 86, 629–659. [Google Scholar] [CrossRef]
  21. Brandao, F.; Pedroso, J.P. Bin packing and related problems: General arc-flow formulation with graph compression. Comput. Oper. Res. 2016, 69, 56–67. [Google Scholar] [CrossRef] [Green Version]
  22. Brandao, F.D.A. Cutting & Packing Problems: General Arc-Flow Formulation with Graph Compression. Ph.D. Thesis, Universidade do Porto, Porto, Portugal, 2017. [Google Scholar]
  23. Delorme, M.; Iori, M.; Martello, S. Bin packing and cutting stock problems: Mathematical models and exact algorithms. Eur. J. Oper. Res. 2016, 255, 1–20. [Google Scholar] [CrossRef]
  24. Martinovic, J.; Scheithauer, G.; de Carvalho, J.V. A comparative study of the arcflow model and the one-cut model for one-dimensional cutting stock problems. Eur. J. Oper. Res. 2018, 266, 458–471. [Google Scholar] [CrossRef]
  25. Mrad, M.; Ali, T.G.; Balma, A.; Gharbi, A.; Samhan, A.; Louly, M. The Two-Dimensional Strip Cutting Problem: Improved Results on Real-World Instances. Eurasia Proc. Educ. Soc. Sci. 2021, 22, 1–10. [Google Scholar] [CrossRef]
  26. Kramer, A.; Lalla-Ruiz, E.; Iori, M.; Voß, S. Novel formulations and modeling enhancements for the dynamic berth allocation problem. Eur. J. Oper. Res. 2019, 278, 170–185. [Google Scholar] [CrossRef]
  27. Macedo, R.; Alves, C.; de Carvalho, J.V.; Clautiaux, F.; Hanafi, S. Solving the vehicle routing problem with time windows and multiple routes exactly using a pseudo-polynomial model. Eur. J. Oper. Res. 2011, 214, 536–545. [Google Scholar] [CrossRef]
  28. Kramer, R.; Iori, M.; Vidal, T. Mathematical models and search algorithms for the capacitated-center problem. INFORMS J. Comput. 2020, 32, 444–460. [Google Scholar] [CrossRef] [Green Version]
  29. Mrad, M.; Souayah, N. An arc-flow model for the makespan minimization problem on identical parallel machines. IEEE Access 2018, 6, 5300–5307. [Google Scholar] [CrossRef]
  30. Kramer, A.; Dell’Amico, M.; Iori, M. Enhanced arc-flow formulations to minimize weighted completion time on identical parallel machines. Eur. J. Oper. Res. 2019, 275, 67–79. [Google Scholar] [CrossRef] [Green Version]
  31. Kramer, A.; Dell’Amico, M.; Feillet, D.; Iori, M. Scheduling jobs with release dates on identical parallel machines by minimizing the total weighted completion time. Comput. Oper. Res. 2020, 123, 105018. [Google Scholar] [CrossRef]
  32. Wang, S.; Wu, R.; Chu, F.; Yu, J.; Liu, X. An improved formulation and efficient heuristics for the discrete parallel-machine makespan ScheLoc problem. Comput. Ind. Eng. 2020, 140, 106238. [Google Scholar] [CrossRef]
  33. Trindade, R.S.; de Araújo, O.C.; Fampa, M. Arc-flow approach for parallel batch processing machine scheduling with non-identical job sizes. In International Symposium on Combinatorial Optimization; Springer: Warsaw, Poland, 2020; pp. 179–190. [Google Scholar]
  34. Trindade, R.S.; de Araújo, O.C.B.; Fampa, M. Arc-flow approach for single batch-processing machine scheduling. Comput. Oper. Res. 2021, 134, 105394. [Google Scholar] [CrossRef]
  35. Kramer, A.; Iori, M.; Lacomme, P. Mathematical formulations for scheduling jobs on identical parallel machines with family setup times and total weighted completion time minimization. Eur. J. Oper. Res. 2021, 289, 825–840. [Google Scholar] [CrossRef] [Green Version]
  36. de Lima, V.L.; Alves, C.; Clautiaux, F.; Iori, M.; de Carvalho, J.M.V. Arc flow formulations based on dynamic programming: Theoretical foundations and applications. Eur. J. Oper. Res. 2022, 296, 3–21. [Google Scholar] [CrossRef]
  37. de Lima, V.L.; Iori, M.; Miyazawa, F.K. Exact solution of network flow models with strong relaxations. Math. Program. 2022, 1–34. [Google Scholar] [CrossRef]
  38. Mladenović, N.; Hansen, P. Variable neighborhood search. Comput. Oper. Res. 1997, 24, 1097–1100. [Google Scholar] [CrossRef]
Figure 1. Flowchart of the improved arc flow methodology.
Figure 1. Flowchart of the improved arc flow methodology.
Processes 10 02293 g001
Figure 2. The initial schedule of the illustrative example.
Figure 2. The initial schedule of the illustrative example.
Processes 10 02293 g002
Figure 3. The schedule after applying the “Move (one)” neighborhood structure.
Figure 3. The schedule after applying the “Move (one)” neighborhood structure.
Processes 10 02293 g003
Figure 4. The schedule after applying the “Exchange (one–one)” neighborhood structure.
Figure 4. The schedule after applying the “Exchange (one–one)” neighborhood structure.
Processes 10 02293 g004
Figure 5. The schedule after applying the “Exchange (two–one)” neighborhood structure.
Figure 5. The schedule after applying the “Exchange (two–one)” neighborhood structure.
Processes 10 02293 g005
Figure 6. The optimal schedule after applying the “Exchange (two–two)” neighborhood structure.
Figure 6. The optimal schedule after applying the “Exchange (two–two)” neighborhood structure.
Processes 10 02293 g006
Figure 7. Arc flow network.
Figure 7. Arc flow network.
Processes 10 02293 g007
Figure 8. Improved arc flow network.
Figure 8. Improved arc flow network.
Processes 10 02293 g008
Figure 9. Optimal solution.
Figure 9. Optimal solution.
Processes 10 02293 g009
Figure 10. Bar chart for total CPU time comparison (s).
Figure 10. Bar chart for total CPU time comparison (s).
Processes 10 02293 g010
Table 1. Processing times of jobs for neighborhood structures example.
Table 1. Processing times of jobs for neighborhood structures example.
Job No.Processing Time (Minutes)
110
28
35
43
52
61
Table 2. Processing times of jobs for graph-building example.
Table 2. Processing times of jobs for graph-building example.
Job No.Processing Time (Minutes)
110
28
35
43
52
Table 3. Comparison of the mean CPU times (s) on Classes 1–4.
Table 3. Comparison of the mean CPU times (s) on Classes 1–4.
n/mnmClass 1Class 2Class 3Class 4
AFIAFAFIAFAFIAFAFIAF
220100.07710.035260.03920.026030.02080.017610.02490.02234
40200.17370.055290.09240.038670.0310.028140.04910.04469
60300.22190.061170.13320.056040.03590.035020.07390.0896
80400.29010.102730.18210.087420.05360.052340.09740.08841
100500.37730.115680.22280.11260.05850.044190.11590.08476
120600.68230.177230.38480.191540.06870.059550.35920.29095
140700.75390.201550.34920.151970.06970.06090.3850.23621
160800.93250.202720.34820.162560.08280.062710.26580.17787
180901.35660.321760.51480.201590.08380.066040.6670.39902
2001001.30980.271530.65680.249490.09020.07990.61580.30558
2.2536160.13620.033150.23560.073770.26050.041790.40680.06536
54240.32360.109930.45430.141640.64160.082641.12680.10604
72320.49440.127990.76360.207981.13440.095292.49260.15411
90400.65380.151851.54590.296561.75750.132454.78550.28571
108481.14640.308871.57380.399982.58980.157276.31980.29995
126561.19790.313861.49740.363073.7010.235199.62550.51936
144641.68430.295652.06260.511693.57380.2667810.45680.51346
162723.30080.703631.45880.412915.78810.2946312.13210.66862
180802.41480.530032.95780.627036.06890.2777415.04480.87539
198883.43460.589154.20440.902675.85340.3649320.18080.9274
2.52080.10830.03850.11520.040670.11060.035660.12610.04121
40160.28460.098650.38730.143980.49020.071430.75620.118
60240.31970.139350.49970.192411.13250.137821.9810.17063
80320.7610.155740.9450.397471.28630.174434.88750.32915
100401.51340.257920.92680.324062.54090.257197.34250.5099
120481.06130.339941.11290.405382.53910.322168.37550.65916
140561.67690.437681.29840.589824.43130.4720215.5840.88034
160641.69840.509261.78290.633834.47850.4916422.57731.24152
180722.08980.699551.67390.727965.73580.7728821.93031.50267
200802.91881.04362.3890.914756.26760.8212726.01931.36693
2.752280.17460.065490.11180.049530.15030.102340.14980.05319
44160.29870.139580.29410.162330.48240.129480.93150.13893
66240.4580.188980.50290.214541.28470.242732.11050.31473
88320.94810.320520.72550.345172.35220.326624.06380.68388
110401.39110.444761.36940.585962.71570.468075.62020.92024
132482.0070.777282.15780.671033.70530.585969.87381.63563
154563.01370.941412.20041.027194.93620.9218518.96031.60869
176642.56420.91832.87241.265018.27931.0313626.58271.83095
198724.44311.337292.94421.2238611.56531.2266639.65042.86454
220804.02331.38613.74051.5899212.95861.4161640.18363.00184
336120.26430.159990.20420.11070.13760.059440.21470.07534
54180.36550.190010.3720.230320.21060.134730.36180.188
72240.81630.350610.81540.370590.34850.203550.68520.38274
90301.29010.482750.97560.491740.50790.336811.32910.53297
108361.80920.804221.32090.826150.68250.469081.64260.82015
126422.39451.032141.92961.11050.94140.43782.50981.1539
144482.51311.098892.38891.101511.20570.740863.17581.44368
162542.88941.532953.81521.549571.49030.832493.87592.3585
180604.82381.834093.9091.713572.09831.162294.3211.96692
198664.80451.663243.13462.214782.6171.035546.45852.29203
Table 4. Comparison of the mean CPU times (s) on Classes 5–7.
Table 4. Comparison of the mean CPU times (s) on Classes 5–7.
n/mnmClass 5Class 6Class 7
AFIAFAFIAFAFIAF
220100.05460.046560.02690.022010.02620.02078
40200.17050.062970.08150.050310.05360.05235
60300.43720.13620.16650.138980.12020.11593
80400.32680.076550.38420.192090.39820.1859
100500.83120.164590.43430.1680.76550.39649
120600.73070.119531.10570.437031.12120.59539
140701.19030.166612.38261.007592.02921.05471
160801.02610.163482.04450.551971.82620.96158
180901.54750.242153.05621.225683.34751.27347
2001000.74040.205128.95671.843748.53721.73166
2.2536160.41310.13870.47150.114120.51340.07636
54240.62090.281561.35510.221262.73660.16857
72321.79740.568454.34330.394248.34240.31553
90403.3831.2038713.12770.8229929.0660.58036
108482.90510.6590330.9821.8047471.99071.33954
126568.55061.5002753.1084.90213139.64972.30687
144649.32022.2294480.93748.66699236.5057.65391
1627210.03521.44473167.088314.16798332.85858.8986
1808012.42771.67685273.329141.52442510.014619.45461
198885.02491.15768447.183248.11236646.002838.52895
2.52080.15380.06840.110.034980.13490.03906
40160.72040.278530.74720.162381.22750.12669
60242.19670.578952.46990.55946.61950.43938
80322.44710.851039.22581.9619123.22691.24437
100403.83160.922531.20724.6720255.33213.96598
120488.60851.2149963.268915.33955120.11539.11037
140566.87042.14134103.849921.15889278.728412.64758
1606410.00155.03549159.544748.12724603.351620.61922
1807214.54612.63308649.381886.009281072.78770.51515
200807.58442.28975731.0712135.8071066.67480.6796
2.752280.21440.110630.12430.046280.15120.07119
44160.77470.327760.9850.282381.64350.27984
66241.09130.435482.65660.7488810.02071.5892
88323.72680.977326.86211.6457450.01494.71296
110403.83731.2536216.77834.02252150.823612.19673
132488.04492.3996143.750610.56909556.60840.22264
154569.28851.73566397.366228.13591110.38586.52077
1766410.65772.67341535.706957.684551183.907133.7526
198727.8214.75334862.282669.341351200252.22
2208011.60445.52537984.8733120.03071200377.1867
336120.54530.224710.31220.142890.3990.1651
54181.47330.524220.86380.620281.44510.55498
72241.92350.685072.67911.455215.74971.59318
90303.18981.189025.93222.458649.03643.58461
108364.99361.7547313.23895.3135726.40027.36371
126425.97332.9380452.88089.5433625.955617.25403
144489.33733.8354645.736720.37307269.869821.57858
1625412.02034.61985249.325929.50285765.159352.96896
1806010.5365.94832297.511837.64389528.869693.47038
1986612.57626.14091840.8658108.26061007.825164.7304
Table 5. Comparison of the total mean CPU time (s).
Table 5. Comparison of the total mean CPU time (s).
n/mAFIAF% Improvement
2562.67184.7867.16
2.2532,495.6492243.806393.09
2.551,981.905477.0189.46
2.7586,054.3012,546.1085.42
342,882.75816419.33885.03
Total Time213,977.277126,871.034387.44
Table 6. Number of unsolved instances.
Table 6. Number of unsolved instances.
n/mnmClass 6Class 7
AFIAFAFIAF
2.5180723050
200803060
2.75154560070
176641090
1987250100
2208040101
3162540020
180600030
198663060
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Gharbi, A.; Bamatraf, K. An Improved Arc Flow Model with Enhanced Bounds for Minimizing the Makespan in Identical Parallel Machine Scheduling. Processes 2022, 10, 2293. https://doi.org/10.3390/pr10112293

AMA Style

Gharbi A, Bamatraf K. An Improved Arc Flow Model with Enhanced Bounds for Minimizing the Makespan in Identical Parallel Machine Scheduling. Processes. 2022; 10(11):2293. https://doi.org/10.3390/pr10112293

Chicago/Turabian Style

Gharbi, Anis, and Khaled Bamatraf. 2022. "An Improved Arc Flow Model with Enhanced Bounds for Minimizing the Makespan in Identical Parallel Machine Scheduling" Processes 10, no. 11: 2293. https://doi.org/10.3390/pr10112293

APA Style

Gharbi, A., & Bamatraf, K. (2022). An Improved Arc Flow Model with Enhanced Bounds for Minimizing the Makespan in Identical Parallel Machine Scheduling. Processes, 10(11), 2293. https://doi.org/10.3390/pr10112293

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop