跪求一份多目标遗传算法的代码,matlab的 求遗传算法的matlab程序

\u8dea\u6c42\u4e00\u4efd\u591a\u76ee\u6807\u591a\u7ea6\u675f\u9057\u4f20\u7b97\u6cd5\u7684\u4ee3\u7801\uff0cmatlab \uff0cc \uff0cc++\u90fd\u53ef\u4ee5\uff01\u4e0d\u80dc\u611f\u6fc0

\u53ef\u4ee5\u7ed9\u4f60\u4e2a\uff0c\u53ef\u662f\u8981\u6709\u7ed9\u5206\u54e6~~ \u8fd9\u4e2a\u53ef\u662f\u5662\u8f9b\u8f9b\u82e6\u82e6\u81ea\u5df1\u7f16\u7684\u6492~~\u4f60\u627e\u6211\u8981\u628a\uff0c\u6211\u90ae\u7bb1 [email protected]

我给你一个标准遗传算法程序供你参考:
该程序是遗传算法优化BP神经网络函数极值寻优:
%% 该代码为基于神经网络遗传算法的系统极值寻优
%% 清空环境变量
clc
clear

%% 初始化遗传算法参数
%初始化参数
maxgen=100; %进化代数,即迭代次数
sizepop=20; %种群规模
pcross=[0.4]; %交叉概率选择,0和1之间
pmutation=[0.2]; %变异概率选择,0和1之间

lenchrom=[1 1]; %每个变量的字串长度,如果是浮点变量,则长度都为1
bound=[-5 5;-5 5]; %数据范围

individuals=struct('fitness',zeros(1,sizepop), 'chrom',[]); %将种群信息定义为一个结构体
avgfitness=[]; %每一代种群的平均适应度
bestfitness=[]; %每一代种群的最佳适应度
bestchrom=[]; %适应度最好的染色体

%% 初始化种群计算适应度值
% 初始化种群
for i=1:sizepop
%随机产生一个种群
individuals.chrom(i,:)=Code(lenchrom,bound);
x=individuals.chrom(i,:);
%计算适应度
individuals.fitness(i)=fun(x); %染色体的适应度
end
%找最好的染色体
[bestfitness bestindex]=min(individuals.fitness);
bestchrom=individuals.chrom(bestindex,:); %最好的染色体
avgfitness=sum(individuals.fitness)/sizepop; %染色体的平均适应度
% 记录每一代进化中最好的适应度和平均适应度
trace=[avgfitness bestfitness];

%% 迭代寻优
% 进化开始
for i=1:maxgen
i
% 选择
individuals=Select(individuals,sizepop);
avgfitness=sum(individuals.fitness)/sizepop;
%交叉
individuals.chrom=Cross(pcross,lenchrom,individuals.chrom,sizepop,bound);
% 变异
individuals.chrom=Mutation(pmutation,lenchrom,individuals.chrom,sizepop,[i maxgen],bound);

% 计算适应度
for j=1:sizepop
x=individuals.chrom(j,:); %解码
individuals.fitness(j)=fun(x);
end

%找到最小和最大适应度的染色体及它们在种群中的位置
[newbestfitness,newbestindex]=min(individuals.fitness);
[worestfitness,worestindex]=max(individuals.fitness);
% 代替上一次进化中最好的染色体
if bestfitness>newbestfitness
bestfitness=newbestfitness;
bestchrom=individuals.chrom(newbestindex,:);
end
individuals.chrom(worestindex,:)=bestchrom;
individuals.fitness(worestindex)=bestfitness;

avgfitness=sum(individuals.fitness)/sizepop;

trace=[trace;avgfitness bestfitness]; %记录每一代进化中最好的适应度和平均适应度
end
%进化结束

