Three inequality constraints for multi-objective genetic algorithm
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Ande Mandoyi
le 13 Oct 2020
Réponse apportée : Alan Weiss
le 14 Oct 2020
I have been trying to specify inequality constraints to minimise a multi objective function. The constraints are:
> 0
>0
my code is as follows
function y = objectivef(x)
y(1) = x(1).^2 - x(2);
y(2) = -0.5*x(1) - x(2) - 1;
end
clc
clear all
ObjectiveFunction = @objectivef;
nvars = 2; % Number of variables
LB = [-7 -7]; % Lower bound
UB = [4 4]; % Upper bound
ConstraintFunction = @myconstraints;
[x,fval] = gamultiobj(ObjectiveFunction,nvars,[],[],[],[],LB,UB, ...
ConstraintFunction)
%this is what I need help with
function [c ceq] = myconstraints(x)
c = [6.5 -x(1)/6 -x(2);7.5 -0.5*x(1) -x(2);30 - 5*x(1) - x(2)];
ceq = []
end
0 commentaires
Réponse acceptée
Alan Weiss
le 14 Oct 2020
These are linear constraints, so you should not use a nonlinear constraint function (which has errors in signs in any case: you have to ensure that the inequalities all go the correct way). Try this instead:
A = [1/6 1
1/2 1
5 1];
b = [6.5;7.5;30];
[x,fval] = gamultiobj(ObjectiveFunction,nvars,A,b);
Alan Weiss
MATLAB mathematical toolbox documentation
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Genetic Algorithm dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!