来源:
授权 产业智能官 转载
得到最优解的概率为1
你值得拥有
各位模友,我是你的新朋友小智,原本我正在做算法建模,超模君莫名其妙地拜托我写篇关于算法模型的文章。
实在拗不过超模君,那小智就来讲一讲最近正在看的Job-shop benchmark问题。
因为一个项目研发的需要,小智啃了几本书(临时抱佛脚虽然不好,但却很有效),结果在一本经典书籍《智能优化算法及其应用》刚好看到Job-shop benchmark问题。
FT06问题
Job-shop问题全称车间作业调度问题(Job-shop scheduling problem),是生产运营管理领域研究的重要课题。进行作业调度问题的研究对于有效缩短产品加工时间,降低产品生产成本,提高企业生产效率等方面有重要的实际应用价值。
因此在该问题研究过程中,逐渐形成一些基准问题,即Job-shop benchmark问题,目前许多学术论文都以这些基准问题作为对比,检验自己的算法是否能够达到最优解,或者是击中最优解的效率是怎么样。
上文截图中的问题是FT06问题,这个问题的最优解即总加工时间为55。因此,如果要解FT06问题,只需确定总加工时间为55,甚至小于55的作业排序方案。
通俗来说,也就是通过建模调度优化工作流程,有效减少工作时间。
为了让模友能更好地理解Job-shop问题,小智就以FT06问题为例给大家讲解讲解。
首先,小智先给大家简单说明这FT06问题究竟是什么。
FT06问题实际上可以看作是有6个玩具需要在6台机器上加工,求解最优解。而把FT06问题中的数字翻译一下,则变成下面两个矩阵:加工顺序矩阵和加工时间矩阵。
其中,加工顺序矩阵中的数字,代表玩具在各台机器的加工顺序;而加工时间矩阵中的数字,代表玩具在各台机器加工所需要的时间。
除此之外,工厂对玩具的加工还有特殊的流程控制:
1、一台机器在同一时刻只能加工一个玩具;
2、一个玩具在同一时刻只能在一台机器上加工。
好了,相信大家对问题已经有所了解,接下来小智打算用模拟退火的方式来解答求解。
在求解之前,先来回顾一下模拟退火算法。
1983 年,S. Kirkpatrick 等人尝试将退火思想引入到组合优化领域,没想到产生奇效,进而创造出模拟退火算法。事实上,模拟退火算法是基于蒙特卡罗思想的随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。
通俗点来说,就是材料中粒子的不同结构对应于粒子的不同能量水平,在高温条件下,粒子的能量较高,可以自由运动和重新排列。
如果从高温开始非常缓慢地降温,粒子在每个温度下会达到热平衡。当系统完全被冷却时,最终将形成处于低能状态的晶体。
退火过程即固体物质的降温过程中,固体物质内部不断进行重新排列,并逐渐排列成最低能量状态的结构。
算法上的优化过程则是当前解内部不断进行重新排列,并逐渐排列成实现目标函数最小值的解(求目标函数最大值的问题可以转变为求最小值的问题)。
所以会发现,退火过程和优化过程存在明显的相似性。
紧接着,小智会用Metropolis算法简单描述退火过程。
假设材料在状态之下的能量为E(i),那么材料在温度 T 时从状态 i 进入状态 j 遵循如下规律:
-
如果 E(i) ≤ E(j),则接受该状态被转换。
-
如果 E(i) > E(j),则状态转换以如下概率被接受:
其中, K 是玻尔兹曼常数, T 是材料温度。
在特定温度下,经过充分的转换以后,材料达到热平衡。这个时候材料处于状态i的概率满足玻尔兹曼分布:
其中, X 表示材料当前状态的随机变量, S 表示状态空间集合。
那么,当温度非常高时,
其中,|S| 表示集合 S 中状态的数量。
这表示,在温度无限大的情况下,所有状态的出现概率相同。
而当温度下降到很低时,设:
那么:
其中:
E2 为仅次于 Emin 的最低能量状态,所以:
也就是说:
当温度降到极低时,材料进入最小能量状态的概率为1!
当温度降到极低时,材料进入最小能量状态的概率为1!
当温度降到极低时,材料进入最小能量状态的概率为1!
因此,如果我们运用退火思想放在优化问题上,在降温过程中问题的解进行充分地“热交换”,即进行充分地重新排列,同样可以帮助我们寻找最优解,理论上也会具有达到全局最优解的性能!
这个算法也就是我们常说的“模拟退火算法”。
到此为止,算法已回顾完毕,小智决定借助模拟退火的思想来进行优化,此时感觉就像面朝大海春暖花开。
MMP,刚填完一个坑来一坑,这个时候又遇到了一个问题:怎么构造工厂作业排序优化问题的解?
因为在解答该问题中,需要先构造一个可行解,之后才能对这个可行解进行优化。
在小智抖脚思考许久后,决定还是用最简单的数列来计算。
对于以下这串数字,小智称之为自然循环数列:123456, 123456, 123456, 123456, 123456, 123456。
看得懂什么意思吗?如果看不懂,那就对了!
其实,这里的意思是,尝试先构造一个可行解,序列从左到右,可以翻译为,先加工玩具1的工序1,再到加工玩具2的工序1,……,再到加工玩具6的工序1,再到加工玩具1的工序2,再到加工玩具2的工序2……如此类推。
理论上说,假如没有机器的限制,玩具1完成加工工序1的那一刻,可以开始加工玩具2。
但是,因为有机器的限制,如果玩具1的某个步骤要在机器1上加工,假设此时机器1正在加工别的玩具,那么只有等到机器1完成加工的那一刻,才可以开始加工玩具1的下一步骤。
所以,玩具 i 的第 k 个工序在机器 m 上进行加工,其开始时间为:
我们运用这个原则,以自然循环数列为例,按照文章最开头的机器约束矩阵和加工时间矩阵,作一个甘特图,说明这个数列实际上可以表示工厂作业排序优化问题的解。
这里小智要解释一下,这个甘特图表示了工厂生产玩具的工作流程。图中每一个方块表示一个任务,方块当中标志的数字是指玩具的编号。这个甘特图,横坐标表示时间轴,纵坐标表示机器。从这个甘特图可以发现,一共有M1-M6,六台机器。
最后可以发现,按照这个工作顺序生产玩具,一共生产时间为64分钟。
此时小智重点观察自然循环序列前两位:12,按照这个顺序来执行加工任务,以甘特图来印证:
Step1:执行玩具1的工序1,由机器2来执行,时间为10分钟,对应甘特图机器坐标为M2,时间坐标为0-10。
Step2:执行玩具2的工序1,由机器5来执行,时间为3分钟,对应甘特图机器坐标为M5,时间坐标为0-3。
第3-6步基本类似。我们再聚焦自然循环列第7-10位:1234。按照这个顺序继续执行加工任务, 以甘特图来印证:
Step7:执行玩具1的工序2,由机器3来执行,时间为9分钟。玩具1工序1的结束时间为10,而且机器3先前没有其他任务安排,所以玩具1工序2任务的甘特图机器坐标为M3,时间坐标为10-19。
Step8:执行玩具2的工序2,由机器1来执行,时间为6分钟。玩具2工序1的结束时间为3,而且机器1先前没有其他任务安排,所以玩具2工序2任务的甘特图机器坐标为M1,时间坐标为3-9。
Step 9:执行玩具3的工序2,由机器5来执行,时间为9分钟。玩具3工序1的结束时间为5,机器5先前有任务安排,加工的最后时间为8,所以玩具3工序2的开始时间为 max(5, 8) = 8,甘特图机器坐标为M5,时间坐标为8-17。
Step10:执行玩具4的工序2,由机器1来执行,时间为7分钟。玩具3工序1的结束时间为14,机器1先前有任务安排,加工的最后时间为9,所以玩具4工序2的开始时间为 max(14, 9) = 14,甘特图机器坐标为M1,时间坐标为14-21。
……
流程走到这里,相信大家对整个过程比较明朗了。
按照这个过程,自然循环序列就转变为一张甘特图,进而可以计算出整体的完成时间。
进一步地而言,任何自然循环序列打乱以后的序列,都可以表示这个工厂作业生产优化问题的解。
此时,我们就应该明白解的构造方式了。那接下来这道问题中另一关键点,那就是老解如何变换才能产生新解。
由于目前解的构造方式是一组编码,因此可以对这组编码进行重排,即可产生新解,但也需要考虑到保留当前解的有效成分。
考虑以最简单的方式来产生新解,随机调换:在当前解中随机选择两个位置,并对调它们的数值。
更换第6个位置和第26个位置的数,产生新解
算法思想、解的构造、解的产生,这三大问题终于解决了,小智开始设计模拟退火的实现过程了:
第1步,初始化,取一个足够大的初始温度 T0,令当前温度 T = T0,给定一个初始解S1。
第2步,随机调换当前解 S1 的两个位置的数值,产生一个新解 S2 。
第3步,计算增量,Δ = f(S2)– f(S1),其中f为计算解的总生产时间的函数。
第4步,如果 Δ < 0 则接受 S2 作为新的当前解,S2 = S1 。否则,计算 S2 的接受概率
,即在 [0,1] 这个区间上面产生一个均匀分布的随机数rand,如果
>rand,则接受 S2 作为新的当前解,否则保留当前解 S1 。
第5步,进行温度衰减,这里采取 T = α × T。
第6步,如果温度没有衰减到设定值 Tend 以下,继续执行第2~5步。
大功告成,小智不禁长长地呼了一口气。
最后,设定模拟退火算法的参数 T0 = 1,α = 0.999,Tend = 10-3,执行模拟退火算法。
这个是当前解对应的优化过程展示,可以发现当前解对应的总加工时间不断下降,最后稳定在55分钟处
啥,是不是还没看懂上面这个图想表达的意思,那就看看下面这个甘特图。
利用模拟退火算法,求出工厂玩具排序问题的最优总生产时间为55分钟,达到了FT06问题的最优解。
而这也正是模拟退火算法的应用所在,通过不断的内部调整,使得结果不断优化,最后达到较佳的状态。
搞定,今晚可以让超模君请我吃鸡腿了!
![](https://i-blog.csdnimg.cn/blog_migrate/8b7e8de495e61b60c66cb5c8fa0744b3.png)
本文系网易新闻·网易号“各有态度”特色内容
部分资料来源于网络
人工智能赛博物理操作系统
AI-CPS OS
“人工智能赛博物理操作系统”(新一代技术+商业操作系统“AI-CPS OS”:云计算+大数据+物联网+区块链+人工智能)分支用来的今天,企业领导者必须了解如何将“技术”全面渗入整个公司、产品等“商业”场景中,利用AI-CPS OS形成数字化+智能化力量,实现行业的重新布局、企业的重新构建和自我的焕然新生。
AI-CPS OS的真正价值并不来自构成技术或功能,而是要以一种传递独特竞争优势的方式将自动化+信息化、智造+产品+服务和数据+分析一体化,这种整合方式能够释放新的业务和运营模式。如果不能实现跨功能的更大规模融合,没有颠覆现状的意愿,这些将不可能实现。
领导者无法依靠某种单一战略方法来应对多维度的数字化变革。面对新一代技术+商业操作系统AI-CPS OS颠覆性的数字化+智能化力量,领导者必须在行业、企业与个人这三个层面都保持领先地位:
-
重新行业布局:你的世界观要怎样改变才算足够?你必须对行业典范进行怎样的反思?
-
重新构建企业:你的企业需要做出什么样的变化?你准备如何重新定义你的公司?
-
重新打造自己:你需要成为怎样的人?要重塑自己并在数字化+智能化时代保有领先地位,你必须如何去做?
AI-CPS OS是数字化智能化创新平台,设计思路是将大数据、物联网、区块链和人工智能等无缝整合在云端,可以帮助企业将创新成果融入自身业务体系,实现各个前沿技术在云端的优势协同。AI-CPS OS形成的数字化+智能化力量与行业、企业及个人三个层面的交叉,形成了领导力模式,使数字化融入到领导者所在企业与领导方式的核心位置:
-
精细:这种力量能够使人在更加真实、细致的层面观察与感知现实世界和数字化世界正在发生的一切,进而理解和更加精细地进行产品个性化控制、微观业务场景事件和结果控制。
-
智能:模型随着时间(数据)的变化而变化,整个系统就具备了智能(自学习)的能力。
-
高效:企业需要建立实时或者准实时的数据采集传输、模型预测和响应决策能力,这样智能就从批量性、阶段性的行为变成一个可以实时触达的行为。
-
不确定性:数字化变更颠覆和改变了领导者曾经仰仗的思维方式、结构和实践经验,其结果就是形成了复合不确定性这种颠覆性力量。主要的不确定性蕴含于三个领域:技术、文化、制度。
-
边界模糊:数字世界与现实世界的不断融合成CPS不仅让人们所知行业的核心产品、经济学定理和可能性都产生了变化,还模糊了不同行业间的界限。这种效应正在向生态系统、企业、客户、产品快速蔓延。
AI-CPS OS形成的数字化+智能化力量通过三个方式激发经济增长:
-
创造虚拟劳动力,承担需要适应性和敏捷性的复杂任务,即“智能自动化”,以区别于传统的自动化解决方案;
-
对现有劳动力和实物资产进行有利的补充和提升,提高资本效率;
-
人工智能的普及,将推动多行业的相关创新,开辟崭新的经济增长空间。
给决策制定者和商业领袖的建议:
-
超越自动化,开启新创新模式:利用具有自主学习和自我控制能力的动态机器智能,为企业创造新商机;
-
迎接新一代信息技术,迎接人工智能:无缝整合人类智慧与机器智能,重新
评估未来的知识和技能类型;
-
制定道德规范:切实为人工智能生态系统制定道德准则,并在智能机器的开
发过程中确定更加明晰的标准和最佳实践;
-
重视再分配效应:对人工智能可能带来的冲击做好准备,制定战略帮助面临
较高失业风险的人群;
-
开发数字化+智能化企业所需新能力:员工团队需要积极掌握判断、沟通及想象力和创造力等人类所特有的重要能力。对于中国企业来说,创造兼具包容性和多样性的文化也非常重要。
子曰:“君子和而不同,小人同而不和。” 《论语·子路》云计算、大数据、物联网、区块链和 人工智能,像君子一般融合,一起体现科技就是生产力。
如果说上一次哥伦布地理大发现,拓展的是人类的物理空间。那么这一次地理大发现,拓展的就是人们的数字空间。在数学空间,建立新的商业文明,从而发现新的创富模式,为人类社会带来新的财富空间。云计算,大数据、物联网和区块链,是进入这个数字空间的船,而人工智能就是那船上的帆,哥伦布之帆!
新一代技术+商业的人工智能赛博物理操作系统AI-CPS OS作为新一轮产业变革的核心驱动力,将进一步释放历次科技革命和产业变革积蓄的巨大能量,并创造新的强大引擎。重构生产、分配、交换、消费等经济活动各环节,形成从宏观到微观各领域的智能化新需求,催生新技术、新产品、新产业、新业态、新模式。引发经济结构重大变革,深刻改变人类生产生活方式和思维模式,实现社会生产力的整体跃升。
产业智能官 AI-CPS
用“人工智能赛博物理操作系统”(新一代技术+商业操作系统“AI-CPS OS”:云计算+大数据+物联网+区块链+人工智能),在场景中构建状态感知-实时分析-自主决策-精准执行-学习提升的认知计算和机器智能;实现产业转型升级、DT驱动业务、价值创新创造的产业互联生态链。
长按上方二维码关注微信公众号: AI-CPS,更多信息回复:
新技术:“云计算”、“大数据”、“物联网”、“区块链”、“人工智能”;新产业:“智能制造”、“智能农业”、“智能金融”、“智能零售”、“智能城市”、“智能驾驶”;新模式:“财富空间”、“数据科学家”、“赛博物理”、“供应链金融”。
官方网站:AI-CPS.NET
本文系“产业智能官”(公众号ID:AI-CPS)收集整理,转载请注明出处!
版权声明:由产业智能官(公众号ID:AI-CPS)推荐的文章,除非确实无法确认,我们都会注明作者和来源。部分文章推送时未能与原作者取得联系。若涉及版权问题,烦请原作者联系我们,与您共同协商解决。联系、投稿邮箱:erp_vip@hotmail.com