How to introduce constraints to my objective function (Genetic Algorithm)
3 views (last 30 days)
Show older comments
Azime Beyza Ari
on 25 Mar 2022
Commented: Azime Beyza Ari
on 26 Mar 2022
Hello everyone,
I am trying to solve a optimization problem with constraints using genetic algorithm solver. I tried to write my constraints by looking over the documentation matlab provides but The results i am getting are not consistent with the results i expect. (My answer should be around 5k or 6k but the answer i am getting changes around 13k to 18k) I suspect that the solver does not recognizes my constraints. Here i will attach the file i am working on. If you can have a look and suggest a solution i will be very happy.
Thank you in advance.
Best,
Beyza.
0 Comments
Accepted Answer
Alan Weiss
on 25 Mar 2022
You have at least two errors that keep the constraint function from working properly. First, this section needs a loop such as for i = 1:something:
function [c] = constraintFunction(x,yj,p, M , r, aii, Kj)
if ci(i,1) > 0
xij(i,j) = 1;
else
xij(i,j) = 0;
end
Second, you never included this constraint function in the constraints in your script. It is just hanging there, never called. Put it in as a nonlinear constraint. Click the "Nonlinear constrants" button and then include the function. And if you mean for some variables to be integers, put that in as constraints as well.
Alan Weiss
MATLAB mathematical toolbox documentation
More Answers (0)
See Also
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!