【数模研赛】“华为杯”第十九届中国研究生数学建模竞赛C题分享——(二)问题重述

写在前面:
第十九届数模研赛在22年10月6-10日开展,我和我的两名队友肝了5天,整出来一篇论文。因为不确定自己做的好不好,所以一直没写博客。前两天结果出来了,我们队拿了国二,在C题里排名88/1134,感觉结果还不错。
以后应该也不会再有机会参加数学建模了,在此简单记录一下最后一次数模的解题思路。
代码就不分享了,也没有分享的必要,准备数学建模竞赛还是重在看懂解题思路,想获奖写好论文比较重要。各位读者有问题可以评论/私聊我~

系列文章链接汇总如下:
(一)C题题目
(二)问题重述
(三)问题一模型建立
(四)问题二模型建立
(五)算例分析

问题背景

汽车制造厂主要由焊装车间、涂装车间、总装车间构成。

每个车间,由于采用了混流生产方式,有不同的生产偏好,对不同类型的车身有一定的配置比例要求。

由于车间偏好不同,前一车间的出车序列可能对下一车间的生产效率等方面产生不利影响。

特别是涂装车间与总装车间车身序列差异较大,为此需要在这两个车间之间建立一个具有调序功能的缓存区,通过将涂装车间的序列调整为合适的总装车间序列,提高整条生产线的生产效率。此缓存区即汽车制造涂装-总装缓存调序区(Painted Body Store, PBS)。

问题分析

方法选择

本题便是基于以上背景,在如下图所示的 PBS 区域,在给定不同类型车辆的进车顺序的前提下,寻找 PBS 区域的优化调度方案,以使得在给定的评分指标体系下,优化调度方案尽可能得到高分,提高涂装车间与总装车间之间的衔接水平。
在这里插入图片描述
PBS 区域的车身优化调度问题,和流水车间调度问题很接近,是汽车排序问题的一种表现形式, Tamas 从数学原理上证明了汽车排序问题为 NP-hard 问题[1] ,即无法在多项式时间内求得该问题的最优解。

因此,在看完题目后,我们就认为这是一个不能被求解器求解优化问题,或者说出题人肯定不是让你写好模型去调用求解器求解的。

恰好我之前曾看过一篇推送,讲的是使用遗传算法求解混合流水车间调度问题[2]遗传算法求解混合流水车间调度问题,便决定用启发式算法,特别是遗传算法来对这个问题进行求解。

此外,对 PBS 区域车身调度问题也有不少学者给出了基于群体智能算法的启发式求解算法[3],验证了遗传算法等群体智能算法在解决车身序列优化调度问题上的有效性。

问题重述

PBS 区域主要由涂装-PBS 出车口、 PBS-总装接车口、进车道 1 至进车道 6、返回道、接车横移机及送车横移机组成。给定涂装-PBS 出车口处的车身序列,要求在给定的约束条件下,优化调度方案,使得经 PBS 缓冲区重排序后的出车序列,在给定的优化目标评价尺度下,能够有较好的表现。相关概念具体描述如下:

  1. 车身:本题目给出三项车身属性——车型、动力、驱动类型,但结合问题约束及优化目标,仅需考虑动力类型及驱动类型两项。
  2. 进、出车序列:进车序列即涂装-PBS 出车口出的车辆序列,为已知条件,车身与进车顺序一一对应,因此可以将车身在进车序列中的排序作为其编号;出车序列即经进车序列重排序后的序列,应尽可能满足总装车间的需求。
  3. 约束条件:主要包括原文件给定的 12 条 PBS 约束,其中包含接车横移机及送车横移机的接、送逻辑,以及车身在进车道及行车道的行进逻辑等。
  4. 优化目标:主要包括四个方面,出车序列动力类型及驱动类型尽量满足要求、返回道使用次数尽量少, PBS 调度总时长尽可能短,权重依次降低。
  5. 时间设定:由原文件给出,包括给出的车身在同一车道不同车位间的转移时间,接车、送车横移机在不同车道处接送所用时间等。由以上时间数据,结合文中给出的距离数据,我们可以构造位置矩阵,以描述各移动单位的位置关系,便于得到所需的不同车身位置与时间的关系矩阵。

问题简化

在问题中,其实需要进行决策优化的变量有4个:

  1. 接车横移机(左)的接车位置:涂装车间送车口,返回车道的车位10,共2个选择
  2. 接车横移机(左)的送车位置:进车道1、2、3、4、5、6的车位10,共6个选择
  3. 送车横移机(右)的接车位置:进车道1、2、3、4、5、6的车位1,共6个选择
  4. 送车横移机(右)的送车位置:总装车间的入车口,返回车道的车位1,共2个选择

对于问题一,接车横移机与送车横移机的车身选取方案已经给定——接车横移机优先选取返回道 10 位置的车身,送车横移机优先选取更早到达车位 1 的车身,在此两条约束的设定下,还需满足原文中另外 10 条 PBS 约束,需求出优化调度方案,以使得优化目标表现尽可能好。

问题一的这两个假设,让原问题需要进行决策的变量数减少到了2个,即给定了变量1和3,保留了变量2和4

对于问题二,在问题一的基础上去除了有关横移机车身选取优先级的两条约束,使得策略空间大为扩展,在此情况下,需求出优化调度方案,以使得优化目标表现尽可能好。

问题二中,变量1、2、3、4均需要进行决策优化

模型假设

(本来应该写在模型里,但是模型的篇幅太长了,就把假设先写在这里了)

  1. 每个车身在调度过程内最多通过返回车道返回一次;
  2. 右侧横移机不能连续送回两辆车;
  3. 接车横移机从返回车道接到车身之后,会将其放入 4 号车道(考虑横移过程损失时间最小的近似);
  4. 当车身向下一个目标位置移动时,移动的过程中,车身位置为目标位置,当车的这一移动过程完成后,才可进行下一移动过程,即继续改变车身位置;
  5. 问题一中, 当多辆车身同时到达车道的 1 号车位时, 送车横移机(右侧) 优先装载涂装车间的进车序列编号小的车身。

问题求解路线

(这是对这个问题的整体技术路线,后面几篇文章会对问题一、二的模型分开介绍)
在这里插入图片描述

由于NP难问题无法在给定时间(5天4夜)内求得最优解,我们只能采取尽可能优的策略来搜索整个解空间。
本质上讲,模型中使用的遗传算法就是带了遗传策略的随机搜索,贪心算法就是在遗传算法解出的“最优解”附近做了个邻域搜索
由于本质上是随机搜索的解法,我们最终求出来的结果是跑了很多遍取的最好结果,不太可能是最优解。
甚至在同等的求解时间下,直接上暴力搜索可能得到的结果会更好。
详细的模型思路详见后文。

参考文献

[1] Tamás Kis,On the complexity of the car sequencing problem,Operations Research Letters,Volume 32, Issue 4,2004.
[2] 遗传算法求解混合流水车间调度问题
[2] 陈正茂. 基于排序缓冲区的多车间关联排序研究[D]. 华中科技大学, 2008.

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值