【优化分配】基于萤火虫算法求解订单分批优化问题附Matlab代码 |
您所在的位置:网站首页 › 萤火虫发光的生物学意义 › 【优化分配】基于萤火虫算法求解订单分批优化问题附Matlab代码 |
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 神经网络预测 雷达通信 无线传感器 电力系统 信号处理 图像处理 路径规划 元胞自动机 无人机 ⛄ 内容介绍一种基于群体智能优化算法的订单分批方法,包括如下步骤:1,建立以订单方案的总行走距离最短为目标的订单分批数学模型;2,根据订单之间的关联性定义订单相似度计算方法,采用最大化订单相似度规则对模型进行求解,实现订单初始分批;3,设计萤火虫算法对初始分批结果进行优化,得到最终订单分批结果.仿真结果表明:与未分批按单拣选作业相比,萤火虫算法优化后大大减少了订单方案的总行走距离,拣选作业效率显著提高.本发明可以有效解决"货到人"订单分批问题,为仓库订单拣选系统优化提供依据. ⛄ 部分代码%% 计算种群中每个萤火虫的目标函数值 %输入Population: 种群 %输入orders: 每个订单所包含的物品信息 %输入batches_maxnum: 最大允许分批的数目 %输入orders_num: 订单数目 %输入capacity: 设备最大装载量 %输入item_weight: 每个储位品项的重量 %输入side_num: 每条拣选通道一侧的储位数目 %输入depot_leftAisle: 仓库与第1条拣选通道的距离,1.5LU %输入enter_leave_aisle: 从通道进入拣选通道或从拣选通道进入通道需要行走的距离,1LU %输入adjacent_location: 同一条拣选通道的两个相邻储位之间的距离,1LU %输入adjacent_aisle: 两个相邻拣选通道的距离,5LUs %输入alpha: 违反设备装载量约束的惩罚因子 %输出Obj: 种群中每个萤火虫的目标函数值 function Obj=obj_function(Population,orders,batches_maxnum,orders_num,capacity,item_weight,... side_num,depot_leftAisle,enter_leave_aisle,adjacent_location,adjacent_aisle,alpha) NIND=size(Population,1); %萤火虫数目 Obj=size(NIND,1); %初始化目标函数值 for i=1:NIND Individual=Population(i,:); %第i个萤火虫 batches=decode(Individual,orders,batches_maxnum,orders_num,capacity,item_weight,... side_num,depot_leftAisle,enter_leave_aisle,adjacent_location,adjacent_aisle); %解码 Obj(i,1)=cost_function(batches,orders,item_weight,capacity,side_num,depot_leftAisle,... enter_leave_aisle,adjacent_location,adjacent_aisle,alpha); %为第i个萤火虫目标函数值赋值 end end ⛄ 运行结果 ⛄ 参考文献[1] 邹炜, 赵洪銮, 宿梦梦,等. 一种基于萤火虫算法的订单分批方法:, CN114549138A[P]. 2022. [2] 邹炜, 赵洪銮, 宿梦梦,等. 一种基于萤火虫算法的订单分批方法:. [3] GAO Zhenhua, CHEN Zhuo. 基于萤火虫算法的订单分批问题研究[J]. 物流科技, 2019, 42(7):6. [4] 马廷伟, 雷全胜, 李军,等. 基于启发式算法的订单分批问题研究[J]. 物流工程与管理, 2015, 37(11):4. ⛳️ 完整代码❤️部分理论引用网络文献,若有侵权联系博主删除 ❤️ 关注我领取海量matlab电子书和数学建模资料 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |