Project Scheduling Heuristics-Based Standard PSO for Task-Resource Assignment in Heterogeneous Grid

,


Introduction
Grid computing has been widely applied many applications, such as drug discovery, economic forecasting, seismic analysis, and back-office data processing in support of ecommerce and web services.A grid is a collaborative environment in which one or more tasks can be submitted without knowing where the resources are or even who owns the resources 1 .Meanwhile, a grid environment also provides a computing service infrastructure in the cloud.There are often plenty of tasks needing to be dealt with since an application in grid are usually decomposed into many tasks; it is necessary to efficiently assign and allocate particle swarm optimization PSO was first proposed by Kennedy and Eberhart 16 .In PSO, a swarm of particles spread in the search space and the position of a particle presents a solution.Each particle would move to a new position decided with the individual experience and the global experience heading toward the global optimum.However, many variations of PSO have been studied, and one of them was named "standard" PSO, proposed by Clerc and Kennedy 35 indicating how PSO can be significantly improved.Hence, this investigation aims at enhancing the "standard" PSO for solving the interesting task scheduling in grid.Each particle represents a possible task schedule corresponding to a task-resource assignment graph T-RAG and regards the longest path of the task-resource assignment graph as fitness value.Hence, this investigated task scheduling problem became an optimal task-resource assignment graph selection problem.
To increase the efficiency of "standard" PSO, heuristics can be used as an aid for problem solving.Thus, this study enhances "standard" PSO by introducing additional heuristics to solve the task scheduling problem for minimizing task completion time.Nevertheless, a heuristic is usually problem specific, hence different heuristics were surveyed and evaluated.Least total resource usage LTRU and shortest feasible mode SFM heuristics are frequently applied for determining operating mode for multimode project scheduling problems.Greatest rank positional weight GRPW , latest finish time LFT , latest start time LST , minimum slack MSLK , and most total successors MTS heuristics are commonly used for deciding tasks' priority in project scheduling problems.Two intuitional heuristics were then proposed for speeding up the PSO's search when solving investigated task scheduling problems.They are the best performance resource BPR heuristic and the latest finish time LFT heuristic based on multimode project scheduling problems; they are herein called project scheduling heuristics.
Moreover, the performance of the proposed PSO scheme with different swarm communication topology is also evaluated.Restated, global communication and local communication topologies for obtaining the global experience are analyzed and compared.Finally, the experiment results indicate that the scheme proposed in this work is effective for solving similar class task scheduling problems.
This article is organized as follows.Section 2 introduces the task scheduling problem.The traditional PSO is described in Section 3. Section 4 illustrates application of the PSO to the task scheduling problem, and introduces the additional heuristics proposed in this study.The simulations are presented in Section 5. Finally, Section 6 presents the conclusions.

