www.pudn.com > SGAProToolboxVer.zip > subject_fitness_function.m


function [ subjected_decimal_value]=subject_fitness_function(a,b) 
 
% X is a matrix , not a cell. 
% this example, X is X=[a,b]'; 
 
%%%%%%%%%%%      X=[a,b] 
 
X=[a,b]; 
 
%%%%%%%%%%%      Equation    A(m*n)*X(n*k)=B(m*k) 
A=[1,1 
     1,1 ];   
  
B=[1,1 ]'; 
 
     
%%%%%%%%%%%      Inequation  C(m*n)*X(n*k)<=D(m*k) 
 
C=[1,1 
     1,1 ];   
  
D=[1,1 ]'; 
 
 
%%%%%%%%%%%      Suject to 
 
%linear equation and inequation 
%if A*X==B & C*X<=D 
%   subject_fitness_value=X; 
%else 
%     break; 
%end 
  
 
%non-linear equation and inequation 
 
 if A(1,1)*a^2+A(1,2)*b==B(1,1)% & ... 
%     A(2,1)*a^5+A(2,2)*b^9==B(2,1)&... 
%     C(1,1)*exp(a)^2+C(1,2)*log(b)^-7<=D(1,1)&... 
%     C(2,1)*tan(a)+C(2,2)*sin(b)^exp(a+b)>=D(2,1) 
 subjected_decimal_value=[a,b]; 
else 
 %   disp('out of subjection!'); 
  subjected_decimal_value=[0,0]; % if not fit, set the exact one. 
    break; 
end