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

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

ID:20580400

大小:26.50 KB

页数:6页

时间:2018-10-13

双层规划模型的遗传算法求解的matlab源码_第1页
双层规划模型的遗传算法求解的matlab源码_第2页
双层规划模型的遗传算法求解的matlab源码_第3页
双层规划模型的遗传算法求解的matlab源码_第4页
双层规划模型的遗传算法求解的matlab源码_第5页
资源描述:

《双层规划模型的遗传算法求解的matlab源码》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、双层规划模型的遗传算法求解的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团队主页:http://blog.sina.com.cn/greensim%[color=red]欢迎访问GreenSim——算法仿真团队→[url=http://

2、blog.sina.com.cn/greensim]http://blog.sina.com.cn/greensim[/url][/color]%%输入参数列表%KU      上层迭代次数%KD      下层迭代次数%NU      上层种群规模,要求是偶数%ND      下层种群规模,要求是偶数%PmU     上层变异概率%PmD     下层变异概率%其余参数均为模型参数%%输出参数列表%xbest   下层模型的最优决策变量%BESTX   K×1细胞结构,每一个元素是M×1向量,记录每一代的最优个体%BESTY   K×1矩阵,记录每一

3、代的最优个体的评价函数值%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(1:Tb)))=1;   GT=farm(i,:);   GT=JZU(GT,V,Q);   farm(i,:)=GT;end%

4、输出变量初始化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(

5、Ser(1),:);   BB=farm(Ser(2),:);   P0=unidrnd(n-1);   aa=[AA(1:P0),BB((P0+1):end)];%产生子代a   bb=[BB(1:P0),AA((P0+1):end)];%产生子代b   ifsum(aa)<2       Ta=randperm(n);       Tb=unidrnd(n-1)+1;       aa=zeros(1,n);       aa(1,sort(Ta(1:Tb)))=1;   end   ifsum(bb)<2       Ta=randperm(n)

6、;       Tb=unidrnd(n-1)+1;       bb=zeros(1,n);       bb(1,sort(Ta(1:Tb)))=1;   end   aa=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

7、(1:P0),BB((P0+1):end)];       bb=[BB(1:P0),AA((P0+1):end)];       ifsum(aa)<2           Ta=randperm(n);           Tb=unidrnd(n-1)+1;           aa=zeros(1,n);           aa(1,sort(Ta(1:Tb)))=1;       end       ifsum(bb)<2           Ta=randperm(n);           Tb=unidrnd(n-1)+1;     

8、      bb=zeros(1,n);           bb(1,sort(Ta(1:T

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。