Bio-Inspired Workflow Scheduling on HPC Platforms

60-68


INTRODUCTION
High performance computing is about the use of highproductivity computing resources to solve challenging problems in scientific and engineering domains [1]. The HPC platform could comprise workstations, desktop machines, supercomputers, grid or cloud [2]. Grid computing is a kind of HPC loosely coupled collection of heterogeneous resources that are shared by the grid users for utilizing the ideal and under-utilized capacity of the resources [3,4]. On the other hand cloud computing is a simplified form of grid computing that provides virtual server instance on shared resources based on user specifications [5].
Scientific computing is becoming more relevant in many research disciplines. A typical application may contain several dependent tasks specified as a workflow, which requires efficient scheduling of the tasks. The scheduling of workflows is a challenging task in HPC environment because of inter-dependency of the tasks that needs to be taken care of while scheduling the workflow tasks [6]. The grid/cloud meta-schedulers are responsible for fetching the matched resources that are capable to run the workflow application and schedule these workflows on the available resources [7]. The most important scheduling criterion for HPC environment is to produce a schedule with minimum schedule length so as to optimize the utilization of the resources [8].
During the past decade there have been several attempts to use bio-inspired scheduling algorithms to obtain an optimal or near optimal schedule of the tasks on a specified set of resources in order to minimize the overall schedule length and to optimize the use of resources. However, as the number of tasks increases, the solution space consisting of mapping of tasks to corresponding resources increases exponentially. Hence, there is a need to devise mechanisms to improvise the search strategies and/or mechanisms of the bio-inspired scheduling algorithms for better scheduling solutions in lesser number of iterations/time.
The objective of the research work in this paper is to use bio-inspired bacteria foraging optimization algorithm (BFOA) along with other heuristics algorithms for better search of the scheduling solution space. The idea is to first find a schedule by the deterministic or heuristic algorithms such as MaxMin, MinMin, and Myopic, and use these as initial solutions in the search space to get better solutions using BFOA. The advantage of using BFOA over other nature inspired evolutionary approaches is that it is computationally efficient and has good global convergence [9]. The performance of our approach with the existing approaches is compared for quality of the scheduling solutions. The results demonstrate that our hybrid approach (MinMin/Myopic with BFOA) outperforms other approaches.
The paper is organized into five sections. The first section provides background details and motivation of the research work. The second section provides overview of the workflow scheduling mechanism and also provides insights into the existing workflow scheduling approaches. The third section describes our proposed workflow scheduling approach and fourth section is about the experimental setup. The fifth section provides detailed discussion on the results and observations. The last section concludes the research work presented in this paper.

WORKFLOW SCHEDULING PROBLEM
The dependent-task or workflow application in grid and cloud environment is represented as a standard task graph (STG) or directed acyclic graph (DAG) as shown in Fig. 1. In DAG, graph vertices represent tasks and the edges represent task dependencies [8]. There could be n number of dependent tasks and m number of resources; it is very difficult to predict the best schedule with respect to large mapping combinations between the tasks and the resources. Therefore, the workflow scheduling problem is a nondeterministic polynomial (NP)-complete problem [10]. The workflow scheduling problem can be solved by heuristic methods but the complexity of producing an appropriate schedule becomes high. Therefore, the metaheuristic methods are adopted to produce the near optimal schedule in heterogeneous distributed environment.

Figure 1 Workflow tasks
Let us assume workflow W(T, E) consists of a set of tasks, T = {T 1 , T 2 , … , T x , …, T y , …, T n }, and a set of dependencies among the tasks, E = {< T a , T b >, ..., < T x , T y >} , where T x is the parent task of T y . The set R = {R 1 , R 2 , …, R m } represents the set of suitable resources in the Cloud. Therefore, the dependent task scheduling problem is the mapping of workflow tasks to Cloud resources (T→R) so that the makespan M is minimized. The overall timespan of a complete schedule is known as total schedule length or makespan [11].
Generally, a workflow is a set of dependent tasks. The entry task does not have any predecessing task and exit task does not have any successor task [7]. Each dependent task can be executed after the completion of its parent tasks. If a child task is dependent upon more than one parent than it has to wait until all the predecessing tasks complete their execution. The child task becomes a ready task when all the parent tasks complete their execution. If the child task executes upon the same resource where parent task has finished its execution then data transfer time is considered to be zero.
The multiple users can submit multiple workflows to the meta-schedulers. The two important aspects that have been taken care by our meta-scheduler for scheduling the workflow applications are: (1) the parallel handling of multiple workflow applications, and (2) the scheduling of workflow applications on heterogeneous and distributed resources.

