2014-11-23 21:29:02 +08:00
|
|
|
|
clear
|
|
|
|
|
|
clc
|
|
|
|
|
|
data=dlmread('<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.csv');
|
|
|
|
|
|
%% <EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
%<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>T<EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
snWind=data(:,1:3:end);
|
|
|
|
|
|
snSolar=data(:,2:3:end);
|
|
|
|
|
|
snP=data(:,3:3:end);
|
2014-11-23 22:32:38 +08:00
|
|
|
|
snP(snP==-100)=1;
|
2014-11-24 01:17:07 +08:00
|
|
|
|
randSNCount=100; %ҪС<EFBFBD><EFBFBD>16^288 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
gaCount=100;%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2014-11-23 21:29:02 +08:00
|
|
|
|
%% <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
|
2014-11-24 01:17:07 +08:00
|
|
|
|
ga=repmat(struct(),gaCount,1);
|
|
|
|
|
|
for I=1:gaCount
|
|
|
|
|
|
[ selectedIndex] = initGA( randSNCount );
|
|
|
|
|
|
% [ selectedIndex] = evolute(selectedIndex,randSNCount );
|
|
|
|
|
|
ga(I).selectedIndex=selectedIndex;
|
|
|
|
|
|
[ selectedWind,selectedSolar,candidateP ] = generateCandidate( snWind,snSolar,snP,randSNCount,ga(I).selectedIndex );
|
|
|
|
|
|
[ fitness ] = fitnessFun( selectedWind,selectedSolar,candidateP,randSNCount );
|
|
|
|
|
|
ga(I).fitness=fitness;
|
2014-11-23 22:32:38 +08:00
|
|
|
|
end
|
2014-11-24 01:17:07 +08:00
|
|
|
|
|
|
|
|
|
|
bestFitness=0;
|
|
|
|
|
|
bestIndex=0;
|
|
|
|
|
|
for LOOP=1:100
|
|
|
|
|
|
fprintf('<EFBFBD><EFBFBD>%d<EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>\n',LOOP);
|
|
|
|
|
|
fprintf('<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶȺ<EFBFBD><EFBFBD><EFBFBD>%f\n',bestFitness);
|
|
|
|
|
|
for I=1:gaCount
|
|
|
|
|
|
fitness=ga(I).fitness;
|
|
|
|
|
|
if fitness>bestFitness
|
|
|
|
|
|
bestFitness=fitness;
|
|
|
|
|
|
bestIndex=ga(I).selectedIndex;
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
for I=1:gaCount
|
|
|
|
|
|
[ selectedIndex] = evolute(selectedIndex,randSNCount );
|
|
|
|
|
|
ga(I).selectedIndex=selectedIndex;
|
|
|
|
|
|
[ selectedWind,selectedSolar,candidateP ] = generateCandidate( snWind,snSolar,snP,randSNCount,ga(I).selectedIndex );
|
|
|
|
|
|
[ fitness ] = fitnessFun( selectedWind,selectedSolar,candidateP,randSNCount );
|
|
|
|
|
|
ga(I).selectedIndex=selectedIndex;
|
|
|
|
|
|
ga(I).fitness=fitness;
|
2014-11-23 22:32:38 +08:00
|
|
|
|
end
|
|
|
|
|
|
end
|
2014-11-24 01:17:07 +08:00
|
|
|
|
|
|
|
|
|
|
|