The Task Scheduling Problem
Most grid applications usually involve partially ordered tasks and heterogeneous resources distributed in grid.Hence, the studied new task scheduling problem addresses precedence considerations and resource heterogeneity in grid environment.A simple example is given to illustrate the complexity and difficulty of the investigated scheduling problem; suppose a grid application is decomposed into 5 partially ordered tasks with different workloads as shown in Figure 1-two heterogeneous resources with different abilities in the grid environment.Therefore, tasks assigned to different resources would require different processing times to run.Additionally, involvement of communication costs such as data transfer for partially ordered tasks is considered.Meanwhile, assume that resource M2 has better performance than resource M1, but resource M1 has higher bandwidth than resource M2.Thus, communication time depends on the communication cost and the minimum  bandwidth between resources is computed if partially ordered tasks are not assigned to the same resources for processing.Execution time and communication time required for this example are assumed as shown in Tables 1 and 2. Many task scheduling result cases exist for this simple problem.For instance, consider the following cases.
Case 2.1.Tasks 1 and 3 are assigned to resource M1, and tasks 2, 4, and 5 are distributed to M2.Meanwhile, the processing order of tasks for resource M1 is 1 → 3; the processing order of tasks for resource M2 is 2 → 5 → 4.There are three process paths to complete application, and therefore three corresponding time costs see Table 3 .
It requires 62. 22 22.22 40 to process tasks on path 1 since task 1 and task 3 are on the same resource without data transfer.Nevertheless, task 4 on path 2 has to wait until both path 3 finished 22.5 5 and task 1 finished including data transfer 22.22 5.5 .Hence, the completion time of path 2 is 67.72 27.72 40 .Accordingly, the completion time of application is the maximum time cost 67.72 corresponding to the largest cost path.Additional scheduling result cases are also given as follows.Case 2.3.With different task-resource assignment and processing order of tasks for resources as Case 2.1.Assume that tasks 2 and 3 are assigned to resource M1, and tasks 1, 4 and, 5 are allocated to resource M2.Meanwhile, the processing order of tasks for resource M1 is 2 → 3; the processing order of tasks for resource M2 is 1 → 4 → 5.Then, the completion time of application is 90 which can be determined see Table 5 .
Case 2.4.With the same task-resource assignment and processing order of tasks for resource M1 as Case 2.4.And, the processing order of tasks for resource M2 is 1 → 5 → 4.Then, the completion time of application is 99 which can be determined see Table 6 .
However, there are still many other scheduling result cases of this simple example.Hence, the studied task scheduling problem in grid is indeed complicated.To obtain the best schedule with minimal completion time of application, the task-resource assignment and the processing order priority determination of tasks have to be decided accurately.

The Representation of the Task Scheduling Problem
In this interesting scheduling problem 2 , there are K 2 tasks S {S 0 , S 1 , . . ., S K , S K 1 }, and N heterogeneous resources M {M 1 , M 2 , . . ., M N−1 , M N }, where S 0 and S K 1 are pseudotasks for scheduling indicating the start and finish states.The workload of task S u is w S u , and the computing ability of resource M i is a M i , once the S u is assigned to M i , then the S u 's execution time E u w S u /a M i can then be obtained.Hence, this work focuses on how to assign these K tasks ignoring the pseudotasks to N resources for gaining the shortest completion time of scheduling i.e., S K 's finish time .
Herein, with the precedence between tasks addressed, the task scheduling problem is expressed as a directed acyclic graph DAG as in Figure 2.An arrow from S u to S v indicates that S u is the immediate predecessor of S v , and the connection weight is the communication cost c uv for S u transferring data to S v , where pseudotasks are without data transfer.If the S u , and S v are assigned to different resources M i and M j , respectively, the bandwidth between M i and M j is bw M i , M j , M i , M j ∈ M, then the communication time T uv c uv / bw M i , M j can be determined.Restated, the S v can't start until the S u has finished with execution time E u and communication time T uv .
In 19 , the bw M i , M j is derived from a predefined table as the N × N matrix BW as follows: where bw M i , M j ∞ when i j, that is, the communication time T uv 0 once the S u , S v are assigned to the same resource.
In a real situation, the bandwidth between two resources is limited by the resource which has lower bandwidth.Therefore, the approach for deriving the bw M i , M j is modified instead of using the matrix BW , in this study.Restated, resource M i has its own bandwidth bwl M i , then the bandwidth between two resources M i and M j can be treated as bw M i , M j min bwl M i , bwl M j .For example, bwl M w(S 2 )/a(M 1 ) The objective of the task-resource assignment in heterogeneous grid is to minimize tasks' completion time of application.The task-resource assignment in heterogeneous grid can be expressed by the task-resource assignment graph T-RAG as displayed in Figure 3. Restated, a task-resource assignment graph corresponds to a solution of the studied scheduling problem. Figure 3 is an example of a task scheduling problem including 6 tasks and 3 heterogeneous resources.After assigning the resources to tasks, the tasks' execution and communication times are settled.Hence, the scheduling completion time of tasks can be calculated after the T-RAG is determined.
In the T-RAG, G, a set of nodes and edges, consists of paths from S 0 to S K 1 .For example, there are 3 paths in Figure 2, where S 0 and S 5 are pseudotasks for scheduling indicating the start and finish states in the graph.
For path p, V p and E p are the sets of nodes and edges on path p. Once the node u ∈ V p is correlated to S u , the node cost of node u is cost u E u .And when the edge e ∈ E p , which is correlated to S u and S v , the edge cost is cost e T uv .Hence, the path cost of path p can be calculated by cost p u∈V p cost u e∈E p cost e .

