All articles published by MDPI are made immediately available worldwide under an open access license. No special
permission is required to reuse all or part of the article published by MDPI, including figures and tables. For
articles published under an open access Creative Common CC BY license, any part of the article may be reused without
permission provided that the original article is clearly cited. For more information, please refer to
Feature papers represent the most advanced research with significant potential for high impact in the field. A Feature
Paper should be a substantial original Article that involves several techniques or approaches, provides an outlook for
future research directions and describes possible research applications.
Feature papers are submitted upon individual invitation or recommendation by the scientific editors and must receive
positive feedback from the reviewers.
Editor’s Choice articles are based on recommendations by the scientific editors of MDPI journals from around the world.
Editors select a small number of articles recently published in the journal that they believe will be particularly
interesting to readers, or important in the respective research area. The aim is to provide a snapshot of some of the
most exciting work published in the various research areas of the journal.
The problem investigated in this paper is scheduling on uniform parallel machines, taking into account that machines can be periodically unavailable during the planning horizon. The objective is to determine planning for job processing so that the makespan is minimal. The problem is known to be NP-hard. A new quadratic model was developed. Because of the limitation of the aforementioned model in terms of problem sizes, a novel algorithm was developed to tackle big-sized instances. This consists of mainly two phases. The first phase generates schedules using a modified Largest Processing Time ()-based procedure. Then, theses schedules are subject to further improvement during the second phase. This improvement is obtained by simultaneously applying pairwise job interchanges between machines. The proposed algorithm and the quadratic model were implemented and tested on variously sized problems. Computational results showed that the developed quadratic model could optimally solve small- to medium-sized problem instances. However, the proposed algorithm was able to optimally solve large-sized problems in a reasonable time.
In the industry field, machines are often supposed to be continuously available for processing assigned jobs. However, this assumption is not totally realistic in real-world cases. For instance, machines may be subject to unavailability periods due to many reasons, such as preventive maintenance , corrective maintenance , and tool-change activities . There are two main concerns related to the temporary unavailability of a machine. The first is related to the increased costs caused by stopping the machine’s activity, while the second is linked to the difficulty in taking decisions regarding the balance between resource unavailability and production. Therefore, a proper planning strategy in a manufacturing system is necessary for it to operate in the most cost-effective way.
Scheduling under machine-unavailability constraints has attracted the attention of many researchers, and many real applications can be found. In , the authors listed two applications in the aerospace industry where the machine must be stopped to change microdrilling tools after a fixed number of use times. Another application was mentioned by  related to electric-battery vehicles that require refuelling operations.
In this paper, we study a scheduling problem on m uniform parallel machines with multiple unavailability constraints with the objective to minimize the makespan, which is the completion time of the last assigned job. The reason behind the choice of such an objective is that minimizing the makespan can ensure a good load balance among the machines. We followed three-field classification, developed by , to represent the problem as . In the first field, Q denotes uniform parallel machine setting, m represents the number of considered machines, and states that each machine is unavailable during k periods in the planning horizon. In the second field, , a indicates that the machines are subject to availability constraints. Lastly, the third field, , describes the objective to be minimized, that is, the completion time of the last processed job, denoted by .
Many papers in the literature studied parallel machine-scheduling problems with availability constraints, but very few considered a uniform parallel machine setting. To the best of our knowledge, only two related papers exist so far, [7,8]. In , the authors studied the uniform parallel machine-scheduling problem where each machine could be unavailable during one period of time. The considered performance measures were total completion times and makespan. Two types of jobs were treated, namely, identical and nonidentical jobs. Linear programming models and optimal algorithms were developed to solve the problem where jobs are identical. For the case of nonidentical jobs, the authors proved that the problem is NP-hard, and proposed a quadratic program and a heuristic that were tested on large-sized problem instances. The online version of the problem was studied in . The authors considered the case of two machines under the constraint of one periodically unavailable machine. The identical- and uniform-machine cases were investigated. The objective was to minimize the makespan. The solution approach consisted of optimal algorithms with competitive ratios.
Furthermore, most research papers studied the case of identical parallel machines. For example, [9,10,11,12,13] studied various identical parallel machine problems allowing various types of unavailable intervals for machines.
The shortage in research in this area, and the important applications of the investigated problem in reality motivated the author of this paper to explore this area more and contribute to the scientific research on it. Uniform parallel machine scheduling can be found in the manufacturing field where the same type of job can be processed on new and old machines that have different speeds. As an example, a printing task can take much more time on an old machine than on a new one.
In this paper, the main contributions are a quadratic programming-model (QM) formulation of a uniform parallel machine with multiple availability constraints and an algorithm that provides optimal solutions. To the best of our knowledge, the proposed QM is the first such formulation for scheduling on uniform parallel machine with availability constraints.
The content of this paper is organized as follows. Problem notations are laid in Section 2. In Section 3.1, a quadratic model for the problem with makespan as an objective is developed. Section 3.2 details an algorithm proposed for makespan-performance measurement. The proposed algorithm was tested on different problem instances, and results are displayed in Section 4. Finally, a general conclusion is formulated in Section 5.
For accuracy of description, by ‘unavailability interval’ we denote the time interval in which the machine is not available for processing any job, whereas the time interval between two consecutive unavailability intervals is called the ‘availability interval’ of the machine.
In this paper, we consider m uniform parallel machines that can process n jobs. Each job j, is characterized by processing time and completion time . We assumed that the jobs were ready at time 0 and could be processed once at any time, but could not be interrupted once started. Since we consider uniform parallel machines, each machine i, , can process at most one job at a time at speed . So, the processing time of any job j depends on the machine on which it is processed and is equal to , ; . Without loss of generality, we assumed that jobs were indexed in order, that is, . We assumed that the machine could process the next job once the previous one was finished. Thus, no setup time was considered. Let and be the starting and ending time of the unavailability period on machine i, respectively. Without loss of generality, we assumed that all machines were available at the beginning of the planning horizon. By , we denote the length of the availability interval on machine i.
The problem was to find a job assignment on machines that minimizes the makespan. As stated earlier, the problem of scheduling jobs on uniform parallel machines subject to unavailability constraints has not been studied before. Therefore, a mathematical formulation of the problem can be of great interest. Thus, in Section 3.1, we detail a mathematical model to describe the problem under consideration.
3. Proposed Solution Approach for
In this section, we studied the scheduling problem on uniform parallel machine, where each machine i can be unavailable during unavailability periods in its planning horizon. Thus, there are availability intervals. The objective was to minimize the makespan.
It is easy to see that is NP-hard. To see this, let for every machine Then the problem reduces to the identical parallel machine-scheduling problem under availability constraints that was proved to be NP-hard by .
3.1. Mathematical Model
Using the above-listed decision variables, the problem can be modeled as a quadratic program as follows:
where d is a large positive number.
Equation (1) minimizes the makespan. Equation (2) guarantees that, when all jobs are completed before the start of the 1st unavailability period, the unavailability duration is not considered in the evaluation of the completion time of the last job assigned to machine i. There are m of these constraints. Equation (3) states that the completion time of the last job assigned to machine i is at most equal to the makespan. There are m of these constraints. Equation (4) guarantees that no more than one is equal one for a given machine i. There are m of these constraints. The total processing time of the jobs assigned to a given availability interval cannot exceed the length of that interval. This is shown by Equation (5). There are of these constraints. Equation (6) assures that, if a job is assigned to a machine, it can be processed on only one availability interval of that machine. There are n constraints of this type. Equations (7) and (8) define the non-negativity constraints about the decision variables used to develop the mathematical model.
The above quadratic model () can be optimally solved by CPLEX for problem instances with up to 73 machines. Therefore, a good polynomial algorithm that can solve large and more complicated problems, and provide promising results is of great interest.
The Largest Processing Time algorithm () is a famous rule used to build heuristics for scheduling problems with a makespan criterion. For example, in  the authors proposed -based heuristics to solve and problems, respectively. The rule sorts jobs into a nonincreasing order of their processing times and then assigns a job to the machine on which it can finish as early as possible.
3.2. Proposed-Solution Approach
The approach proposed to solve the problem of scheduling on parallel machines under unavailability constraints consists of two steps. The first step focuses on assigning jobs to different available machines using a newly proposed LPT-Based Heuristic, named . The second step, named , tries to improve solutions obtained by . The Main Algorithm, named , is a combination of and .
3.2.1. Heuristic Procedure
The main idea of is to divide the set of jobs N into two subsets. The first set includes jobs that can be assigned to one of the machines’ availability intervals. The second set contains the remaining jobs. The consists of two phases. The first is the main phase, as it schedules the maximum of jobs. First, for every machine, a list of job candidates is formed on the basis of whether they could fit the machine’s availability intervals except the last ones. This step is achieved by using the procedure shown in Algorithm 1. Second, jobs in every constructed list are sorted in decreasing order of their processing times. Then, for every machine, starting from machine 1, select the first job in the candidate list of machine 1. If the selected job is only in that machine’s list, assign it to the availability interval that can fit it. Otherwise, assign it to the machine on which it can finish as early as possible. The first phase ends when all the machines’ job-candidate lists are empty. The remaining unscheduled jobs are input for the second phase. The pseudocode of the heuristic is shown in Algorithm 2. Table 1 lists notations used to develop Algorithms 1 and 2.
procedure (Input , m, , )
for to mdo
for to ndo
if () then
Sort the jobs in every in a nonincreasing order of their processing times.
procedure (Input , m, , , . Output )
for to mdo
for to do
while () do
Among the jobs of , select the job with the highest processing time. Let l be that job and the machine(s) to which it can be assigned.
if (l exists in more than one ) then
Assign l to the machine on which it can finish as early as possible.
else Assign l to machine
Update of the machine to which job l was assigned.
if () then
if () then
Schedule the jobs of according to rule.
3.2.2. Improvement Procedure
The idea of the improvement procedure was inspired from a local-search heuristic proposed in , developed to solve the scheduling problem of parallel identical-batch processing machines. The aim of the improvement procedure was to try to balance the load of different machines so that the completion times of the last jobs in every machine are almost the same. This improvement can be achieved by interchanging pairs of jobs between the most loaded machine and other machines. The flowchart of the aforementioned heuristic is shown in Figure 1.
In order to illustrate the proposed heuristic, let us consider a problem instance with 2 machines and 10 jobs. Table 2 summarizes the input data, and Figure 2 and Figure 3 show the Gantt charts of solutions obtained by and , respectively.
Note that after interchanging a pair of jobs between two machines, the procedure looks to shift jobs to the left whenever the idle time interval on the machine can fit them. In the above example, after interchanging jobs and , shifted job to the left since it could fit in the idle time interval.
4. Experiment Results
For the purpose of evaluating the performance of the proposed algorithm, many problem instances were tested. These were generated after examining the important factors that significantly impacted the performance of the proposed algorithm. The first factor was the number of jobs n to be processed that directly affects the machines’ load. The second important factor is the number of machines m that has an impact on the assignment of jobs to machines. Job processing times may play a role in the efficiency of the proposed algorithm. Thus, we generated problem instances with different job processing times. The algorithm was coded in IntelliJ IDEA. In addition, the quadratic model was modelled in IBM ILOG CPLEX Optimization Studio 12.7. The proposed heuristic was implemented using programming language Java. We ran all test problems on an Intel Core i5 2.5 Gigahertz, 4 Gigabyte RAM Macintosh HD.
In order to avoid useless computational time, the program was stopped for two possible reasons. The first was when the CPLEX became unable to generate a solution within the time limit of 3600 s (1 h). The second reason was due to memory overflow. At this point, the best feasible solution found within the time limit was recorded.
4.1. Data Generation
A deep empirical study was conducted with the aim to generate datasets that would help to correctly analyze the efficiency of the proposed algorithm. By the end, two dataset series were considered, namely, and . In fact, the way to generate dataset series was inspired from Graham’s data-generation process  addressing problems. The parameters used to generate and are summarized in Table 3 and Table 4, respectively.
The starting and ending times and of the unavailability periods were generated according to Equations (9) and (10), respectively.
In this section, we outline different experiments that were conducted to evaluate the performance of the and the proposed algorithm. In all experiments, Central Processing Unit time () represents the time in seconds required to find the optimal or best feasible solution. Table 5 and Table 6 show the results obtained by and for small and large job processing times, respectively.
Table 5 clearly shows that the proposed algorithm was generating optimal solutions with a time of less than 1 second for all problem instances. Quadratic model was also able to provide optimal schedules in a reasonable time. By considering much longer processing times than in the previous data series, we still obtained optimal solutions in reasonable time even though the quadratic model became slower than in the first batch of problem instances. The proposed algorithm outperformed the quadratic model in terms of computational time that was still less than 1 second. Table 6 confirms these observations.
In order to investigate the limitations of the proposed quadratic model, a second dataset series, namely, was considered. Table 7 reports the computational results for both and
The computational results displayed in Table 7 show that quadratic model was able to generate an optimal solution within a time limit for problems with up to 73 machines.
On the basis of the computational results shown in Table 7, the quadratic model was not able to generate optimal solutions in a reasonable time and for bigger problems. Therefore, proposed procedure was tested for large-sized problems and compared to an adapted form of , proposed earlier by the author of this paper in . Table 8 reports the obtained results for problem instances with and
Table 8 shows that outperformed for all problem instances with slightly higher time than the time of for most instances. In addition, run time increased with problem size.
5. Conclusions and Future Work
In this paper, we studied the problem of parallel machine scheduling with multiple planned nonavailability periods. In the current literature, very few papers investigated this problem. The problem was formulated as a quadratic program and optimally solved using CPLEX for small- to moderately large-sized problems. In order to be able to solve large-sized problems, an algorithm consisting of two main phases was developed. The first phase searches for schedules on the basis of the rule. The second aims to improve these schedules by considering simultaneous pairwise interchanges of jobs between machines. A deep computational study was conducted to test the efficiency of the proposed approach. Many datasets were carefully generated to help evaluate the algorithm. Computational results showed that the proposed algorithm generated optimal solutions for all considered problem sizes and outperformed an adapted form of a heuristic that was developed earlier by the author of this paper. Further investigation can be done to consider other criteria and more general versions of the problem, such as the dynamic case where jobs arrive one by one over the planning horizon.
This research received no external funding.
Conflicts of Interest
The authors declare no conflict of interest.
Azadeh, A.; Sheikhalishahi, M.; Firoozi, M.; Khalili, S. An integrated multi-criteria Taguchi computer simulation-DEA approach for optimum maintenance policy and planning by incorporating learning effects. Int. J. Prod. Res.2013, 51, 5374–5385. [Google Scholar] [CrossRef]
Yazdani, M.; Khalili, S.M.; Jolai, F. A parallel machine scheduling problem with two-agent and tool change activities: An efficient hybrid metaheuristic algorithm. Int. J. Comput. Integr. Manuf.2016, 29, 1075–1088. [Google Scholar] [CrossRef]
Azadeh, A.; Sheikhalishahi, M.; Khalili, S.M.; Firoozi, M. An integrated fuzzy simulation—Fuzzy data envelopment analysis approach for optimum maintenance planning. Int. J. Comput. Integr. Manuf.2014, 27, 181–199. [Google Scholar] [CrossRef]
Low, C.; Ji, M.; Hsu, C.J.; Su, C.T. Minimizing the makespan in a single machine scheduling problems with flexible and periodic maintenance. Appl. Math. Model.2010, 34, 334–342. [Google Scholar] [CrossRef]
Schneider, M.; Stenger, A.; Hof, J. An adaptive VNS algorithm for vehicle routing problems with intermediate stops. Or Spectrum2015, 37, 353–387. [Google Scholar] [CrossRef]
Graham, R.L.; Lawler, E.L.; Lenstra, J.K.; Kan, A.R. Optimization and approximation in deterministic sequencing and scheduling: A survey. Ann. Discrete Math.1979, 5, 287–326. [Google Scholar]
Kaabi, J.; Harrath, Y. Scheduling on uniform parallel machines with periodic unavailability constraints. Int. J. Prod. Res.2019, 57, 216–227. [Google Scholar] [CrossRef]
Liu, M.; Zheng, F.; Chu, C.; Xu, Y. Optimal algorithms for online scheduling on parallel machines to minimize the makespan with a periodic availability constraint. Theor. Comput. Sci.2011, 412, 5225–5231. [Google Scholar] [CrossRef]
Liao, L.W.; Sheen, G.J. Parallel machine scheduling with machine availability and eligibility constraints. Eur. J. Oper. Res.2008, 184, 458–467. [Google Scholar] [CrossRef]
Mellouli, R.; Sadfi, C.; Chu, C.; Kacem, I. Identical parallel-machine scheduling under availability constraints to minimize the sum of completion times. Eur. J. Oper. Res.2009, 197, 1150–1165. [Google Scholar] [CrossRef]
Fu, B.; Huo, Y.; Zhao, H. Approximation schemes for parallel machine scheduling with availability constraints. Discret. Appl. Math.2011, 159, 1555–1565. [Google Scholar] [CrossRef]
Wang, X.; Cheng, T. A heuristic for scheduling jobs on two identical parallel machines with a machine availability constraint. Int. J. Prod. Econ.2015, 161, 74–82. [Google Scholar] [CrossRef]
Gedik, R.; Rainwater, C.; Nachtmann, H.; Pohl, E.A. Analysis of a parallel machine scheduling problem with sequence dependent setup times and job availability intervals. Eur. J. Oper. Res.2016, 251, 640–650. [Google Scholar] [CrossRef]
Lee, C.Y. Parallel machines scheduling with nonsimultaneous machine available time. Discret. Appl. Math.1991, 30, 53–61. [Google Scholar] [CrossRef]
Mireault, P.; Orlin, J.B.; Vohra, R.V. A parametric worst case analysis of the LPT heuristic for two uniform machines. Oper. Res.1997, 45, 116–125. [Google Scholar] [CrossRef]
Kashan, A.H.; Karimi, B.; Jenabi, M. A hybrid genetic heuristic for scheduling parallel batch processing machines with arbitrary job sizes. Comput. Oper. Res.2008, 35, 1084–1098. [Google Scholar] [CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely
those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or
the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas,
methods, instructions or products referred to in the content.