chapter 3 literature survey: metaheuristic methods for...
TRANSCRIPT
36
CHAPTER 3
LITERATURE SURVEY: METAHEURISTIC METHODS FOR
TASK SCHEDULING
Traditional methods used in optimization are deterministic, fast, and give exact
answers but often tends to get stuck on local optima. Complexity class of the task scheduling
problem belongs to NP-complete involving extremely large search space with
correspondingly large number of potential solutions and takes much longer time to find the
optimal solution. There is no readymade and well defined methodology to solve the problems
under such circumstances. However in cloud, it is sufficient to find near optimal solution,
preferably in a short period of time. In this context IT practioners are focusing on heuristic
methods. This chapter presents classification of various schedulers [98] shown in figure 3.1
used in Cloud environment. Main focus is on metaheuristic methods such Genetic Algorithms
(GA), Ant Colony Optimization (ACO) and Particle Swarm Optimization (PSO).
3.1 Economic schedulers
Economic schedulers have gained very much importance in resolving resource
management process various computing paradigms, such as distributed databases, parallel
systems, cluster, Peer-to-Peer, grid and cloud computing [45]. Here we are introducing
economic schedulers in such a way that they can be applied by using existing middleware
which is not just limited to cloud platforms. In practice we can able to examine both the
applicability and suitability of above mentioned economic schedulers for supporting cloud
resource allocation. This provides us a chance in identifying the possible strengths of these
middleware which may add an advantage for cloud environment.
Cloudbus [46] is a type of toolkit which provides market-based resource management
strategies. They are intended to provide mediate access to virtual and distributed physical
resources. A broker which is said to be “Third party cloud broker” is built on an architecture
which has capability of providing framework for other cloud environments. A quite good
number of economic models with tendering, auction and commodity strategies were made
available for computational risk management and customer driven service management.
37
Scheduling Models
Priority scheduling
Hadoop Other
Economic schedulers Heuristic models
MCT OLB MET Min-Min Min-Max GA SA Tabu ACO PSO
Static strategies mation Algorithm
Dynamic Priority Static Priority Dynamic strategies
FIFO scheduler Fair scheduler Capacity scheduler Delay scheduler
Batch mode Min-min Max-min Sufferage
On-line mode OLB MET MCT SA KPB
RM EDF LLF
OpenPEX EERM Cloudbus
Figure 3.1: Schematic View of Task schedulers
38
This third party cloud broker supports various kinds of application models such as parallel,
workflow, parameter sweep and bag of tasks. This broker has plug-in support for being
integrated with other middleware technologies such as Aneka, Unicore, and Globus etc.
OpenPEX [47] is a type of resource provisioning system which uses an advanced reservation
approach to assign virtual resources. Here in this system the user was given a chance of
reserving any quite good number of instances of virtual machine which are to be started at a
specific time point and need to last for a specific duration limit. A protocol called bilateral
negotiation protocol is included in OpenPEX which allows users and providers to exchange
their counter-offers and offers, so that double auction or sophisticated bartering models try to
improve revenue of the cloud users.
EERM [48] is a type of resource broker which enables a bidirectional communication
between resource and business layers in order to advocate a proper decision-making in
resource management. This resource broker contains sub-components for performing
accounting, billing, pricing, monitoring, dispatching and job scheduling. It uses different
kinds of market-based mechanisms to allocate network resources for tasks.
In order to increase the revenue, we use overbooking strategy to reduce the effects of no-
shows and cancellations.
Scheduler Economic model
Cloudbus auction/tendering/commodity in cloud environment
OpenPEX double auction/battering in cloud environment
EERM bartering/tendering/commodity/posted price in cloud environment
Table 3.1: Summary of Economic mode schedules
3.2 Heuristic models for Task-Execution Scheduling
We can find a typical data centre which consists of commodity machines connected
through high speed links in Cloud computing. We use this environment to compute diverse
and large group of tasks. We cannot able to distinguish the tasks of one user from the other.
Hence Scheduling problem over here is going to be matching multiple tasks to multi
machines. As we have mentioned earlier the optimal matching is an optimization problem
39
which possesses NP-complete complexity. We generally apply Heuristic mode as a
suboptimal algorithm in order to obtain good solutions.
Here in this section we research on two types of strategies which are called static and
dynamic heuristics. We use static heuristic when the complete set of tasks is known prior to
execution, and we use dynamic heuristic when a particular task arrives. Before going to
further explanation, we just define several preliminary terms.
3.2.1 Static strategies
We just prefer and perform static strategies under two assumptions. We first assume
that tasks are going to arrive simultaneously ci = 0. Secondly we assume that machine
available time aj is going to be updated when each task complete its scheduling process.
OLB (Opportunistic Load Balancing): In this strategy, we schedule each task in an arbitrary
order to the successive available machine. Since it does not need extra calculation its
implementation is quite easy. The main aim of OLB is to maintain all machines busy.
MET (Minimum Execution Time): In this strategy, we can schedule each task in a random
order to the machine for maintain the minimum execution time to complete the task. MET is
a simple which just gives the best machine to every task but it never takes in to consideration
about the availability of machines. This strategy has the capacity to jeopardize the load
balance across various machines.
MCT (Minimum Completion Time): In this strategy, we schedule every task in an arbitrary
order to the machine which possesses the minimum completion time to complete this task
However, in this strategy, it is not possible to give the minimum execution time to all the
tasks.
Min-min strategy contains a set of all unscheduled set of tasks T. Then we will calculate the
matrix for minimum completion time of every task which is present in set T. Task which
possesses the overall minimum completion time gets scheduled to its particular
corresponding machine. Then we remove that particular scheduled task. We just repeat this
process till all the tasks get scheduled.
40
Min-max strategy looks similarly like Min-min heuristic. It also has set T of all unscheduled
tasks and we calculate the same matrix for minimum completion time for every task which
present in set T. But here we will select a task with overall maximum completion time and it
gets scheduled to its particular corresponding machine and then we remove that scheduled
task from T. We just repeat this process till all the tasks get scheduled.
GA (Genetic Algorithm) strategy is one of the heuristic strategies. By using it we search to
get a near-optimal solution in many large solution spaces [49]. At first we randomly initialize
a population of chromosomes which we generally consider as possible scheduling for a given
particular task. We can get a fitness value (make span) which is acquired from the scheduling
of tasks to particular machines within that chromosome. After getting the initial population,
we will evaluate all the chromosomes in the population based on their respective fitness value
and we consider the smaller make span as a better mapping. We perform Selection scheme
which duplicates some chromosomes probabilistically and deletes others and at the same time
we can find that better mappings have more probability of being duplicated in successive
generation and we will find that population size remains constant in all the generations. Next
we perform a crossover operation which select a random pair of chromosomes of a task and
picks a random point in first chromosome. This operation also exchanges machine
assignments between particular corresponding tasks. Next we perform mutation operation
after crossover which randomly selects a chromosome and then selects a task randomly
within the chromosome and finally reassigns randomly it to a new machine. We start another
iteration of Genetic Algorithm after evaluating the new population and there after we perform
all the above mentioned operations like selection, crossover, mutation and evaluation. We
just stop the iteration when the stopping criteria are met.
SA is also called as Simulated Annealing [96]. This strategy uses a procedure which allows
us to seek and accept poorer solutions probabilistically in order to have a better search of
solution space. The probability which we gain above is based on the system temperature that
decline for each iteration, which indicate us that poorer solution is not accepted. The starting
system temperature is the makespan of initial scheduling which gets mutated in the similar
manner as the Genetic Algorithm. The new makespan which we get is judged at the end of
every iteration and the worse makespan may be agreed based on a probability. Hence we can
say that Simulated Annealing finds poorer solutions than Genetic Algorithm and Min-Min.
41
Tabu heuristic search keeps track of some areas of the solution space which we have
searched already so as not to search them again and again. The scheduling solution which we
use here follows the same representation of the chromosome which we used in the Genetic
Algorithm approach. We need to perform a short hop to change the present solution and to
step towards the solution space and the instinctive purpose of this hop is to know about the
nearest local minimum solution inside the solution space. The final scheduling in the local
solution space search is appended to the tabu list when short hop procedure ends and then a
new random scheduling is created so that you can perform a long hop to enter a new region
which was not yet searched in the solution space. We will repeat the short hop procedure
after every successful long hop. We select the best scheduling from the tabu list when the
stopping criteria get satisfied.
All these heuristics are judged by simulation in article [49]. For consistent machines,
we observe that GA performs the best for consistent machines while the MET performs the
worst. We also observe that GA give the best solution for inconsistent machines, and OLB
gives the worst. Generally, Min-Min and GA can be utilised as a promising heuristic search
strategies with short average make span.
3.2.2 Dynamic strategies
Now we see about Dynamic heuristics. We perform these strategies when machine set
or task set is not at all fixed. For example, we can see some tasks arriving asynchronously or
some machines which go offline at certain intervals. We can use dynamic heuristics in two
ways, on-line mode and batch mode. In online mode, we schedule each task to a particular
machine as soon as it comes. In the batch mode, we just collect all the tasks into a set and we
perform its scheduling at prescheduled times.
On-line mode: Coming to on-line heuristics you schedule each task only once and it is
impossible to change the result of that particular scheduling. Moreover, this dynamic
heuristic search is possible and suitable to a case which has less arrival rate [50].
OLB is a type of dynamic heuristic which just allots a task to a particular machine
which is ready next without considering the execution time of a particular task on that
machine.
MET is a type of dynamic heuristic strategy which allots every task to a particular
machine that has the capability of performing the computation of the task in the smallest
amount of execution time without taking into consideration the machine available time.
42
MCT is a type of dynamic heuristic strategy which allots every task to a particular
machine which is going to complete the task in earliest completion time. This heuristic can be
used as a reference point for the on-line mode [51].
SA (Switching Algorithm) is type of dynamic heuristic strategy in on-line mode. It is
going to use both the MET and MCT heuristics in a cyclic manner based on the distribution
of load across the machines. MET chooses the best machine but it allots a lot many tasks to it.
The MCT heuristic balances the load and at the same time it will not allot the task to the
machine which has minimum execution time. For example, if the tasks arrive randomly, we
can use MET to carry on the load balance up to a value of given threshold and then we can
use the MCT to make level the load across the machines.
KPB (K-Percent Best) is a type of heuristic strategy .While scheduling the task it
considers only a subset of machines. You can get this subset by just taking the k best
machines depending on the execution times of the task. We perform scheduling based on
value of k and if it is good value we schedule the task to machine which is taken from the
subset of computationally superior machines. The main purpose here is to avoid keeping the
present task onto a machine which may be required for some other tasks leading to a shorter
make span when compared to the MCT heuristic strategy. When compared to all the on-line
mode heuristics, KPB is going to perform better when compared to others in most scenarios
[51]. We can get good results from MCT but it is slightly worse than KPB since it lacks
prediction for task heterogeneity.
Batch mode: Coming to batch mode, here tasks are scheduled only at some prescheduled
moments. This strategy helps the batch mode to be aware of the actual execution times of
more number of tasks.
Min-min is a type of heuristic which generally go on updating the set of available
machines and set of arrival tasks by just performing the calculation of expected completion
time for all available tasks. After that we remove the task that is scheduled from the set which
has the minimum earliest completion. We update the machine available time and we continue
this procedure till all the tasks were scheduled.
Max-min is a type of heuristic which is completely different from the Min-min
heuristic. This heuristic allots the task to corresponding machine which has maximum earliest
completion time. This performs better when compared to Min-min heuristic if the number of
shorter tasks is more than that of number of longer tasks.
43
Sufferage is a type of heuristic which allots a task to machine such task that would
never suffer by being assigned to it. We will calculate the sufferage value which is nothing
but the “difference between the first and the second earliest completion time”. For a
particular task tk, if there is a best machine mj which has earliest completion time, then we
will assign tk to mj. Otherwise, this particular heuristic is going to compare the sufferage
value of present taken task tk with sufferage value of task (ti) already assigned to mj. If we
found the sufferage value of tk is higher, we just unassign ti and we add it back to the task set.
We consider every task which is present in the set only once. Sufferage gives the least
makespan among batch mode heuristics [51]. We can observe that batch mode performs
better when compared to the on-line mode by just possessing high task arrival rate.
3.2.3 Hadoop
This Hadoop MapReduce is a most important computation framework. It just
processes large amount of data in mainstream public and private clouds. It is very much
necessary for cloud implementation. This Hadoop is the most widespread and prominent
MapReduce implementation which is used for production or educational uses. It is capable of
making many applications to work with petabytes of data and thousands of nodes
A multi-node Hadoop cluster consists of two layers. In the bottom layer we have
Hadoop Distributed File System (HDFS), which has the capability to provide information
regarding data location awareness to perform effective scheduling of work. The above layer
has MapReduce engine which has several task trackers and one job tracker and every tracker
can inhabit a single node. Map Reduce jobs will be submitted to job tracker by the clients and
then the job tracker pushes out the work to present Task Tracker nodes which are present in
the cluster [52].
Hadoop is mainly designed for bigger batch jobs and the default scheduler over here
mainly uses a FIFO heuristic in order to schedule the jobs from a work queue. We can have
other alternative job schedulers like capacity scheduler, fair scheduler and delay scheduler.
FIFO scheduler [52] is a type of heuristic scheduler which applies first in first out
heuristic. The scheduler keeps a new job in queue based on the arrival time whenever a job is
submitted. We first execute the first or earlier job on the waiting list. Because of this
scheduler overhead is minimal and implementation is quite easy but its throughput is since
the machines can be seized by the tasks with long execution time.
Fair scheduler [53] is a type of heuristic scheduler which allots equal share of the
available resources to all jobs. Whenever a new job is submitted we share a slot that was free
44
so that every job gets the same amount of CPU time roughly. In order to know about the
fraction of entire compute time is uses job priorities as weights. It provides a cluster which is
shared among users and each user was given a pool so that every user can get same share of
cluster ignoring how many jobs were submitted. We perform fair sharing to share the
capacity between the running jobs in each pool and also guaranteed minimum share is
allowed in the pool. Pool can get its minimum share when it has some jobs but the excess of
full guaranteed share can be split among other when it does not need full guaranteed share.
Capacity scheduler [54] is a type of heuristic scheduler which allots certain amount
of cluster capacity to multiple queues present such that each queue has certain fraction of
capacity. When each job is given to the queue they can able to access the entire capacity
allotted to the queue. No user can monopolize the resource since there is enforcement of
limits on the percentage of resources given to user. The Queues have the capability to support
job priorities optionally such that jobs which have high priority can have access to resources
mainly. Moreover, the queue will not pre-empt for job which has highest priority when a job
is running in it.
Delay scheduler [55] is a type of heuristic scheduler which addresses the dispute
between data locality and scheduling fairness. This scheduler is capable of relaxing the
fairness in order to improve locality. It performs the above task by asking some nodes to wait
for scheduling process on a node which consists of local data. It waits for short span of time
when we do not launch a job which has to be scheduled next and then it try to launch the next
job. We will launch non-local tasks by the job if it was skipped for a long time to avoid
starvation. This scheduler shows its efficiency when there are many slots for each node and
when the tasks are small compared to jobs.
3.3 Priority scheduling for cloud computing
There is a set of applications that can take advantage from increasing timing
guarantee of cloud services. In this case critical applications typically include deadline
requirements, and whole deployment fails due to any delay. For example, traffic control
centers are collects the information about recent state of roads by using sensor devices and
stored in database. If any user enquires about state of roads to the control center, a real-time
decision can give to the user based on the appropriate control information. But the current
cloud service agreements not giving real-time control to cloud users over the timing behavior
45
of the applications, so some more transparent, flexible, and trust-worthy service agreement
between users and cloud providers is needed in future.
In task scheduling priorities applied to the periodic tasks with deadlines. In priority
scheduling, each task is given a priority through some procedure, so that task scheduler
assigns resources to tasks based on their priorities. In real-time scheduling, the priorities
assigned to tasks based on some policy, is classified as fixed priority and dynamic priority
strategy.
3.3.1 Fixed priority strategies
Consider a real-time task τi which possesses a series of instances in it. In Fixed
priority scheduling all the instances in the particular task was given same priority. The most
powerful algorithm for priority task is Rate Monotonic (RM) algorithm which was proposed
by Liu [56]. Here in this algorithm we can see that the priority of a particular task depends on
its releasing rate. If the rate is higher, the priority is higher. If we consider two times Ti and
Ci- Ti is the time length between two successive occasions where as computation time Ci is
the time taken to compute the instances.
3.3.2 Dynamic priority strategies
This is second type of Real-time scheduling. Dynamic priority strategy is more
efficient when compared to fixed manner because this strategy can utilise the entire processor
for most processing of tasks. Here we can observe that priorities continuously vary with time
and from one request to another request or during the same request. The algorithms which we
use here are “Earliest Deadline First (EDF) and Least Laxity First (LLF)” [57]. Earliest
Deadline First algorithm allots the priorities to tasks in inversely proportional manner to the
absolute or complete deadlines of active jobs. Liu [56] proved that we use EDF algorithm to
schedule periodic tasks which are of “n” number if and only if P Ci Ti ≤ 1.
Least laxity First algorithm allots the processor to the active task which possess
smallest laxity and due to these laxity changes which happens at run time LLF contains more
number of context switches. In real-time research EDF is more popular and important when
compared to LLF because it has smaller overhead.
46
3.3.3 Other schedulers
We say that a particular scheduler is dynamic if it can select one task out of many
tasks which are ready and it can take scheduling decisions during run time. A scheduler is
said to be static (pre-run-time) if it has the capability to take scheduling decisions during
compile time. For run-time dispatcher off-line, this static scheduler can create a dispatching
table. We can find real-time schedulers in corresponding kernels which have their own
scheduling approaches.
Hard real-time systems were targeted by MARS kernel [58] for the purpose of peak
load conditions and we use a approach called Fixed scheduling. We will calculate the
schedule offline and we will give it to the nodes to carry out system initialization. We will
keep all the resource requests and inter process communications inside the schedule. We
observe that simultaneously nodes may change a schedule to another pre-calculated schedule.
Arts kernel [59] is a type of kernel which aims at giving a analyzable, reliable and predictable
distributed computing system. This Arts kernel utilizes the EDF/LLF/RM algorithms to
examine and to provide guarantee to the hard real-time processes which were offline.
Execution time which is reserved by deferrable server can schedule hard real-time processes,
while we use value function scheme to schedule all other processes.
3.4 Genetic Algorithm (GA) Paradigm
In this section, we will present comprehensive presentation on the paradigm of GA.
John H Holland [60] is the introducer of the Genetic Algorithms. He was inspired by the
evolution process in nature and observed the following features regarding evolution.
Evolution is a process on chromosomes (encoded structures). By natural selection,
chromosomes with better performance, participate more often in reproduction. Reproduction
is the point where evolution takes places. Biological evolution has no memory i.e. one macro-
level process in evolution is limited to the population of one generation. Biological organisms
are observed to adapt well for different environment condition by this process of evolution.
Motivated by these features of evolution in nature, Holland process of these are appropriately
incorporated in a computer algorithm, it can become a technique for solving difficult
problems based on evolution such algorithm is called as Genetic Algorithm (GA). To explain
the process of adaption in the evolutionary method of GA, a framework is given by Holland
in his book ‘Adaptation in natural and artificial systems’ [60]. According to him this
47
framework centers around the environment E of the system undergoing adaption, the
adaptation(reproductive) plan r according to which the solution structures are modified in
response to the environment, and a performance measure µ (cost function value) of different
solution structures. The later researches [61, 62] employed the same framework and used the
same terminology which is presented in the following section.
3.4.1 Terminology
Since the Genetic Algorithm is an artificial adaptation process, the terminology can be
better explained by giving the corresponding analogy with the natural adaption process.
Chromosomes in biological system: These correspond to solution strings in artificial
systems.
Genotype: The total genetic package is called genotype. This is analogous to the total
package of solution strings in artificial systems. This is defined as structure by Holland.
The interaction of total genetic package with environment results in the formation of
phenotype.
Phenotype in a natural system: This corresponds to the decoded output of solution
representation in artificial systems. This may correspond to a parameter set, or solution space.
Genes: The chromosomes are formed by genes which correspond to the smallest functional
blocks in the solution representation in artificial systems.
The locus of gene: It corresponds to the position of genes in solution representation. The
alleles in natural systems correspond to the values taken by the genes in artificial system. The
set of alleles correspond to the set of values that genes can have. For conventional genetic
algorithms this is the set {0, 1}.
Epistasis in natural systems: A combination of genes with specific allele values gives a
certain property to the corresponding biological organisms. This nonlinear property is
referred to as epistasis in natural systems. This corresponds to the encoding feature of the
solution by the genetic structure.
48
In the remaining description of terminology we confine to the artificial system only.
To simulate the adaptation process we need a set of solutions referred to as the Initial
population .The candidate solutions in the population are generally represented by a suitable
data structure. The data structure is a string of small blocks known as genes. The values
taken by these genes correspond to a finite set denoted by ∑ and for conventional Genetic
Algorithms ∑ = {0, 1}. Given the genetic structure of a solution string, the “Goodness” of the
solution is expressed by the objective function value associated with the solution. Generally,
the fitness of the solution reflects this and it is expressed as a relative parameter with
reference to a population of solutions. In other words, the best fit solution and worst fit
solution in a population of solutions are decided by the objective function values of these
solutions. The variations in the genetic structure of solutions of a population are obtained by
the simulated processes of reproduction, crossover and mutation. The reproduction takes
place according to a simulated reproductive plan. The efficiency of the adaptation by GA
depends on the parameters of GA. The number of generations, crossover rate, mutation rate,
and population size constitute these parameters. Employing this terminology, Genetic
algorithm is presented in the following section.
3.4.2 Genetic Algorithm Components
In order to solve a hard optimization problem using the paradigm of GA, Davis [62]
pointed out that, the following GA components are necessary.
a) Solution to the problem can be represents as chromosome.
b) A method to create some random initial population of solutions,
c) An evaluation function that plays the role of environment, rating the solution in terms of
their “Fitness”,
d) Genetic operators that alter the genetic structure of the solutions, and
e) Values for the GA parameters namely population size, number of generations, cross over
rate and mutation rate.
Before taking up an elaborate discussion on GA components, it is necessary to
understand the GA philosophy clearly which is presented in the next section.
49
3.4.3 Solution representation
Any specific optimization problem requires the expression of its solution in a closed
form. In most of the cases, it is not difficult to encode this closed form solution using a
simple string of bits. The conventional GA s employed such bit string representation for
solutions, depending on the problem; the encoding procedure to get a bit string solution
differs. Correspondingly the decoding procedure is employed, while evaluating the objective
function for a solution representation in the GA formulation for a specific optimization
problem. In this context, we present the various design criteria to choose a data structure for
solution representation.
Criterion 1: The solution representation should necessarily be in the form of a string of
genes. However, the allele value of the genes need not confine only to the binary alphabet
{0,1} only. In the Literature we come across integer strings, character strings, etc. as
solutions. GA formulations with representations using data structures other than bit strings
are known as hybrid GAs. Whatever in the data structure employed for solution
representation, the basic philosophy of GA is to bring in structural search space. In general,
these change result in the allele values of the genes in the off springs to be different from
those in the parent strings. Since the allele value of each gene corresponding to a certain
attribute of the total solution, the combination of the total genes in the offspring correspond to
a new solution which is evaluated eventually by the GA.
Criterion 2: This criterion is based on the diversity in the initial population with which GA
starts. In case of conventional GAs every genes in a n-bit solution string can have allele value
from the set {0,1}. Thus it is easy to identify the total search space with conventional GAs as
2n search points. A choice of large sized alphabet set of allele value would increases the
possible search space. However, one can bring in reduction in the possible search space by
identifying valid and invalid solutions. For example, in case of a permutation problem, the
solution is represented by integer strings, and this has the set ∑ = {1,2,….n} Where n is the
number of genes. In this case, it may be seen that the search space is the n! valid
permutations. The strings with any two genes having same allele value are invalid solutions.
This search space decided by the alphabet set ∑ is explained by GA in its simulated evolution
process.
50
As important question then is, how the initial population is to be chosen for an
effective search by GA? From the experiments on the GA for Minimal Deceptive Problem
[61] it is known that the initial population should contain a good proportion of better fit
solutions. For an arbitrary GA formulation, if GA search is started with a population that has
large diversity, it would be more effective. This requires the quantification of the team
“Diversity”. One way to quantify diversity is to do it in terms of the objective function value.
All the solutions in the population are evaluated for their objective function value. The
difference between the minimum and maximum values is a measure of diversity in the
population. A near uniform distribution in the population would correspond to good diversity
in the population. Thus, any data structure chosen for solution representation is required to
provide good diversity in a randomly generated initial population of suitably chosen size.
Criterion 3: This criterion is based on the evaluation of the solution. It may be observed that,
in the process of GA search every solution for its objective function value. Moreover, this
evaluation is always a complete evaluation, unlike incremental evaluation that would suffice
in case of the search by simulated annealing. It is also possible that same solution is evaluated
a number of times, because GAs do not have any memory in their evolution process i.e. the
knowledge about candidate solutions involves a decoding process of the solution given by a
certain representation. This requires a number of micro level operations on the structural
elements of the solution. These operations thus determine the total evaluation time required
for objective function value. In general, a large percentage of the total time required for
processing one generation is spent in the objective function evaluations only. In this context,
choice of a complex data structures for solution representation may result in large evaluation
time for the solution. Hence the third criterion may be stated as “The data structure chosen
for solution representation is expected to permit easy computation of the objective function in
a reasonably small time”.
3.4.4 Initial population generation
The quality of the final solution obtained by GA search is often dependent on the
initial population. The time efficiency of GA is also influenced by the initial population. In
general, the required initial population is obtained randomly. The generation of such initial
population requires standard techniques such as random initialization, random permutation
methods, random shuffling methods, usage seed values etc.
51
An important observation made by Davis regarding GAs is improvement in the
quality of final solution by forcing elitism [62]. This refers to a condition that the current best
solutions are permitted to survive in the next generation always. In other words, GA would be
more effective if better fit building blocks are present in the population.
The recombination process by GA becomes more efficient under such conditions, and
results in better time efficiency. This concept of elitism can be extended to the initial
population also. This requires forcing one or a few more of the initial solutions to be some
approximate solutions obtained by some greedy method.
3.4.5 Objective function and fitness evaluation
In general, minimization or maximization of some objective function g(s) is
attempted, where s is a closed form solution expressed by the gene string. The evaluation of
g(s) would require some other problem specific inputs along with the solutions. Consider a
population of solutions ordered 1 to N. It is required to obtain a non-negative fitness value for
each solution in this population to implement the process of natural selection. If the problem
is maximization, and the objective function is always positive, then fitness computation is
easy and straight forward. However, for minimization problems and negative objective
function values, we require some transformation to obtain fitness of the solutions. Goldberg
[61] has summarized the required transformations on objective functions to compute fitness.
These are briefly given below.
Case 1: Minimization problems. In general, cost minimization corresponds to profit
maximization. A standard method is to multiply the cost value with -1 to transform
minimization to maximization. Since the fitness is a non-negative value, this method is not
suitable for GA formulation. The suggested transformation that relates fitness f(s) and
objective function g(s) is as follows.
f(s) = Cmax – g(s) when g(s) < Cmax (3.1)
0 Otherwise
The constant Cmax may be chosen as the largest g observed.
Case 2: Maximization problem with possible negative objective function values. The
suggested transformation is as follows.
52
f(S) = Cmin + g(s) when g(s) + Cmin > 0 (3.2)
0 Otherwise
The Cmin is a constant chosen as the worst value of the objective function g(s) .
Another important computational technique regarding fitness is to employ some
scaling method. Essentially, scaling is employed to regulate the level of competition among
the candidate solutions in a population .In a simple linear scaling method the raw fitness f(s)
and scaled fitness fs(x) are related by the equation fs(s)=a* f (s) + b
Here a and b are some constants. These constants are chosen based on the minimum
and maximum of the raw fitness.
3.4.6 Crossover and mutation operations
Important genetic operations are crossover and mutation. Even though a number of
low level genetic operators such as inversion, dominance, and intra chromosomal duplication,
translocation, and segregation have been considered [61], GA formulations for real world
problems generally crossover and mutation only. In most of the optimization problems these
two operations would suffice.
In case of conventional GAs with bit string representations, the single point crossover
operation is generally employed. In single point crossover, crossover point is randomly
selected within a chromosome, and then interchanges the two parent chromosomes at this
point to produce two new offspring. Random multiple cut points have been attempted by
researchers as an alternative. But, these attempts could not lead to any improved GA
performance. Attempts have been then made with solution representations by some data
structures other than bit strings. These are referred to as hybrid GAs. In these cases, the
design of crossover operation needs attention. The design should help exploration of the
search space. This can be achieved by making the offspring inherit the better fit building
blocks of both parent strings. Since the solution is no more represented by bit strings, the
building blocks of the solution have to be eventually constructed by the designed crossover.
In case of such hybrid GA formulations, crossover design is problem dependent.
An important decision to be taken, is regarding any eventual invalid solution
generated as offspring. Conventional GAs would conveniently bias the objective function for
these invalid solutions. In cases of some hybrid GAs, we may have to confine the GA search
to valid solutions only. With such a requirement, the design of a crossover operation must
ensure only valid offspring solution generation. Below we present some example crossover
operations on integer strings that permit only valid offspring generation.
53
3.4.7 Crossover operations for integer string solutions
When integer string solutions are used in GA, there are two possible conditions. The
genes in the string may have any permissible allele value from an integer set. Alternatively,
no two genes in the string may have same allele value of an integer set, resulting in a
permutation. In case of a permutation solution, three different types of crossover operations
have been reported [61], which permits a valid offspring permutation generation. These are
order, partially mapped, and cycle crossover operations.
Mutation: In genetic algorithms, mutation is a genetic operator used to maintain genetic
diversity from one generation of a population of algorithm chromosomes to the next.
The classic example of a mutation operator involves a probability that an arbitrary bit in a
genetic sequence will be changed from its original state. A common method of implementing
the mutation operator involves generating a random variable for each bit in a sequence. This
random variable tells whether or not a particular bit will be modified. This mutation
procedure, based on the biological point mutation, is called single point mutation. Other types
are inversion and floating point mutation. When the gene encoding is restrictive as in
permutation problems, mutations are swaps, inversions and scrambles.
The purpose of mutation in GAs is preserving and introducing diversity. Mutation
should allow the algorithm to avoid local minima by preventing the population of
chromosomes from becoming too similar to each other, thus slowing or even stopping
evolution. This reasoning also explains the fact that most GA systems avoid only taking the
fittest of the population in generating the next but rather a random (or semi-random) selection
with a weighting toward those that are fitter.
3.4.8 GA Parameters
The influence of the genetic parameters namely the population size, the number of
generations, the crossover rate and crossover probability, the mutation rate and mutation
probability on GA performance has been extensively studied by Grfenstette [63]. He
formulated a meta-chromosome of these parameter values and employed mete-genetic
algorithm to obtain optimal set of parameters. In this formulation the main GA used only bit
string solutions. However, the choice of these parameters is not very critical in case of many
GA formulations. A few trial runs would suffice to determine a near optimal parameter set
that ensures good performance by GA.
54
Stopping criterion: Since GA is an iterative method, a decision needs to be taken regarding
the stopping criterion. In general, the GA is stopping after processing a fixed number of
generations. Alternatively, the quality of the best solution may be monitored in every
generation and the GA may be stopped after a required improvement is observed. In case
there is no way to judge the required improvement, a stooping criterion needs to be designed.
Reproductive plans: The performance of GA is dependent not only on the GA components,
but also on the reproductive plan employed. The parent selection policy, the next generation
population selection policy etc. constitute the reproductive plan. We present details regarding
some reproductive plans that are employed by many researchers. We conclude this selection
with our proposal of a reproductive plan with some modifications which bring in
performance improvement.
The most prominent commercial software packages that help genetic algorithm
implementation are the GENESIS by Grefenstette and OOGA by Davis. These packages
describe some reproductive plans. A pioneering work in the field of genetic algorithms by De
Jong [64] includes a study on a number of reproductive plans. De Jong considered function
optimization problems with six different reproductive plans. He employed only bit string
solutions of different function optimizations. The functions chosen have characteristic
variations in continuity, convex nature, unimodal / multimodal, dimensionality, and
deterministic/stochastic natures. The reproductive plan with a roulette wheel parent selection,
simple crossover and mutation operations, and off springs replacing the parents as next
generation population selection policy, is defined as R1 by De Jong.
The roulette wheel parent selection procedure is described by Goldberg [61] which
implements the natural selection based on fitness. The improvements on the plan R1 brought
by incorporating some technique resulted in plans R1 to R6. Plan R2 includes an elitist
candidate solution (the current best solution) in the next generation population if it is likely to
be lost by plan R1. In plan R3 expected number of off springs of each solution as per the
fitness are computed. This count is decremented whenever a string participates in
reproduction. In plan R4 the elitist model of plan R2 and expected value model of R3 are
combined. The newly generated off springs replace similar older adults in plan R5 which
essentially maintains diversity in the population. To implement this, a new parameter called
crowding factor is defined, and whenever an offspring is generated, the adult that dies to
accommodate the offspring, is selected from the crowding factor members randomly. In plan
R6 multiple point crossovers are employed.
55
The implementation factors of these plans that offer performance improvements may
be summarized as Elitism and Diversity in the population. Elitism always ensures the
presence of a reasonably good solution always in the population. Diversity in the population
needs to be carefully maintained. These factors when exploited by the parent selection and
next generation population selection policies offer an effective reproductive plan. We
consider these factors and propose our modified reproductive plan as follows.
3.5 Ant Colony Optimization
3.5.1 Introduction
Ant Colony Optimization (ACO) [65] is a type of meta-heuristic which carries out the
work based on the indirect communication. This type of communication can be seen among
the real ants that use a substance called pheromone in order to communicate. Some artificial
ants while conveying about their particular experience regarding solving a problem they act
as special agents try to use numerical information which is also called as artificial pheromone
information. All these fundamentals are going to provide a basic framework to several
combinational problems of optimization (observe [66] for an overview) in applications of ant
algorithms. Hence we call the algorithms as ACO algorithms if they were acquired from
ACO meta-heuristic.
In order to design Meta heuristic algorithms we mainly consider Ant Colony
Optimization (ACO) since they can solve many combinational optimization problems. The
first or earliest algorithm which we categorized in this framework was presented in 1991 [66]
and, since then several modifications regarding the principles were documented in the
literature. The combination of both priori and posterior information is the main characteristic
of ACO algorithms. We can have the basic structure or design of promising or best solution
in priori information while we can have the design or structure of earlier obtained good
solutions in posterior information. Algorithms like Meta heuristic algorithms work up on
some basic heuristic with the main intention to get rid of local optima. The basic heuristic
may be constructive heuristic which starts from null solution and finally get a complete
solution by adding elements or it can be a local heuristic where you have a complete solution
and finally you acquire a better solution by iteratively modifying some elements in it. But the
Meta heuristic part allows the low level heuristic to attain good solutions since you cannot get
them from the heuristic when it is iterated .We can have control over these heuristics either
56
by randomizing or constraining or you can control by mixing the elements which you derived
from various different solutions( as in case of genetic[67].
Here a single ant gives solutions to several combinational optimization problems
based on based on complete candidate solutions which is acquired from adding the solution
components iteratively. We can observe that ants use pheromone information which can be
acquired from experience attained by previous ants and sometimes heuristic information
which is nothing but problem dependent information which can be used to determine about
the solution component that needs to present partial solution by using stochastic construction
policy. Iteration is nothing but a step where all the ants arrive at a feasible solution in ACO
algorithm. For every iteration every ant is going to provide solution definitely. Hence, we
refer to the solution that a particular ant is going to provide when we speak about ant. We can
have feedback from the ants regarding the solutions which have been developed by
depositing pheromone on components of solution used in solution by the ants.
The updating of pheromone strategy mainly focuses on deciding which ants are to be
selected for updating process and what they need to do once they are selected. The
components of solution which are used by several ants and which occupy some portion of
better solution can have huge amount of pheromone and hence, there is a possibility of its
usage in iterations of the algorithm. In order to stop the endless accumulation of the
pheromone trail, we decrease the trails of pheromone by a factor which has the capacity to
model evaporation of trails before updating the pheromone information and these trails which
are associated with solutions of component exponentially start decreasing if they don’t
receive pheromone at all. We can forget the bad choices in algorithm by using evaporation
technique and sometimes all the solutions which are been constructed can become better by
using local search (LS) methods.
We now that we use algorithms like ACO algorithms to any combinational
optimization problems by describing some components of solution which are used to build
candidate solutions in iterative manner by ants and we deposit pheromone on components of
solution. ACO algorithms discussed in current work follow the natural algorithmic scheme
prescribed in Figure 3.1. Here we initialize the pheromone information and parameters in first
step. Next we try to repeat a loop until condition which we use to terminate is met. That
particular condition may be a limit value on the given computation time or number of given
solution constructs. In the above loop ants add solutions components to build solutions which
are feasible and these we improve the solutions by local search method and then we
determine the best solution. We try to update the pheromone information by using best-so-far
57
solution. We use the evaporation technique and decrease the trails of pheromone by a factor
before updating the information of pheromone. We can get and return the best solution that
we found since the start of algorithm at the end of main loop. We can observe that ACO
meta-heuristic is more general when compared to this particular algorithmic scheme.
Ants build a solution to the problem incrementally by moving through a policy called
stochastic local decision policy. This policy mainly contains two parameters, called trails and
attractiveness. During construction phase or when an ant completes building a solution, the
ant judges the solution and changes the trail value on the solution components used here.
Future ants make use of this information of pheromone in order to carry out search process.
An ACO algorithm contains two mechanisms like trail evaporation and daemon
actions (optional method). In trail evaporation we can observe that all trail values were
decreased in order to prevent endless trail accumulation on some component. Daemon actions
are utilised to carry out centralized actions which cannot be done by individual ants. We have
actions like invoking local optimization procedure or updating the global information which
is required to know whether we need to support search process from a non-local perspective
[68].
3.5.2 The ACO metheuristic
This ACO metaheuristic mechanism can be explained as the interplay among the
below given procedures:
Ant activities: This is a type of ACO metheuristic procedure where you can find artificial
ants construct the trail solutions incrementally to the problem which has to be solved.
Artificial ant starts moving on a construction graph G(C, L) and while moving it add
components to sequence which was started at empty sequence x = 0. To do that ant which
stays at component ci at present chooses which component it has to go next i.e. the
component which has to be added to sequence from the set C by using random proportional
rule. Generally we consider that probability of an ant travelling from the present position ci to
some other next component in sequence cj is directly proportional to both heuristic
information regarding move and trail intensity of the pheromone. The concentration of the
pheromone which is present on the arc connecting the two sequences ci and cj speak about the
experience acquired by the ant about that particular connection depending on the solution of
the trails generated previously in the present optimization search. We consider the visibility
or heuristic in order to know the quality of that arc which mainly includes the knowledge of
58
user regarding the problem and we can acquire the solution of trail to the problem when the
sequence length matches with total or entire number of variables D. Then, we calculate an
objective cost function ‘F(s)’ which is connected with the trial solution.
Pheromone updating: In this pheromone updating procedure we have two different
mechanisms like
1) Pheromone deposition
2) Pheromone evaporation.
In pheromone deposition we mainly try to reward or accolade the arcs which are used
for connecting the trail solution components depending on the solution’s objective function
cost. Coming to pheromone evaporation, it is nothing but a process where trail intensities of
pheromone are decreased by a factor which are present in problem search space and thereby
decreasing the difference in intensities of the pheromone among arcs. By using this
procedure, the arcs which are travelled repeatedly are prevented and we allow the unvisited
arcs to visit.
Daemon actions: In ACO metaheuristic, we use this as a optional procedure. We perform
centralized actions in case of daemon actions which cannot be accomplished by individual
ants. Daemon actions can be performed in two ways like
a) A local search procedure, where you will search in the solutions neighborhood given
by ACO to get local minima.
b) Global information which is utilized to support the optimization search. For example,
an extra amount of pheromone was rewarded to best solution components that we
found from the start.
On the whole, we use ACO metaheuristic as an optimization process where we get
solutions of trail by performing exploitation of information by artificial ants which is
distributed in search space and by changing the environment iteratively of the work space to
show the search experience of artificial ants. Hence, we can say that this search is going too
biased towards the best areas of search space.
3.5.3 Prerequisites of ACO implementation
We use the ACO metaheuristic which is a bigger level algorithmic framework to
solve and clear the specific optimisation problem. “ACO formulation for problem P” is
nothing but alterations we perform to assign the ACO metaheuristic to a problem P. Here, we
59
discuss about the issues which are required to be answered as part of ACO formulation in the
following manner:
Construction of a trial solution: We try to build and judge many ‘candidate solutions’ by
using metaheuristic during the optimization process before getting one best solution in the
process of searching for optimal solution(s) to a particular problem. We call these candidate
solutions as ‘trial solutions’, while we call the latter as ‘lowest-cost solution(s)’.
Definition of pheromone trails: Artificial ants uses the information regarding problem’s
decision variable space2 which we can get through the trails of pheromone as a part of
optimisation process using ACO metaheuristic and at the same time they try to change the
trails of pheromone to show about their search experience. Generally distribution of trails of
pheromone in problem decision space is the main thing behind the search process carried out
by the ants. Hence we require the definition of trail of pheromone which is normally
considered as problem-specific. Some studies reveal that bad choice of pheromone trail
definition lead to bad outcome of optimisation process. They performed these studies
examining the effectiveness in contrast manner regarding different definitions of pheromone
trails. Here two types of definitions of pheromone trails for TSP. They are: (i) a trail of
pheromone tij can be defined as the desire to visit a particular city j after visiting the city i
and (ii) tij can also be defined as the desire to visit the city i during the salesman’s tour. But
the relative order of visiting the particular city is more important in solving the TSP, we
consider the first definition of pheromone trail as more effective.
Heuristic formulation: We use this heuristic information to include the earlier knowledge
regarding the problem in ACO formulation which is mainly considered while building the
trail solutions. This heuristic information plays dominant role during the starting stages of
particular ant’s search in decision path selection before making the trails of pheromone
distinct and it also provides the good optimisation search in the regions of search space that
are predicted before to get the promising or best solutions . The initial or starting search is
going to be random till the paths that are dominant are established during the next stages of
search if we do not use heuristic information. Moreover, if this heuristic information is given
more priority, we can expect the behavior of ACO to go along with greedy algorithm. Since
we represent heuristic information in problem specific mathematic format, it is more
important to convert it in to formulation which is used in ACO algorithm. A heuristic value
60
can be in two formats like static or dynamic which we try to give to solution component. The
heuristic value remains same throughout the ACO run and it is described as posterior one in
static case whereas the same heuristic value can be calculated depending on the present
partially constructed trail solution in dynamic case.
Local search (optional): We use local search as an optional mechanism which is used on the
behalf of daemon action in ACO metaheuristic. We found vast number of results and
improvements in case of local search when it is combined with ACO to carry out more
number of ACO applications and very few results in other cases. Generally both ACO and
local search is speculated to complement each other in below mentioned way: We identify the
best regions in search space of problem in case of ACO metaheuristic which is popularly
said to be global-search based metaheuristic whereas we perform a clear search in those best
regions to get optimum solution(s) for the problem and to increase the capacity of the above
ACO metaheuristic in solving a particular optimisation problem when we don’t have heuristic
information regarding the problem with us.
3.5.4 Ant System
One can see the greatness of original Ant System (AS) [69] in being the prototype to
much number of algorithms of ant which are collectively to used to carry on ACO paradigm.
The Ant System follows the entire plan which is used above we are just left with specification
of its elements. The probabilities pijk which can be clearly defined to equal to value 0 by
using the move probability distribution in case of infeasible moves (list of tabu of ant k
contains moves which are infeasible for k ants starting from i state), or the value is going to
be calculated by using formula (3.3) where there are two parameters like a and b.
Construction of trial solutions: In Ant System, we can see that m ants by using the random
proportional rule (Eq. 3.1) try to build trial solutions in parallel manner and they store the
constructed partial solutions in their memory. Suppose if there is a partial solution sequence
x = ...,ci ,we can say that the probability that an k ant adds next component cj in x given by:
푝 (푡) = [휏 (푡)] . [푛 ]
∑ [휏 (푡)] . [푛 ]푖푓푗휖푁 (3.3)
61
Where 휏 (t) gives the information regarding the pheromone in present iteration, α and 훽 are
two parameters which describe about the importance in relative manner between both
heuristic information and pheromone information and finally 푛 describes QAP specific
heuristic information.
Pheromone updating: In Ant System, we can observe that evaporation of pheromone
process decreases the trails of pheromone by a factor which is given below.
τ ← (1 - τ foralli, j
is the rate of pheromone evaporation.
After the completion of evaporation of pheromone process, we see that all ants keep the
pheromone on the arcs which are followed by them and their value is given by:
ant and its value is given by:
Where OFCk is nothing but the “objective function cost of the trial solution” which is built by
ant k, sk. We can see that pheromone which is deposited on the trail solution arcs is found to
be higher if the trail solution’s OFC (objective function cost) is lower.
3.5.5 Max-Min Ant System (MMAS)
Max-Min Ant System (MMAS) (Stutzle et al., 1997; Stutzle et al., 2000) brought a
great change in Ant System. It is mainly used to increase both the exploration or inquiry and
exploitation features of Ant System. We can find two main features in MMAS which are
responsible for the robustness of the algorithm. They are:
Updating the iteration-best (sib) or best-so-far (sbsf) trial solution: In order to attain the
good search experience of artificial ant, we keep pheromone on the arcs which belongs to
either the best trial solution of the present iteration (sib) or best-so far trial solution (sbsf).We
can see the corresponding equation of pheromone deposition as:
1 OFC⁄ , if arc (i,j) belongs to sk (3.5)
0 , otherwise
Δτij =
62
τ ← τ + Δτ (3.6)
Where
where OFCbsf is nothing but “Objective function cost of the best-so-far trial solution( sbsf)”
and OFCib is the “Objective function cost of the iteration-best trial solution(sib)”.
Trails of pheromone that is bounded by an interval [t min, t max ]: We can observe
convergence or merging to a particular solution during starting stages of the optimisation
search when we accolade the pheromone to sbsf or sib .This is kind of thing is not which we
generally desire to have since it makes the space of search to be left unexplored. Hence we
try to bind the trails of pheromone in a problem by using upper and lower trail limits (tmax and
tmin) and we can have their values in the following way:
휏 (푡 + 1) =훒. .
( ) (3.8)
휏 (푡 + 1) = ( )( )
( ) (3.9)
where t is an “Iteration index”, Q is the “Reward factor”, 0 < r < 1 is the “Rate of
pheromone evaporation”, n describes about the number of decisions which are to be taken by
ant , OFCbest = OFCbsf and OFCbest = OFCib(t) is used to describe about “Updation of the
best-so-far and iteration t’s best trial solutions”, respectively and we can have pbest as the
probability of constructing the sbest trial solution during the convergence of algorithm when
Max-Min Ant System was converged.
Max-Min Ant System is a most studied ACO algorithm which is used to create new
type of ACO algorithms and to compare the benchmark for the remaining ACO algorithms).
3.5.6 Ant Colony System (ACS)
This Ant Colony System (ACS) was suggested by Dorigo et al. (1997a; 1997b)
depending on the algorithm called Ant-Q algorithm (Gambardella et al., 1995).This Ant
τ = Δτ = 1 OFC⁄ if only best-so-far solution (sbsf) is updated (3.7)
Δτ = 1 OFC⁄ if only the iteration-best solution (sib) is updated
Δτij =
63
Colony System (ACS) is entirely different the previous described Ant System based on some
aspects like:
1. We use random proportional rule (Equation 3.1) in Ant System in order to construct the
solution of trails but it is changed in Ant Colony System so that we can achieve better
search experience of the ant. The algorithm uses A new type of pseudorandom
proportional rule is utilised by the algorithm and it selects best path which contains good
a [tij ] b [hij] values with the probability of q0. We can anticipate that we can have good
exploitation if we possess the higher q0-value since we always select with higher
probability the best present option. Hence we can say that we can adjust the value of q0
based on our desired level of exploitation.
2. In Ant Colony System we use both pheromone deposition and evaporation in case of best-
so-far trial solution ( sbsf). The arcs which are pertained to the sbsf contain the pheromone
which is decreased or reduced by factor called pheromone evaporation coefficient(r).This
leads to formation of new trails of pheromone which are nothing but the weighted average
of amount of deposited pheromone and the old pheromone value.
3. We apply local pheromone updating rule in such a way that the trail of pheromone of
particular arc is going to be decreased by the factor when the ant try to move on that
particular arc. This kind of mechanism always decreases the importance of a travelled arc
to subsequent ants. A good observation was pointed out that in order to change the
searching level and exploitation level of particular algorithm both Max-Min Ant System
and Ant Colony System has to carry on upper and lower limits in case of trails of
pheromone. But this limits specification is implicit in case of ACS and explicit in case of
MMAS. Before implementing Ant Colony System we need to explain many extra
parameters which are not involved in Ant System before. This phenomenon is surely a
big drawback to this algorithm.
State Transition Rule: This particular rule is used by the ant to know and to decide to which
state it has to move in next step in order to build a new solution. We use a new type of state
transition rule which is said to be pseudo-random-proportional in Ant Colony System and we
use this rule which is used as a compromise between the action rule which is called as
random-proportional which found its usage in Ant System and the choice rule which is called
as pseudo-random state choice rule which found its usage in Q-learning. By using pseudo-
random rule we can able to select the chosen state with probability q0 (exploitation) which is
said to be the best while we selected a random state with a probability of 1-q0 (exploration).
64
Pareto selection: We generally store a particular set of non-dominated solutions in an
archive and we mainly update this set which mainly represents Pareto front while performing
the optimization search. We try to compare the solutions which we acquired now with the
non-dominated solutions present in Pareto archive for every iteration and we finally add the
non dominated ones to the set archive while we remove the dominated ones .Sometimes in
order to keep the size of the particular set archive in reasonable amount we try to delete non
dominated solutions. We try to delete the solutions which are pertained to vast populated
areas in order to maintain the set diversity which is the prerequisite of objective genetic
algorithms.
ACO
algorithms
Features
AS This is the first ACO algorithm
All the solutions of the trail belonging to this apply updation to
pheromone.
MMAS
Here only the best-so-far or iteration-best solutions of trail were
accolade.
We can apply here minimum and maximum trails of pheromone.
ACS
We try to build solutions of trail by using pseudorandom proportional
rule.
Best-so -far solutions of trail possess both pheromone evaporation and
reward.
Here we apply an updating rule called local pheromone updating rule.
Table 3.2: Different characteristics of the ACO algorithms
3.6 Particle Swarm Optimization Algorithms
Particle Swarm Optimization (PSO) is a powerful optimization algorithm, introduced
by Kennedy and Eberhart in 1995 [70]. PSO searches the optimum of a task, termed fitness
task, following rules impressed by the behavior of flocks of birds searching for food. As a
population based mostly meta-heuristic, PSO has recently gained a lot of and a lot of
popularity attributable to its robustness, effectiveness, and ease. Regardless of the decisions
65
of the algorithm structure, parameters, etc., and despite sensible convergence properties, PSO
is still an iterative stochastic search process, which, depending on problem hardness, may
require a large number of particle updates and fitness evaluations. The detail of the PSO is
exploited further in chapter 7.
3.7 Chapter Summary
In this chapter we presented overview of various schedulers, metaheuristic methods such as
GA, ACO, and PSO. Next chapter presents a detailed design of a genetic algorithm for task
scheduling problem in cloud computing environment.