2.2
The path with the largest cost in the T-RAG G corresponds to a feasible scheduling completion time, that is, a solution of the task scheduling problem is associated with a fitness f as However, the fitness f is set to a very big value if the schedule is an infeasible solution such as in a deadlock .The primary objective of this study is to minimize the fitness f, min f .Therefore, the objective of studied scheduling problem is summarized as indicated in where, 2.4

Task Queue
The feasible task-resource assignment in heterogeneous grid is subject to precedence constraint.In the example in Figure 3, the S 1 and S 2 are assigned to use resource M 1 at the same time, and hence the sequence for the S 1 and S 2 must be indicated.Therefore, the task queue Q i {p 1 , p 2 , . . ., p n i } for M i resource i is designated, where the p 1 is the first executed task on M i , and the number of tasks to be executed on M i is n i .For example, if Q 1 {S 2 , S 1 }, then S 2 must be executed prior to S 1 .However, a new precedence for the resource can be constructed as shown by the dashed arrow in Figure 4 and the calculation of cost in 2.2 should include the new precedence edge .Meanwhile, fitness calculation is based on the new T-RAG constructed according to the new precedence.
After constructing the new precedence, if the corresponding T-RAG does not satisfy the ordering relationship among tasks, it is called illegal T-RAG, that is, an infeasible solution.For example, S 1 , S 2 , and S 4 tasks are assigned to resource M 2 , and Q 2 {S 2 , S 4 , S 1 }.The corresponding T-RAG as displayed in Figure 5 is an illegal T-RAG; hence an infeasible solution is produced since S 4 is executed prior to S 1 , violating the ordering relationship between S 1 and S 4 tasks indicated in Figure 2. Restated, the illegal T-RAG may occur for an improper task queue.However, this situation could be detected via depth of tasks in DAG, that is, the task with less depth has higher priority than the task with more depth in DAG.In Figure 5, the depth of each task is shown see Table 7 .Hence S 1 should be executed on M 3 prior to S 4 .

Particle Swarm Optimization
The particle swarm optimization PSO was first proposed by Kennedy and Eberhart 1995 16 .It is a multiagent general metaheuristic, and can be applied extensively to solve many complex problems.The PSO consists of a swarm of particles in the search space; the position of a particle is indicated by a vector which represents a solution.PSO is initialized with a population of random positioned particles and searches for the best position with best fitness.
In each generation or iteration, every particle moves to a new position and the new position is guided by the velocity which is vector , then the corresponding fitness of the particles would be calculated.Therefore, the velocity plays an important role in searching for a solution with better fitness.There are two experience positions used in the PSO for updating the velocity; one is the global experience position of all particles, which remembers the global best solution obtained by all particles; the other is each particle's individual experience, which recalls the best position that particle has been in.These two experience positions are used to determine the velocity.
Let an N dimensional space the number of dimensions is typically concerned with the definition of the problem have M particles.For the ith particle i 1, . . ., M , its position consists of N components X i {X i1 , . . ., X iN }, where X ij is the jth component of the position, the velocity of particle i is V i {V i1 , . . ., V iN }, and the particle's individual best experience is L i {L i1 , . . ., L iN }.Additionally, G {G 1 , . . ., G N } represents the global best experience shared among all the particles.The particle's individual best experience L i and the global best experience of the swarm G are recorded and are updated in every step.When updating, the jth component of the position and velocity of the ith particle are according to 2.4 shown in where w is an inertial weight used to determine the influence of the previous velocity to the new velocity.The c 1 and c 2 are learning factors used to derive how the ith particle approaching the position closes in on the individual experience position or global experience position, respectively.Furthermore, r 1 and r 2 are the random numbers uniformly distributed in 0, 1 , influencing the tradeoff between the global and local exploration abilities during search.In every step, a fitness fitness i of new particle i position X new i obtained via 3.1 is computed and compared with the fitness fitness L i of the recorded individual best experience L i .The recorded individual best experience L i is replaced by

