All Courses
All Courses
Courses by Software
Courses by Semester
Courses by Domain
Tool-focused Courses
Machine learning
POPULAR COURSES
Success Stories
AIM: TO WRITE A CODE IN MATLAB TO OPTIMISE THE STALAGMITE FUNCTION AND FIND THE GLOBAL MAXIMA OF THE FUNCTION. CLEARLY EXPLAIN THE CONCEPT OF GENETIC ALGORITHM IN YOUR WORDS AND ALSO EXPLAIN SYNTAX FOR GA IN MATLAB. PLOT GRAPHS FOR ALL 3 STUDIES AND FOR ‘F’ MAXIMUM Vs NO.OF ITERATION. STALAGMITE: A STALAGMITE IS A TYPE…
Kishoremoorthy SP
updated on 03 Aug 2022
AIM:
STALAGMITE:
GENETIC ALGORITHM:
GENETIC ALGORITHM SOLVES SMOOTH OR NON-SMOOTH OPTIMIZATION PROBLEMS WITH ANY TYPES OF CONSTRAINTS, INCLUDING INTEGER CONSTRAINTS. IT IS A STOCHASTIC, POPULATION-BASED ALGORITHM THAT SEARCHES RANDOMLY BY MUTATION AND CROSSOVER AMONG POPULATION MEMBERS.
A GENETIC ALGORITHM (GA) IS A METHOD FOR SOLVING BOTH CONSTRAINED AND UNCONSTRAINED OPTIMIZATION PROBLEMS BASED ON A NATURAL SELECTION PROCESS THAT MIMICS BIOLOGICAL EVOLUTION. THE ALGORITHM REPEATEDLY MODIFIES A POPULATION OF INDIVIDUAL SOLUTIONS. AT EACH STEP, THE GENETIC ALGORITHM RANDOMLY SELECTS INDIVIDUALS FROM THE CURRENT POPULATION AND USES THEM AS PARENTS TO PRODUCE THE CHILDREN FOR THE NEXT GENERATION. OVER SUCCESSIVE GENERATIONS, THE POPULATION "EVOLVES" TOWARD AN OPTIMAL SOLUTION.
YOU CAN APPLY THE GENETIC ALGORITHM TO SOLVE PROBLEMS THAT ARE NOT WELL SUITED FOR STANDARD OPTIMIZATION ALGORITHMS, INCLUDING PROBLEMS IN WHICH THE OBJECTIVE FUNCTION IS DISCONTINUOUS, NONDIFFERENTIABLE, STOCHASTIC, OR HIGHLY NONLINEAR.
IN MATLAB THE GENETIC ALGORITHM SOLVER IS ABBREVIATED AS “GA”. WHICH IS ONLY USED TO FIND MINIMUM OF A FUNCTION.
EXPLANATION OF ‘’GA’’ SYNTAX.
function [F]=stalagmaite_function(inputs)
x=inputs(1);
y=inputs(2);
f1x=(sin(5.1*pi*x+0.5)).^6;
f1y=(sin(5.1*pi*y+0.5)).^6;
f2x=exp(-4*log(2)*(((x-0.0667).^2)/0.64));
f2y=exp(-4*log(2)*(((y-0.0667).^2)/0.64));
F=-(f1x*f1y*f2x*f2y);
end
%since Genetic algotitm only minimises the function, in order to maximise it we put a negative sign.
PROCESS FLOW
STUDY OF CASE 1 UNBOUNDED GA PERFORMING
clear
close
clc
%CODE FOR FINDING THE GLOBAL MAXIMA
%INPUT VALUES
x=linspace(0,0.6,150);
y=linspace(0,0.6,150);
%CONVERTING INTO 2-D ARRAY
[xx,yy]=meshgrid(x,y);
%CALULATING THE FITTING FUNCTION
for i=1:length(xx)
for j=1:length(yy)
input(1)=xx(i,j);
input(2)=yy(i,j);
F(i,j)=stalagmaite_function(input);
end
end
%STUDY OF UNBOUNDED GA PERFORMING (CASE 1)
for i = 1:50
[inputs, Fopt(i)]=ga(@stalagmaite_function,2);
xopt(i)=inputs(1);
yopt(i)=inputs(2);
end
%PLOTTING GLOBAL MAXIMA AND FUNCTION VALUES
figure(1)
surf(x,y,-F)
xlabel('X VALUES')
ylabel('Y VALUES')
zlabel('F VALUES')
shading interp
figure(2)
subplot(2,1,1)
surf(x,y,-F)
xlabel('X VALUES')
ylabel('Y VALUES')
zlabel('F VALUES')
shading interp
hold on
plot3(xopt,yopt,-Fopt,'color','b','Marker','o',MarkerSize=5,MarkerFaceColor='r');
title('CASE-1:UNBOUNDED INPUTS VALUES')
legend('STALAGMITE','GLOBAL MAXIMA')
subplot(2,1,2)
plot(-Fopt)
xlabel('ITERATION')
ylabel('FUNCTION MAXIMUM VALUE')
grid ON
STUDY OF CASE 2 BOUNDED GA PERFORMING WITH LOWER BOUNDARY AND UPPER BOUNDARY.
clear
close
clc
%CODE FOR FINDING THE GLOBAL MAXIMA
%INPUT VALUES
x=linspace(0,0.6,150);
y=linspace(0,0.6,150);
%CONVERTING INTO 2-D ARRAY
[xx,yy]=meshgrid(x,y);
%CALULATING THE FITTING FUNCTION
for i=1:length(xx)
for j=1:length(yy)
input(1)=xx(i,j);
input(2)=yy(i,j);
F(i,j)=stalagmaite_function(input);
end
end
%STUDY OF BOUNDED GA PERFORMING (CASE 2)
for i = 1:50
[inputs, Fopt(i)]=ga(@stalagmaite_function,2,[],[],[],[],[0;0],[0.4;0.4]);
xopt(i)=inputs(1);
yopt(i)=inputs(2);
end
%PLOTTING GLOBAL MAXIMA AND FUNCTION VALUES
figure(1)
surf(x,y,-F)
xlabel('X VALUES')
ylabel('Y VALUES')
zlabel('F VALUES')
shading interp
figure(2)
subplot(2,1,1)
surf(x,y,-F)
xlabel('X VALUES')
ylabel('Y VALUES')
zlabel('F VALUES')
shading interp
hold on
plot3(xopt,yopt,-Fopt,'color','b','Marker','o',MarkerSize=5,MarkerFaceColor='r');
title('CASE-2:BOUNDED INPUTS VALUES')
legend('STALAGMITE','GLOBAL MAXIMA')
subplot(2,1,2)
plot(-Fopt)
xlabel('ITERATION')
ylabel('FUNCTION MAXIMUM VALUE')
grid ON
STUDY OF CASE 3 BOUNDED GA PERFORMING WITH LOWER BOUNDARY AND UPPER BOUNDARY AND WITH ADDING OPTIONS INCREASING ITERATION VALUES.
clear
close
clc
%CODE FOR FINDING THE GLOBAL MAXIMA
%INPUT VALUES
x=linspace(0,0.6,150);
y=linspace(0,0.6,150);
%CONVERTING INTO 2-D ARRAY
[xx,yy]=meshgrid(x,y);
%CALULATING THE FITTING FUNCTION
for i=1:length(xx)
for j=1:length(yy)
input(1)=xx(i,j);
input(2)=yy(i,j);
F(i,j)=stalagmaite_function(input);
end
end
%STUDY OF BOUNDED GA PERFORMING USING OPTIONS (CASE 3)
options = optimoptions('ga');
options = optimoptions(options, 'PopulationSize',270);
for i = 1:50
[inputs, Fopt(i)]=ga(@stalagmaite_function,2,[],[],[],[],[0;0],[0.4;0.4],[],[],options);
xopt(i)=inputs(1);
yopt(i)=inputs(2);
end
%PLOTTING GLOBAL MAXIMA AND FUNCTION VALUES
figure(1)
surf(x,y,-F)
xlabel('X VALUES')
ylabel('Y VALUES')
zlabel('F VALUES')
shading interp
figure(2)
subplot(2,1,1)
surf(x,y,-F)
xlabel('X VALUES')
ylabel('Y VALUES')
zlabel('F VALUES')
shading interp
hold on
plot3(xopt,yopt,-Fopt,'color','b','Marker','o',MarkerSize=5,MarkerFaceColor='r');
title('CASE-3:BOUNDED INPUTS VALUES WITH OPTIONS VALUES')
legend('STALAGMITE','GLOBAL MAXIMA')
subplot(2,1,2)
plot(-Fopt)
xlabel('ITERATION')
ylabel('FUNCTION MAXIMUM VALUE')
grid ON
EXPLANATION OF CODE:
IN THE STUDY CASE 1 WITHOUT THE BOUNDED VALUES.
STUDY_3 WITH BOUNDED INPUTS AND INCREASED POPULATION CODE :-
OPTIONS = OPTIMOPTIONS(SOLVERNAME)RETURNS A SET OF DEFAULT OPTIONS FOR THE SOLVERNAME SOLVER.
OPTIONS = OPTIMOPTIONS(SOLVERNAME,NAME,VALUE) RETURN OPTIONS WITH NAME PARAMETERS ALTERED WITH THE SPECIFIED VALUES.
STOPPING CRITERIA OF GA
MAXGENERATIONS - THE ALGORITHM STOPS WHEN THE NUMBER OF GENERATIONS REACHES MAX GENERATIONS.
MAXTIME - THE ALGORITHM STOPS AFTER RUNNING FOR AN AMOUNT OF TIME IN SECONDS EQUAL TO MAXTIME.
FITNESSLIMIT - THE ALGORITHM STOPS WHEN THE VALUE OF THE FITNESS FUNCTION FOR THE BEST POINT IN THE CURRENT POPULATION IS LESS THAN OR EQUAL TO FITNESSLIMIT.
MAXSTALLGENERATIONS- THE ALGORITHM STOPS WHEN THE AVERAGE RELATIVE CHANGE IN THE FITNESS FUNCTION VALUE OVER MAXSTALLGENERATIONS IS LESS THAN FUNCTION TOLERANCE
MAXSTALLTIME - THE ALGORITHM STOPS IF THERE IS NO IMPROVEMENT IN THE OBJECTIVE FUNCTION DURING AN INTERVAL OF TIME IN SECONDS EQUAL TO MAXSTALLTIME.
FUNCTION TOLERANCE - THE ALGORITHM RUNS UNTIL THE AVERAGE RELATIVE CHANGE INTHE FITNESS FUNCTION VALUE OVER MAXSTALLGENERATIONS IS LESS THAN FUNCTION TOLERANCE.
CONCLUSION:
Leave a comment
Thanks for choosing to leave a comment. Please keep in mind that all the comments are moderated as per our comment policy, and your email will not be published for privacy reasons. Please leave a personal & meaningful conversation.
Other comments...
Week 4 Challenge : CFD Meshing for BMW car
AIM: FOR THE GIVE MODEL, CHECK AND SOLVE ALL GEOMETRICAL ERRORS ON HALF PORTION AND ASSIGN APPROPRITATE PIDS. PERFORMS MESHING WITH GIVEN TARGET LENGTH AND ELEMENT QUALITY CRITERIA. AFTER MESHING THE HALF MODEL,DO SYMMETRY TO THE OTHER SIDE. PRODECURE: INITIALLY, OPEN THE GIVEN BMW MODEL IN ANSA SOFTWARE.…
20 Oct 2023 11:25 AM IST
Week 12 - Validation studies of Symmetry BC vs Wedge BC in OpenFOAM vs Analytical H.P equation
Aim: employing the symmetry boundary condition to simulate an axis-symmetric laminar flow through the pipe's constant cross-section. Using both symmetry and wedge boundary conditions, simulate the aforementioned angles—10, 25, and 45 degrees—and evaluate your results using HP equations. Introduction: Hagen-Poiseuille's…
04 May 2023 03:14 PM IST
Week 11 - Simulation of Flow through a pipe in OpenFoam
Aim: Simulate axisymmetric flow in a pipe through foam. Objective: Verify the hydrodynamic length using the numerical result Verify a fully developed flow rate profile with its analytical profile Verify the maximum velocity and pressure drop for fully developed flow Post-process Shear Stress and verify wall shear stress…
04 May 2023 03:04 PM IST
Week 9 - FVM Literature Review
AIM To describe the need for interpolation schemes and flux limiters in Finite Volume Method (FVM). OBJECTIVE To study and understand What is Finite Volume Method(FVM) Write down the major differences between FDM & FVM Describe the need for interpolation schemes and flux limiters in FVM INTRODUCTION …
03 May 2023 05:47 AM IST
Related Courses
Skill-Lync offers industry relevant advanced engineering courses for engineering students by partnering with industry experts.
© 2025 Skill-Lync Inc. All Rights Reserved.