020-88888888

网站建设 APP开发 小程序

KNOWLEDGE/新闻

分享你我感悟

您当前位置> 主页 > 新闻 > 软件开发

智能优化算法:第四次工业革命的重要引擎

发表时间:2024-04-29 03:35:04

文章作者:佚名

浏览次数:

原标题:智能优化算法:第四次工业革命的重要引擎

作者 | 常征

来源 | 运筹OR帷幄

这篇文章想给大家简单聊一聊智能优化算法~

本着通俗,精湛的写作风格,希望本文能对智能优化算法进行一个简单的概述,并对大家有所帮助。

01 智能优化算法:第四次工业革命的重要引擎

第三次工业革命,又称计算机技术革命,其最大的贡献是通过互联网信息共享等方式,产生了大量的数据,使数据像蒸汽和电力一样,成为推动工业进步重要的能源;第四次工业革命的首要任务,就是如何更智慧地点燃这些能源 ,让这些能源发挥更大的作用。所以,人工智能,机器学习,大数据等便成为开启第四次工业革命的热点词汇。

参照:【学界】人工智能的“引擎”--运筹学,一门建模、优化、决策的科学 (链接:https://zhuanlan.zhihu.com/p/25579864)一文。

我们可知道,其实人工智能中热点的神经网络,深度学习等问题的最终,还是落到了解决一个优化问题上。包括大数据,机器学习等其实最后都与优化问题密不可分。

见于传统解决优化问题的精确算法在当前“大数据”面前的捉襟见肘,近代智能优化算法便成为解决当前复杂优化问题的“重要武器”,所以,刨根问底之后,我们也可以说智能优化算法是第四次工业革命的重要引擎。

02 什么是智能优化算法

目前业界关于智能优化算法还没有一个统一的定义。本文将通过对比分析,尝试提出智能优化算法的定义。

所谓算法就是解决问题的方法。智能,首先要搞清楚谁的智能,在我看来目前这个主语应该是人;那么什么叫做智能呢,智能是人的智慧和能力,重在巧妙和妥当。

所以,本文提出智能算法的定义为: 智能优化算法,是指人类基于自身对宇宙自然的认知、学习或经验构造出来的,用于在人类可接受的花费(计算时间和空间)下在解空间中推广一系列有目的地访问巧妙地给出待解决组合优化问题的一个较好可行解的计算方法的统称。

备注:

1)启发式算法 VS 精确算法

精确算法是指在优化问题中可求出最优解的算法(http://t.cn/RnQqkvy)

到目前为止,已提出的精确算法种类较多,有分支定界法、割平面法、整数规划算法和动态规划算法等。

但往往复杂的组合优化问题,用精确算法在有限的计算时间下,难以得到最终的最优解,于是人们就提出了启发式算法。

启发式算法(heuristic algorithm)是相对于最优化http://t.cn/RnQ57QT算法提出的。一个问题的最优算法求得该问题每个实例的最优解(http://t.cn/RnQ52zU)。启发式算法可以这样定义:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解(http://t.cn/RnQ5UoX),该可行解与最优解的偏离程度一般不能被预计。

根据英国Cranfield大学@宋伯阳 的见解:算法如果只分两种,就是精确算法和启发算法。所有启发、元启发算法都不是精确算法 (不保证能得到最优解)。

参见文章 : 留德华叫兽:【学界】整数规划精确算法/近似算法/(元)启发算法/神经网络反向传播等算法的区别与关联。

2) 智能优化算法 VS 启发式算法

根据“王凌. 启发式优化算法. :《中国大百科全书》(第二版). 北京: 中国大百科全书出版社, 2004.”一书中对智能优化算法的描述可知:

智能优化算法(intelligent optimization algorithms)是基于计算智能的机制求解复杂优化问题最优解或满意解的方法,学术界也称之为meta-heuristics。智能优化通过对生物、物理、化学、社会、艺术等系统或领域中的相关行为、功能、经验、规则、作用机理的认知,揭示优化算法的设计原理,在特定问题特征的导引下提炼相应的特征模型,设计智能化的迭代搜索型优化算法。

那么智能优化算法,即元启发式算法,与启发式算法有什么区别和联系呢?

启发算法和元启发算法最大的区别是,启发算法更多求局部最优,元启发算法(智能优化算法)设计有克服陷入局部优化的机构,更适合寻求全局最优,比如遗传算法GA有突变Mutation机制。其次,启发算法的设计更多是取决于问题Problem-dependent,元启发算法(智能优化算法)是独立于问题Problem-independent (可以作为一个black box操作,适用性广,但还是要根据问题调算法各种参数)。元启发算法范围内大部分应用了随机优化机构,多目标优化用的蛮多。

但是多目标优化中,目标太多时一般会先降维(比如PCA),多于3-5个目标的优化效率低,也没有太多实际的可读性。接近实际的案例里面一般都会涉及多种算法,先用元启发算法(智能优化算法)求得一个小范围的满意解,再用启发或者精确算法找最优解,这样即提高了计算效率又能有高质量结果。(算法种类和术语名字太多,看到各种名字很容易晕,其实很多都有相关性(差不多),弄清楚他们之间的关系还是有点重要的)。

(参考文章:【学界】整数规划精确算法/近似算法/(元)启发算法/神经网络反向传播等算法的区别与关联)

最后,因为智能优化算法的可行解与最优解的偏离程度一般不能被预计,所以我们也可以把智能优化算法理解为人类解决问题时的一种“没有办法的办法”,是人类智慧的体现。

03 智能优化算法的基本分类

目前业界关于智能优化算法的分类也没有标准答案,本文作者根据自己对算法的理解提出智能算法的一套分类方法。

智能优化算法按智能来源分大概可分为:自然进化类算法, 仿生类算法,人工搜索类算法,人工神经网络算法等。

(由于篇幅原因,此处只整理提纲不进行解读,力图帮业内同仁建立算法纲领,抛砖引玉~)

1 自然进化类算法

1.1 遗传算法

1.2 差分进化算法

1.3 免疫算法

.....

2 仿生类算法

2.1 蚁群算法

2.2 粒子群算法(鸟群算法)

2.3 鱼群算法

2.4 蜂群算法

2.5 鲸群算法

.....

3 仿物类算法

3.1 模拟退火算法

......

4 人工搜索类算法

4.1 禁忌搜索

4.2 迭代局部搜索

4.3 邻域搜索

......

5 人工神经网络算法(仿脑)

5.1 监督式学习网路

5.2 无监督式学习网路

5.3 混合式学习网路

5.4 联想式学习网路

5.5 最进化学习网路

......

04 智能优化算法的特点

1、相关性:各种算法其实是解决问题的办法,条条大路通罗马。各种算法,都是基于当前可行解根据一个方向或路径去寻找潜在的更优可行解,其区别无非是各自建立了自己的理论体系,其走向问题真理的大方向并没有改变。所以,各种算法相互之间具有一定的相关性。

例如仿生类算法,也有进化的特点;进化的思想,在神经网络中算法中也有体现。

2、协同性:各种算法犹如十八般兵器,各有所长,有些算法从宏观上进行构架,有些从微观层面进行分析,要想最大程度的提高算法效率,各种算法必须进行协同。所以研究高效并行(http://t.cn/RnQtPtV)或分布式(http://t.cn/RnQtw2H)优化算法,开发新的混合式算法都是智能算法的发展方向。

参见知乎:遗传算法,模拟退火算法,粒子群算法,神经网络等智能算法的作用?

3、随机性:智能优化算法既然是人类基于自身对宇宙自然的认知、学习或经验构造出来的解决问题的办法。那么就具有一定的不确定性或随机性,其可行解与最优解的偏离程度一般不能被预计。所以,没有最好的智能算法,只有更好的智能算法。

......

05 智能算法的脑洞

1、这个世界是否存在"终极算法”?

所谓终极算法,就是说这套算法,可以解决一切问题。现在之所以有不合适的算法,其原因多为在有限时间和精力下人们无法得出答案罢了。

如此而论,假如计算机的计算速度和能力,大大超越数据的量和复杂度的话,那么终极算法,就理应存在。

个人以为未来最有可能成为终极的算法的是---影响自然界万物进化的“遗传算法”和决定人类成为万物之灵的"神经网络算法”。

2、智能算法之后的算法是什么?

智能优化算法的随机性是其最大的缺陷,这个缺陷本质是人类认知、学习或经验的局限性。智能优化算法之后的算法,或许是第五次工业革命的重要引擎,将重点优化人工智能算法的随机性的缺陷,本文姑且把这种算法称之为机器智能算法。

......

作者简介:常征,法国特鲁瓦科技大学UTT(法国国家科学院CNRS)公派博士研究生,智能运筹优化实验室;本科和研究生毕业于北京交通大学,从事智能运筹优化方面研究,主要应用于交通与物流、供应链管理、资产配置、成本优化等领域。对当代智能运筹优化产业应用有敏锐判断力和独到见解。Wechat:cz237350071。

-END-返回搜狐,查看更多

责任编辑:

相关天狮登录查看更多

平台注册入口