java 货架高度摆放最优算法_【计算机系统应用】(第九十五期)面向堆垛机路径优化的局部搜索自适应遗传算法...

点击上方“ 蓝字”,关注我们吧! 02cc95a945cc6caed776745c842e12cf.png 727f121d01d94470e1361842095ef1ee.gif

近年来, 随着物流行业的发展, 现代仓储物流企业 对自动化仓库 AS/RS (Automated Storage and Retrieval System) 的效率要求也越来越高, 在 AS/RS 中, 出入库 货物搬运任务完全由自动化巷道式堆垛机来负责完成, 堆垛机作为 AS/RS 的核心设备, 其调度问题对仓库的 管理效率起决定性作用, 目前, 仓库的堆垛机调度路径 往往采用直接指派的方式, 导致堆垛机的运行效率 低、时间和能耗较高. 良好的堆垛机存取路径优化可 以降低仓储成本, 提高 AS/RS 的利用率, 对仓库管理效 率的提升具有很大的现实意义. 

通过对堆垛机的运动模式和物理特性进行分析, 发 现其调度问题要考虑时间、能耗、作业效率等因素,这 3 个因素显然不能同时达到最佳, 那么就需要一些方 法来进行协调, 传统的方法是将多个目标函数通过权重 分配的方式降维成单个目标函数, 转换成单目标优化的 问题, 这种方式存在权重量化设定困难和易于陷入局部 最优等问题. 本文采用多目标优化方式[1] 来解决路径优 化问题, 对多个无法同时达到最优的目标进行协调, 产 生一组 Pareto 最优解[2] 路径, 供仓库控制系统自行选择。

针对堆垛机调度问题, 关榆君等[3] 采用引入了交 算子和交序列的猫群算法, 但无法得到 Pareto 最优解 集, 依旧是单目标优化的变种. 针对多目标优化问题, Srinivas 和 Deb 在 NSGA 的基础上提出了 NSGA-Ⅱ算 法[4] 来求 pareto 最优解集, NSGA-Ⅱ算法使用了快速 非支配解排序算法降低复杂度、引进了精英策略来保 证优良个体得以保留、采用拥挤度替代了共享适应度, NSGA-Ⅱ算法以运行速度快、解集收敛性好、简单有 效等特点在多目标优化领域得以广泛应用, 尤其对于 低维多目标优化问题具有明显优势[5] , 但仍存在着容易 陷入局部最小值、局部搜索能力不足等问题[6] . 因此, 本文在 NSGA-Ⅱ的基础上进行改进与优化, 对 NSGA- Ⅱ算法易陷入局部最优的问题采用引入自适应遗传算 子的方式进行了改善, 并新增了局部随机搜索策略增 强局部搜索能力. 通过实验证明了新方法对比 NSGA- Ⅱ算法在堆垛机调度问题中的有效性.

ab469bc70e07096eb8e9e55f363c58cd.png

1   堆垛机调度模型 

1.1 问题描述 

以连云港某家氨纶公司的自动化无人仓库为研究 对象, 该仓库为同端出/入布局, 即入库口与出库口在巷 道的同一侧, 货架沿通道排列, 堆垛机按指令沿通道运 行, 进行货架上货物的拣选作业. 图 1 为部分示意图.

b1ca481bd125370a66c23adde6c93485.png

本文主要研究的是单一堆垛机面对多任务时, 如 何合理的设计调度路径. 从时间、能耗、批作业效率 3 个方面考虑, 这 3 个指标不能同时达到最优, 故 运用算法产生一组 Pareto 最优解, 供仓库控制系统自 行选择, 从而节约堆垛机的使用费用, 提高仓库的搬 运效率. 

1.2 模型建立 

堆垛机的运行可以归类为 TSP 问题, 即机器从起 点出发, 一次性经过多个拣选点又回到起点的路径问 题. 考虑到堆垛机在运行过程中的时间、能耗以及作 业效率, 对堆垛机的调度路径进行建模. 分别从时间、 能耗、批作业效率 3 个方面建立优化目标.

a097b8862953a84a6a1ae0915ac1e880.png