CURRENT SOLUTIONS IN WORKFLOW SCHEDULING
The current HPC and cloud meta-schedulers use many heuristic algorithms to schedule the workflow applications. The most popular methods are described below.
Myopic-Myopic heuristic is based on the minimum time to compute strategy, where each ready task is assigned to the resource that is capable to complete the ready task at the earliest. Myopic heuristic is one of the simplest scheduling techniques for scheduling dependent tasks in grid environment because it considers a single task while allocating the resource for scheduling. The myopic heuristic is implemented in some real HPC environments such as Condor DAGMan [12]. The Myopic algorithm schedules the ready tasks one after other until all the tasks in ready queue get scheduled. It maps each task to the resource that can process the task at the earliest.
MinMin-This scheduling heuristic prioritizes dependent tasks according the task sizes and schedules the tasks based on the sizes of the tasks [13]. The Min-Min scheduling heuristic maps shortest task on the fastest. The task having minimum expected time for execution over all tasks is selected to be scheduled first on the fastest resource that takes minimum time for execution during each iteration and it keeps scheduling all the tasks until the ready queue is exhausted. MinMin is implemented in real HPC environment such as vGrADS [14] of Rice University USA.
MaxMin-The MaxMin [15] scheduling heuristic prioritizes the dependent tasks according to the expected time to compute, the task that requires the longest execution time is allocated to the fastest resource that is capable to process the task at the earliest. This heuristic arranges the workflow tasks into multiple independent task groups and schedules each group of tasks iteratively. In each iterative step, a task with maximum time to compute is selected to be scheduled on the fastest resource that can process the task at the earliest.
HEFT-Topcuoglu H. et al. proposed a list scheduling method known as Heterogeneous Earliest Finish Time (HEFT) [16], which sets higher priority to the dependent tasks having higher rank value. The rank value is based on the average execution time of each task and average data transfer time between the predecessor and successor task, where the tasks in the critical path have higher rank values. Afterwards, this heuristic sorts the tasks by the descending order of the rank values of the tasks and the task with a higher rank value are set to higher priority. During actual scheduling, tasks in a workflow are scheduled in the order of their priorities, and each task is assigned to the fastest resource that can process the task at the earliest.
PSO-Particle Swarm Optimization (PSO) is a random based scheduling approach that searches the search space to find the near optimal solution. The position of each particle in search space represents a potential solution. The swarm represents the total number of predefined particles. The particle swarm optimization explores the search space by using position vector and terminates when predefined stopping criterion is met. The best particle that provides minimum value for objective function, that is, makespan, is selected as a final solution. In [17], authors have implemented PSO based scheduling approach to minimize the makespan.
GA-Genetic algorithm is also a metaheuristic approach [18] that generates random solutions to achieve near optimal solution. In GA, each individual represents a potential solution. The search space is explored using crossover and mutation operators. The GA terminates after a predetermined stopping criterion is met. The best solution obtained during evaluations is printed as a final solution. The final solution represents task-resource mapping and scheduling timing. In [19], authors have presented workflow scheduling using GA with the objective of minimization of overall schedule length.
GRASP-The Greedy methods randomized adaptive search procedure (GRASP) [20] is an iterative approach that searches the solution on random basis. In GRASP, predetermined iterations are conducted to search a near optimal solution for scheduling the tasks on available resources. A new solution is generated in each iteration and the best solution among all the iterations is taken as the final solution. This method determines the minimum and maximum time to compute for each task on the available resources. The average time is determined by applying GRASP equation for executing a ready task on the available resources. All the resources that take lesser or equal time to the average time (obtained from GRASP equation) are considered for scheduling decision and any one resource is allocated to the ready task on random basis.

