双层规划模型的遗传算法求解的Matlab源码.docx

双层规划模型的遗传算法求解的Matlab源码.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
您好,下面是我为您生成的摘要标题双层规划模型的遗传算法求解的Matlab源码该段代码主要实现了一个名为GreenSim的二维线性规划问题它通过交叉操作来求解矩阵,其中每个个体都是一个N×N的向量,评价函数为Assas2bas2首先,我们介绍输入参数列表这里,KU表示上层迭代次数,KD表示下层迭代次数,NU表示上层种群规模,ND表示下层种群规模,PMU表示上层变异概率,PMD表示下层变异概率,其余参数均为模型参数接下来,我们

双层规划模型的遗传算法求解的Matlab源码

双层规划模型的遗传算法求解的Matlab源码function[BESTX,BESTY,ALLX,ALLY]=GAU

(KU,KD,NU,ND,PmU,PmD,V,Q,R,m,t,p0,CF,Alpha,Beta,C0,Q0,h,a,b,d,Cr)

%GreenSim团队原创作品,转载请注明

%Email:greensim@163.com

%GreenSim团队主页:/greensim

%[color=red]欢迎访问GreenSim——算法仿真团队→[url=/greensim]

/greensim[/url][/color]

%%输入参数列表

%KU 上层迭代次数

%KD 下层迭代次数

%NU 上层种群规模,要求是偶数

%ND 下层种群规模,要求是偶数

%PmU 上层变异概率

%PmD 下层变异概率

%其余参数均为模型参数

%%输出参数列表

%xbest 下层模型的最优决策变量

%BESTX K×1细胞结构,每一个元素是M×1向量,记录每一代的最优个体

%BESTY K×1矩阵,记录每一代的最优个体的评价函数值

%ALLX K×1细胞结构,每一个元素是M×N矩阵,记录全部个体

%ALLY K×N矩阵,记录全部个体的评价函数值

%%第一步:种群初始化,确保满足约束的初始化

n=length(C0);%决策变量的个数

%种群初始化,每一行是一个样本

farm=zeros(NU,n);fori=1:NU

Ta=randperm(n);Tb=unidrnd(n-1)+1;farm(i,sort(Ta(pGT=farm(i,:);

GT=JZU(GT,V,Q);

farm(i,:)=GT;end

%输出变量初始化

ALLX=cell(KU,1);%细胞结构,每一个元素是N×n矩阵,记录每一代的个体

ALLY=zeros(KU,NU);%K×N矩阵,记录每一代评价函数值

BESTX=cell(KU,1);%细胞结构,每一个元素是1×n向量,记录每一代的最优个体

BESTY=zeros(KU,1);%K×1矩阵,记录每一代的最优个体的评价函数值

k=1;%迭代计数器初始化

%%第二步:迭代过程

whilek=KU

%%以下是交叉过程

newfarm=zeros(2*NU,n);Ser=randperm(NU);%两两随机配对的配对表AA=farm(Ser(1),:);

BB=farm(Ser(2),:);

P0=unidrnd(n-1);

aa=[AA(p 产生子代a

bb=[BB(p 产生子代bifsum(aa)2

Ta=randperm(n);

Tb=unidrnd(n-1)+1;

aa=zeros(1,n);aa(1,sort(Ta(p

end

ifsum(bb)2Ta=randperm(n);Tb=unidrnd(n-1)+1;bb=zeros(1,n);bb(1,sort(Ta(p

endaa=JZU(aa,V,Q);

bb=JZU(bb,V,Q);

newfarm(2*NU-1,:)=aa;%加入子代种群newfarm(2*NU,:)=bb;

fori=1:(NU-1)AA=farm(Ser(i),:);

BB=farm(Ser(i+1),:);P0=unidrnd(n-1);aa=[AA(p

bb=[BB(p

ifsum(aa)2Ta=randperm(n);Tb=unidrnd(n-1)+1;aa=zeros(1,n);aa(1,sort(Ta(p

end

ifsum(bb)2Ta=randperm(n);Tb=unidrnd(n-1)+1;bb=zeros(1,n);

bb(1,sort(Ta(pendaa=JZU(aa,V,Q);

bb=JZU(bb,V,Q);

newfarm(2*i-1,:)=aa;newfarm(2*i,:)=bb;

endFARM=[farm;newfarm];

%%选择复制SER=randperm(3*NU);FITNESS=zeros(1,3*NU);

fitness=zeros(1,NU);fori=1:(3*NU)

u=FARM(i,:);

[xbest,BESTXx,BESTYy,ALLXx,ALLYy]=GAD(u,KD,ND,PmD,V,Q,R,m,t,p0,CF);%调用

下层遗传

算法得到x

x=xbest;FITNESS(i)=OBJU(x,u,Alpha,Beta,C0,Q0,h,a,b,d,Q,Cr,m,t);

end

fori=1:NUf1=FITNE

文档评论(0)

159****1944 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档