扩散模型在调度甘特图上的搜索妙用

文摘   科学   2024-03-02 10:36   陕西  

前两天,华理的堵老师安利了网红丁一篇他们刚被CIM录用的文章,阅读之后,确实觉得非常有意思,但众所周知CIM没有early access,所以今天给大家安利一下这篇文章。

  • Fang, Wenxuan, Wei Du, Renchu He, Yang Tang, Yaochu Jin, and Gary G. Yen. "Diffusion Model-Based Multiobjective Optimization for Gasoline Blending Scheduling." IEEE Computational Intelligence Magazine, accepted.


首先这篇文章是做一个汽油混合调度问题,当然这个问题背景网红丁大概理解一下就是,为了生产具有预定特性的汽油,就是满足客户对及时性和数量的需求,使用搅拌机将各成分以不同的比例混合,这个混合的过程其实是个调度问题,就是谁先混合谁,都分别混合多久(是讲的有点糙了)。

当然一般拿到调度问题,大家都会先编码,给各种成分代号,然后按照时间t排上。但这样的编码的问题是,当t很大的时候,搜索空间很大,然后如果采用遗传算法交叉变异那套,太容易产生不可行解了。

这篇工作有意思的点是,没有上述常规意义的编码了,其实一个调度方案可以表达成下图的甘特图:

甘特图其实对人来说非常友好,方案的可行性判断也比较容易,这篇工作其实搜索空间直接是甘特图了(绝绝子)。读到此处,我想大家和网红丁一样困惑,搜像素空间的甘特图可比传统编码空间更大了呀。可是作者他们上了扩散模型啊,利用历史调度方案训练了一个扩散模型,其实这相当于给像素空间约减了。

关于扩散模型是个啥,扩散模型和其他生成模型一样,实现从噪声生成目标数据样本。扩散模型包括两个过程:前向过程和反向过程,其中前向过程又称为扩散过程。无论是前向过程还是反向过程都是一个参数化的马尔可夫链,其中反向过程可用于生成数据样本。最近也有研究将扩展模型应用于多目标优化(更多详情请戳->[论文分享] arXiv速递 EmoDM:一个用于解决进化多目标优化的扩散模型 )。

回到这个汽油混合调度问题,本身他有很多约束条件和两个优化目标见下式:

重点是这些约束和目标,其实是有梯度的!这很重要,那么我们能不能利用扩散模型的反向过程生成符合我们优化目标的调度方案呢?于是这篇工作首先是将这个带约束的双目标优化问题用若干个权重向量加上罚函数法编程了多个单目标优化问题:

然后如下图所示,利用这些单目标问题的梯度进行迭代,最终到t=0的时候获得Pareto最优解。

这里是一个过程中的甘特图变化,也是非常有趣了。

当然,正文介绍了更多的实现细节,欢迎感兴趣的小伙伴点击文末“阅读原文”获得PDF


最后,欢迎转载,欢迎留言,欢迎扔砖,欢迎吐槽,欢迎提问,还有欢迎关注。


HandingWang
爱写错别字的任性科研狗的日常
 最新文章