how can i formulate this fitness function ?
3 views (last 30 days)
Show older comments
Ameer Kadhim
on 10 Mar 2018
Commented: Star Strider
on 10 Mar 2018
hello everybody...
my problem is : i have matrix consist of 4 columns and 200 rows , the fist column represent the index , the second column contain the values of weights ( in kg) , third column contain the values of length(in meter) , the fourth column contains the values of age(in days) . how i can formulate this problem in genetic algorithm (e.g NSGA-II)in matlab , such that finally i want the number vector or pareto-front that contain (low value of weight, high value of length, less value of age ) simultaneously. for example:
1 : 20 70 45
2: 49 10 67
3: 100 15 46
4: .... and so on .
And what is form of the fitness function? Please help me...
With sincere thanks and appreciation.....
0 Comments
Accepted Answer
Star Strider
on 10 Mar 2018
I am not certain what you want to do, so I leave the design of the fitness function to you.
Something like this could work:
M = [(1:25)' randi(100, 25, 3)]; % Create Data Matrix
fitfcn = @(x) [x(1).*min(M(2)), x(2).*max(M(3)), x(3).*min(M(4))];
X = gamultiobj(fitfcn, 3)
Mval = [X(:,1).*min(M(:,2)), X(:,2).*max(M(:,3)), X(:,3).*min(M(:,4))];
figure(1)
scatter3(Mval(:,1), Mval(:,2), Mval(:,3), 'p')
grid on
figure(2)
stem3(Mval(:,1), Mval(:,2), Mval(:,3), 'p', 'Filled')
grid on
6 Comments
Star Strider
on 10 Mar 2018
There are probably people here on MATLAB Answers who have the expertise you need. That is the reason I suggested that you ask a new Question, this time describing the problem you actually want to solve.
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!