problem with writing uncommon constraint function in genetic algorithm???
Show older comments
Hi everyone, How to write a constraint function in genetic algorithm that is not directly related to fitness function?
for example, suppose that fitness=x1+x2 ; y1<y2 while y1 and y2 is dependent on x1,x2 and other some parameters.
Any suggestion will be great help and I appreciate that.
thank you guys.
Answers (1)
Alan Weiss
on 16 Dec 2015
Take a look at the documentation of nonlinear constraints. Your nonlinear constraint function would be something like this:
function [c,ceq] = confun(x)
% calculate y1 here
% calculate y2 here
c = y1 - y2;
ceq = [];
Alan Weiss
MATLAB mathematical toolbox documentation
4 Comments
Hamid
on 17 Dec 2015
Alan Weiss
on 18 Dec 2015
Your nonlinear constraint function needs to be a function of one variable, which I assume is Etouch.
function [c, ceq] = myconstr(Etouch)
c(1) = Etouch-GPR ;
c(2) = Estep-Es ;
c(3) = Etouch-Em ;
ceq = [];
end
Alan Weiss
MATLAB mathematical toolbox documentation
Hamid
on 18 Dec 2015
Alan Weiss
on 28 Dec 2015
I think that the error message is clear: GPR is undefined when the nonlinear constraint function runs. I suggest that you use the debugger to find out why.
Alan Weiss
MATLAB mathematical toolbox documentation
Categories
Find more on Genetic Algorithm in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!