Encoding Task-Resource Assignment and Task Priority
In PSO, the position of a particle is indicated by a vector which represents the solution.How to map the position vector to the solution is significant for the PSO process.Since the task scheduling problem can be solved by task-resource assignment, a scheme for encoding taskresource assignment into the position vector is necessary.
In this study, an easy discrete transfer scheme is applied for transferring the position vector to the task-resource assignment.For the position vector X A with K components K tasks , the values of X A are bounded in 0, 1 , and the ith component of X A , which can be transferred to the resource m assigned to the S i by the discrete transfer scheme as listed in 3.1 where N is the number of resources, if N 2 and X A 4 0.7, the resource assigned to the S 4 would be resource M 2 .Suppose that the generated task-resource assignment vector, A, based on 3.1 is as follows Table 8 .
Moreover, when the same resource is assigned to more than one task, the task priority needs to be decided for the task queue.Hence, the task priority vector Pr {p 1 , p 2 , . . ., p K } is used, where p 1 is the task with highest priority.For example, if Pr {S 5 , S 1 , S 3 , S 2 , S 4 }, Since the task priority vector Pr is required, the position vector X R with K components is used for mapping.It's important to note that Pr is a permutation without repeating values; the discrete transfer scheme is not applicable.Instead, the random key scheme is suitable for permutation type solutions.Assume there are 5 keys corresponding to 5 task numbers, and the position vector X R with 5 components is given as follows Table 9 .
After sorting X R by increasing order, the keys also rearranged as follows Table 10 .
Hence, two position vectors X A and X R for PSO are required to represent the taskresource assignment and task priority, and they can be combined to one position vector X X A ∪ X R ; for convenience, X {X A 1 , . . ., X A K , X R 1 , . . ., X R K } has 2K components.

Heuristics for Task Scheduling Problem
A heuristic is an experience-based strategy or technique that can be used as an aid in problem solving.Generally, heuristics use accessible information to control problem-solving processes.For PSO, a randomly assigned initial particle position may lead the algorithm to be inefficient.Therefore, for solving the problem efficiently, the corresponding heuristics are often studied and integrated into metaheuristics in most research.In this study, there are two intuitional heuristics proposed for speeding up the PSO's search when solving a task scheduling problem.They are the best performance resource BPR heuristic and the latest finish time LFT heuristic, which are used for PSO to initialize the position vectors X A and X R , respectively.These two heuristics are based on a multimode project scheduling problem, with the multimode project scheduling problem is similar to the task-resource assignment problem in this study.In 36 , the definitions of a multimode project scheduling problem include the precedence between tasks in which, the task is called activity , and each task needs to be assigned a "mode" for determining the task's resource type and requirements, hence the task's duration would be a variable depending on the resource type.Restated, a multimode project scheduling problem is regarded as a "task-mode" assignment problem rather than a "task-resource" assignment problem.Without the communication cost consideration, the studied task scheduling problem and multimode project scheduling problem are similarly defined.Both are constrained by precedence, and execution time of task or activity based on the assigned resource or mode .Some heuristics are proposed for multimode project scheduling problems.They are usually classified into two types of rules: the mode priority rule for choosing mode and activity priority rule for deciding priority among activities.Two heuristics were chosen after various heuristics had been reviewed.
The shortest feasible mode SFM heuristic 37 in a multimode project scheduling problem is the basis of the proposed best performance resource BPR heuristic for taskresource assignment in this study.The rationale behind the SFM heuristic is clear; the shortest feasible mode is selected to minimize the project duration.Restated, the SFM guides tasks to choose the mode with shortest activity duration.Similarly, the logic of the BPR heuristic is apparent with the best performance resource assigned to shorten completion time.Therefore, the BPR heuristic is proposed to assign the best performance resource to all of the tasks during assignment, and then shorten the execution time of tasks reasonably, that is, assigning the resource with maximum ability among resources to S u ∈ S and then decide the min In MRCPSP, the latest finish time LFT heuristic 38 is often used for deciding the priority of tasks.Meanwhile, the LFT heuristic is applied in this work to give higher priority to the tasks with smaller latest finish times LFTs, where the LFT is similar to that in the program evaluation and review technique PERT .Moreover, the LFT is calculated by the upper bound of scheduling completion time: In 4.2 , T i is determined by the critical path.Then perform a traditional backward recursion using shortest execution time min E u for all tasks.