Related Work
There exists many state-of-the-art works for scheduling workflow tasks in HPC environment but most of the approaches are capable to handle single workflow at a time level-wise.
Rahman et al. [21] have presented a dynamic workflow scheduling approach known as DCP-G that minimizes the workflow execution time dynamically along with reducing the scheduling overhead. Bogdan et al. [22] have introduced an improved critical path using descendant prediction method for workflow scheduling, which is known as ICPDP. This approach performs well for minimizing makespan and for balancing the load of HPC resources. It also minimizes idle time of processing elements to enhance the resource utilization. Wang et al. [23] have presented an extensive approach named look-ahead genetic algorithm (LAGA), which optimizes both makespan and reliability of workflow tasks. LAGA uses an evolution and evaluation method as a two phased methodology. In first phase, the evolution operators of GA decide the task-resource mapping and second phase allows the evaluation steps to govern the task order of solutions using max-min strategy.
Amalarethinam and Selvi [24] have proposed minimum makespan grid workflow scheduling (MMGWS) that minimizes makespan of the workflows in HPC. This approach makes advance reservation of the desired resources and schedules the tasks on the basis of their respective priorities. The results of proposed approach are compared with Min-Min and HEFT scheduling algorithms. Garg et al. [25] have presented an adaptive workflow scheduling (AWS) to optimize makespan considering dynamic availability of the resources. This algorithm also takes care of load balancing by rescheduling the tasks to new resources form overloaded resources.
The existing approaches have not explained that the performance of bio-inspired algorithms deteriorates if the search space is huge. The performance depends upon the quality of scheduling solutions and the computational time to obtain the near optimal schedule. Hence, we are proposing bio-inspired hybrid BFOA approach for better search of the scheduling solution that provides scheduling solutions of better quality within less computational time. The idea is to first find a schedule by the heuristic algorithms such as MaxMin, MinMin, and Myopic, and use these as initial solutions (along with other randomly generated solutions) in the search space to get better solutions using BFOA. Most of the existing workflow scheduling approaches are based on single workflows whereas we have addressed scheduling problem of multiple workflows which are to be scheduled in parallel. The performance of our approach with the existing approaches is compared for quality of the scheduling solutions. The results demonstrate that our hybrid approach (MinMin/Myopic with BFOA) outperforms other approaches.

PROPOSED APPROACH
In this paper, a Bacterial foraging optimization algorithm based workflow scheduling mechanism is presented with two different aspects a) Starting with some random solution and searching for the optimal or sub-optimal scheduling solution, 2) Starting with a solution generated by MaxMin, MinMin and Myopic scheduling strategies and then searching for the optimal or sub-optimal schedule from this starting solution.

Bacterial Foraging Optimization Algorithm (BFOA)
Kevin Passino proposed the Bacterial Foraging Optimization Algorithm (BFOA) in 2002. BFOA provides vigorous search techniques that let a high quality solution to be achieved within a large search space [26].The bacterial foraging algorithm explores the new regions of the search space by chemotaxis and elimination-dispersal process and BFOA exploits the best solutions from the past searches through reproduction process. A bacterium is any solution in the search space, which is represented by a set of parameters. A bacteria foraging optimization algorithm maintains a bacteria population consisting of a set of bacterium that evolves over generations [26].The quality of a bacterium in a bacteria population is determined by an objective function. A typical Bacterial Foraging Optimization Algorithm consists of the following steps:  Sort the bacteria in ascending order of health of bacteria as C health . b. The B r bacterium with poor C health values die and the other B r bacteria with the best values split into two bacteria to keep the population size same. 7. If r < N re , move to step 2. 8. Go for Elimination-Dispersal with the pre-determined probability P ed . If el < N ed , then go to step 1, otherwise end.

Problem Definition
Using BFOA algorithm to solve the workflow scheduling problem needs suitable representation of bacterium in the given bacteria population. The problem definition consists of the following: • The problem consists of a set of resources and the tasks of one or more workflows that need to be scheduled • The task sequence is fixed, while the resource allocation to the individual tasks varies • A child task in any workflow can be scheduled only after the completion of its parent tasks. • The expected execution time (EET) of each task is calculated on the basis of task size (specified in Millon Instructions) and processor's capacity (specified in MIPS (Million instructions per second).
The aim of the proposed work is to minimize the overall schedule length of the task-resource mapping explained in subsequent sections.

Objective Function
The scheduling of dependent tasks in a workflow focuses on some of the scheduling criteria such as minimizing the total schedule length, minimizing flowtime, minimizing the overall execution cost, executing the tasks within the user specified deadline. The objective function is used to evaluate the current bacteria (population) to produce quality solutions. In our research work, we are taking total schedule length as objective function, which is to be minimized to produce a potential schedule.
Let T = {t 1 , t 2 , ..., t n } be the n tasks in a given set of workflows that need to be scheduled on a set of m resources R = {r 1 , r 2 , …, r m }. Let B be the start time of the first task, while F be the finish time of the last task in a schedule. The schedule length is defined as the total time span TS i between B and F for i th schedule. The objective function is to minimize the total schedule length TS i or makespan over all possible schedules, that is, arg i (min{TS i }, i ∈ Schedules) .