其中,  表示从堆垛机从第 i 个货位点到第 i+1 个货 位点的时间,  表示堆垛机从第 i 个货位点到第 i+1 个货位点的能耗,  表示堆垛机从初始位到第 i 个 货位点的时间 (即第 i 个货位任务的等待时间),  表示 第 i 个货位点货物的优先级 (数字越小表示优先级越 高), T 表示堆垛机完成一批次调度任务的总耗时, E 表 示堆垛机完成一批次调度任务的总耗能, Eff 表示批作 业的效率.

c8192b8b58a28f2b80f9b43022c6d144.png

其中,  表示第 i 个货位点在货架中的坐标, L 为一 个货位的长度, H 为一个货位的高度,  为移动单位货 格长度的基础能耗,  为移动单位货格高度的基础能 耗,  为堆垛机变加速运动过程的平均速度, 仅与移 动距离有关.

2   基于局部随机策略的自适应遗传算法 

在解决多目标优化问题时, NSGA-Ⅱ算法作为较 为经典的一种算法一直得到广泛的应用, 但将其应用 到堆垛机调度问题中时, 发现 NSGA-Ⅱ算法容易陷入 局部最优, 并在搜索能力上有所不足, 因此, 本文在NSGA-Ⅱ算法的基础上从遗传算子着手进行了改进, 并加入了局部随机搜索策略, 得到了一种加入局部搜 索策略的自适应遗传算法 (IMOGA). 

2.1 染色体编码 

本文采用对堆垛机的货位点拣选顺序进行编码的 方式, 染色体由多个基因组成, 每个基因表示货架上的 货格编号, 以 25 列 20 行的货架为例, 采用行优先的方 式对货格进行编号, 第 1 行第 1 列编号为 0, 第 1 行第 2 列编号为 1, 依次类推, 一直到编号 4999. 以长度为 5 的染色体为例, 染色体 [43, 54, 2, 386, 123] 表示堆垛 机共经过 5 个点, 依次为 43, 54, 2, 386, 123 号货位.

2.2 自适应遗传算子 

在进化过程中, 出现堆垛机路径序列部分货位点相 邻的情况, 以 25 列 20 行的货架为例, 对于 55 号货位, 20、54、56、80 号货位都与它相邻, 如图 2 所示. 为了 保证堆垛机的运行效率, 对于这样的相邻货位点序列, 在交叉变异过程中, 应当保证相邻货位点序列不被破 坏. 出于以上考虑, 对交叉、变异操作进行了改进.

b33d121e19178002f750e313cd2d612d.png

交叉操作采用改进的基于位置的交叉, 首先根据 染色体长度 L 与随机位置数 z 的关系公式 , 随 机生成 z 个随机交叉位置, 在初始待优化序列中找到 对应位置的基因, 作为保留位置基因, 并在基因的左右 位置上进行探测, 是否存在该基因对应的临近货位编 码基因, 若存在, 扩展进保留位置基因中, 父代两个个 体间保留位置基因依序交换, 然后依次在未保留位插 入剩余基因. 譬如, 对于初始待优化序列 [45, 287, 2, 467, 3642, 264, 2182, 20, 466, 9], 随机生成 3 个位置 1、4、10, 对应保留位置基因 45、467、9, 对于两个父 代 [264, 466, 9, 2, 45, 20, 3642, 2182, 467, 287] 和 [2, 9, 20, 2182, 3642, 466, 467, 287, 264, 45], 搜索临近位置 基因, 发现存在相邻货位点基因序列 [45, 20] 和 [466, 467], 拓展保留基因为 [45, 46][466, 467][9], 基于交叉 位置进行交换, 依次在未保留位插入剩余基因, 得到子 代, 如图 3 所示.

867b1d5780a8f661cbdf0cb45bde7794.png

变异操作采用随机位置的互换操作, 根据染色体长 度 L 与变异点 z 的关系公式 , 随机生成 z 个变 异点, 若变异点左右位置上存在该变异点基因对应的临 近货位基因, 则将变异点进行延拓, 循环交换这 z 个变 异点的基因段. 譬如, 对于父代 [264, 45, 20, 9, 2, 466, 467, 287, 2 182, 3 642], 随机生成 3 个变异点 2、7、9, 对应基因 45、467、2 182, 在变异点临近位置上进行探 测, 发现存在相邻货位点基因序列 [45, 20] 和 [466, 467], 延拓变异点基因段为 [45, 20][466, 467][2 182], 循 环交换基因段, 如图 4 所示.

