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

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

ID:22033792

大小:30.50 KB

页数:6页

时间:2018-10-26

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

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

1、word资料下载可编辑双层规划模型的遗传算法求解的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]欢迎

2、访问GreenSim——算法仿真团队→[url=http://blog.sina.com.cn/greensim]http://blog.sina.com.cn/greensim[/url][/color]%%输入参数列表%KU      上层迭代次数%KD      下层迭代次数%NU      上层种群规模,要求是偶数%ND      下层种群规模,要求是偶数%PmU     上层变异概率%PmD     下层变异概率%其余参数均为模型参数%%输出参数列表%xbest   下层模型的最优决策变量%BESTX 

3、  K×1细胞结构,每一个元素是M×1向量,记录每一代的最优个体%BESTY   K×1矩阵,记录每一代的最优个体的评价函数值%ALLX    K×1细胞结构,每一个元素是M×N矩阵,记录全部个体%ALLY    K×N矩阵,记录全部个体的评价函数值%%专业技术资料word资料下载可编辑第一步:种群初始化,确保满足约束的初始化n=length(C0);%决策变量的个数%种群初始化,每一行是一个样本farm=zeros(NU,n);fori=1:NU   Ta=randperm(n);   Tb=unidrnd(n

4、-1)+1;   farm(i,sort(Ta(1:Tb)))=1;   GT=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

5、=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(1:P0),BB((P0+1):end)];%产生子代a   bb=[BB(1:P0),AA((P0+1):end)];%产生子代b   ifsum(aa)<2       专业技术

6、资料word资料下载可编辑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;       bb=zeros(1,n);       bb(1,sort(Ta(1:Tb)))=1;   end   aa=JZU(aa,V,Q);   bb=JZU(bb,

7、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(1:P0),BB((P0+1):end)];       bb=[BB(1:P0),AA((P0+1):end)];       ifsum(aa)<2           Ta=ran

8、dperm(n);           Tb=unidrnd(n-1)+1;           aa=zeros(1,n);           aa(1,sort(Ta(1:Tb)))=1;       end       ifsum(bb)<2           Ta=randperm(n);           专业技术资料word资料下载可编辑Tb=unidr

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

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

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