【优化求解】基于matlab遗传算法求解仓库货位优化问题【含Matlab源码 022期】

✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。
🍎个人主页:海神之光
🏆代码获取方式:
海神之光Matlab王者学习之路—代码获取方式
⛳️座右铭:行百里者,半于九十。

更多Matlab仿真内容点击👇
Matlab图像处理(进阶版)
路径规划(Matlab)
神经网络预测与分类(Matlab)
优化求解(Matlab)
语音处理(Matlab)
信号处理(Matlab)
车间调度(Matlab)

⛄一、遗传算法仓库货位简介(仅供参考)

1 引言
随着电力企业生产规模的不断扩大,传统模式下的仓库管理模式由于利用率较低等问题已经不能很好地胜任电力企业仓储管理的需要。自动化立体仓库又称为自动仓储,极大地提高了物流整体运行效率,在物流活动中有着举足轻重的地位。对货位进行有效分配至关重要,合理的拣选路径可以节约时间、提高效率、同时降低拣选过程中设备所消耗的能量,进而降低成本。

货位分配就是考虑货物货架的实际性质,给出入库货物分配合理储位,达到仓储利益最大化的目的。以仓储用途为标准进行区位划分,将仓库分为5大区模块;利用不同的仓库水平位置,按照货物流通速度、出入库频率高低划分区位;将仓库入料作为参数,建立数学模型用来寻取最优货位;在研究不规则空间的自动仓库系统货物分配策略的基础上,构建了货位优化的数学模型。在研究仓库信息化、现代化的过程中,引入了自动化分配的概念,将建模指标确定为货位的动态分配

本研究基于某电力企业立体仓库,将货物出入库效率、存储货物之间的相关性以及保证货架的稳定性作为优化目标进行研究,建立货位分配的优化模型,并引入多目标遗传算法对优化模型进行求解,从而能有效提高仓库作业效率。

1 自动化仓库货位分配优化
1.1 模型假设

货位分配就是考虑货物、货架的实际性质、货物出入库频率等因素,给出入库货物分配合理储位,以降低仓储作业成本,从而达到仓储利益最大化的目的。
货物入库和出库的分配主要分为两种情况:入库时的货位分配和出库时货位的选择分配。前者根据入库的货物情况选择适当数目的货位进行摆放,后者根据出库的货物情况,将不同位置的同类货物进行出库操作。仓储过程中货物的合理分配一般遵循以下几个原则:
(1)先入先出原则。同一种类型的货物必须满足先进入仓库的要先出库这一原则,这样才可以减少货物在仓库中积压的时间,并安排入库频率高的货物置于离出入库口较近的货位,从而使货物的存储更加方便,让货物出入库的效率得到普遍的提高。
(2)稳定性原则。即将货物合理均匀分配在货架上,轻物安放在货架的上层,重物放置在货架的下层,实现货架“上轻下重”,从而保证货架稳定性。
(3)相关性安放原则。若货物之间存在一定的相关性,把需要同时出库的货物将其放在相近或是相邻的货位。考虑货物自身的性质应谨慎安排货位,如特殊类型货物要放在特殊的位置并且尽量安放在一起。
根据某电力企业仓库实际情况,进行模型简化。描述如下:假设在某个仓库区域中,该仓库共有a排立体货架,且每排为b列c层。因此,位于第ak排bk层ck列的货架可表示为:(ak,bk,ck)(ak=1,2,…,a;bk=1,2,…,b;ck=1,2,…,c),坐标(0,0,0)表示仓库的入口。图1为本研究货架俯视效果图。
在这里插入图片描述
图1 货架俯视效果图
从货架俯视图中可以将货位进行优化,针对此问题作以下假设:
(1)已知每种零件存放的种类,并且相同体积的容器其质量分布均匀;
(2)每种零部件的周转率已知;
(3)一种零部件对应一个货位;
(4)立体仓库采用单端出入库方式;
(5)每种货位单元格的长宽高以及巷道宽度均为定值l0;
(6)仅考虑拣选时间,不考虑零部件存取耗费的时间。

