1 / 31

智能优化算法

智能优化算法. 杨圣洪 ysh@hnu.edu.cn 346260267(qq). 绪论 ---- 最优化的历史 微积分中函数极值,最早的无约束函数优化。 拉格朗日乘子法是最早的约束优化方法。 二战时运筹学 (Operation Research) ,解决受多个约束条件限制时,目标函数值的最大化 ( 最小化 ). 其方法有线性规划 ( 单纯型法 ) 、动态规划、博弈论、排队论、存储论等, 这些方法在二次世界大战后,被运用到了经济等诸多领域。. 传统最优化的解法 1 、选择一个初始解 该解必须是一个可行解。 2 、判断停止准则是否满足

Download Presentation

智能优化算法

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 智能优化算法 杨圣洪 ysh@hnu.edu.cn 346260267(qq)

  2. 绪论----最优化的历史 微积分中函数极值,最早的无约束函数优化。 拉格朗日乘子法是最早的约束优化方法。 二战时运筹学(Operation Research),解决受多个约束条件限制时,目标函数值的最大化(最小化). 其方法有线性规划(单纯型法)、动态规划、博弈论、排队论、存储论等, 这些方法在二次世界大战后,被运用到了经济等诸多领域。

  3. 传统最优化的解法 1、选择一个初始解 该解必须是一个可行解。 2、判断停止准则是否满足 一般为最优性条件。如单纯型方法是最下一行的值均为非负。 3、向改进方向移动 由于采用迭代方法,当不满足停止条件时,需要不断修改当前解。

  4. 传统最优化的解法的缺陷 1、单点运算方式,一个初始解出发,迭代只对一个点进行计算,无法并行计算、多核计算。 崽多好打架!无法群狼战略! 2、向改进方向移动,限制了跳出局部最优的能力,都使得目标函数降低,即不具备“爬山”能力,没有全局搜索能力. 3、停止条件只是局部最优性的条件, 只有当解的可行域凸集、目标函数凸函数时才全局最优。 4、目标函数、约束函数必须连续可微,甚至还要高阶可微

  5. 一些新现象 1、目标函数与约束条件不连续,可能离散,可能含有规则、条件和逻辑关系。 2、计算的效率优先, 如TSP问题,本身是一个NP完全问题,更关注算效率,而非最优解。 3、传统方法计算终止可能得到的解,连可行解都不是。但问题要求达到限定迭代次数后就停机,希望此时得到的解是比较优化的解。 4、优化计算中的数据可能不精确,初始解可能不是可行解,甚至远离可行解。数据可能是随机变量、模糊集合。

  6. 智能优化方法的历史 1975年、Holland、Genetic Algorithms(遗传算法):模仿生物种群中优胜劣汰适者生成机制,通过种群中优势个体的繁殖进化来实现优化。通过选择、交叉、变异来寻优,常用于非线性最优化和复杂的组优化或整数规划问题、管道优化设计(网络流)、通风网络的设计、飞机外形设计、图像处理、VLSI设计。 1977年、Glover、Tabu Search(禁忌搜索算法):将记忆功能引入到最优解的搜索过程中,通过设置禁忌区阻止搜索过程中的重复,这在图论中最短路径的disjktra算法等都用过,从而大大提高寻优过程的搜索效率。

  7. 智能优化方法的历史 197X年、Jerne、Artificial immune System(人工免疫系统)。通过进化学习辨别危险的外部物体(细菌、病毒等)和体内自身的细胞(或分子),通过从不同种类的抗体中,构造处理外部物体的方法或物质。具有并行、分布、自适应性、学习、识别、记忆和特征提取能力。 用于模式识别、信息安全、智能优化、机器学习、数据挖掘、自动控制、故障诊断等领域。 1999年、Hunt、Clone(克隆选择算法),只有识别抗原的细胞的能进行clone扩增,同时克隆产生的细胞又高频变异,满足生物的多样性要求,使之具有爬山的能力,全局搜索呀!。

  8. 智能优化方法的历史 1983年、Kirkpatrick、Simulated Annealing(模拟退火算法)。热力学中退火使金属原子达到能量最低状态的机制,按Boltzmann方程计算状态向量间的转移概率,来引导搜索,从而使算法具有很好的全局搜索能力。 199X年、Dorigo、Ant Colony Optimization(蚁群算法),模拟蚂蚁群体利用信息素来实现路径优化的机理,通过忘记路径将信息素的变化来解决离散数据的最优化(函数是离散的,约束条件也是离散的,称为组合优化问题,如TSP、0-1背包问题、生产调度问题等)。

  9. 智能优化方法的历史 1995年、Kenedy、Eberhart、Particle Swarm Optimization(粒子群优化),模拟鸟群、渔群集体觅食迁徙中,个体与群体协调一致的机理,群过群体最优化方向、个体最优方法和惯性方向协调来实现最优化。 1999年、Linhares、Predatory Search(捕食搜索),模拟猛兽捕食中大范围搜索(大步确定大体范围)和局部蹲守(小碎步寻优)的特点,通过设置全避搜索和局部搜索间变换的阈值,来协调两种不同的搜索方式,从而实现对全局搜索与局部搜索的兼顾。

  10. 智能优化方法的历史 2000年、Passino、Bacteria Foraging (细菌觅食算法)。模拟大肠杆菌的觅食过程。(1)寻找可能存在食物源的区域;(2)决定是否进入此区域;(3)在所选定的区域中寻找食物源;(4)消耗掉一定的量的食物后,决定是否继续在此区域寻找食物或迁移到另一个更理想的区域。电网电力预测、电压控制、多Agent系统和车间调度。 1989年、Moscato、Memetic(文化算法),meme(文化基因)表示存在于人脑中可以传递给他人的信息模式,是人们进行文化或思想交流时传播的信息单元。Memetic是指模拟meme的复制、传播和进化的理论,是局部启发式搜索与交叉算子的结合体,适合于多指令的并行计算和分布计算系统(parallel genetic algorithms),也是我比较感兴趣的问题,研究人脑本身的机制用于电脑。

  11. 智能优化方法的历史 1982年、Feynman、按照量子力学原理建造新的计算机,1985年oxford的Deutsh利用量子态的相干叠加性可实现并行的量子计算,1995年Grover提出了Grover算法,可用于解决TSP问题,但现在仍有相当的难度。 1982年、Hopfiled在前人的基础上,在前人青工式神经元模型(MP)、多层感知机、自适应线性单元模型及自适应理论ART,引入能量函数的概念,研究网络的动力学特性,并用电子线路设计出相应的网络,使得BP可用于联想记忆和优化计算,后人在此基础上提出了PDP理论、多层向前网络的BP算法,成为比较好的学习算法,用于控制工程、机器学习、信号处理、模式识别和经济领域。但最近几年好像又不热了。

  12. 智能优化方法的历史 1972年、E.N.洛伦兹(MIT)、chaos(混沌),原意是混乱、无序,在现代非线性理论中,混沌是泛指在确定体系中出现的貌似无规则的、类随机的运动。 (1)随机性:类似随机变量的杂乱表现; (2)遍历性。不重复地历经一定范围内的所有状态; (3)规律性:混沌是由确定性的迭代式产生。 介于确定性和随机性之间,混沌具有丰富的时空动态,系统的演变可导致吸引子的转移,遍历性可作为搜索过程中避免陷入局部极小化的陷阱,可爬山。 相空间、混沌运动、分形和分维、不动点、吸引子、奇异吸引子、分叉和分叉点、周期解、初值敏感性。

  13. 学习智能优化方法的策略 1、要解决实际问题。 尽管智能优化算法,对各类复杂的优化总是有很强的适应性,当解决你在研究中遇到的具体问题时,可能有一定的难度,因为同一个问题可能多种智能优化方法,需要一定的智慧。 2、算法改进有很大的创新空间 只给基本的计算思想和步骤,提高计算性能的细节方面有很大的创新空间。中国发论文,对前人或牛人经典算法的改进,是最多也是最容易的! 中国只需要改进型创新,不需要真正的原创的创新,因为中国杂志的审稿人就是这类型。 退火三函数、遗传选择、交叉与变异算子…… 需要对待解决的问题有全面的了解,对各智能算法非常熟练,我们上这门课的目标是解决后面这个问题。

  14. 学习智能优化方法的策略 3、不提倡刻意去追求理论成果 不是一门严谨的学科,是一门实验学科,最好利用matlab去做实验。 4、算法性能的测算是一项要下真功夫的工作 算法性能的评价标准是大量不同规划的例题,必须喜欢编程,喜欢在计算机上工作,后面将介绍组合优化的常见问题、连续优化的常见问题。 网上题库中的例题、文献中的例题。优于文献中报道的性能指标。 5、主要性能指标 (1)达优率:多次从不同随机种子出发的计算中,达到最优解的次数或百分比。 (2)计算速度:迭代次数 (3)计算大规模问题的能力。

  15. 智能优化方法的分类 1、函数优化:对象在一定区间内的连续变量。 2、组合优化:解空间的离散状态,如TSP 函数优化的经典问题 n元函数f(x1,x2,…,xn),x1,x2,…,xn是实数,其定义域S为Rn上的有界子集,函数值也是实数,函数优化是求函数f(x1,x2,…,xn)在定义域S中的最小值。 算法的性能比较,通常是基于一些称为Benchmark(基准测试)典型问题展开的。

  16. 组合优化问题 义域为解空间,即自变量的各种可能取值,记为={s1,s2,…,sn},C(si)为状态si对应的目标函数值,组合优化(极小值)是寻求中,使得目标函数C(si)最小的状态si*即最优解。 常表现为排序、分类、筛选等问题,如 TSP(traveling salesman problem 旅行商问题,最短距离的Hamilton问题)、 SP(scheduling problem 加工调度问题 Flow-show、job-shop)、 0-1KP(knapsack problem背包问题)、 BPP(bin packing problem)、 GCP(graph coloring problem 图着色问题)、 CP(clustering problem 聚类问题)

  17. 参考书 (1)汪定传等 智能优化方法 高教社 研材 电子版 (2)黄友锐 智能优化算法及其应用 国防工业出版社 图书馆有借 (3)王凌 智能优化算法及其应用 清华大学出版社 有电子版 (4)梁艳春 群智能优化算法理论与应用 网上有买 (5)周明 遗传算法原理及应用 国防社 有电子版 (6)史峰等 matlab智能优化算法30个案例分析 北航

  18. 伪随机数Pseudo Random Number Generator(RNG) 1、用途 (1)遗传算法:随机产生初始种群,用旋转法选择个体、选择交叉点,选择变异点。 (2)禁忌搜索:随机选择初始解,选择多阶段禁忌搜索的初始解。 (3)模拟退火:随机选择领域解,按概率作转移决定。 (4)蚊群算法:随机产生初始蚁群。 (5)粒子群算法:随机产生初始粒子群,随机选择初始移动方向

  19. 伪随机数Pseudo Random Number Generator(RNG) 2、产生方法 (1)乘同余法: Sk+1=mod(ASk, m) 当位数为L时,取模m=2L,S0为奇数,A=4t+1(t为正整数)时,可得到长度为2L-2的随机整数。 如L=6时,M=64,A=4*3+1=13,S0=1,则 {1,13, mod(13*13,64),……}

  20. 伪随机数Pseudo Random Number Generator(RNG) 2、产生方法 (1)乘同余法: Sk+1=mod(ASk, m) 当位数为L时,取模m=2L,S0为奇数,A=4t+1(t为正整数)时,可得到长度为2L-2的随机整数。 (2)混合同余法 Sk+1=mod(ASk+C,m) 当m=2L,S0奇,A=4t+1( 同上),mod(C,M)=1,可得到长度为2L的随机整数。 如L=6时,M=64,A=4*3+1=13,S0=1,C=5,则 {1,mod(13*1+5,64)=18,mod(13*18+5,64,……)

  21. 伪随机数Pseudo Random Number Generator(RNG) 2、产生方法 (1)乘同余法: Sk+1=mod(ASk, m) (2)混合同余法:Sk+1=mod(ASk+C,m) 当m=2L,S0奇,A=4t+1( 同上),mod(C,M)=1,长度为2L的随机整数。 (3)0-1均匀分布:随机数序列{Sk+1},则{xk=Sk/M}为0-1之间的随机均匀分布。 matlab可产生更加复杂的随机数

  22. 计算复杂性 1、概念 时间复杂性T(n),空间复杂性S(n),只考虑前者 将求解问题的关键操作,算法执行基本操作的次数为时间复杂性,若该次数是n多项式,则称该算法为多项式算法,否则为指数算法。 2、P类问题:具有多项时间求解算法的问题类。 2、判定问题:一个问题的每个实例,只有“是”或“否”两种回答。 3、问题A可判断: 若存在一个多项式函数g(x)和一个算法H, 对A的任何一个“是”的实例I, 都存在一个字符串S是I的“回答”,d(S)g(d(I)),且验证S是I的“是”回答的计算时间g(d(I)),则称A为非多项式确定问题,简称为NP。 显然PNP

  23. 计算复杂性 3、A1可多项式转换为A2 若存在一个多项式函数g(x)和一个字符串,满足: (1)对A1的每个实例I1,在其输入长试的多项式时间g(d(I1))内构造A2的任何一个实例I2,使其长度不超过g(d(I1)); (2)由此构造使得实例I1和I2的解一一对应,d1是I1的“是”解d1的对象是I2的“是”解。 4、A1可多项式归约为A2 若存在多项式函数g1(x)和g2(x),使得对A1的任何一个实例I,在多项式时 间内构造A2的实例,其输入长度不超过g1(d(I1)),并对A2的每个算法H2,都存在A1的一个算法H1,计算时间fH1(d(I))g2(fH2(g1(d(I1)))。 5、若A2存在多项式算法,则A1肯定存在算法。

  24. 计算复杂性 4、A1可多项式归约为A2 若存在多项式函数g1(x)和g2(x),使得对A1的任何一个实例I,在多项式时 间内构造A2的实例,其输入长度不超过g1(d(I1)),并对A2的每个算法H2,都存在A1的一个算法H1,计算时间fH1(d(I))g2(fH2(g1(d(I1)))。 5、若A2存在多项式算法,则A1肯定存在算法。 6、若已知的每个NP问题,都可多项式归约为A,则称问题A是NP难的。 7、若问题A是NP难的,并且A也是NP问题,则A是NP完全的即NPC PNP NPCNP,但NP难与NP之间包含关系! TSP,3SAT,团,背包问题是NPC!若这3个问题可归约到某个新问题A,则A是NP难,若A是NP的。

  25. 拟讲内容 1、模拟退火算法 2、混沌动态优化算法 3、神经网络算法 4、遗传算法 5、禁忌搜索算法 6、免疫算法 7、蚁群算法 8、粒子群算法 9、细菌算法 10、文化基因算法 11、量子计算

More Related