Multi-criterial example for the Matlab interface
This commit is contained in:
@@ -17,4 +17,20 @@ switch y
|
||||
end
|
||||
case 5 % simple parabola
|
||||
z (1)=sum( x .* x ) ;
|
||||
end
|
||||
case 6 % binary function with two criteria: longest sequence of zeros and number of ones
|
||||
% Optimal solutions have the form 1*0*1* in {0,1}^length(x)
|
||||
numOnes=0;
|
||||
longestZeroLen=0;
|
||||
currentZeroLen=0;
|
||||
for i=1:length(x)
|
||||
if x(i)=='1'
|
||||
numOnes=numOnes+1;
|
||||
currentZeroLen=0;
|
||||
else
|
||||
currentZeroLen=currentZeroLen+1;
|
||||
if currentZeroLen>longestZeroLen ; longestZeroLen=currentZeroLen; end
|
||||
end;
|
||||
%disp(sprintf('at %f : numOnes=%f, currentZeroLen=%f, longest=%f ', i, numOnes, currentZeroLen, longestZeroLen));
|
||||
end
|
||||
z=[length(x)-longestZeroLen, length(x)-numOnes];
|
||||
end
|
||||
|
Reference in New Issue
Block a user