This paper defines and introduces the formulation of the Real-RCPSP (Real-Resource-Constrained Project Scheduling Problem), a new variant of the MS-RCPSP (Multiskill Resource-Constrained Project Scheduling Problem). Real-RCPSP is an optimization problem that has been attracting widespread interest from the research community in recent years. Real-RCPSP has become a critical issue in many fields such as resource allocation to perform tasks in Edge Computing or arranging robots at industrial production lines at factories and IoT systems. Compared to the MS-RCPSP, the Real-RCPSP is supplemented with assumptions about the execution time of the task, so it is more realistic. The previous algorithms for solving the MS-RCPSP have only been verified on simulation data, so their results are not completely convincing. In addition, those algorithms are designed only to solve the MS-RCPSP, so they are not completely suitable for solving the new Real-RCPSP. Inspired by the Cuckoo Search approach, this literature proposes an evolutionary algorithm that uses the function Reallocate for fast convergence to the global extremum. In order to verify the proposed algorithm, the experiments were conducted on two datasets: (i) the iMOPSE simulation dataset that previous studies had used and (ii) the actual TNG dataset collected from the textile company TNG. Experimental results on the iMOPSE simulation dataset show that the proposed algorithm achieves better solution quality than the existing algorithms, while the experimental results on the TNG dataset have proved that the proposed algorithm decreases the execution time of current production lines at the TNG company.
1. Introduction
Scheduling is used to arrange the resources and tasks in many fields, where scheduling algorithms can have an important impact on the effectiveness and cost. In a logistic system, not only are cargo vehicles characterized by the factors of speed and carrying capacity, but also the skill of the driver is the most important factor in determining the quality of transportation. By taking into account all the factors, especially the driver’s skill one, scheduling algorithms help manage and coordinate the transport system. An intelligent scheduling algorithm helps managers exploit the maximum potential of resources including vehicle and driver to get the project done.
In the wireless sensor networks, the node scheduling aims at selecting a set of nodes (i.e., sensors) that provide the data service. This scheduling can effectively reduce the number of nodes and messages and at the same time extend the network lifetime [1–3]. The basic goal of Edge Computing [4] is finding the optimal scheduling for extending the Cloud’s resources such as servers and routers from remote data centers to the edge of the Cloud where they are closer to users, thus overcoming the bottlenecks issue by cloud computing and providing higher performance.
Solving the MS-RCPSP [5–7] problem is to find out the schedule to execute the project in the shortest possible time without breaking any constraints. In other words, the scheduling algorithm’s goal is to find a schedule with the smallest execution time while meeting any task and resource constraints. In this paper, the term “makespan” will be used to refer to the distance in time that elapses from the start of work to the end of execution time. MS-RCPSP is among the most commonly investigated optimization problems that have received a lot of attention due to their significant role in network resource scheduling and controlling.
MS-RCPSP appears in many practical situations such as logistics and cargo transportation, widely applied to military operations such as sorting missions and determining travel routes [8]. Hosseinian and Baradaran [9] used an evaluation method to make plan decisions with MS-RCPSP. Nazafzad et al. [10] employed a biobjective optimization model for the MS-RCPSP considering shift differential payments and time-of-use electricity tariffs. Their study tried to minimize the cost and the makespan of a given project. Younis and Yang [11] propose the heuristic algorithm to solve a particular case of the MS-RCPSP occurring in grid computing.
However, the MS-RCPSP has one serious defect. What often happens in practice is that a resource with a higher skill level has a shorter processing time. This paper presents a new problem, which is a more practical extension of the MS-RCPSP, called the Real-RCPSP. In other words, Real-RCPSP is a specific case of the MS-RCPSP. In the Real-RCPSP, the processing time depends on the skill level of the resource. The real-life nature of Real-RCPSP comes from production lines at the industry factory, where the higher the skill level of a worker is, the faster he can make the product.
This paper is organized as follows. The next section presents some previous algorithms for solving the Resource-Constrained Scheduling Problem. This section also briefly introduces the Cuckoo Search strategy [12], one of the most widely used metaheuristics. Section 3 formulates the Real-RCPSP. The proposed algorithm (called R-CSM) is described in the fourth section. Section 4 introduces the most important components of R-CSM, consisting of the function Reallocate, the schedule representation, and a novel schedule measurement model. To verify the performance of the proposed algorithm, in Section 5 and Section 6, we arrange the experiments on the iMOPSE dataset and TNG’s dataset, respectively. In these two sections, the experimental results are analyzed to compare the performance of the proposed algorithm R-CSM with the best previous algorithms such as GreedyDO and GA. Finally, Section 7 ends the paper with the conclusion and future works.
2. Related Works
Despite the importance of the Real-RCPSP, no one to the best of our knowledge has studied this problem. This paper is the first work that mentions Real-RCPSP; thus this section introduces the existing algorithms to solve another problem that is close to the Real-RCPSP, namely, MS-RCPSP. In Section 5 and Section 6, these algorithms will be used as reference algorithms in our experiments.
Myszkowski et al. [6] proved that MS-RCPSP is an NP-hard problem, so it is difficult to deal with classical optimization methods. Until now, many different solutions have been introduced for solving the MS-RCPSP; among them, the most successful metaheuristics are the GA [13] and ACO [14].
In their research, Maghsoudlou et al. [15] and Bibiks et al. [16] applied the Cuckoo Search algorithm to build multirisk project implementation schedules based on three different evaluation objectives. Zhu et al. [17] proposed an evolutionary algorithm based on the multiverse and several other heuristic algorithms.
Myszkowski et al. [6] have built a hybrid algorithm that combined the Difference Evolution and greedy heuristic for managing human and machine resources in factory production projects. The proposed hybrid algorithm tried to minimize makespan and production costs. Besides, iMOPSE [6], a dataset that was generated based on real-world data from the project scheduling problem, was introduced.
As a specific case of the MS-RCPCP problem, Real-RCPSP is researched and applied in many fields of the Internet of Things. Hosseinian and Baradaran [18] proposed a greedy heuristic for maximizing the modularity to find high-quality communities of employees and to arrange them to the tasks based on the founded communities. Younis and Yang [11] introduced a hybrid scheduling algorithm for task arrangement in grid computing environment.
Some other researchers have also studied the new extension problems of the Constrained Project Scheduling Problem and applied them in many fields of science and finance. Polo-Mejia et al. [19] developed a scheduling algorithm to manage nuclear laboratory operations. To solve the problem of the dense sensors in wireless sensor networks, Wan et al. [20] proposed an energy-saving scheduling algorithm, which arranges some redundant sensors into the sleep mode to reduce the data transmission collision and energy dissipation. Guo et al. [21] developed a PSO-based algorithm that acquired better performance than previous approaches in power efficiency. Cheng et al. [22] have formulated another PSO-based algorithm named DPSO-CA, which is based on the discrete PSO that aims at minimizing the cochannel interference in the network.
Previous studies have also been performed to address other subissues of the Constrained Project Scheduling Problem. Barrios et al. [23] and Javanmard et al. [24] studied the Multiskill Stochastic and Preemptive Scheduling Problem to minimize the execution time and proposed the mathematical models for the project’s resource investment.
Cuckoo Search (CS) algorithm is a metaheuristic introduced by Yang [25] based on the cuckoo bird behavior. Previous algorithms such as Difference Evolution (DE) [26] and Particle Swarm Optimization (PSO) [21] have been proven to be special cases of the Cuckoo Search algorithm. The efficiency of CS has also been shown to be better than those of DE and PSO in some cases [27]. For the above reasons, in this paper, we have built an algorithm inspired by CS.
3. Problem Statement
The Real-RCPSP can be described as follows.
A project represented by a graph GV,E has to be realized. Each node of graph G represents a task, while G’s arc represents the relationship between 2 tasks (Figure 1). Specifically, the arci,j means that task i has to be finished by the time when task j is started. Each task has an execution time (or duration) that is calculated by subtracting the start time from the end time. The task must be performed continuously from start to finish and must not be stopped at all.
The relationship between tasks.
The execution of each task requires some specific resources. Each resource can perform only one task at a time. The task’s execution requires several skills, while each resource possesses its own skills; thus not every resource can perform a given task.
The objective of the Real-RCPSP is to shorten the project implementation time to the smallest value while not breaking any constraints. A schedule must be found in which execution will minimize execution time while still meeting the task and resource constraints. As mentioned above, the MS-RCPSP is proved to be NP-hard [5–7], and no polynomial-time algorithm exists, assuming that P≠NP.
Real-RCPSP could be stated by using the following notations:
Ci: the set of the parents of task i
ri: the set of skills required by task i. A certain resource must have an equal or higher skill level of rj to perform task j
S: the set of all skills; Si: the set of skills belonging to resource i;Si⊆S
tjk: the time it takes the resource that possesses subset of skill Sk to complete task j
L: the set of resources; Lk: the set of resources that could handle task k; Lk⊆L
Li: resource i
W: the set of tasks; Wk: the set of tasks that could be performed by resource k, Wk⊆W
Wi: task i
Bk, Ek: starting time and ending time of task k
Au,vi: a Boolean variable; when it equals 1 it means that task u will be executed by resource v at time I; it equals 0 in other cases
hi: the level of skill i; gi: type of skill i
rk: a resource must possess skill rk to perform task k
m: the period time of the schedule
P: a candidate schedule; Pall: the set of candidate schedules
fP: makespan (execution time) of schedule P
y: number of tasks; z: number of resources
Real-RCPSP could be defined as follows:(1)minimize fP,where(2)fP=maxi∈TEi−mink∈TBk,subject to(3)Sk≠ϕ∀k∈L,(4)Tj≥0∀j∈W,(5)Ej≥0∀j∈W,(6)Ei≤Ej−tj∀j∈W,j≠1,i∈Cj,(7)∀i∈Wk∃r∈Sk:gr=gri,hr≥hri,(8)∀k∈L,∀t∈m:∑i=1nAi,kt≤1,(9)∀j∈W∃!t∈m,!k∈L:Aj,kt=1,(10) If hi<hj then tjk>tik∀ri,rj∈Sk×Sv.
Note the following:
Formulation (6) forced the parent task to must be finished before the start time of the children task
Formulation (7) means that, for every task, there is always at least one resource that has enough skill level to handle that task
Formulation (8) ensures that each resource (k) can only perform at most one task (j) at any time (t)
Constraint (9) aims to restrict each task to only be executed at most one time. Every task must be performed continuously from start to finish and must not be stopped at all.
Constraint (10) means that the execution time of the higher-skill resources is smaller than the execution time of the lower-skill resources
4. Proposed Algorithm4.1. Schedule Representation
We represent a schedule as a row that consists of several elements, and the number of elements denotes the number of tasks. Each element of the row represents the resource that will perform the respective task.
4.1.1. Example 1
Suppose that we have 10 tasks W=1,2,3,4,5,6,7,8,9,10 and 3 resources L=1,2,3. Assume the following:
Sk=S,∀k∈L; every resource has an equal skill set
Lk=L,∀k∈W; any resource can perform any task
The execution times of the tasks are presented in Table 1
Execution times of the tasks.
Task
W1
W2
W3
W4
W5
W6
W7
W8
W9
W10
Execution time
3
2
3
4
3
4
3
6
2
6
We also assume that the constraint to prioritize the performance of the tasks is shown in Figure 1, specifically:
Task 1 has to be performed firstly
Task 6 has to be performed after task 2
Tasks 7 and 9 have to be performed after task 3
Task 5 has to be performed after task 4
Task 8 has to be performed after task 5
Task 10 has to be performed after tasks 6, 7, and 9
With the above assumptions and constraints, a possible schedule is shown in Figure 2. Table 2 shows how that schedule assigns 3 resources to perform 10 tasks in detail.
A possible schedule.
The assignment of a possible schedule.
Task
W1
W2
W3
W4
W5
W6
W7
W8
W9
W10
Resource
L2
L1
L2
L3
L2
L1
L3
L2
L3
L3
As described in Table 2, resource 1 executes task 2 and task 6; resource 2 handles tasks 1, 3, 5, and 8; resource 3 executes tasks 4, 7, 9, and 10.
4.2. Measurement Model
Cuckoo Search algorithm is an optimization scheme dealing with real functions such as the Gaussian probability distribution function, whereas Real-RCPSP is the optimization problem of discrete functions. Therefore, in order to apply the Cuckoo Search algorithm to the Real-RCPSP, it is necessary to build a model for schedules measuring. The following will present our proposed measurement model in detail:
V=v1,v2,…,vn is called “unit vector,” where vi=100/zi−1: zi is the number of resources that possess set of skills qi.
Vector K=k1,k2,…,kn is the distance between schedule P=p1,p2,…,pn and schedule Q=q1,q2,…,qn. This leads to K=P−Q.
Meanwhile, if schedule Q=q1,q2,…,qn is added with a difference K=k1,k2,…,kn, schedule P=p1,p2,…,pn is obtained, where we have the following:
pi=positionroundqi+ki and position (i) presents the respective resource
ki=vi×orderpi−orderqi
orderpi: the place ofpi in the Li
4.2.1. Example 2
Suppose that L1=L1,L3,L4,L9,L10. We have z1=5; v1=100/5−1=25.
Similarly, suppose that L1=L6,L7,L8,L10. We have z2=4; v2=100/4−1=33.33.
Table 3 depicts the order of resources.
The order of resources.
Order
0
1
2
3
4
Resource
L1
L3
L4
L9
L10
Resource
L6
L7
L8
L10
Schedule P=1,8 and schedule Q=4,7 are shown in Table 4.
The assignment of schedules P and Q.
Schedule
Task
1
2
P
L1
L8
Q
L4
L7
Consider the distance K=P−Q=k1,k2 where k1=v1×absorderp1−orderq1=25abs0−2=25.
k2=v2×absorderp2−orderq2=33.33×abs2−1=33.33.
This leads to K=50, 33.33.
Given KP=0,66.66, we have Z=P+K⟶KP+K⟶4,10 (Table 5).
Measurement value.
Task
1
2
P
L1
L8
KP
0
66.66
K
50
33.33
KP+K
50
99.99
Z=KP+K
L4
L10
4.3. Proposed Algorithm R-CSM
The proposed Algorithm 1 R-CSM is represented as follows.
Algorithm 1: R-CSM algorithm.
input: maxGeneration
iMOPSE datasets
output: makespan of project
Begin
t⟵0
Size ⟵ number of individuals (i.e. possible schedules)
pt ⟵ the first population
ft ⟵ the fitness, b_plan(bestnest), makespan
pa=0.25
While (t < max_gen)
n_plan ⟵ create new nest by Lévy Flight
r_plan ⟵ Select random nest from Pt
If (f(n_plan) < (r_plan))
r_plan = n_plan
End if
Pt ⟵ Remove pa worst nest and replace by new nests, new nests created by Lévy Flight
Ft ⟵ the fitness, b_plan, makespan
b_plan ⟵ Reallocate(b_plan)//schedule b_plan is improved by the//function Reallocate(), which is described in the next subsection in details.
t⟵t+1
End while
return makespan
End
f is objective function.
Note that, in line number 16, function Reallocate() improves the quality of b_plan, as analyzed in the next subsection.
4.4. Function Reallocate
c_plan is the most appropriate feasible schedule until now. Lb is the last resource to finish. Function Late() will find out the value of Rb.Size() is the size of a set or an array.N_makespan is execution time of the new resource-task arrangement
Line 12 and line 13 show that the new schedule (n_plan) is always equal to or better than the old schedule (c_plan) in terms of the makespan.
The function Reallocate() (Figure 3) generates the new schedule from the best schedule, so it inherits and promotes the advantages of the current population (Algorithm 2).
Function Reallocate.
Algorithm 2: Function Reallocate.
Input: b_plan//the best feasible schedule that the algorithm has found until now
Output://the feasible schedule which is better than the input
Begin
makespan = f(b_plan)
n_plan = b_plan;//the best resource-task assignment plan so far
Lb ← Late(n_plan)//the resource finish its execution latest
Wb←set of tasks is performed by resource Lb
For i = 1 to sizeWb//examine the set of tasks performed by resource Lb
Wi=Wbi;
Li←L−LbLi←L − Lb//set of resource can perform the task i except Lb
For j = 1 to sizeLi
Wj=Wj+Wi//task i will perform the resource Lj
Wb=Wb+Wi//task i is eliminated from Lb
n_makespan = f(n_plan)
If n_makespan < makespan
Makespan = n_makespan
Return b_best;
End if
b_plan = n_plan;
End for
End for
Return n_plan
End Function
4.4.1. Example 3
Suppose that W=1,2,3,4,5,6,7,8,9,10; L=1,2,3.
We also assume that resource 1 can handle tasks 1, 2, 3, 4, 6, 8, 9, and 10; resource 2 can execute tasks 1, 3, 7, and 9; resource 3 can perform tasks 1, 4, 5, 8, 9, and 10.
The constraint regarding the task order is illustrated in Figure 1, and the task’s execution time is shown in Table 1.
Table 6 depicts the schedule P; its makespan is equal to 18 as shown in Figure 4 in detail.
Resource-task assignment of P.
Task
W1
W2
W3
W4
W5
W6
W7
W8
W9
W10
Resource
L1
L1
L2
L3
L3
L1
L2
L1
L3
L3
The schedule changes as a result of the function Reallocate.
The function Reallocate uses schedule P as the input and arranges task 9 to resource 1 (see Table 7) instead of resource 3 as before.
Resource-task assignment of new P.
Task
W1
W2
W3
W4
W5
W6
W7
W8
W9
W10
Resource
L1
L1
L2
L3
L3
L1
L2
L1
L1
L3
The results point out that function Reallocate decreases the makespan from 18 to 17, as described in Figure 4.
5. Simulation with iMOPSE Dataset5.1. Simulation Settings
To verify the performance of the R-CSM, the simulations are conducted by using iMOPSE dataset [6], which has been used by previous studies to examine algorithms such as GreedyDO and GA [28]. iMOPSE’s instances have the following fields:
Number of tasks and resources
The constraint regarding the task order
Set of resource’s skills
This paper arranges the simulations on iMOPSE’s instances listed in Table 8. All of our simulations were run on a machine with Intel® Core i7 CPU at 2.2 GHz, 6 GB RAM, running Windows 10. Our R-CSM algorithm was programmed in Matlab. Simulation results are described in Table 9.
d36 iMOPSE dataset.
Dataset instance
Tasks
Resources
Precedence relations
Skills
100_5_22_15
100
5
22
15
100_5_46_15
100
5
46
15
100_5_48_9
100
5
48
9
100_5_64_15
100
5
64
15
100_5_64_9
100
5
64
9
100_10_26_15
100
10
26
15
100_10_47_9
100
10
47
9
100_10_48_15
100
10
48
15
100_10_64_9
100
10
64
9
100_10_65_15
100
10
65
15
100_20_22_15
100
20
22
15
100_20_46_15
100
20
46
15
100_20_47_9
100
20
47
9
100_20_65_15
100
20
65
15
100_20_65_9
100
20
65
9
200_10_128_15
200
10
128
15
200_10_50_15
200
10
50
15
200_10_50_9
200
10
50
9
200_10_84_9
200
10
84
9
200_10_85_15
200
10
85
15
200_20_145_15
200
20
145
15
200_20_54_15
200
20
54
15
200_20_55_9
200
20
55
9
200_20_97_15
200
20
97
15
200_20_97_9
200
20
97
9
200_40_133_15
200
40
133
15
200_40_45_15
200
40
45
15
200_40_45_9
200
40
45
9
200_40_90_9
200
40
90
9
200_40_91_15
200
40
91
15
Makespan of algorithms (in hour).
Dataset instance
GreedyDO
GA
R-CSM
Avg
Best
Std
Avg
Best
Std
100_5_22_15
630
524
517
5
485
484
1.41
100_5_46_15
693
587
584
5
541
538
2.55
100_5_48_9
779
535
528
10
493
490
2.16
100_5_64_15
640
530
527
2
496
490
4.55
100_5_64_9
597
521
508
10
479
474
3.68
100_10_26_15
370
294
292
2
238
237
0.94
100_10_47_9
549
299
296
3
256
253
2.36
100_10_48_15
344
282
279
3
245
242
2.25
100_10_64_9
533
305
296
7
249
243
5.32
100_10_65_15
426
290
286
5
247
245
1.25
100_20_22_15
353
169
163
6
127
124
3.4
100_20_46_15
394
207
197
7
167
164
2.85
100_20_47_9
390
186
185
0
146
143
1.89
100_20_65_15
310
243
240
2
213
210
2.05
100_20_65_9
408
187
181
5
133
128
4.5
200_10_128_15
780
583
577
5
471
468
2.94
200_10_50_15
763
577
553
17
489
485
3.3
200_10_50_9
817
589
585
5
484
484
0.47
200_10_84_9
999
583
567
11
509
505
3.91
200_10_85_15
706
555
549
5
476
474
1.32
200_20_145_15
480
328
326
2
244
240
3.48
200_20_54_15
488
385
363
21
261
257
3.19
200_20_55_9
999
318
312
4
251
248
2.87
200_20_97_15
680
438
424
10
335
334
1.89
200_20_97_9
816
326
321
6
249
244
3.42
200_40_133_15
512
222
215
6
154
148
4.19
200_40_45_15
616
210
201
6
165
161
3.68
200_40_45_9
821
213
209
3
159
152
8.06
200_40_90_9
963
215
211
3
152
148
3.72
200_40_91_15
519
205
200
3
141
135
4.92
Each simulation was set up with parameters as follows:
Dataset: 30 iMOPSE’s instances that are described above
Number of individuals in population Np=100
The program execution process consists of 50,000 generations Ng=50,000
Each instance was repeatedly executed 30 times
5.2. Simulation Results
To show the efficiency of the proposed algorithm, we compare R-CSM with two existing algorithms, which are GreedyDO and GA [28]. Myszkowski did not provide the tool for GreedyDO; thus Table 9 just lists the best value of the algorithm GreedyDO that was published in the author’s literature. Meanwhile algorithm GA is reprogrammed using the GARunner, the tool provided by the authors in [6, 28]; thus Table 9 lists the average value, the best value, and the standard deviation value of the algorithm GA’s makespan.
Table 9 and Figure 5 demonstrated that the makespan of the R-CSM’s schedules is smaller than the makespan of GreedyDO and GA. The comparison between algorithms is discussed as follows in detail:
Compared with the original CS, the R-CSM algorithm is equipped with function Reallocate, which makes R-CSM capable of fast convergence. This ability is clearly demonstrated by the comparison of R-CSM with the previous most powerful algorithms. R-CSM’s best value is smaller than GreedyDO from 21% to 85% and faster than GA from 6% to 33%. The average value of the R-CSM’s makespan is better than the GA from 6% to 33%.
Thanks to the function Reallocate and the proposed measurement model, the process of finding the optimal schedule of the R-CSM is not only fast but also stable. This is demonstrated by the experimental results in Table 9. The total value of R-CSM’s standard deviation is 92.52 only, whereas the total value of GA’s standard deviation is equal to 180. This result shows that the R-CSM algorithm is more stable than the GA algorithm.
The comparison of performance between R-CSM and GA.
6. Experiment with TNG Dataset6.1. Experimental Setting
In general, the major disadvantage of verifying on simulation datasets, such as iMOPSE, is that sometimes the results do not match what is actually happening. In order to make the experiment more convincing, we have collected and used the dataset of Investment and Trading Joint Stock Company (TNG) [29]. At TNG textile factory, the dataset construction is carried out as follows:
The company TNG contracts with business partners, whereby each order corresponds to a product sample with a large quantity
A given order will be performed by a subset of employees
A product consists of several components, and each component takes an execution time
The skills of each worker are evaluated based on that worker’s rank
Conducting experiments on a simulation dataset is always convenient because the parameters of the dataset are set by the experimenter; therefore these parameters are completely consistent with the problem formulation.
In contrast, the parameters of a real dataset are factory-defined, so they are not compatible with the conventions in the problem formulation. For this reason, before conducting experiments with TNG’s dataset, the parameters of this dataset need to be converted to a format that matches the Real-RCPSP formulation.
This conversion is conducted as follows:
Order is demonstrated by the project
Product’s stage is depicted by a task
An employee is depicted by a resource
Employee’s grade is depicted by the resource’s skill level
The manufacture sequence is denoted by the task’s relationship
The execution time of the order is demonstrated by the makespan
The TNG dataset is described in Table 10.
TNG dataset.
Dataset instance
Name
Tasks
Resources
Precedence relations
Skill levels
Project time
71_37_1026_1
TNG1
71
37
1026
6
409
71_39_1026_1
TNG2
71
39
1026
6
325
71_41_1026_1
TNG3
71
41
1026
6
296
71_45_1026_1
TNG4
71
45
1026
6
392
137_37_1894_1
TNG5
137
37
1894
6
1174
137_39_1894_1
TNG6
137
39
1894
6
1052
137_41_1894_1
TNG7
137
41
1894
6
871
137_45_1894_1
TNG8
137
45
1894
6
996
Experiment setting is as follows:
Dataset: 8 TNG’s instances that are listed in Table 10
Number of individuals in population Np=100
The program execution process consists of 50,000 generations Ng=50,000
Each instance was repeatedly executed 35 times
6.2. Experimental Results
The experiments in this section were conducted on the TNG dataset to prove that the proposed algorithm is more efficient than existing algorithms not only when they are operating on the simulated dataset such as iMOPSE but also when operating on the actual dataset.
Experimental results (listed in Table 11) demonstrated that the proposed algorithm R-CSM is not only more efficient than previous algorithms such as GreedyDO and GA but also more efficient than the actual production plan at the TNG factory, which is presented in column TNG.
Makespan of GreedyDO, GA, and R-CSM (in hour).
Dataset instance
TNG
GreedyDO
GA
R-CSM
TNG1
409
236
201
166
TNG2
325
243
198
165
TNG3
296
258
212
168
TNG4
392
248
176
175
TNG5
1174
972
751
710
TNG6
1052
963
791
715
TNG7
871
834
810
727
TNG8
996
906
720
677
As depicted in Table 11, compared to the execution time of the actual production plan at the factory TNG,the GA and GreedyDO algorithms reduce the makespan by 7%–55% and 4%–42%, respectively, while R-CSM has the best results of 17%–59%.
As the best current evolutionary algorithms, GreedyDO and GA are both better than the actual production plan at the factory TNG. However, neither of these algorithms is as good as the proposed algorithm R-CSM. In experiments on the TNG datasets, R-CSM lessens the makespan from 17% to 59% compared to the current factory schedule. To sum up, the proposed algorithm R-CSM has been proven to be overall more effective compared to existing approaches such as GreedyDO, GA, and the current factory schedule.
Applying the R-CSM algorithm on the data from table Table 11 to solve the Real-RCPSP, we get the results shown in Table 12.
Experimental results with Real-RCPSP.
Dataset instance
TNG (A)
MS-RCPSP (1)
Real-RCPSP (2)
(2) vs. (1)
Best
vs. (A) (%)
Best
vs. (A) (%)
Hours
%
TNG1
409
166
59
131
68
35
21.1
TNG2
325
165
49
133
59
32
19.4
TNG3
296
168
43
132
55
36
21.4
TNG4
392
175
55
127
68
48
27.4
TNG5
1174
710
40
572
51
138
19.4
TNG6
1052
715
32
626
40
89
12.4
TNG7
871
727
17
569
35
158
21.7
TNG8
996
677
32
560
44
117
17.3
Experimental results in Table 12 show that, thanks to the application of the R-CSM algorithm to the actual problem with data on the textile production of TNG, the production time is reduced from 12.4% to 27%. These results also show that the greater the difference between the skill levels of workers, the more efficient the R-CSM algorithm.
Figure 6 shows the effectiveness of algorithm R-CSM when it is applied to solve the MS-RCPSP and the Real-RCPSP on the textile dataset of TNG textile company.
R-CSM to solve MS-RCPSP and Real-RCPSP.
7. Conclusion
This article aims to announce and survey Real-RCPSP, a new combinatorial optimization problem that appears in many fields such as Edge Computing, industrial production, and IoT systems. The new problem is stated, and then a new algorithm named R-CSM is proposed. Inspired by the Cuckoo Search strategy, the proposed algorithm has been upgraded by using function Reallocate; thus it achieved high performance.
The experimental results show that the proposed algorithm R-CSM is better than the previous algorithms such as GreedyDO and GA at 21%–85% and 6%–33%, respectively. At the same time, the proposed algorithm converged to the optimal solution faster than previous approaches.
In the near future, we are going to continue researching on Real-RCPSP in order to improve the solution quality and the speed of the convergence. Multifactorial optimization seems to be one of the promising approaches to this problem.
Data Availability
The paper uses the standard iMOPSE dataset to test the efficiency of the algorithm. This dataset is publicly available at http://imopse.ii.pwr.wroc.pl/and is free of charge. In addition, the authors also tested the algorithm with TNG’s garment manufacturing dataset. They have obtained permission from TNG to use these data.
Conflicts of Interest
The authors declare that they have no conflicts of interest.
Acknowledgments
The authors greatly acknowledge TNG Corporation (434/1 Bac Kan, Thai Nguyen, Vietnam) [29] for their cooperation and for allowing them to use their dataset regarding the production line.
ChengH.SuZ.XiongN.XiaoY.Energy-efficient node scheduling algorithms for wireless sensor networks using markov random field model2016329246147710.1016/j.ins.2015.09.0392-s2.0-84949667967LinC.XiongN.ParkJ. H.KimT.-h.Dynamic power management in new architecture of wireless sensor networks200922667169310.1002/dac.9892-s2.0-67049100022LinC.HeY. X.XiongN.An energy-efficient dynamic power management in wireless sensor networksProceedings of Fifth International Symposium on Parallel and Distributed ComputingJuly 2006Timisoara, RomaniaIEEE10.1109/ISPDC.2006.82-s2.0-34547540977ZhouY.ZhangD.XiongN.Post-cloud computing paradigms: a survey and comparison201722671473210.23919/tst.2017.81953532-s2.0-85039172777KleinR.2000NewYork, NY, USASpringer Science Business MediaMyszkowskiPawełB.MarekE.SkowrońskiKrzysztofS.A new benchmark dataset for multi-skill resource-constrained project scheduling problemProceedings of 2015 Federated Conference on Computer Science and Information Systems (FedCSIS)September 2015Lodz, PolandIEEEB1azewiczJ.LenstraJ. K.Rinnooy KanA. H. G.Scheduling subject to resource constraints: classification and complexity198351124LiH.WomerK.A decomposition approach for shipboard manpower scheduling200914312410.5711/morj.14.3HosseinianA. H.BaradaranV.An evolutionary algorithm based on a hybrid multi-attribute decision making method for the multi-mode multi-skilled resource-constrained project scheduling problem2019122155178NajafzadH.Davari-ArdakaniH.Nemati-LafmejaniR.Multi-skill project scheduling problem under time-of-use electricity tariffs and shift differential payments201916861963610.1016/j.energy.2018.11.0702-s2.0-85059336870YounisM. T.YangS.Hybrid meta-heuristic algorithms for independent job scheduling in grid computing20187249851710.1016/j.asoc.2018.05.0322-s2.0-85049097532YangX. S.DebS.Cuckoo search via Lévy flightsProceedings of World Congress on Nature & Biologically Inspired Computing (NaBIC 2009)December 2009Coimbatore, IndiaIEEE Publications210214WuW.SimpsonA. R.MaierH. R.Accounting for greenhouse gas emissions in multiobjective genetic algorithm optimization of water distribution systems2010136214615510.1061/(asce)wr.1943-5452.00000202-s2.0-77949303577DengW.XuJ.ZhaoH.An improved ant colony optimization algorithm based on hybrid strategies for scheduling problem20197202812029210.1109/access.2019.28975802-s2.0-85061654696MaghsoudlouH.Afshar-NadjafiB.Akhavan NiakiS. T.Multi-skilled project scheduling with level-dependent rework risk; three multi-objective mechanisms based on cuckoo search201754466110.1016/j.asoc.2017.01.0242-s2.0-85010878019BibiksK.HuY.-F.LiJ.-P.PillaiP.SmithA.Improved discrete cuckoo search for the resource-constrained project scheduling problem20186949350310.1016/j.asoc.2018.04.0472-s2.0-85046744221ZhuL.LinJ.WangZ.-J.A discrete oppositional multi-verse optimization algorithm for multi-skill resource constrained project scheduling problem20198510580510.1016/j.asoc.2019.1058052-s2.0-85073172347HosseinianA. H.BaradaranV.Detecting communities of workforces for the multi-skill resource-constrained project scheduling problem: a dandelion solution approach2019127299Polo-MejíaO.ArtiguesC.LopezP.BasiniV.Mixed-integer/linear and constraint programming approaches for activity scheduling in a nuclear research facility201911810.1080/00207543.2019.1693654WanR.XiongN.LocN. T.An energy-efficient sleep scheduling mechanism with similarity measure for wireless sensor networks2018818GuoW.XiongN.VasilakosA. V.ChenG.YuC.Distributed k-connected fault-tolerant topology control algorithms with PSO in future autonomic sensor systems2012121536210.1504/ijsnet.2012.0477202-s2.0-84863644103ChengH.XiongN.VasilakosA. V.Tianruo YangL.ChenG.ZhuangX.Nodes organization for channel assignment with topology preservation in multi-radio wireless mesh networks201210576077310.1016/j.adhoc.2011.02.0042-s2.0-84858155782BarriosA.BallestínF.VallsV.A double genetic algorithm for the MRCPSP/max2011381334310.1016/j.cor.2009.09.0192-s2.0-78049427982JavanmardS.Afshar-NadjafiB.Akhavan NiakiS. T.Preemptive multi-skilled resource investment project scheduling problem: mathematical modelling and solution approaches201796556810.1016/j.compchemeng.2016.11.0012-s2.0-84996540007YangX. S.20141stLondon, UKElsevierSolihinM. I.ZanilM. F.Performance comparison of Cuckoo search and differential evolution algorithm for constrained optimization20161601710.1088/1757-899x/160/1/0121082-s2.0-85012297973AdnanM. A.RazzaqueM. A.A comparative study of particle swarm optimization and cuckoo search techniques through problem-specific distance functionProceedings of International Conference on Information and Communication Technology (ICoICT)March 2013Bandung, IndonesiaMyszkowskiP. B.OlechŁ. P.LaszczykM.SkowrońskiM. E.Hybrid differential evolution and greedy algorithm (DEGR) for solving multi-skill resource-constrained project scheduling problem20186211410.1016/j.asoc.2017.10.0142-s2.0-85032299359TNG Investment and trading joint stock companyhttp://www.tng.vn