Open In App

Brain storm optimization

Last Updated : 08 Nov, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

Optimization is usually tasked to identify the best solution(s) for some specific problem. A problem with optimization in Rn or simply a problem with optimization is 

f: R_n \rightarrow R_m                       

, whereby Rn and Rm represent decision space and objective space respectively. The fitness value or fitness value vector in the target area are connected to each solution in the field of decision.

You can see a minimum optimization problem as follows:

min 

f(x) = [f_1(x),f_2(x),...,f_m(x)]

Constraint by 

g_i(x) \leq 0 , i=1,2,...,k

h_j(x) = 0, j=1,2,...,p

where f() is the objective function, x = (x_1, x_2,..., x_n)      is the variable vector to be optimized, g_i()      and h_j()      are the constraints. The evaluation function in optimization, f(x), maps decision variables to objective vectors. Depending upon the value of m, optimization problems are of two types: single objective (m=1) and multi objective (m>1).

Many researchers have built a number of meta-heuristics to solve difficult and unresolved optimization problems. Example: Teaching Learning Based Optimization, Particle Swarm optimization, Grey-Wolf optimization.

This article is intended to present a novel technique meta-heuristic optimization technique known as Brain Storming optimization (BSO).

Background:

Population-based optimization algorithms have been widely accepted and successfully used for many optimization problems. A population-based optimization algorithm is a number of points (population). In contrast to traditional single-point-base algorithms such as hill counting algorithms, the solution is to exchange information to cooperate and/or compete with one another. In recent times, more population based algorithms have been developed, usually referred to as naturally-inspired algorithms for optimization rather than algorithms based on development. Most natural optimization algorithms are considered swarm intelligence algorithms. Most natural optimization algorithms are considered swarm intelligence algorithms. Each entity in the population represents a simple object in a swarm intelligence algorithm, such as ants, birds, fish, etc. Brain Storming Optimization was proposed in 2011 as a swarm intelligence algorithm that imitates brainstorm diagnosis problem-solving population-based. Human beings are the most intelligent social species and animals in the universe. Consequently, an optimization algorithm inspired by humans can be viewed as a good algorithm.

Steps of Brainstorming process:

The above figure shows the steps of the brainstorming process. The first step in this process is coming up with rough ideas and grouping them together. After one has raw ideas, the process of clarifying and condensing those ideas into a bunch of sensible and refined ideas comes into being. Both steps fall into the category of creative. In the third step,  one decides the evaluation of the refined ideas and makes the necessary changes required. The last step in the brainstorming process is creating a possible solution out of the sensible, evaluated ideas. The conclusion of this process can be either the solution works or it doesn’t. The latter triggers the same process all over again.

Osborn provided rules for Idea Generation in a Brainstorming Process:

  • Suspend Judgement: It is unwise to determine whether the concept proposed is good or poor.
  • Anything Goes: Anything coming to your mind during the brainstorming process is an idea worth to be shared and recorded.
  • Cross-fertilize (Piggyback): Any idea generated can and should be an indication of how more ideas should be generated.
  • Go for Quantity: Generate as many ideas as possible.

The purpose to generate ideas according to the rules in Table 2 is to generate ideas as diverse as possible so that the people in the brainstorming group will be open-minded as possible.

Algorithm:

  1. Initialization: Generate n random individuals (possible solutions), and evaluate those n 
    individuals;
  2. Clustering: Using k-means clustering algorithm cluster n individuals into m clusters;
  3. List the best individual in each group as the cluster centre, depending on the rank of the individual.
  4. Generate a value r1 in the range [0, 1) randomly;
  5. Let’s assume p1 (predetermined probability)
  6. If r1 < p61 Then 
    Select a cluster at random and replace it with an individual picked at random;
  7. Generate a value r2 in the range [0, 1) randomly; 
    1. If r2 < p71 Then 
      Randomly select cluster whose probability is p711
      Generate a value r3 in the range [0, 1) randomly; 
      • If r3 < p7111 (p7111 is predetermined probability) Then 
        Add random values to the selected cluster center to generate new individual;
      • Else 
        Select a random individual from this cluster and add a random value to the individual to generate new individual;
    2. Else 
      Select two clusters at random to generate new individuals 
      Generate a value r4 in the range [0, 1) randomly; 
      • If r4 < p72 (p72 is predetermined probability) Then 
        Cluster centers are combined and random values are added to generate new individuals
      • Else 
        Two random individuals are selected are added to random values to generate new individuals 
        The newly generated individual is compared to the existing individual
    3. If better Then Kept 
      Else Removed
  8. If n individuals are generated Then goto next step; 
    Else goto 7
  9. If max iteration reached Then end 
    Else goto 2
     

New ideas are stimulated by steps 2, 3 and 7.1 imitates generating new ideas inspired by the previously generated idea. 7.2 imitates generating new ideas inspired from the previously generated two ideas from two different cluster centres.

NOTE: A cluster centre is more likely to generate new ideas than in any cluster

Many real-world applications could be modelled as optimization problems. As an outstanding swarm intelligence algorithm, brainstorm optimization has been widely used to solve enormous real-world problems.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads