基于遗传算法的预拌混凝土车辆调度优化MATLAB源码.doc_第1页
基于遗传算法的预拌混凝土车辆调度优化MATLAB源码.doc_第2页
基于遗传算法的预拌混凝土车辆调度优化MATLAB源码.doc_第3页
基于遗传算法的预拌混凝土车辆调度优化MATLAB源码.doc_第4页
基于遗传算法的预拌混凝土车辆调度优化MATLAB源码.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于遗传算法的预拌混凝土车辆调度优化MATLAB源码原文地址:基于遗传算法的预拌混凝土车辆调度优化MATLAB源码作者:GreenSim%clc close all clear%问题参数设置M=8;%工地总数目L=6;%预拌车吨位(立方米)C=20;%预拌车总数目MD=3;%配料和装车时间(分钟)%到各工地的去程时间(分钟)TDG=30;25;40;15;35;45;20;20;%到各工地的回程时间(分钟)TDB=25;20;30;15;30;35;20;15;%各工地需要的混凝土总量(立方米)R=15;20;20;25;10;12;30;25;%各工地的浇筑持续时间(分钟)CD=20;30;25;10;35;15;20;15;%施工工地允许的最大中断时间(分钟),与连续施工保证施工质量有关ABD=5;5;15;5;5;10;10;5;%施工工地允许的最大配送时间(分钟),与保证混凝土品质有关ADD=100;90;100;90;120;110;100;90;%各施工地开始施工的时刻(以分为单位的相对时间)ST=0;0;30;0;0;30;0;0;%0时刻对应的真实时间(小时分钟制)HM=8;0;%举例,8,15表示8:15%各工地需要的预拌车总数量RT=ceil(R/L);A=zeros(0,0);for i=1:length(RT);A=A;i*ones(RT(i),1);end N=length(A);%算法参数设置%迭代次数KGA=50;%种群规模NGA=50;%变异概率PmGA=0.2;LB=zeros(N,1);UB=ones(N,1);Alpha=1;Beta=1;%调用遗传算法BESTX,BESTY,ALLX,ALLY=GAUCP(KGA,NGA,PmGA,LB,UB,A,C,MD,TDG,TDB,CD,ABD,ADD,ST,Alpha,Beta);%整理输出结果x=BESTXKGA;Y,X,T1,T2,T3,T4,T5,WTS,WTT,C1,C2=Fit(x,A,C,MD,TDG,TDB,CD,ABD,ADD,ST,Alpha,Beta);disp(最佳染色体为);disp(X);Time0=60*HM(1)+HM(2);T1=T1+Time0;T2=T2+Time0;T3=T3+Time0;T4=T4+Time0;T5=T5+Time0;T1H=floor(T1/60);T1M=mod(T1,60);T2H=floor(T2/60);T2M=mod(T2,60);T3H=floor(T3/60);T3M=mod(T3,60);T4H=floor(T4/60);T4M=mod(T4,60);T5H=floor(T5/60);T5M=mod(T5,60);disp(配料和装车开始时间(小时/分钟);disp(T1H,T1M);disp(从基地出发时间(小时/分钟);disp(T2H,T2M);disp(到达施工地时刻(小时/分钟);disp(T3H,T3M);disp(从施工地返回时刻(小时/分钟);disp(T4H,T4M);disp(到达基地时刻(小时/分钟);disp(T5H,T5M);functionBESTX,BESTY,ALLX,ALLY=GAUCP(K,N,Pm,LB,UB,AAA,C,MD,TDG,TDB,CD,ABD,ADD,ST,Alpha,BetaQ)%此函数实现遗传算法,用于预拌混凝土配送的调度优化%GreenSim团队原创作品,转载请注明%Email:%GreenSim团队主页:color=red欢迎访问GreenSim-算法仿真团队url=输入参数列表%K迭代次数%N种群规模,要求是偶数%Pm变异概率%LB决策变量的下界,M1的向量%UB决策变量的上界,M1的向量%输出参数列表%BESTX K1细胞结构,每一个元素是M1向量,记录每一代的最优个体%BESTY K1矩阵,记录每一代的最优个体的评价函数值%ALLX K1细胞结构,每一个元素是MN矩阵,记录全部个体%ALLY KN矩阵,记录全部个体的评价函数值%第一步:M=length(LB);%决策变量的个数%种群初始化,每一列是一个样本farm=zeros(M,N);for i=1:M x=unifrnd(LB(i),UB(i),1,N);farm(i,:)=x;end%输出变量初始化ALLX=cell(K,1);%细胞结构,每一个元素是MN矩阵,记录每一代的个体ALLY=zeros(K,N);%KN矩阵,记录每一代评价函数值BESTX=cell(K,1);%细胞结构,每一个元素是M1向量,记录每一代的最优个体BESTY=zeros(K,1);%K1矩阵,记录每一代的最优个体的评价函数值k=1;%迭代计数器初始化%第二步:迭代过程while k=K%以下是交叉过程newfarm=zeros(M,2*N);Ser=randperm(N);%两两随机配对的配对表A=farm(:,Ser(1);B=farm(:,Ser(2);P0=unidrnd(M-1);a=A(1:P0,:);B(P0+1):end,:);%产生子代a b=B(1:P0,:);A(P0+1):end,:);%产生子代b newfarm(:,2*N-1)=a;%加入子代种群newfarm(:,2*N)=b;for i=1:(N-1)A=farm(:,Ser(i);B=farm(:,Ser(i+1);P0=unidrnd(M-1);a=A(1:P0,:);B(P0+1):end,:);b=B(1:P0,:);A(P0+1):end,:);newfarm(:,2*i-1)=a;newfarm(:,2*i)=b;end FARM=farm,newfarm;%选择复制SER=randperm(3*N);FITNESS=zeros(1,3*N);fitness=zeros(1,N);for i=1:(3*N)Beta=FARM(:,i);SE=Fit(Beta,AAA,C,MD,TDG,TDB,CD,ABD,ADD,ST,Alpha,BetaQ);FITNESS(i)=SE;end for i=1:N f1=FITNESS(SER(3*i-2);f2=FITNESS(SER(3*i-1);f3=FITNESS(SER(3*i);if f1=f2&f1=f3 farm(:,i)=FARM(:,SER(3*i-2);fitness(:,i)=FITNESS(:,SER(3*i-2);elseif f2=f1&f2=f3 farm(:,i)=FARM(:,SER(3*i-1);fitness(:,i)=FITNESS(:,SER(3*i-1);else farm(:,i)=FARM(:,SER(3*i);fitness(:,i)=FITNESS(:,SER(3*i);end end%记录最佳个体和收敛曲线X=farm;Y=fitness;ALLXk=X;ALLY(k,:)=Y;minY=min(Y);pos=find(Y=minY);BESTXk=X(:,pos(1);BESTY(k)=minY;%变异for i=1:N if Pm rand&pos(1)=i AA=farm(:,i);BB=GaussMutation(AA,LB,UB);farm(:,i)=BB;end end disp(k);k=k+1;end%绘图BESTY2=BESTY;BESTX2=BESTX;for k=1:K TempY=BESTY(1:k);minTempY=min(TempY);posY=find(TempY=minTempY);BESTY2(k)=m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论