ef10fd38ec8e60e9b1db9d41898d738b.png

在研究过程中发现, 遗传算子的交叉、变异概率 对在很大程度上将影响算法的结果. 对于适应度较差 的个体, 应当给予更高的交叉变异概率, 而对于适应度 较高的优秀个体, 应当给予较低的交叉变异概率[7] , 因 此, 根据自适应的思想, 使交叉率变异率按照适应度的 Sigmoid 曲线进行调整[8] , 尽力保留优秀个体的同时跳 出局部收敛, 将遗传交叉变异概率做如下改进.

9fa36aae08f29fda1f89d14e19343bdf.png

其中, pc为交叉概率, pm为变异概率, Pcmax为最大交叉概率,  为最小交叉概率,  表示种群的平均适应 度,  表示种群最大适应度,  表示待交叉个体中较大的 适应度,  为最大变异概率,  为最小变异概率, 表示待变异个体的适应度, A=9.903 438, 依据 Sigmoid 曲线特性得来.

2.3 基于模拟退火算法的局部随机搜索策略 

遗传算法在前期的搜索过程中主要是对解空间进 行全局寻优搜索, 能够搜索到最优解集的大致范围, 到 了迭代的后期, 解集较为集中, 就需要考验算法的局部 搜索能力, 由于 NSGA-Ⅱ算法局部搜索能力不足, 难以得 到问题的真正解集. 出于以上的考虑, 本文针对 NSGA-Ⅱ 遗传算法局部搜索能力不足的问题, 进行了改进, 采用 了局部随机搜索策略来帮助算法改善搜索过程. 

模拟退火是一种随机寻优的算法, 具有比较强的局 部搜索能力, 其 Metropolis 准则允许一定的概率上接 受劣于原解的新解, 从而使算法能够跳离局部最优的 陷阱[9] , 理论上, 只要迭代次数足够, 就能够搜索到全局 最优. 因此, 本文采用基于模拟退火思想的局部随机搜 索策略. 模拟退火算法依据 Metropolis 准则来判断是 否接受搜索过程中得到的被原始解所支配的新解, 新 解的接受概率公式为:

5ecd9e46883ecbac516abcdea740829c.png

其中,  f(x1) 为新解的目标函数值,  f(x0) 为原始解的目标 函数值, k 为 Boltzmann 常数, T 为进化代对应的热度, 由上式可以看出, 接受概率 P 与热度 T 有关, T 热度越 高, 对被支配解的接受概率越大, T 热度越低, 对被支配 解的接受概率越小, 热度 T 的迭代公式为:

19c01214a393bf37fe2e5d790925b5da.png

其中, T0 为模拟退火的初始状态温度, t 为迭代次数, 可 以看出, T 热度随着迭代次数的增加而降低, 使得算法 迭代前期能够保留一些“潜力解”, 使解空间具有更多 的可能性, 增加了全局搜索能力, 在算法迭代后期, 热 度降低, 接受被支配解的概率降低, 避免丢失较优解, 并有一定的概率让陷入局部最优陷阱的解进行“自救”. 基于模拟退火的局部随机搜索策略步骤如下:

Step 1. 设置初始参数: 初始状态温度 T0, 迭代次数 上限 n, 邻域内搜索次数 m, 邻域内搜索上限 M 次.

Step 2. 遗传算法进化得到非劣解集 , 非劣解集

中解用 表示.

xiyi ∆E = f(yi)− f(xi) ∆E < 0 yixi ∆E ≥ 0

Step 3. 若在解 的一定邻近范围内随机搜索得到

新解 , 计算 , 若 , 则接受新解 取代, 跳至 Step6; 若 , 则随机生成概率 r, 跳至 

Step 4. 按照新解接受概率公式, 若 ,则接受新解 , m=0 并跳至 Step 6, 否则, m++.

Step 5. 若 m