1.2 参数定义
根据假设,(a,b,c):货架共有a排、b列、c层;(x,y,z):货物在第x排,第y列,第z层的坐标;Vx:堆垛机在巷道上取送相应货物水平方向的平均速度;Vy:堆垛机沿另一水平方向的平均移动速度;Vz:堆垛机沿垂直方向的平均移动速度;l0:长度、宽度、高度相同的货架单元格;n:所有货物共n类;k:货位上存放的是第k类货品;pk:第k类货品的周转率;mk:第k类货品的质量;nxyzk:k在每个货位的取值不定;nxyz:存储在(x,y,z)货位坐标上的第k类货物的数量。

2 多目标优化的数学模型
2.1 出入库周转效率分析

在仓储管理的时候,必须要对每一个入库的货品进行严格地检查,执行严格的出入库管理。实际货物物流的过程中,每天都会有大量的货物进出仓库,因此合理利用好仓库空间,协调好管理人员之间的关系,提升货物出入库效率是仓储管理中急需解决的一个问题。想要提升货物出入库的效率,首先就要把时间作为一个重要的考虑因素:将货物出入库的实际时间作为衡量标准,推算出货物出入库位置合理的距离公式。

在现代的仓储管理中,货品上架和下架基本都是由堆垛机完成的,而堆垛机在竖直方向和水平方向上移动速度是不同的。对于大部分仓库而言,堆垛机的速度大致是差不多的,尽管堆垛机在实际独立取送货物中有着x轴和y轴两个不同的速度,但是它们的平均速度大致相同。假设(xk,yk,zk)是货位的坐标,用k表示摆放在货位的第k类货品,那么X,Y,Z方向上的移动平均速度表示为Vx,Vy,Vz,l0为货架单元格长宽高,并且都是已知的常量,假设堆垛机3个方向的平均速度Vx、Vy、Vz是不变的,可以推导出提高出入库效率模型公式:

2.2 出入库稳定性分析
重心低的物体具有较好的稳定性,为了降低货架的重心,将货品按照“上轻下重”的原则放置,以此来增强货架的稳定性。将货架的重心设置为第二个计算因子,将货架的重心降到最低就是货物摆放所要达到的最优目标。

根据排列层的样式,首先设计仓库货架布局,计算每排每列货架的重心。为了求取整个货架重心的最优解,首先需将每排的所有列进行加权,然后再将所有排整体求和。对该目标函数进行推导,得到货架中心。整个仓库的货架稳定性函数模型如下:

2.3 货品种类分析
要实现仓储管理的现代化,就必须使仓库在有限的空间内放置更多的货品,在探求货品存放最优模式时,不仅要考虑布局仓库货位对空间的占用,还要注意货品摆放的序列。根据仓库货位放置的货品来确定第k类货品(ak,bk,ck)中心坐标位置。根据不同实际情形,建立单独的目标函数模型。联立后如式(3)所示:

式中,每个货位单元格的长度l0,第k类(k∈[1,n])货品的周转率pk,第k类货品的质量mk,货位分类存放时第k类货品的中心点坐标为(ak,bk,ck),该坐标第k类货品的存放数nabck。

3 货位优化的多目标遗传算法实现
本文基于多目标遗传算法建立一系列效用函数与目标函数之间的相关联系,借助效用函数关联多个目标,在效用函数的协调下,使得多目标优化向单目标优化转化,便于最优化运算求解。对于货物优化问题,可将货物坐标标识为基因,染色体即为货物坐标的排序序列,多条染色体可组成一组有效种群解,从而在种群基础上搜寻多目标规划问题的最优解。

