SCOA
Unit 1: Introduction
● Soft computing: Soft computing is the use of approximate
calculations to provide imprecise but usable solutions to
complex computational problems.
● Hard Computing: Hard computing is based on a crisp system
and binary logic.
● Various types of soft computing techniques:
○ ANN: Artificial neural networks (ANN) or connectionist
systems are computing systems vaguely inspired by the
biological neural networks that constitute animal brains.[1]
Such systems "learn" to perform tasks by considering
examples, generally without being programmed with
task-specific rules.
○ Fuzzy logic: Fuzzy logic is an approach to computing
based on "degrees of truth" rather than the usual "true or
false" (1 or 0) Boolean logic on which the modern
computer is based on.
○ Evolutionary Computing: In computer science,
evolutionary computation is a family of algorithms for
global optimization inspired by biological evolution, and
the subfield of artificial intelligence and soft computing
studying these algorithms. In technical terms, they are a
family of population-based trial and error problem solvers
with a metaheuristic or stochastic optimization character.
○ Genetic Algorithm: In computer science and operations
research, a genetic algorithm (GA) is a metaheuristic
inspired by the process of natural selection that belongs
to the larger class of evolutionary algorithms (EA). Genetic
algorithms are commonly used to generate high-quality
solutions to optimization and search problems by relying
on biologically inspired operators such as mutation,
crossover and selection.
● Hybrid Systems: Hybrid systems: A Hybrid system is an
intelligent system which is framed by combining atleast two
intelligent technologies like Fuzzy Logic, Neural networks,
Genetic algorithm, reinforcement Learning, etc.
○ Neuro fuzzy system is based on fuzzy system which is
trained on the basis of working of neural network theory.
The learning process operates only on the local
information and causes only local changes in the
underlying fuzzy system.
○ A Neuro Genetic hybrid system is a system that combines
Neural networks: which are capable to learn various tasks
from examples, classify objects and establish relation
between them and Genetic algorithm: which serves
important search and optimization techniques. Genetic
algorithms can be used to improve the performance of
Neural Networks and they can be used to decide the
connection weights of the inputs. These algorithms can
also be used for topology selection and training network.
○ A Fuzzy Genetic Hybrid System is developed to use fuzzy
logic based techniques for improving and modelling
Genetic algorithms and vice-versa. Genetic algorithm has
proved to be a robust and efficient tool to perform tasks
like generation of fuzzy rule base, generation of
membership function etc.
Unit 2: Fuzzy Sets and Logic
● Fuzzy sets: A fuzzy set is a class of objects with a continuum of
grades of membership. Such a set is characterized by a
membership (characteristic) function which assigns to each
object a grade of membership ranging between zero and one.
● Crisp sets: Crisp sets are the sets that we have used most of
our life. In a crisp set, an element is either a member of the set
or not. For example, a jelly bean belongs in the class of food
known as candy. Mashed potatoes do not.
● Fuzzy set theory: Fuzzy set theory is a research approach that
can deal with problems relating to ambiguous, subjective and
imprecise judgments, and it can quantify the linguistic facet of
available data and preferences for individual or group
decision-making
● Fuzzy set operations: A fuzzy set operation is an operation on
fuzzy sets. These operations are generalization of crisp set
operations. There is more than one possible generalization. The
most widely used operations are called standard fuzzy set
operations.
● Properties of fuzzy sets:
○ Commutativity :-
● (A ∪ B) = (B ∪ A)
● (A ∩ B) = (B ∩ A)
○ Associativity :-
● (A ∪ B) ∪ C = A ∪ (B ∪ C)
● (A ∩ B) ∩ C = A ∩ (B ∩ C)
○ Distributivity :-
● A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C)
● A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C)
○ Idempotent :-
● A ∪ A = A
● A ∩ A = A
○ Identity :-
● A ∪ Φ = A => A ∪ X = X
● A ∩ Φ = Φ => A ∩ X = A
Note: ( 1) Universal Set ‘X’ has elements with unity
membership value.
(2) Null Set ‘Φ’ has all elements with zero membership
value.
● Transitivity :-
○ If A ⊆ B, B ⊆ C, then A ⊆ C
● Involution :-
● (Ac)c = A
○ De morgan Property :-
● (A ∪ B)c = Ac ∩ Bc
● (A ∩ B)c = Ac ∪ Bc
∪ Ac ≠ X ; A ∩ Ac ≠ Φ
Note: A
Since fuzzy sets can overlap “law of excluded middle” and
“law of contradiction” does not hold good.
● Fuzzy relations: A fuzzy relation is a mapping from the
Cartesian space X x Y to the interval [0,1], where the strength of
the mapping is expressed by the membership function of the
relation µ (x,y) • The “strength” of the relation between ordered
pairs of the two universes is measured with a membership
function
● Crisp relations: A crisp relation is used to represents the
presence or absence of interaction, association, or
interconnectedness between the elements of more than a set.
This crisp relational concept can be generalized to allow for
various degrees or strengths of relation or interaction between
elements.
● Fuzzification: Fuzzification is the process of converting a crisp
input value to a fuzzy value that is performed by the use of the
information in the knowledge base. Although various types of
curves can be seen in literature, Gaussian, triangular, and
trapezoidal MFs are the most commonly used in the
fuzzification process.
● Membership functions: In mathematics, the membership
function of a fuzzy set is a generalization of the indicator
function for classical sets. In fuzzy logic, it represents the
degree of truth as an extension of valuation.
● Inference in fuzzy logic: Fuzzy inference system Fuzzy
inference is the process of formulating the mapping from a
given input to an output using fuzzy logic. The mapping then
provides a basis from which decisions can be made or patterns
discerned.
● Fuzzy if-then rules: Fuzzy sets and fuzzy sets operations are
the subjects and verbs of fuzzy logic. If-Then rule statements
are used to formulate the conditional statements that comprise
fuzzy logic. where A1 and B2 are linguistic variables defined by
fuzzy sets on the ranges (i.e. universe of discourse) X and Y
respectively.
● Fuzzy implications: A fuzzy implication is the generalization of
the classical one to fuzzy logic, much the same way as a t-norm
and a t-conorm are generalizations of the classical conjunction
and disjunction, respectively.
● Fuzzy algorithms: In this sense, an algorithm is a fuzzy
algorithm when its variables range over fuzzy sets, regardless of
whether they are finite sets or continua.
● Defuzzification: Defuzzification is the process of producing a
quantifiable result in Crisp logic, given fuzzy sets and
corresponding membership degrees. It is the process that maps
a fuzzy set to a crisp set. It is typically needed in fuzzy control
systems.
Unit 3: Fuzzy Systems
● Fuzzy controller: A fuzzy control system is a control system
based on fuzzy logic—a mathematical system that analyzes
analog input values in terms of logical variables that take on
continuous values between 0 and 1, in contrast to classical or
digital logic, which operates on discrete values of either 1 or 0
● Fuzzy rule base: In a broad sense, fuzzy rule-based systems
are rule-based systems, where fuzzy sets and fuzzy logic are
used as tools for representing different forms of knowledge
about the problem at hand, as well as for modeling the
interactions and relationships existing between its variables.
● Approximate reasoning: Approximate Reasoning is the
process or processes by which a possible imprecise conclusion
is deduced from a collection of imprecise premises. Fuzzy logic
plays the major role in approximate reasoning. It has the ability
to deal with different types of uncertainty.
● Fuzzy propositions: Fuzzy Propositions :- Fuzzy propositions
are assigned to fuzzy sets. Suppose a fuzzy proposition 'P' is
assigned to a fuzzy set 'A', then the truth value of the
proposition is proposed by T (P) = μA(x) where 0 ≤ μA(x) ≤ 1.
Therefore truthness of a proposition P is membership value of x
in fuzzy set A.
● Rule formation: In crisp logic, the premise x is A can only be
true or false. However, in a fuzzy rule, the premise x is A and the
consequent y is B can be true to a degree, instead of entirely
true or entirely false. This is achieved by representing the
linguistic variables A and B using fuzzy sets.
● Decomposition of compound rules: There are various
methods for decomposition of rules. They are:
○ 1. Multiple conjunction antecedents
○ 2. Multiple disjunctive antecedents
○ 3. Conditional statements with ELSE
○ 4. Nested IF–THEN rules
● Aggregation of fuzzy rules: Aggregation is the process by
which the fuzzy sets that represent the outputs of each rule are
combined into a single fuzzy set. Aggregation only occurs once
for each output variable, which is before the final defuzzification
step.
● Fuzzy inference system: A fuzzy inference system (FIS) is a
system that uses fuzzy set theory to map inputs (features in the
case of fuzzy classification) to outputs (classes in the case of
fuzzy classification).
● Fuzzy expert system: Fuzzy expert system models are similar
to the classical expert system models, where input spaces are
mapped to an output space. A fuzzy expert system uses a
collection of fuzzy membership functions and rules for
knowledge representation and reasoning with observed system
state data.
Unit 4: Evolutionary Computing
● Evolutionary processes:
○ In computer science, evolutionary computation is a family
of algorithms for global optimization inspired by biological
evolution, and the subfield of artificial intelligence and soft
computing studying these algorithms. In technical terms,
they are a family of population-based trial and error
problem solvers with a metaheuristic or stochastic
optimization character.
○ In evolutionary computation, an initial set of candidate
solutions is generated and iteratively updated. Each new
generation is produced by stochastically removing less
desired solutions, and introducing small random changes.
In biological terminology, a population of solutions is
subjected to natural selection (or artificial selection) and
mutation. As a result, the population will gradually evolve
to increase in fitness, in this case the chosen fitness
function of the algorithm.
○ Evolutionary computation techniques can produce highly
optimized solutions in a wide range of problem settings,
making them popular in computer science. Many variants
and extensions exist, suited to more specific families of
problems and data structures. Evolutionary computation is
also sometimes used in evolutionary biology as an in silico
experimental procedure to study common aspects of
general evolutionary processes.
● Evolutionary system:
○ Evolutionary systems are a type of system, which
reproduce with mutation whereby the most fit elements
survive, and the less fit die down.[1] One of the developers
of the evolutionary systems thinking is Béla H. Bánáthy.[2]
Evolutionary systems are characterized by "moving
equilibria and the dynamics of coevolutionary interactions
which can not be foreseen ex ante."[3] The study of
evolutionary systems is an important subcategory of
Complex Systems research.
● Canonical evolutionary algorithms:
○ In the early eighties, David Goldberg published a book,
Genetic Algorithms in search, optimization, and machine
learning. In this book he describes what makes genetic
algorithms work, and introduces the simple genetic
algorithm: an evolutionary algorithm based on binary
strings, with crossover along with mutation as variation
operator, and fitness-proportionate selection.
● Evolutionary programming:
○ Evolutionary programming is one of the four major
evolutionary algorithm paradigms. It is similar to genetic
programming, but the structure of the program to be
optimized is fixed, while its numerical parameters are
allowed to evolve.
○ It was first used by Lawrence J. Fogel in the US in 1960 in
order to use simulated evolution as a learning process
aiming to generate artificial intelligence. Fogel used
finite-state machines as predictors and evolved them.
Currently evolutionary programming is a wide
evolutionary computing dialect with no fixed structure or
(representation), in contrast with some of the other
dialects. It is becoming harder to distinguish from
evolutionary strategies.
○ Its main variation operator is mutation; members of the
population are viewed as part of a specific species rather
than members of the same species therefore each parent
generates an offspring, using a (μ + μ)[further explanation
needed] survivor selection.
● Evolutionary strategies:
○ Evolution Strategies (ESs) are a sub-class of
nature-inspired direct search (and optimization) methods
belonging to the class of Evolutionary Algorithms (EAs)
which use mutation, recombination, and selection applied
to a population of individuals containing candidate
solutions in order to evolve iteratively better and better
solutions. Its roots date back to the mid 1960s when P.
Bienert, I. Rechenberg, and H.-P. Schwefel at the Technical
University of Berlin, Germany, developed the first
bionics-inspired schemes for evolving optimal shapes of
minimal drag bodies in a wind tunnel using Darwin's
evolution principle.
○ Evolution Strategies can be applied in all fields of
optimization including continuous, discrete, combinatorial
search spaces Y without and with constraints as well as
mixed search spaces. Given the optimization problem Y* =
Argopty∈Y f(y), the function f(y) to be optimized, also
referred to as objective (or goal) function, can be
presented in mathematical form, via simulations, or even
in terms of measurements obtained from real objects. The
ES can also be applied to a set of objective functions in
context of multi-objective optimization (see also
Multiobjective Evolutionary Algorithms and Multiobjective
Search).
● Common Framework:
○ Step One: Generate the initial population of individuals
randomly. (First generation)
○ Step Two: Repeat the following regenerational steps until
termination:
1. Evaluate the fitness of each individual in that
population (time limit, sufficient fitness achieved,
etc.)
2. Select the fittest individuals for reproduction.
(Parents)
3. Breed new individuals through crossover and
mutation operations to give birth to offspring.
4. Evaluate the fitness of new individuals.
5. Replace the least-fit individuals of the population
with new individuals.
Unit 5: Genetic Algorithm
● Working principle:
○ The process of natural selection starts with the selection
of fittest individuals from a population. They produce
offspring which inherit the characteristics of the parents
and will be added to the next generation. If parents have
better fitness, their offspring will be better than parents
and have a better chance at surviving. This process keeps
on iterating and at the end, a generation with the fittest
individuals will be found.
○ This notion can be applied for a search problem. We
consider a set of solutions for a problem and select the set
of best ones out of them.
● Procedures:
○ Five phases are considered in a genetic algorithm.
■ Initial population
■ Fitness function
■ Selection
■ Crossover
■ Mutation
● Initialization:
○ The process begins with a set of individuals which is
called a Population. Each individual is a solution to the
problem you want to solve.
○ An individual is characterized by a set of parameters
(variables) known as Genes. Genes are joined into a string
to form a Chromosome (solution).
○ In a genetic algorithm, the set of genes of an individual is
represented using a string, in terms of an alphabet.
Usually, binary values are used (string of 1s and 0s). We
say that we encode the genes in a chromosome.
● Selection:
○ The idea of selection phase is to select the fittest
individuals and let them pass their genes to the next
generation.
○ Two pairs of individuals (parents) are selected based on
their fitness scores. Individuals with high fitness have more
chance to be selected for reproduction
● Fitness Function:
○ The fitness function determines how fit an individual is (the
ability of an individual to compete with other individuals). It
gives a fitness score to each individual. The probability
that an individual will be selected for reproduction is
based on its fitness score.
● CrossOver:
○ Crossover is the most significant phase in a genetic
algorithm. For each pair of parents to be mated, a
crossover point is chosen at random from within the
genes.Offspring are created by exchanging the genes of
parents among themselves until the crossover point is
reached.The new offspring are added to the population.
● Mutation:
○ In certain new offspring formed, some of their genes can
be subjected to a mutation with a low random probability.
This implies that some of the bits in the bit string can be
flipped.Mutation occurs to maintain diversity within the
population and prevent premature convergence.
● Termination:
○ The algorithm terminates if the population has converged
(does not produce offspring which are significantly
different from the previous generation). Then it is said that
the genetic algorithm has provided a set of solutions to
our problem.
● Pseudo Code:
○ START
○ Generate the initial population
○ Compute fitness
○ REPEAT
○ Selection
○ Crossover
○ Mutation
○ Compute fitness
○ UNTIL population has converged
○ STOP
● Schema theorem:
○ Holland's schema theorem, also called the fundamental
theorem of genetic algorithms,[1] is an inequality that
results from coarse-graining an equation for evolutionary
dynamics. The Schema Theorem says that short,
low-order schemata with above-average fitness increase
exponentially in frequency in successive generations. The
theorem was proposed by John Holland in the 1970s. It
was initially widely taken to be the foundation for
explanations of the power of genetic algorithms. However,
this interpretation of its implications has been criticized in
several publications reviewed in [2], where the Schema
Theorem is shown to be a special case of the Price
equation with the schema indicator function as the
macroscopic measurement.
○ A schema is a template that identifies a subset of strings
with similarities at certain string positions. Schemata are a
special case of cylinder sets, and hence form a topological
space
○ Holland classifier systems:
○ A Holland classifier system is an adaptive, general
purpose machine learning system which is designed to
operate in noisy environments with infrequent and often
incomplete feedback. Examples of such environments are
financial markets, stock management systems, or
chemical processes. In financial markets, a Holland
classifier system would develop trading strategies, in a
stock management system order heuristics, and in a
chemical plant it would perform process control. In this
paper we describe a Holland classifier system and present
the implementation of its components, namely the
production system, the bucket brigade algorithm, the
genetic algorithm, and the cover detector, cover effector
and triggered chaining operator. Finally, we illustrate the
working of a Holland classifier system by learning to find a
path with a high payoff in a simple finite state world.
● Genetic programming:
○ In artificial intelligence, genetic programming (GP) is a
technique of evolving programs, starting from a
population of unfit (usually random) programs, fit for a
particular task by applying operations analogous to
natural genetic processes to the population of programs. It
is essentially a heuristic search technique often described
as 'hill climbing', i.e. searching for an optimal or at least
suitable program among the space of all programs.
○ The operations are: selection of the fittest programs for
reproduction (crossover) and mutation according to a
predefined fitness measure, usually proficiency at the
desired task. The crossover operation involves swapping
random parts of selected pairs (parents) to produce new
and different offspring that become part of the new
generation of programs. Mutation involves substitution of
some random part of a program with some other random
part of a program. - Some programs not selected for
reproduction are copied from the current generation to
the new generation. Then the selection and other
operations are recursively applied to the new generation
of programs.
● Application of GA:
○ Bayesian inference links to particle methods in Bayesian
statistics and hidden Markov chain models[1][2]
○ Artificial creativity
○ Chemical kinetics (gas and solid phases)
○ Calculation of bound states and local-density
approximations
○ Code-breaking, using the GA to search large solution
spaces of ciphers for the one correct decryption.[3]
○ Computer architecture: using GA to find out weak links in
approximate computing such as lookahead.
○ Configuration applications, particularly physics
applications of optimal molecule configurations for
particular systems like C60 (buckyballs)
○ Construction of facial composites of suspects by
eyewitnesses in forensic science.[4]
○ Data Center/Server Farm.[5]
○ Distributed computer network topologies
○ Electronic circuit design, known as evolvable hardware
○ Feature selection for Machine Learning[6]
○ Feynman-Kac models [7][8][9]
○ File allocation for a distributed system
● Convergence of GA:
○ Convergence is a phenomenon in evolutionary
computation. It causes evolution to halt because precisely
every individual in the population is identical. Full
convergence might be seen in genetic algorithms (a type
of evolutionary computation) using only crossover (a way
of combining individuals to make new offspring).
Premature convergence is when a population has
converged to a single solution, but that solution is not as
high of quality as expected, i.e. the population has gotten
'stuck'. However, convergence is not necessarily a
negative thing, because populations often stabilise after a
time, in the sense that the best programs all have a
common ancestor and their behaviour is very similar (or
identical) both to each other and to that of high fitness
programs from the previous generations. Often the term
convergence is loosely used. Convergence can be
avoided with a variety of diversity-generating techniques.
Unit 6: Swarm Intelligence
● Swarm Intelligence:
○ Swarm intelligence (SI) is the collective behavior of
decentralized, self-organized systems, natural or artificial.
The concept is employed in work on artificial intelligence.
The expression was introduced by Gerardo Beni and Jing
Wang in 1989, in the context of cellular robotic systems.[1]
○ SI systems consist typically of a population of simple
agents or boids interacting locally with one another and
with their environment. The inspiration often comes from
nature, especially biological systems. The agents follow
very simple rules, and although there is no centralized
control structure dictating how individual agents should
behave, local, and to a certain degree random,
interactions between such agents lead to the emergence
of "intelligent" global behavior, unknown to the individual
agents. Examples of swarm intelligence in natural systems
include ant colonies, bird flocking, hawks hunting, animal
herding, bacterial growth, fish schooling and microbial
intelligence.
○ The application of swarm principles to robots is called
swarm robotics, while 'swarm intelligence' refers to the
more general set of algorithms. 'Swarm prediction' has
been used in the context of forecasting problems. Similar
approaches to those proposed for swarm robotics are
considered for genetically modified organisms in synthetic
collective intelligence. [2]
● Particle Swarm Optimization:
○ Particle swarm optimization (PSO) is a global optimization
algorithm for dealing with problems in which a best
solution can be represented as a point or surface in an
n-dimensional space. Hypotheses are plotted in this space
and seeded with an initial velocity, as well as a
communication channel between the particles.[21][22]
Particles then move through the solution space, and are
evaluated according to some fitness criterion after each
timestep. Over time, particles are accelerated towards
those particles within their communication grouping which
have better fitness values. The main advantage of such an
approach over other global minimization strategies such
as simulated annealing is that the large number of
members that make up the particle swarm make the
technique impressively resilient to the problem of local
minima.
● Convergence:
○ In relation to PSO the word convergence typically refers to
two different definitions:
■ Convergence of the sequence of solutions (aka,
stability analysis, converging) in which all particles
have converged to a point in the search-space,
which may or may not be the optimum,
■ Convergence to a local optimum where all personal
bests p or, alternatively, the swarm's best known
position g, approaches a local optimum of the
problem, regardless of how the swarm behaves.
○ Convergence of the sequence of solutions has been
investigated for PSO.[15][16][17] These analyses have
resulted in guidelines for selecting PSO parameters that
are believed to cause convergence to a point and prevent
divergence of the swarm's particles (particles do not move
unboundedly and will converge to somewhere). However,
the analyses were criticized by Pedersen[22] for being
oversimplified as they assume the swarm has only one
particle, that it does not use stochastic variables and that
the points of attraction, that is, the particle's best known
position p and the swarm's best known position g, remain
constant throughout the optimization process. However, it
was shown[38] that these simplifications do not affect the
boundaries found by these studies for parameter where
the swarm is convergent. Considerable effort has been
made in recent years to weaken the modelling
assumption utilized during the stability analysis of PSO
[39], with the most recent generalized result applying to
numerous PSO variants and utilized what was shown to be
the minimal necessary modeling assumptions [40].
○ Convergence to a local optimum has been analyzed for
PSO in[41] and.[42] It has been proven that PSO need some
modification to guarantee to find a local optimum.
○ This means that determining convergence capabilities of
different PSO algorithms and parameters therefore still
depends on empirical results. One attempt at addressing
this issue is the development of an "orthogonal learning"
strategy for an improved use of the information already
existing in the relationship between p and g, so as to form
a leading converging exemplar and to be effective with
any PSO topology. The aims are to improve the
performance of PSO overall, including faster global
convergence, higher solution quality, and stronger
robustness.[43] However, such studies do not provide
theoretical evidence to actually prove their claims.
● Topology:
○ The topology of the swarm defines the subset of particles
with which each particle can exchange information.[28]
The basic version of the algorithm uses the global
topology as the swarm communication structure.[10] This
topology allows all particles to communicate with all the
other particles, thus the whole swarm share the same best
position g from a single particle. However, this approach
might lead the swarm to be trapped into a local
minimum,[29] thus different topologies have been used to
control the flow of information among particles. For
instance, in local topologies, particles only share
information with a subset of particles.[10] This subset can
be a geometrical one[30] – for example "the m nearest
particles" – or, more often, a social one, i.e. a set of
particles that is not depending on any distance. In such
cases, the PSO variant is said to be local best (vs global
best for the basic PSO).
○ A commonly used swarm topology is the ring, in which
each particle has just two neighbours, but there are many
others.[10] The topology is not necessarily static. In fact,
since the topology is related to the diversity of
communication of the particles,[31] some efforts have
been done to create adaptive topologies (SPSO,[32]
APSO,[33] stochastic star,[34] TRIBES,[35] Cyber Swarm,[36]
and C-PSO[37]).
● Binary PSO:
○ In BPSO, each solution in the population is a binary string.
Each binary string is of dimension which is evaluated to
give parameter values. In the binary PSO, each binary
string represents a particle. Strings are updated bit-by-bit
based on its current value, the value of that bit in the best
(fitness) of that particle to date, and the best value of that
bit to date of its neighbors. For binary strings, neighbours
can be selected in one of several ways. Some examples
are: (for a neighbourhood of size k). Neighbours are the k
binary strings whose Hamming distance is minimized
(Kennedy 1997). For equal Hamming distances, the
choices are arbitrary. In the beginning, arbitrarily assign
groups of k strings to neighbourhoods. Let the
neighbourhood size be the population size. In regular (real
valued) PSO, everything is in terms of a velocity. Generally
the velocity is defined in terms of a probability of the bit
changing. In BPSO, bit-by-bit updates are done
probabilistically. In other words, for a chosen bit in a
chosen string it is changed to a 1 with a probability P that is
a function of its predisposition to be a 1, the best value of
itself to date, and the best value of its neighbors. (1-P) is
the probability of changing to a zero. Once P is
determined, a random number is generated. If becomes a
1; otherwise it becomes a zero.
● Ant Colony Optimization:
○ Ant colony optimization (ACO), introduced by Dorigo in his
doctoral dissertation, is a class of optimization algorithms
modeled on the actions of an ant colony. ACO is a
probabilistic technique useful in problems that deal with
finding better paths through graphs. Artificial
'ants'—simulation agents—locate optimal solutions by
moving through a parameter space representing all
possible solutions. Natural ants lay down pheromones
directing each other to resources while exploring their
environment. The simulated 'ants' similarly record their
positions and the quality of their solutions, so that in later
simulation iterations more ants locate for better
solutions.[20]
● Applications of PSO:
○ Neural Networks
○ Telecommunication
○ Data Mining
○ Signal Processing
○ Combinatorial Optimizations
● Applications of ACO:
○ Scheduling problem
■ Sequential Ordering Problem (SOP) [32]
■ Job-shop scheduling problem (JSP)[33]
■ Open-shop scheduling problem (OSP)[34][35]
■ Permutation flow shop problem (PFSP)[36]
■ Single machine total tardiness problem (SMTTP)[37]
■ Single machine total weighted tardiness problem
(SMTWTP)[38][39][40]
■ Resource-constrained project scheduling problem
(RCPSP)[41]
■ Group-shop scheduling problem (GSP)[42]
■ Single-machine total tardiness problem with
sequence dependent setup times (SMTTPDST)[43]
■ Multistage flowshop scheduling problem (MFSP)
with sequence dependent setup/changeover
times[44]
○ Vehicle routing problem
■ Capacitated vehicle routing problem (CVRP)[45][46][47]
■ Multi-depot vehicle routing problem (MDVRP)[48]
■ Period vehicle routing problem (PVRP)[49]
■ Split delivery vehicle routing problem (SDVRP)[50]
■ Stochastic vehicle routing problem (SVRP)[51]
■ Vehicle routing problem with pick-up and delivery
(VRPPD)[52][53]
■ Vehicle routing problem with time windows
(VRPTW)[54][55][56][57]
■ Time dependent vehicle routing problem with time
windows (TDVRPTW)[58]
■ Vehicle routing problem with time windows and
multiple service workers (VRPTWMS)
○ Assignment problem
■ Quadratic assignment problem (QAP)[59]
■ Generalized assignment problem (GAP)[60][61]
■ Frequency assignment problem (FAP)[62]
■ Redundancy allocation problem (RAP)[63]
○ Set problem
■ Set cover problem (SCP)[64][65]
■ Partition problem (SPP)[66]
■ Weight constrained graph tree partition problem
(WCGTPP)[67]
■ Arc-weighted l-cardinality tree problem (AWlCTP)[68]
■ Multiple knapsack problem (MKP)[69]
■ Maximum independent set problem (MIS)[70]
● Device sizing problem in nanoelectronics
physical design
■ Ant colony optimization (ACO) based optimization of
45 nm CMOS-based sense amplifier circuit could
converge to optimal solutions in very minimal time.[71]
■ Ant colony optimization (ACO) based reversible
circuit synthesis could improve efficiency
significantly.[72]