The Version of Used Particle Swarm Optimization
Many variations of PSO have been proposed, and one of them is the "standard" PSO proposed by Bratton and Kennedy 39 implying that PSO can be significantly improved.
In the standard PSO, a different version of velocity update rule is suggested as follows: where the χ is constriction factor for adjusting the velocity, and this velocity update rule is suggested for its stability 35 .Hence, this velocity update rule is applied in this study.In 39 , the standard PSO presented two swarm communication topologies for PSO; the "gbest" topology in Figure 6 a has been studied in most research.The gbest is the global best model where every particle is able to share information with each other quickly, and it is outstanding because of its global communication ability.However, the gbest's global communication ability usually leads to premature convergence.Hence, the "lbest" topology, Bratton et al. note that the gbest usually results in better performance on simple unimodal problems than using lbest, since the situation about falling into local optima does not happen frequently under a unimodal condition.However, the lbest surpasses the gbest in a number of function evaluations, especially in multimodal problems.
For clearly understanding the performance of both topologies for our task scheduling focus, both topologies were tested in Section 5.The global best experience G in 4.2 is obtained on the basis of either global communication topology or local communication topology.In this paper, the lbest topology is based on the ring topology, it is a "small-world network" 40 as indicated in Figure 6 b .In other words, the global experience G based on local communication topology lbest is determined by X i 1 , X i , and X i−1 particle positions.On the other hand, the global experience G is determined by all particles when applying global communication topology gbest .
Accordingly, the procedure of our proposed enhanced particle swarm optimization is summarized as shown in Algorithm 2.

