In this post, I’m going to show you my innovative algorithm for global optimization. This algorithm has an innovative mechanism to automatically restart its search process if it gets stuck in local optima. With this adaptive restart mechanism, success rate of achieving the global optimal solution of this algorithm is significantly enhanced. Robustness of this algorithm will be demonstrated in solving a difficult global optimization problem as shown in this Figure.
Here is the general structure of my innovative algorithm.
Here is the benchmark testing problem to be solved.
Let’s see how it works:
For more videos like this, check my YouTube channel here.
Matlab code
population.m
function Y=population(n)
% n = population size
% 40 = number of bits to express the number. Why? It depends on
% the required accuracy (the number of digits after comma) that we want
Y = round(rand(n,40));
end
crossover.m
function Y=crossover(P,n)
% P = population
% n = pair of chromosomes to be crossovered
[x1 y1]=size(P);
Z=zeros(2*n,40);
for i = 1:n
r1=randi(x1,1,2);
while r1(1)==r1(2)
r1=randi(x1,1,2);
end
A1=P(r1(1),:);
A2=P(r1(2),:);
r2=1+randi(39);
B1=A1(1,r2:40);
A1(1,r2:40)=A2(1,r2:40);
A2(1,r2:40)=B1;
Z(2*i-1,:)=A1;
Z(2*i,:)=A2;
end
Y=Z;
mutation.m
function Y=mutation(P,n)
% P = population
% n = chromosomes to be mutated
[x1 y1]=size(P);
Z=zeros(n,40);
for i = 1:n
r1=randi(x1);
A1=P(r1,:);
r2=randi(40,1,2);
while r2(1)==r2(2)
r2=randi(40,1,2);
end
B1=A1(1,r2(1));
A1(1,r2(1))=A1(1,r2(2));
A1(1,r2(2))=B1;
Z(i,:)=A1;
end
Y=Z;
.
.
.
Sorry! This is only a part of the Matlab code.
Notice: It would take you from 1 to 3 hours to re-type the Matlab code yourself; or with just €2.99 (the cost of a cup of coffee), you can download/copy the whole Matlab code within 2 minutes. It’s your choice to make.
Original price is €4.99 but today it’s only €2.99 (save €2 today – available for a limited time only)
Download the whole Matlab code here (Membership Code ID: 025)
No need to build the Matlab code from scratch because it’s very time-consuming. My idol, Jim Rohn, once said: “Time is more value than money. You can get more money, but you cannot get more time”. If you think this code can be used in your research/teaching work, you should download it and then customize/modify/apply it to your work, without any obligation of citing the original source if you don’t want. However, redistribution (i.e., downloading the code/script here and then making it available on another site on the Internet) is strictly prohibited.
If you have any question or problem, please contact Dr. Panda by email: learnwithpanda2018@gmail.com
Thank you very much and good luck with your research!
Hello everyone! In this post, I am going to show you my innovative version of…
Hello everyone. Let’s take a test to check your understanding about genetic algorithm, with multiple…
Hello everyone! In this post, I am going to show you my innovative version of…
Hello everyone. In this post, I am going to show you my innovative version of…
Hello everyone! Let’s see how my innovative version of Genetic Algorithm, called Adaptive Re-start Hybrid…
Hello everyone! Let’s take a short quiz, to test your knowledge about crypto-currency, or crypto.…
View Comments
Very useful information thank you. Is there away to download the code and give donations other than using paypal?
Hi, many thanks for your support. After clicking on paypal button, you can use credit or debit cards.