Initial Bacteria Population in BFOA
The initial population of the bacteria represents random scheduling solutions. That is, the position of each bacterium represents a possible schedule (possible solution in the problem space). The position of each bacteria is an ndimensional vector, where the i th element of the vector represents the resources ID on which the i th task is executed. The task sequence remains constant, while the resource allocation changes across different schedules. The total number of bacterium is determined by the pre-decided bacteria population size.
The initial bacteria population in the bacterial foraging optimization algorithm could comprise a) Random solutions (positions), or b) Random solutions with a few bacteria positions initialized with solutions obtained by MaxMin, MinMin and Myopic scheduling strategies. The BFOA then searches for the optimal or sub-optimal schedule from this initial population.
The idea behind incorporating these heuristic strategies in BFOA is to enhance the exploration capability of the proposed approach. If there are n jobs and m resources, each job will have n m combinations. For example, for 100 jobs and 10 resources, there would be 100 10 combinations. This search space is huge and it may not be computationally feasible to find the near optimal solutions. With initial solutions obtained from some heuristic techniques such as MaxMin, MinMin, and Myopic, the exploration by the evolutionary algorithm would start from these positions or solutions and the algorithms would attempt to improve upon these solutions (find optimal/sub-optimal solutions), if applicable, in relatively lesser amount of time. The following sections describe the steps involved in BFOA in the context of scheduling problem.

Chemotactic Process
Chemotaxis process allows the bacterium to move towards the sources of food. The bacterium swims to change directions during this process and follows the same direction if it finds good fitness over the previously swimming steps. In this process, the bacterium explores search space for better solutions. The tasks are allocated to different combination of resources to achieve better fitness values. The movement of the i th bacterium at the c th chemotactic, r th reproductive, and el th elimination dispersal step can be mathematically expressed as follows: Where ∆ indicates a vector in the random direction whose elements lie in in [−1, 1].
The chemotaxis process allows the bacteria to explore the search space to find better solutions for the given problem. For example, task T1 is allocated to resource R1. The new allocation is 2 (1 (previous resource id) + 0.99987 (value achieved by tumbling process)). Table 1 shows the resource allocation to workflow tasks before and after the chemotaxis process. The task-resource mapping of each bacterium is changed during chemotaxis process if each bacterium finds better fitness; otherwise the previous solution is preserved.

Swarming
Swarming allows the population of bacteria gathers together and moves as concentric patterns of swarms. The cost or fitness of a bacterium position is affected by swarming. The health of bacteria is needed during reproduction step where bacteria with poor health die and bacteria with good health go for reproduction.
The swarming equation of bacteria is affected by the cellto-cell signaling is given by Eq. (1), where ║║ is the Euclidean norm, ωa and ωr are measures of the width of the attractant and repellent signals respectively, M measures the magnitude of the cell-cell signaling effect in the given swarming equation. The swarming equation drives certain weight that is added to cost (fitness value) of each bacterium to determine the health of bacterium. 2 2 For example, if the fitness value (makespan) of a bacterium is 100 seconds, the swarming weight is 44.999, and the health of the bacterium is 100 + 44.999 = 145. The better the health, better would be the bacterium position. The health of bacterium allows it to make decision for the swimming step, that is, whether to swim in the same direction if the health is improving or stay back at the previous position. The health of the bacterium plays a crucial role in reproduction step, where the bacterium with better health survives and bacterium with poor health dies.

Reproduction
The reproduction step allows the bacteria to exploit the search space. The objective here is to search a limited region of the search space with the possibility of improving the local solution. The existing solutions are refined here to improve the fitness value. After chemotactic steps, a reproduction step is followed. In reproduction, the bacteria with bad health die and the bacteria with good health split into two bacteria to keep the population size same [27]. The bacteria are sorted according to their health. The scheduling solutions with higher or poor makespan will be removed from the current bacteria population.
However, this step generates duplicate bacterium (scheduling solutions) in the bacteria population, but it is mandatory to remove the worse population (with poor fitness) from the current solutions.