Experimental Results and Comparisons
For verifying the suggested scheme in this investigation, simulated cases based on 2, 41 are generated.The simulation case has 15 tasks and 2 pseudotasks as described in Table 11 .In Table 11, the workload, successors, and the communication costs are depicted.For example, task 1 has a workload w S 1 10000, its successors are S 2 , S 3 , S 4 , and the corresponding communication costs are c 12 5, c 13 4, and c 14 10.
Three instances of resources A, B, and C with 2, 5, and 10 resources, respectively, are displayed in Table 12.They are used for testing 3 differing resource situations.
The simulation parameters are set as follows: the number of particles is 20 and the initial positions and velocities of particles are randomly assigned except for the heuristics used.Meanwhile, the velocity update rule with constriction factor is used, the constriction factor χ is a variable based on the circumstances, and different constriction factor values were tested.The learning factors c 1 and c 2 are set to 2 as suggested in 16 .Meanwhile, r 1 and r 2 are the random numbers uniformly distributed in 0, 1 .
There are a total of 24 sets of testing cases simulated as shown in Table 13.The experimental results are also displayed in Table 13.Each set of a testing case is tested for 30 trials to obtain the minimum and average scheduling completion times.The simulation The simulation results indicate that the lbest topology is apparently better than the gbest on average.The LFT heuristic is efficient in the test especially for instance C.However, if the BPR is polarized, it leads to worse scheduling for testing instance A, but outstanding scheduling for instances B and C. The situation indicates that applying the BPR to the task scheduling problem with fewer resources is improper.Moreover, the BPR is able to perform better than LFT for instances B and C. Hence, these two heuristics are worth applying to improve the efficiency of solving task scheduling problems in grid, but the BPR is not suitable for problems with poor resources.
To verify the effectiveness and efficiency of the proposed scheme, some similar scheduling problems were tested since there is no benchmark for task-resource assignment   In this study, the suggested algorithm was applied to solve the "largest" scale instance, the J30 case.In J30 case, there are 3 modes available for each activity.Additionally, most of the research performance comparison among different methods is conducted by evaluating the same number of schedules for each case, for example, 1000 schedules, 5000 schedules, or 50000 schedules.Meanwhile, MRCPSP is a task-mode assignment problem; hence, the SFM heuristic is tested instead of the BPR heuristic.Table 15 shows the simulation results of all 552 instances of the J30 case.Each instance simulation was stopped whenever a total number of 5000 schedules were evaluated.The comparison is on the basis of lower bound solutions since no optimal solution is known, and for many instances of that set, a feasible solution does not exist.Hence, the ratio of lower bound solutions was measured, lower bound solutions found/552 * 100%, in the test; test results are demonstrated in Table 15.Moreover, CPU times employed by algorithms are also displayed.
Table 15 illustrates that the proposed scheme yields 57.97% lower bound solutions on J30 case.Currently, no study's results exceed 60% optimal solutions of all 552 instances.Nevertheless, some studies present their scheme performance with over 60% optimal solutions found, since they did not include all 552 instances such as 47 for their tests.Meanwhile, the CPU time for finding 5000 schedules by proposed PSO is about 0.769 second.However, the performance comparison based on computation time was also conducted by Hartman 36 .Hence, the comparisons of simulation results from different algorithms for a time limit of one second are displayed in Table 16.The simulation results for the set with J30 reflect deviations from a lower bound makespan.The average deviation, maximum deviation, and found feasible solutions ratio comparisons are given in Table 16.In this work, more than 6000 schedules for one instance of J30 case can be obtained from our algorithm in one second.Restated, the consumed CPU time to find a feasible solution for every instance for J30 would be less than 0.167 ms.The average and maximal deviations are less than 5% and 80%, respectively; more than 90% feasible solution can be obtained in one second.Hence, the proposed scheme is effective for solving similar problems in task-resource assignment.

Conclusions and Discussion
The task scheduling of resource allocation is a critical issue in grid.Most task scheduling problems are complicated and NP-complete.The studied task scheduling problem is regarded as a task-resource assignment graph optimization problem.This study proposes an enhanced scheme based on the "standard" PSO to solve the task scheduling problem in grid.Meanwhile, there are two extra heuristics proposed to enhance the efficiency of problem solving: the LFT heuristic and BPR heuristic are applied, where the LFT heuristic helps PSO to decide the priority of tasks in the task queue, and performing well for each test in this study.The BPR heuristic helps PSO to determine task-resource assignment, and performs well for problems with more available resources.However, applying the proposed BPR for task-resource assignment would be worse with a problem with poor resources, since fewer resources can be chosen for obtaining the best performance resource.Moreover, two PSO communication topologies in obtaining global best experience are evaluated for solving task scheduling in this study; they are global communication topology gbest and local communication topology lbest .The "lbest" performs better than the "gbest" in most tests of this problem class.According to simulation results as displayed in Table 13, this proposed scheme, involving two heuristics and "lbest" communication topology on top of the "standard" PSO, is effective and efficient for solving task-resource assignment problems in grid.Meanwhile, the proposed scheme can obtain 57.97% lower bound solutions of the largest instances of PSPLIB 42 in 0.769 second, as displayed in Table 15.More than 90% feasible solutions can be yielded in one second; resulting minimal and maximal deviations are less than 5% and 80%.Restated, the simulation results verify that the proposed scheme is adequate and efficient for solving this class of scheduling problems.
Although the scheme proposed in the study is able to solve the task scheduling problem efficiently, further improvement is possible if the BPR heuristic can be improved and made to perform well for any problem.Hence, future work should investigate more suitable heuristics.Meanwhile, this study does not consider the contention for communication resources.To be more close to the real situation, the contention consideration as in 20 should be included in future work.Moreover, more complex task scheduling problems such as processor utilization consideration are planned to be further investigated.