Step 6. 更新温度 T, 迭代次数若超过最大次数, 终止. 否则, 返回 Step 2.

3   实验分析 

为了验证本文所述的改进算法 IMOGA 的性能, 针对具体的调度序列, 分别采用 NSGA-Ⅱ和 IMOGA 算法进行求解. 以连云港某氨纶公司的自动化无人仓 库为例, 货架有 11 排, 每排有 25 列 20 层, 单个货位的 长和高均为 1 m, 一台堆垛机负责一个巷道内的出入库 操作, 依照货位点依次拣选作业, 堆垛机货位拣选点坐 标测试数据如下:

3a3e7772d7969f49751c6a4540f3c8cb.png

针对上述货位拣选点, 分别使用 NSGA-Ⅱ、IMOGA 算法对堆垛机路径进行优化. 算法参数: 初始种群大小 100, 最大迭代数 200, NSGA-Ⅱ的 ;  . IMOGA 算法的 M=10;  ;  ;  ; ;  , 两算法迭代过程如图 5~图 7 所示.

bd9f6b25bdb07c44abd0617958af3fda.png

c35fcce024d17f7f22f413bc8b2b7038.png

由图 5~图 7 可见, IMOGA 较 NSGA-Ⅱ收敛速度 更快, 趋于稳定的代数更早, 在各个目标函数上的值最 优, IMOGA 在收敛过程中存在一些拐点, 证明 IMOGA 在局部随机搜索策略帮助下, 能在一定概率上接受劣 解来跳出局部最优. IMOGA 算法求得测试数据 (图 8) 的一组路径坐标 Pareto 解如图 9~图 11 所示

440c2b0e9683e0278c955ff905a04684.png

4a74a1a80398a422a63bec4ddbbb91f4.png

其中,  为求得的解集,  为参考解集,  为解 y 在 N 维目标空间中到解 x 的距离,  表示解 的第 i 个目 标函数值.  公式如下

e24d4f653daef78ed1c361180d9aa331.png

分别用 NSGA-Ⅱ、IMOGA 算法相同条件下运行 20 次得到各自的解集, 合并并去除非劣解, 得到非劣解 集作为参考集 . 得到趋于稳定的平均迭代次数和 指标如表 1 所示.

9251503cf95a9cecfa75d69068cf57cc.png

由表 1 可以看出, 在堆垛机调度问题中, IMOGA 算法的 与趋于稳定的平均迭代次数均少于 NSGA- Ⅱ算法, 证明 IMOGA 算法的解集质量更高, 具有更快 的收敛速度, 针对堆垛机路径优化问题具有更强的有 效性.

4   结语 

本文对同端出入立体仓库中的堆垛机调度问题进 行建模, 针对 NSGA-Ⅱ算法容易陷入局部搜索能力不 足的问题进行了改进, 并引入了一种局部随机搜索策 略来帮助算法跳出局部最优, 提出了一种根据自适应 遗传算子和局部搜索策略进行改进后的遗传算法 IMOGA. 通过实验分析表明, 在堆垛机调度问题上,IMOGA 相较于 NSGA-Ⅱ, 不论是解的质量还是收敛 速度, 都具有一定的优势, 证明了算法的有效性.

推荐书籍

47e92530a695f9a9aaf403f2e9ef7c42.png

科技是促进当代中国德育发展的重要动力之源,其不但全面整合着德育活动的社会资源,而且是制约德育实践的关键内生变量。从历史发展来看,科技与德育的内在联系根源于科技与道德的同一性关系。段新明编写的《科技与人文耦合背景下的当代德育转型研究》在文化社会学的视野下,结合我国社会发展的现实语境和人文诉求,全面分析了科技实践通过社会意识、知识观念与文化氛围的变革,进而对德育所产生的深刻影响;认为德育活动应当在交往理性的基础上,构建系统性的科技教育与人文教育相融合的理论和实践体系,促进德育的健康发展和实效性的提升。

本文转载《计算机系统应用》期刊 2020年第29卷第8期

3158d4b5fb1755ed71813eae04e4a596.png

关注我们公众号,还可以获得PS AI等工具包哦~

a35895ee2dd8f34ef5b02d148dea622d.gif

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值