2. 陕西航天时代导航设备有限公司, 宝鸡 721099
2. Shaanxi Aerospace Times Navigation Equipment Co. Ltd., Baoji 721099, China
由于机器人制造单元对制造行业的生产效率和生产质量有很大提高, 近30年来, 生产调度问题[1]已成为国内外自动控制领域、计算机科学等领域的研究热点. 现代智能制造市场的需求越来越个性化、多样化, 使传统的量产模式受到了极大的挑战. 机器人制造单元在实现量产的同时, 能够保持小批量定制生产的灵活性, 能够更好地适应当前智能制造发展的需求, 而合理的优化调度是机器人制造单元整体控制的一个重要方面. 制造企业为了在激烈的竞争环境中生存和发展, 需要提供能够满足客户各种需求的资源调度方案. 单一目标的寻优已经满足不了人们日常生活的需要, 工业上对于优化目标个数增多的要求使得求解问题的难度显著增加. 目前, 调度问题的理论和实践方法研究, 仍不能满足现实生产需求. 传统的优化算法在解决复杂多目标问题中[2-5]常常效率低下, 难以达到预期. 智能优化算法[6-9]通常是基于非劣解概念基础上的现代启发式算法, 具有更好的处理高维多目标问题的能力. 因此, 在经典车间调整理论的基础上, 本文要针对Pareto支配关系在高维多目标优化中的支配能力不足, 将另外两种支配关系与NSGA-III算法相结合去对生产调度问题进行求解去解决机器人制造单元优化上的多目标协同调度优化问题.
1 问题描述本文主要研究的是有关job-shop 类型的机器人的智能制造车间的搬运问题. Job-shop 类型的机器人制造单元主要由加工站、搬运机器人和控制系统等组成. 根据车间调度的工业路线特点, 可将job-shop 类型的机器人制造单元调度过程描述为: 有
近年来, 在生产过程中人们越来越关注能够使多项决策目标都能得到满足的生产调度方案. 通常考虑多个目标共同优化的方案. 同时, 由于对环境问题的重视, 本文又引入了加工总能耗, 生产总成本等一系列的绿色调度目标. 以下是本文要优化的5个目标:
1) 最大完工时间:
$ C_{\rm{max}}={\rm{max}}\left({C}_{i}\right),\; i=\mathrm{1, 2}, \cdots , N $ | (1) |
2) 加工总能耗:
$ \begin{split} {E}_{\rm{total}}=&\sum\nolimits_{i=1}^{M}\left(\sum\nolimits_{j=1}^{{N}_{i}}{t}_{ij}{P}_{m, i}+{t}_{i, {\rm{idle}}}{P}_{i, {\rm{idle}}}\right)\\ &+\sum\nolimits_{i=1}^{{N}_{b}}{t}_{b, i}{P}_{b}+{t}_{b, {\rm{idle}}}{P}_{b, {\rm{idle}}} \end{split} $ | (2) |
3) 交货期提前量:
$ ET=\sum\nolimits_{j=1}^{N}{(DT}_{j}-{RT}_{j}), \;{DT}_{j} > {RT}_{j} $ | (3) |
4) 交货期延迟量:
$ LT=\sum\nolimits_{j=1}^{N}{(RT}_{j}-{DT}_{j}), \;{DT}_{j} < {RT}_{j} $ | (4) |
5) 生产总成本:
$ {C}_{\rm{total}}={cost}_{e}{E}_{\rm{total}}+\sum\nolimits_{i=1}^{M}\sum\nolimits_{j=1}^{{N}_{i}}{t}_{ij}{C}_{u, i} $ | (5) |
其中, 最大完工时间指所有工件完成加工后的总加工时间,
NSGA-III[10]是Deb和Jain在2014年提出来的用于处理多个优化目标的进化优化算法. 其主要思路是在NSGA-II的基础上引入了参考点机制, 对于那些非支配并且接近参考点的种群个体进行保留, 相比NSGA-II拥有优秀的处理更高维度目标的能力.
2.1 NSGA-III基本算法流程本文以NSGA-III的算法基本框架, 全局搜索以遗传算法为基础, 使用了一种符合调度问题特点的交叉变异策略, 并提出了两种更改支配关系的改进措施. 改进后的NSGA-III将具有更好的处理高维数据的能力, 用于解决本文所提出的机器人制造单元的高维多目标调度问题. NSGA-III的算法流程如下.
Step 1. 初始化, 随机产生大小为
Step 2. 计算目标值, 通过非支配排序, 将
Step 3. 选择优先级高的非支配子集保留到下一代, 用
Step 4. 每一维度最大值作为极值点, 最小值作为理想点, 对每个解的目标值做归一化处理.
Step 5. 以极值点构造超平面, 产生均布的
Step 6. 对
Step 7. 对于
Step 8. 返回Step 2, 直至迭代次数达到预设值, 对当前解集进行非支配排序找出第一非支配层的解作为最终解集.
2.2 改进的NSGA-III随着目标数量的增加, 算法对解的选择压力变小, 基于Pareto支配, 解之间很难存在支配关系, 这导致解集中很大部分的解都是非支配的. 而算法本身就强调保留种群中的非支配解, 所以在每一代种群中, 就没有太多的空间来保留新解. 这样就减缓了算法的搜索过程, 使算法效率变得低下. 使用改变支配关系的方法, 将解的目标值进行调整, 可以扩大每个解的支配空间, 从而提高解之间的区分度. 本文分别将Lorenz支配和CDAS支配与NSGA-III结合来进行优化. 第2.2.1节和第2.2.2节分别介绍了 Lorenz支配和CDAS支配.
2.2.1 Lorenz支配$\left\{ { \begin{split} f\left(x\right)=&\left[{f}_{1}\left(x\right), {f}_{2}\left(x\right), \cdots , {f}_{m}\left(x\right)\right]\\ f{'}\left(x\right)=&\bigg[{f}_{1}\left(x\right), {f}_{1}\left(x\right)+{f}_{2}\left(x\right), {f}_{1}\left(x\right)+{f}_{2}\left(x\right)\\ &+{f}_{3}\left(x\right), \cdots , \sum\nolimits_{i=1}^{m}{f}_{i}\left(x\right)\bigg] \end{split}} \right. $ | (6) |
Lorenz支配(式(6))是将标准化后的每一个解的目标值, 按照从小到大进行排列, 之后在一个新列表里, 第
如图2所示是一个双目标的例子, 对于解
$ \left\{ {\begin{split} &{\varphi }_{i}=S\times\pi\\ &{f}_{i}{{'}}\left(x\right)=\frac{r\times\mathrm{s}\mathrm{i}\mathrm{n}({\omega }_{i}+{\varphi }_{i})}{{\rm{sin}}{\varphi }_{i}}, \;i=\mathrm{1, 2}, \cdots , m \end{split}} \right.$ | (7) |
CDAS支配(式(7))如图3所示, 式中,
通过试验发现, 当
以双目标优化问题为例, 如图4所示, 当
为了验证本文提出的改进算法的有效性, 通过对本文算法与传统的NSGA-Ⅲ算法进行对比. 并从以下3个方面来测试算法性能.
1)收敛性: 反映解集与真实Pareto前沿趋近程度.
2)多样性: 反映是否所得的Pareto最优解集中的解都分布在 Pareto 前沿上.
3)均匀性: 反映所得的Pareto最优解集中的解在目标空间中分布的均匀程度.
本次实验采用世代距离GD (generational distance)、反向世代距离IGD (inverted generational distance)和间距Spacing作为评价算法性能的指标. 其中, GD用于评价解集收敛性, IGD用于评价解集收敛性和多样性的综合性能, Spacing评价解集均匀程度.
本文提出的改进优化算法以 PyCharm Python 3.8 为开发工具编程实现, 其中相关参数设置如下: 实验设计环境和配置为Intel(R)Core(TM) i5-7300HQ CPU@2.50、8.00 GB RAM、Windows 10 64位操作系统. 交叉概率设为1.0, 变异概率设为0.5, 迭代次数设为50, 种群大小设为40. 表1中, Ind表示案例编号,J表示该案例工件个数,
为了更好的描述最优方案的调度过程, 可以通过甘特图来分析工件的加工顺序与机器人的搬运顺序, 如图5为案例CS-3-16-5的甘特图. 该案例包含3个工件, 5台加工机器, 16道工序. 图中, 横坐标为时间轴, 纵坐标为加工机器序号, M0为装载卸载站. 纯色矩形代表加工过程, 虚线矩形代表工件在当前机器上的等待时间, 实线代表机器人带载过程, 虚线代表空载过程. “J00”代表工件0的第0道工序, 之后以此类推. 则案例CS-3-16-5的加工过程可描述为: 机器人将工件2从M0搬出至M3进行工序J20的加工, 搬运后机器人返回至M0开始搬运工件0至M1进行工序J00的加工, 随后返回M0搬运工件1至M5加工工序J10. 随后机器人转至M3取走在M3上完成加工的且已在输出缓冲区上等待的工件2, 搬运至M2加工工序J21. 以此类推, 直到所有工件加工结束.
表1、表2、表3分别为C-NSGA-III、L-NSGA-III和NSGA-III算法在GD、IGD、Spacing上的对比结果. 通过对比可以得出, C-NSGA-III和L-NSGA-III都在GD上表现良好, 在绝大部分案例上数值都小于NSGA-III, 且标准差不大, 说明改进算法较为稳定. 在GD最小值上, C-NSGA-III始终为0, 总体可得两种改进算法在收敛性上都要优于NSGA-III. 但在IGD值上, NSGA-III几乎始终占优, 说明C-NSGA-III和L-NSGA-III在多样性上会变差, 分析原因是两算法均加大了支配空间, 它们的解相当于Pareto关系下的解的子集, 所以解的多样性会变差. 比较Spacing值可知, 两改进算法在解集均匀程度上, 较优于NSGA-III. 总体来说, C-NSGA-III和L-NSGA-III算法有效地提升了解集的收敛性和均匀性, 在多样性上表现一般.
4 结论与展望
本文针对研究机器人制造单元的多目标协同调度问题, 同时优化5个目标: 最大完工时间, 加工总能耗, 交货期提前量, 交货期延迟量及生产总成本. 针对job-shop的特点, 分别将Lorenz支配和CDAS支配与NSGA-III结合来进行优化并将结果与NSGA-III进行比较, 证明该算法有效.
[1] |
Haimes YY, Lasdon LS, Wismer DA. On a bicriterion formulation of the problems of integrated system identification and system optimization. IEEE Transactions on Systems, Man, and Cybernetics, 1971, SMC-1(3): 296-297. DOI:10.1109/TSMC.1971.4308298 |
[2] |
Zadeh LA. Optimality and non-scalar-valued performance criteria. IEEE Transactions on Automatic Control, 1963, 8(1): 59-60. DOI:10.1109/TAC.1963.1105511 |
[3] |
Coello CAC. Evolutionary multi-objective optimization: A historical view of the field. IEEE Computational Intelligence Magazine, 2006, 1(1): 28-36. DOI:10.1109/MCI.2006.1597059 |
[4] |
Escamilla J, Salido MA, Giret A, et al. A metaheuristic technique for energy-efficiency in job-shop scheduling. The Knowledge Engineering Review, 2016, 31(5): 475-485. DOI:10.1017/S026988891600031X |
[5] |
Dai M, Tang DB, Giret A, et al. Energy-efficient scheduling for a flexible flow shop using an improved genetic-simulated annealing algorithm. Robotics and Computer-Integrated Manufacturing, 2013, 29(5): 418-429. DOI:10.1016/j.rcim.2013.04.001 |
[6] |
May G, Stahl B, Taisch M, et al. Multi-objective genetic algorithm for energy-efficient job shop scheduling. International Journal of Production Research, 2015, 53(23): 7071-7089. DOI:10.1080/00207543.2015.1005248 |
[7] |
Subulan K. An interval-stochastic programming based approach for a fully uncertain multi-objective and multi-mode resource investment project scheduling problem with an application to ERP project implementation. Expert Systems with Applications, 2020, 149: 113189. DOI:10.1016/j.eswa.2020.113189 |
[8] |
Soto C, Dorronsoro B, Fraire H, et al. Solving the multi-objective flexible job shop scheduling problem with a novel parallel branch and bound algorithm. Swarm and Evolutionary Computation, 2020, 53: 100632. DOI:10.1016/j.swevo.2019.100632 |
[9] |
Zhu ZW, Zhou XH. An efficient evolutionary grey wolf optimizer for multi-objective flexible job shop scheduling problem with hierarchical job precedence constraints. Computers & Industrial Engineering, 2020, 140: 106280. |
[10] |
Deb K, Jain H. An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, Part I: Solving problems with box constraints. IEEE Transactions on Evolutionary Computation, 2014, 18(4): 577-601. DOI:10.1109/TEVC.2013.2281535 |