3.1 货位算法编码
根据实际仓库情况,货架的排和列数小于32,层数小于8。对货位的编码:货位编号由6位数组成,编号是从010101到323208,仓库货位前面两位编号表示排,中间两位编号表示列,最后两位编号表示层,这种编号前两位和中间两位阿拉伯数字不能超过32,最后两位不能超过8。编号编码表如表1所示。
表1 货位编号
在这里插入图片描述
表1 货位编号
实际操作中,需要按照不同的编码方法进行编码,同时又想把不同编码方法得到的参数结果连接在一起,则常要在GA编码方式中利用参数级联编码方式,目的是在不改变原来编码的基础上依次将它们按照顺序连在一起,从而得到整个参数的编码。综上分析采用5∶5∶3编码方式对参数解码。解码过程顾名思义则将其按照5∶5∶3这样比例进行拆分开来,例如二进制编码串为X:1000101111100,可以将二进制编码串拆分成3个子串,并分别将3个子串进行解码:10001转换为十进制是X1=16+1=17;01111转换为十进制是X2=8+4+2+1=15;100转换为十进制是X3=04。因此,可以求出二进制编码解码为(171504)。

3.2 初始化种群
在进行货位优化方面,首先考虑初始种群的设定,因此在整个仓库中,货位和货物是相互对应的关系。一旦货位确定下来,货物的位置也就相应的确定下来。在用二进制编码时,就不用担心生成的是不是0或1,仓库中总会使货物与货位有着匹配的关系,然后将每个产生的货位编号连接起来即可构成一个初始个体。为了更加合理有效地对货位进行分配,在盘点一些短期或长期储存的货物时要尽可能的采用货位优化方式,更要在货物刚要入库上架的时候运用进来。

⛄二、部分源代码

%%%% 遗传算法优化仓库货位优化
% ======================= ======================

clc
clear
close all
%% 货架
L = 2; % 纵向通道宽度
L0 = 1.5; % 货架宽度
a = 8; % 每个区域有10列货架
b = 9; % 每个货架有10个储位
c = 8; % 层数
data = xlsread(‘新数据.xls’);
G = data(:,2:4); % 货物位置
R = data(:,5); % 周转率
Q = data(:,6); % 质量
Vx = 1; % 水平运输速度,单位:m/s
Vy = 1.2;
Vz = 0.6; % 垂直运输速度,单位:m/s

%% 遗传算法参数
NP = 200; % 种群大小
maxgen = 1500; % 最大进化代数
Pc = 0.9; % 交叉概率
Pm = 0.1; % 变异概率
Gap = 0.9; % 代沟(Generation gap)

%%
figure(1)
drawCol(a,b,c,L,L0)
GoodsNum = size(G,1);
for i = 1 : GoodsNum
drawGood(G(i, 😃,L,L0,R(i))
end

⛄三、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]叶可欣,周靖.基于遗传算法的电力企业仓库货位分配优化[J].水电站机电技术. 2021,44(04)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

🍅 仿真咨询
1 各类智能优化算法改进及应用

生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化

2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断

3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知

4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化

5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配

6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化

7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长

10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
自动化立体仓库货位优化是一个非常重要的问题,它涉及到货物存储的效率、安全和可靠性等多个方面。Matlab是一款非常强大的数学软件,可以用于解决各种优化问题,包括货位优化问题。 下面是一种可能的Matlab算法,用于优化自动化立体仓库货位分配: 1. 首先,确定货物的种类和数量,以及货架的数量和高度等基本信息。 2. 接着,根据货物的种类和数量,以及货架的高度和数量,建立一个数学模型。该模型应该包括以下内容: - 货架的分布和高度; - 货物种类和数量; - 货位的容量和大小; - 货位的位置和编号; - 货物的存储和取出规则等。 3. 然后,使用Matlab优化工具箱,将上述模型转化为一个数学优化问题。该问题的目标是最小化货物的存储和取出时间,同时满足仓库的容量和安全要求。 4. 在进行优化之前,需要确定一些参数,例如优化算法的类型、停止条件、初始值等。这些参数应该根据实际情况进行调整。 5. 最后,运行优化算法,得到最优的货位分配方案。该方案应该包括每个货架上存储的货物种类和数量,以及每个货位上存储的货物编号和数量。 需要注意的是,自动化立体仓库货位优化是一个非常复杂的问题,需要综合考虑多个因素,例如货物种类、数量、流量、存储规则、取货规则、货架高度、容量等。因此,在实际应用中,需要对上述算法进行不断的优化和改进,以满足实际需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海神之光

有机会获得赠送范围1份代码

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值