Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
160 views

Soft Computing and Optimization Algorithms

Soft Computing and Optimization Algorithms This provides very brief notes on 4 main concepts 1) Fuzzy Logic 2) Evolutionary Computing 3) Swarm Intelligence 4) Genetic Algorithm

Uploaded by

Andrew Garfield
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
160 views

Soft Computing and Optimization Algorithms

Soft Computing and Optimization Algorithms This provides very brief notes on 4 main concepts 1) Fuzzy Logic 2) Evolutionary Computing 3) Swarm Intelligence 4) Genetic Algorithm

Uploaded by

Andrew Garfield
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

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 :- 
● (A​c​)​c​ = A 
○ De morgan Property :- 
● (A ∪ B)​c​ = A​c​ ∩ B​c 
● (A ∩ B)​c​ = A​c​ ∪ B​c 

​ ∪ A​c ​≠ X ; A ∩ A​c ​≠ Φ 
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] 

You might also like