-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathevaluate_pop.m
51 lines (44 loc) · 1.45 KB
/
evaluate_pop.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
% Copyright [2016] [Proteek Chandan Roy]
%
% Licensed under the Apache License, Version 2.0 (the "License");
% you may not use this file except in compliance with the License.
% You may obtain a copy of the License at
%
% http://www.apache.org/licenses/LICENSE-2.0
%
% Unless required by applicable law or agreed to in writing, software
% distributed under the License is distributed on an "AS IS" BASIS,
% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
% See the License for the specific language governing permissions and
% limitations under the License.
%
% Proteek Chandan Roy, 2016
% Contact: [email protected], [email protected]
%-------------HIGH FIDELITY EVALUATION OF POPULATION-----------------------
function [popObj, popCons] = evaluate_pop(opt, pop)
%%{
[~, popObj,popCons] = feval(str2func(upper(opt.objfunction)), 'value', opt.Global, pop);
if isempty(popCons)
popCons = zeros(size(pop,1), 1);
end
%}
%{
popObj = zeros(size(pop,1),opt.M);
if opt.C>0
popCons = zeros(size(pop,1),opt.C);
else
popCons = zeros(size(pop,1), 1);
end
sz = size(pop,1);
for i = 1:sz
[f, g] = high_fidelity_evaluation(opt, pop(i,:));
popObj(i, 1:opt.M) = f;
if opt.C>0
popCons(i,:) = g;
else
popCons(i,1) = 0;
end
end
%}
%disp(norm(popObj-popObj2));
end