Figure 1 :
Figure 1: An example of a studied task scheduling problem.

Table 7
The pseudocode of the PSO update process.
is compared with the fitness fitness G of the recorded global best experience G .The recorded global best experience G is replaced by X new i if fitness i fitness G .Otherwise, G is maintained.The procedure of the particle swarm optimization is as shown in Algorithm 1.

Table 8 D
S 2 , S 3 are to use the resource M 1 , and S 4 , S 5 use resource M 2 , then the task queue of M 1 and M 2 would be determined to be Q 1 {S 1 , S 3 , S 2 } and Q 2 {S 5 , S 4 } based on Pr.
Two topologies of PSO.like in Figure6b , has greatly attracted researchers' attention recently.The feature of lbest is its limited communication; every particle can just communicate with a portion of the swarm.Meanwhile, the lbest topology can be varied such as a ring formation, Von Neumann neighborhood, and so forth.The "lbest" model used in 35 is the simplest form of a local topology, known as the aforementioned ring model.The lbest ring model connects each particle to only two other particles in the swarm.Obviously, lbest has a slower convergence rate relative to the gbest.

1
Initialize particles' positions X X A X R by applying heuristics: LFT for X R and BRP for X A .Calculate particle's fitness based on vector A and vector Pr via scheduling completion time calculation 2.3 .2.6 Update L i .2.7 Update G gbest or lbest .3 Until End condition is reached, return solution.The pseudocode of the proposed enhanced PSO.

Table 11 :
A case consisting of 15 tasks.

Table 12 :
Three instances of resources.And each trial was iterated 100 and 300 times.Moreover, the two heuristics and two topologies of PSO were also tested.To verify the influences of both LFT and BPR heuristics, four different situations are tested: without both LFT and BPR; with LFT and without BPR; without LFT and with BPR; with both LFT and BPR.Different global best experiences based on global and local communication topologies impact to the performance are also tested.The global experience G for local communication topology lbest is determined by X i 1 , X i , and X i−1 particle positions.Additionally, the best constriction factor for balancing the global and local searches to enhance the performance is surveyed.

Table 13 :
Comparisons of experimental results.

Table 14 :
Complexity of the scheduling problem.×3305.5 × 10 46 n 30, m 3 of heterogeneous grid.As stated in Section 4.2, the multimode project scheduling problem is similar to the studied task-resource assignment problem.There are some multimode resource constrained project scheduling problem MRCPSP instances in the project scheduling problem library PSPLIB 42 , including scheduling problems with 10, 12, 14, 16, 18, 20, and 30 jobs they are denoted by J10, J12, J14, J16, J18, J20, and J30, resp..Every job case has different instances e.g., 536 instances for J10 case and 552 instances for J30 case with different available modes.Meanwhile, MRCPSP has been confirmed to be an NP-hard optimization problem 43 .Table14shows the difficulty of solving the studied problem.Meanwhile, the "Example" column represents the possible solutions of the studied problems.The time required by exhaustive search for simulated TRA-G problem would be 2.1 × 10 29 × 10 −8 seconds 2.4 × 10 16 days a solution that can be found in 0.01 μsec 10 −8 sec is assumed .The time required by exhaustive search for simulated MRCPSP-J30 problem would be 5.5 × 10 46 × 10 −8 seconds 6.3 × 10 33 days.

Table 15 :
Comparison of algorithms with respect to schedules-5000 on J30.

Table 16 :
Comparison of algorithms with respect to computation time-1 sec.on J30.