You are on page 1of 9

AN IMPROVED EVOLUTIONARY PROGRAM FOR FUNCTION OPTIMIZATION

OVERVIEW EP has since been gradually enhanced to handle almost any data structures and has been successfully applied to numerous combinatorial optimization problems. Similar to other EC methods, EP is a population-based algorithm. In its primitive form EP is fairly simple and can be summarized in terms of two major steps 1. Mutate the candidate solutions in the current population. 2. Select individual solutions for the next generation from both the mutated and the current solutions. Solutions in the current population are called Parent solutions, and solutions obtained through mutation are called Offspring solutions. Common selection strategies that are applicable in EP include proportionate selection, truncate selection, and ranking- based selection. In linear proportionate selection, an individual solution will be selected in proportion to its fitness. In ranking based selection, individuals in the population size are ordered according to their fitness. All these selection strategies only favor high-fitness individuals and have their strength and weakness.

Algorithm Involved in Evolutionary Programming: Step1: Population Initialization A population P is comprised with distinct positions, where is the population size. Here, we have x1 and x2 are two populations Involved. Were, X1 range from 0<x1<3 X2 range from 1<x2<5 Step 2: Fitness Evaluation The fitness is evaluated as per the following formula F(x) =X1+2X2 And the best value is evaluated. Step3: The operation is involved based on the Evolutionary Programming Tool /Genetic Algorithm Tool for the generation of various fitness values from the Offspring which is generated. Step4: F(x) is generated and the upper value is obtained in each operation and the graph is plotted.

Definitions, Acronyms and Abbreviations Evolutionary Programming: EP is similar to a genetic algorithm, but models only the behavioral linkage between parents and their offspring, rather than seeking to emulate specific genetic operators from nature such as the encoding of behavior in a genome and recombination by genetic crossover Offspring: Offspring is the product of reproduction, a new organism produced by one or more parents. Mutation: A mutation is a permanent change in the DNA sequence of a gene. Mutations in a gene's DNA sequence can alter the amino acid sequence of the protein encoded by the gene.

Flow Chart of the Concept:

Example of the Concept: The function of the project includes Survivor Selection and evaluating their Fitness Problem: A population P is comprised with size. Here, we have x1 and x2

distinct positions, where is the population

Formula: f(x) =x1+2x2.


Let, x1 range from 0<x1<3 So, the values are given below between the ranges specified: 0.5, 1.0, 1.3, 1.5, 1.8, 2.1, 2.3, 2.6, 2.7, 2.8 Let, x2 range from 1<x2<5 So, the values are given below between the ranges specified: 1.3, 1.6, 1.8, 2.3, 2.5, 2.7, 3.4, 3.7, 4.4, 4.8 So this can be written in matrix format as, X1 0.5 1.0 1.3 1.5 1.8 2.1 2.3 2.6 2.7 2.8 X2 1.3 1.6 1.8 2.3 2.5 2.7 3.4 3.7 4.4 4.8 F(x) 3.1 4.2 4.9 6.1 6.8 7.5 9.1 10 11.5 12.4

The best value obtained is: 12.4 Hence, x1=2.8 and x2=4.8 are called Solution Variables

represents population size.


Here,

=10

Parameters and are defined as,

=1/2 =1/2
Now, =10 so, =1/210 =1/6.32 =1/2.51 So =0.3976

NOW,
=1/2*10 (Since =10) =1/20 =1/4.47 So, =0.22

ni=ni[K] eN(0,1) + Nk(0,1)


Where, N (0, 1) and Nk (0, 1) represent two random real variables generated from independent Gaussian distributions with mean 0 and deviation 1 N (0, 1) and Nk (0, 1) can be ranged between 0 and 1 either any random number which can be generated.

ni[K] refers to the standard deviation of a probability distribution which is used by the
mutation operator to alter the corresponding element of Xi

N (0, 1) and Nk(0,1) from the values 0,1 we can select a random number between the range specified.

n1=1*e0.2*0.22+0.3*0.46
n1=1*e0.182 n1=1*1.19 So, n1=1.19 Now n2=2*e0.4*0.22+0.4*0.46 n2=2*e0.272 ni=2*1.31 So, n2=2.62
From this, we can calculate till n10 and obtain the result with different solutions.

n10=10*e0.8*0.22+0.9*0.46 n10=10*e0.59
n10=10*1.80 n10=18

Coding for the Step 1 and Step 2 Coding:


clc clear all close all x1=3 *rand(1,10); x2=4*rand(1,10)+1; for kk=1:10 f =x1+(2*x2); disp(max(f)); end u=10 s=1/sqrt(2*sqrt(u)) s1=1/sqrt(2*u) fprintf('\nThe solution obtained is:%f',t) fprintf('\nThe Solution of S is:%f',s) fprintf('\nThe solution of S1 is:%f',s1) Output: a= 0.5000 2.8000 b= 1.3000 4.8000 t= 3.1000 12.4000 u = 10 s= 0.3976 4.2000 4.9000 6.1000 6.8000 7.5000 9.1000 10.0000 11.5000 1.6000 1.8000 2.3000 2.5000 2.7000 3.4000 3.7000 4.4000 1.0000 1.3000 1.5000 1.8000 2.1000 2.3000 2.6000 2.7000

s1 =

0.2236

The solution obtained is:3.100000 The solution obtained is:4.200000 The solution obtained is:4.900000 The solution obtained is:6.100000 The solution obtained is:6.800000 The solution obtained is:7.500000 The solution obtained is:9.100000 The solution obtained is:10.000000 The solution obtained is:11.500000 The solution obtained is:12.400000 The Solution is:0.397635 The solution is:0.223607 Here we have got 12.4 as the maximum fitness. Like wise we need to generate 10 best fitness values and plot the graph according to it. The graph will be as

References: Buchenrieder,K. Sedlmeier, A. and Veith, C.(1995). Codes a framework for Heterogeneous system. In Co-design : Computer-Aided Software/ Hardware Engineering, IEEE press, Piscataway N.J, Blickle T.and Thiele, T.(1996). A comparison of selection schemes used in Evolutionary algorithm

You might also like