Elimination-dispersal
This step allows the bacteria to search for the search space to get newer and refined solutions (if any), that is, searching a much larger portion of the search space with the possibility of finding better solutions. In elimination process, a bacterium is stochastically selected for elimination from the population and is replaced by a new bacterium located at a random new location within the search space, according to a predefined probability Ped. For example if the elimination-dispersal probability is 0.25 then 25% of the scheduling solutions or bacteria will selected on random basis and will be replaced by newly generated scheduling solutions or bacteria.
However, this process introduces new population and removes redundant bacteria, which are generated in reproduction step. But it may also kill the best scheduling solutions found so far. In order to preserve the best population elitism is applied during elimination-dispersal step. If the elitism rate is 10% then the top 10% of bacterium with minimum fitness or make span are preserved, while the rest 90% of bacteria undergo elimination dispersal process.
Tab. 8 is depicting the operational patameter values for BFOA.

Genetic Algorithm
Each chromose represents a potential solution in the problem space. The individual in population is generated in a similar manner as each bacterium is generated in BFOA. The total chromosomes are decided by the pre-determined population size. The genetic operators are explained below.

Selection
For selecting chromosomes for reproduction from the prevailing population, the tournament selection is applied. Two tournaments are held to select potential parents for mating. Parent 1 with better fitness value has been selected and this method is repeated in the second tournament to obtain second parent 2. The two parent chromosomes are selected for the crossover. Fig. 3 depicts the binary tournament selection procedure. Table 2 Task resource assignment before chemotaxis HPC task-resource assignment string Table 3 Task resource assignment after chemotaxis HPC task-resource assignment string Maximum number of steps, N s 3 3 Number of chemo tactic steps, N c 20 4 Number of reproduction steps, N re 2 5 Number of elimination-dispersal steps, N ed z2 6 Probability, P ed 0. 25 7 Size of the chemotaxis step, C(i) 0.8

Figure 3
The binary tournament selection

Crossover
The crossover operator allows the individuals to search for new solutions. The parents selected in tournament selection go for reproduction of Offsprings/children during crossover [29]. In The two-point Crossover is used in our proposed approach. Tab. 5 and Tab. 6 are showing before and after crossover points. Table 5 Before two-point crossover Table 6 After two-point crossover Offspring 1:

Mutation
Next to crossover operation, the mutation operation is applied to one chromosome based on the mutation probability. The mutation operation helps to diversify the population and to obtain new solutions. Replace Mutation is used in the research work presented in this paper. When the mutation probability of is decided by a chromosome with the selection of two random points and the resources of those tasks are interchanged.
Tab. 7 is depicting the controlled parameter values for GA. The fine tuning of controlled parameters is based on the empirical study of the GA based research outcome.

Particle Swarm Optimization (PSO)
Particle Swarm Optimization is an intelligence technique which is based on a swarm of particles moving in search space and communicating with each other for determining a near optimal solution [30]. Population of particles is known as swarm in PSO. Each particle is represented in a similar manner as a bacterium is represented in bacteria population. The parameters used in the PSO algorithms are: Velocity (vector): This vector determines the direction in which a particle needs to fly in order to improve its current position in the flock.
pbest (personal best): It is the personal best position (solution) of a given particle found so far.
gbest (global best): Position of the best particle in the entire swarm.
Inertia weight: Denoted by ω, the inertia weight is used to control the impact of the previous history of velocities on the current velocity of a given particle. It can be taken as random value or constant value.
Learning factors: There are two learning factors used in PSO that is, C1 and C2. The parameter C1 represents the attraction of a particle towards its own success, while parameter C2 represents the attraction of a particle towards the success of global best position.
Every particle gets updated during each iteration by its personal best value, that is, pbest and the global best value, that is, gbest. The particle modifies its position with the help of velocity and position vector to explore the search space for better solutions (Doctor Kennedy and Eberhart in 1995). When the position of a particle is changed, the task-resource mapping is changed. The tasks are assigned to different set of resources as long as the position of each particle is updated. Tab. 8 depicts the values of control parameters used for workflow scheduling in our research work. Swarm size 100

