首页 > 行业资讯 > 【优化调度】基于遗传算法求解码头泊位分配调度优化问题含Matlab源码

【优化调度】基于遗传算法求解码头泊位分配调度优化问题含Matlab源码

时间:2022-04-29 来源: 浏览:

【优化调度】基于遗传算法求解码头泊位分配调度优化问题含Matlab源码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于合集

1 简介

港口市场不断开放的同时,对港口的要求也更高,港口间的竞争更加激烈,由于运输船舶及港口相关设备价格昂贵,以及运输船舶在港口停泊时间的长短直接影响到港口的经济效益和社会效益,因此需要对港口物流系统进行更加合理有效的规划,以提高港口营运效率,降低费用和成本,从而吸引较多船舶挂靠,产生良好的经济效益.很多码头都尽力通过高效的资源利用率来降低成本,这些资源包括人力资源,泊位,集装箱码头,集装箱起重机和各种各样的码头设备,在所有这些资源中,泊位是最重要的资源,一个好的泊位计划能提高顾客的满意度和港口通过率,从而使港口获得较高的利润. 本文在分析研究港口服务系统特征的基础上,以所有船舶的总在港时间最短为目标,建立了港口泊位调度数学模型,根据模型的特点和各参数的物理意义及其相互关系导出了泊位调度模型必须满足的约束条件,该模型充分考虑了港口泊位调度的随机特性和其它影响因素,能够比较客观地反映港口泊位调度的实际运行状况. 

2 部分代码

%Name:Berth Allocation.m clear clc close all %% 遗传参数 popsize=100; %群体大小 MAXGEN=50; %最大遗传代数 vesselNum=7; %船舶数量 berthNum=2; %泊位数量 chromlength=8; %染色体长度 Pc=0.6; %交叉概率 Pm=0.001; %变异概率 GGAP=0.9; %选择概率 %% 初始化种群 pop=initGroup(popsize,chromlength,vesselNum,berthNum); %随机产生初始群体 %% 输出随机解的泊位调度方案和船舶在港总时间 disp(’初始种群中的泊位调度方案:’) OutputPath(pop); %画出路径函数 disp(’初始随机解的船舶在港总时间:’) objvalue=calobjvalue(pop,popsize,vesselNum,berthNum); disp(objvalue(1)) disp(’-------------------------------------------------------------’) %% 优化 gen=0; figure; hold on;box on %display the boundary of the current axes. xlim([0,MAXGEN]) %x在坐标轴的范围 title(’优化过程’) xlabel(’迭代次数’) ylabel(’船舶在港时间每次迭代的最优解’) objvalue=calobjvalue(pop,popsize,vesselNum,berthNum); %计算目标函数值 preobjvalue=min(objvalue); while gen<MAXGEN %% 计算适应度 objvalue=calobjvalue(pop,popsize,vesselNum,berthNum); %计算目标函数值 line([gen-1,gen],[preobjvalue,min(objvalue)]);pause(0.0001) %line([X1 X2],[Y1 Y2],S); %点A(X1,Y1)和点B(X2 Y2)之间画一条直线,S为其它属性(颜色,线的粗细等) preobjvalue=min(objvalue); fitvalue=fitness(objvalue,popsize); %计算适应度函数 %% 选择 newpop=Selection(pop,fitvalue,GGAP); pop1=newpop; %pop1为选择过后的种群 %% 交叉 [newpop]=Crossover(pop1,Pc); pop2=newpop; %pop2为交叉后的种群 %% 变异 [newpop]=Mutate(pop2,Pm); %% 重插入子代 pop=Reins(pop,newpop,objvalue); gen=gen+1; end [minobjvalue,minIndex]=min(objvalue); %[Y,U]=min(A):返回行向量Y和U,Y向量记录A的每列的最小值,U向量记录每列最小值的行号 minpop=pop(minIndex,:); %% 输出最优解的泊位调度方案和船舶在港总时间 disp(’最优解的泊位调度方案:’) OutputPath(minpop); disp(’最优解的船舶在港总时间:’) disp(min(objvalue)); disp(’-------------------------------------------------------------’)

3 仿真结果

4 参考文献

[1]张燕涛. 基于遗传算法的泊位调度问题优化研究及仿真[D]. 武汉理工大学, 2005.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