%% 结果分析
[r c]=size(trace);
plot([1:r]',trace(:,2),'r-');
title('适应度曲线','fontsize',12);
xlabel('进化代数','fontsize',12);ylabel('适应度','fontsize',12);
axis([0,100,0,1])
disp('适应度 变量');
x=bestchrom;
% 窗口显示
disp([bestfitness x]);

  • 鎬ユ眰涓浠藉鐩爣閬椾紶绠楁硶matlab浠g爜!
    绛旓細pcross=[0.4]; %浜ゅ弶姒傜巼閫夋嫨锛0鍜1涔嬮棿 pmutation=[0.2]; %鍙樺紓姒傜巼閫夋嫨锛0鍜1涔嬮棿 lenchrom=[1 1]; %姣忎釜鍙橀噺鐨勫瓧涓查暱搴︼紝濡傛灉鏄诞鐐瑰彉閲忥紝鍒欓暱搴﹂兘涓1 bound=[-5 5;-5 5]; %鏁版嵁鑼冨洿 individuals=struct('fitness',zeros(1,sizepop), 'chrom',[]); %灏嗙缇や俊鎭畾...
  • 鐢閬椾紶绠楁硶宸ュ叿绠辨眰瑙d竴涓澶氱洰鏍浼樺寲闂,鐜板湪闇瑕佷竴涓猰atlab绋嬪簭,姹傞珮 ...
    绛旓細1銆佹牴鎹鎰忥紝寤虹珛鑷畾涔鐩爣鍑芥暟锛実a_fun1(x)2銆佸湪鍛戒护绐楀彛涓紝杈撳叆 >> optimtool %璋冪敤閬椾紶绠楁硶宸ュ叿绠 3銆佸湪閬椾紶绠楁硶宸ュ叿绠辩晫闈腑锛屽垎鍒Fitness function妗嗗唴杈撳叆@ga_fun1锛堬級锛汚妗嗗唴杈撳叆[1,1,1]锛沚妗嗗唴杈撳叆16锛汚eq妗嗗唴杈撳叆[]锛沚eq妗嗗唴杈撳叆[]锛汱ower妗嗗唴杈撳叆[0,0,0]锛沀pper妗嗗唴杈撳叆...
  • matlab,閬椾紶绠楁硶,澶氱洰鏍鍑芥暟姹傛瀬鍊
    绛旓細function [z1,z2,z3]=myfun(x)z1=鐩爣鍑芥暟琛ㄨ揪寮 1 z2=鐩爣鍑芥暟琛ㄨ揪寮 2 z3=鐩爣鍑芥暟琛ㄨ揪寮 3 end 鐒跺悗锛岀敤ga锛堬級閬椾紶绠楁硶鍑芥暟璋冪敤鍏跺嚱鏁般傝皟鐢ㄦ牸寮忥細fitnessfcn=@myfun;nvars=鍙橀噺鏁;[x,fval,exitflag] = ga(fitnessfcn,nvars)
  • 鎬庝箞璇勪环MATLAB涓璯amultiobj鍑芥暟(澶氱洰鏍囬仐浼犵畻娉)鐨勮绠楃粨鏋?姣斿涓嬮潰...
    绛旓細x1=-2.672锛 x2=-38.333 涓篨1銆乆2鐨勬渶浼樿В缁勫悎锛屽叾鍊煎垎鍒负f1=1.9765锛宖2=33.06
  • MATLAB閬椾紶绠楁硶宸ュ叿绠辨眰瑙i潪绾挎澶氱洰鏍浼樺寲闂
    绛旓細function f1=func1(x) %绗竴鐩爣鍑芥暟 f1=x(:,1).*x(:,1)./4+x(:,2).*x(:,2)./4;function f2=func2(x) %绗簩鐩爣鍑芥暟 f2=x(:,1).*(1-x(:,2))+10;function GA()clear;clc;close all NIND=100; %涓綋鏁扮洰 MAXGEN=50; ...
  • Python瀹炵幇鍩轰簬閬椾紶绠楁硶鐨鎺掕浼樺寲
    绛旓細Github 锛 https://github.com/xiaochus/GeneticClassSchedule 閬椾紶绠楁硶锛圙enetic Algorithm锛夋槸妯℃嫙杈惧皵鏂囩敓鐗╄繘鍖栬鐨勮嚜鐒堕夋嫨鍜岄仐浼犲鏈虹悊鐨勭敓鐗╄繘鍖栬繃绋嬬殑璁$畻妯″瀷锛屾槸涓绉嶉氳繃妯℃嫙鑷劧杩涘寲杩囩▼鎼滅储鏈浼樿В鐨勬柟娉曘閬椾紶绠楁硶鐨娴佺▼濡備笅鎵绀猴細閬椾紶绠楁硶棣栧厛閽堝寰呰В鍐抽棶棰橀殢鏈虹敓鎴愪竴缁勮В锛屾垜浠О涔嬩负绉嶇兢锛...
  • 鍦╩atlab涓浣曠敤閬椾紶绠楁硶姹備簩鍏鐩爣瑙勫垝
    绛旓細閬椾紶绠楁硶淇轰笉浼氾紝鐢澶氱洰鏍浼樺寲涔熷彲浠ユ眰鍑烘渶浼樿В銆俧unction zFgoalattain 澶氱洰鏍囨渶浼樺寲 clear all; clc 缁欏畾鐩爣锛屾潈閲嶆寜鐩爣姣斾緥纭畾锛岀粰鍑哄垵鍊 goal = [-0.3 0.9]; % -0.2794 0.9313 weight = [0.1 0.1];x0 = [0.6 0.6 0.6 0.6 0.6];缁欏嚭绾︽潫鏉′欢鐨勭郴鏁 A=[-1 0 -...
  • MATLAB閬椾紶绠楁硶缂栫▼(澶氱洰鏍浼樺寲)
    绛旓細澶氱洰鏍鏄氳繃鍒嗗竷鎬 鍜岄潪鍔hВ鏉ヨ繘琛岃瘎浠风殑
  • 璋佽兘閫氫織鐨勮瑙d竴涓婲SGA-II澶氱洰鏍囬仐浼犵畻娉?
    绛旓細瀵逛簬閭d簺鐑》浜閬椾紶绠楁硶鐨鏈嬪弸浠紝greatpy搴撲篃鏄竴鑲′笉瀹瑰拷瑙嗙殑鍔涢噺锛孈haofeng 鎻愬埌鐨勮繖涓狿ython搴擄紝鏃犵枒涓澶氱洰鏍浼樺寲鐨勫涔犺呮彁渚涗簡涓涓疄鐢ㄧ殑宸ュ叿绠便傛荤殑鏉ヨ锛孨SGA-II骞堕潪闅句互鐞嗚В鐨勮皽鍥紝鍙鎴戜滑鏈夎愬績锛岃窡闅忓師钁楁繁鍏ュ涔狅紝缁撳悎瀹為檯浠g爜瀹炶返锛屽氨鑳介愭笎鎻紑杩欓棬澶嶆潅绠楁硶鐨勭绉橀潰绾便傝鎴戜滑涓璧疯笍涓婅繖...
  • 鎴戞兂璇锋暀涓涓閬椾紶绠楁硶閲岄潰鐨勫疄鏁扮紪鐮佹槸鎬庝箞涓鍥炰簨,鎴戝湪鍋氫竴涓澶氱洰鏍浼 ...
    绛旓細璇寸殑鏄敤鍑芥暟crtrp浜х敓鍒濆绉嶇兢鍚,鏍煎紡涓篶hrom=crtrp(涓綋鏁帮紝绾︽潫)锛涗釜浣撴暟鍗冲笇鏈涗骇鐢熺殑鍒濆绉嶇兢鏁帮紝绾︽潫涓虹煩闃,琛ㄧず鍙橀噺鐨勫彇鍊艰寖鍥淬傚锛歔-10,-5,-3,-2;10,5,3,2]琛ㄧず鏈夊洓涓彉閲忥紝鑼冨洿鍒嗗埆鏄 [-10,10],[-5,5],[-3,3],[-2,2]銆傝繖鏍峰氨浼氫骇鐢熶竴涓垵濮嬬缇ゆ湁鍥涘垪锛屾槸闅忔満鍙栧笺傚笇鏈...
  • 扩展阅读:python基础代码大全 ... 遗传算法多目标优化 ... python遗传算法代码 ... 遗传算法步骤流程图 ... 遗传算法的五个步骤 ... 编程代码大全 ... 代码生成器 ... 遗传算法经典实例代码 ... 多目标遗传算法matlab程序 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网