Multiple Workflows Scheduling
In multiple workflows scheduling, a group of tasks are scheduled level-wise in the workflow trees using the heuristic algorithms (MinMin, MaxMin, and Myopic). We explain the multiple workflow scheduling mechanism that we have implemented in our work with one such heuristic algorithm namely, MinMin. We first take all the tasks on level one of all the workflow trees and schedule them using the MinMin algorithm. The task with minimum time to compute is picked first and is scheduled on the fastest resource (the processor which takes shortest time to execute the task). We then schedule the tasks at second level of the workflows. The shortest task is allocated to the fastest resource and this process continues until all the tasks at all the levels are scheduled. MinMin applies its scheduling strategy of shortest job on fastest resource at each workflow level and schedule the all the tasks in the workflows. The other heuristics such as MaxMin and Myopic also perform scheduling according to the levels of workflow. The only difference is their scheduling strategies. MaxMin schedules the longest task on the fastest resource at each workflow level, whereas, myopic chooses the tasks in an arbitrary fashion and schedules them on the fastest resources. The reverse is also true when metaheuristic algorithms (BFOA, PSO, and GA) allocate a set of tasks to the corresponding resources.

Experimental Setup
The heterogeneous resources with different processing capacities are simulated and defined in terms of MI/sec (Million Instructions/sec). The size of each task is generated between 8000 MI and 20,000 MI from a uniform distribution. The total number of tasks in the workflow are N. Our workflow generator can generate single workflows with many dependent tasks and multiple workflows (with specific number of tasks in each workflow). In our case study, 10 tasks have been generated in each workflow. If there are 10 workflows then the total number of tasks would be 100. The workflows for evaluation are created using the following parameters: • Type = Random workflows • One workflow= 10 tasks each • N = {50, 100, 200, 300, 400} Note that for GRASP, 500 iterations are considered and the value of α is set to 0.01.

RESULTS AND OBSERVATIONS
The scheduling heuristics are evaluated on the basis of total schedule length. The total schedule length for a set of workflows or dependent tasks is defined by the time span between the start of the first task and the end of the last task. Two sets of scheduling simulations have been carried out. In the first simulation, the search for scheduling solutions was initiated with a random generation of solutions in the search space. The exploitation and exploration of the solution space has been performed in order to refine the existing solutions and to search newer solutions using the metaheuristics algorithms such as BFOA, PSO and GA.
In the second simulation, a hybrid approach is used where heuristic algorithms such as MaxMin, MinMin, and Myopic, have been used to get initial solutions in the search space. These along with randomly generated solutions serve as the starting solutions in the search space to the metaheuristics algorithms for possible improvements in the scheduling solutions. The performance of our hybrid approach is compared with the existing approaches for quality of the scheduling solutions. The results demonstrate that our hybrid approach (MinMin/Myopic with BFOA) outperforms other approaches.
The space complexity increases exponentially with increase in task-resource combinations. For 200 tasks and 5 resources, there exist 5 200 scheduling solutions. The evolutionary techniques perform well when the search space is small (less number of tasks and lesser number of task-resource combinations). As the search space complexity increases, it is difficult to determine the near optimal solution.
Tab. 9 and Fig. 4 depicts that heuristic algorithm perform well even if the number of workflows with number of tasks go on increasing while the quality of solutions obtained by BFOA and other evolutionary techniques such as GA and PSO starts deteriorating as the search space increases.    Tab. 10 and Fig. 5 depicts that the hybrid approach improves the quality of scheduling solutions and minimizes the computational time to obtain the near optimal solution. If the metaheuristic algorithms start with solutions obtained by heuristic solution along with some randomly generated solutions, then the quality of solution improves significantly, because the exploration of the search space is guided in a better direction. The solutions generated by hybrid BFOA are improved by 8% for 50 tasks, 11% for 100 tasks, 12% for 200 tasks, 13% for 300 tasks and 15% for 400 tasks, respectively.

CONCLUSION
In this paper, we have used the bio-inspired bacteria foraging optimization algorithm (BFOA) together with other heuristic algorithms to find scheduling solutions for multiple workflows. Starting with a random schedule for the multiple workflows, the BFOA attempts to find a scheduling solution. However, this may not always result in optimal or suboptimal solution and sometimes may take large amount of computation time to get to a desired scheduling solution. Hence, we have used a hybrid approach where heuristic algorithms such as MaxMin, MinMin, and Myopic have been used to get initial solutions in the search space, which then serve as starting points (along with other randomly generated solutions) for getting better solutions using bacteria foraging optimization algorithm. The performance of our hybrid approach presented in this paper is compared with the existing approaches. The results demonstrate that our hybrid approach (MinMin/Myopic with BFOA) outperforms other approaches.