《数学建模中的常用算法培训课件.ppt》由会员分享,可在线阅读,更多相关《数学建模中的常用算法培训课件.ppt(110页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Algorithms in Mathematical ModelingGenetic Algorithm1数学建模中的常用算法Algorithms in Mathematical ModelingGenetic Algorithm2数学建模竞赛中的算法数学建模竞赛中的算法(1)93A 非线性交调的频率设计非线性交调的频率设计:拟合、规划拟合、规划93B 足球队排名次足球队排名次:矩阵论、图论、层次分析法、矩阵论、图论、层次分析法、整数规划整数规划94A 逢山开路逢山开路:图论、插值、动态规划图论、插值、动态规划94B 锁具装箱问题锁具装箱问题:图论、组合数学图论、组合数学95A 飞行管理问题飞
2、行管理问题:非线性规划、线性规划非线性规划、线性规划95B 天车与冶炼炉的作业调度天车与冶炼炉的作业调度:非线性规划、动态非线性规划、动态规划、层次分析法、规划、层次分析法、PETRI方法、图论方法、排队论方法、图论方法、排队论方法方法96A 最优捕鱼策略最优捕鱼策略:微分方程、积分、非线性规划微分方程、积分、非线性规划11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm396B 节水洗衣机节水洗衣机:非线性规划非线性规划97A 零件参数设计零件参数设计:微积分、非线性规划、随机模拟微积分、非线性规划、随机模拟97B 截断
3、切割截断切割:组合优化、几何变换、枚举、蒙特卡组合优化、几何变换、枚举、蒙特卡罗、递归、最短路罗、递归、最短路98A 投资收益与风险投资收益与风险:线性规划、非线性规划线性规划、非线性规划98B 灾情巡视灾情巡视:最小生成树、最小生成树、Hamilton圈、旅行商圈、旅行商问题问题99A 自动化车床自动化车床:积分、概率分布、随机模拟、分布积分、概率分布、随机模拟、分布拟合度检验拟合度检验数学建模竞赛中的算法数学建模竞赛中的算法(2)11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm499B 钻井布局钻井布局:几何变换、
4、枚举、最大完全子图、几何变换、枚举、最大完全子图、混合整数规划混合整数规划00A DNA分类分类:神经网络、最小二乘拟合、统计分神经网络、最小二乘拟合、统计分类类00B 管道订购管道订购:最短路、二次规划最短路、二次规划01A 血管的三维重建血管的三维重建:数据挖掘、曲面重建与拟合数据挖掘、曲面重建与拟合01B 公交车调度公交车调度:非线性规划非线性规划02A 车灯光源优化设计车灯光源优化设计:最优化最优化02B 彩票中的数学彩票中的数学:概率与优化概率与优化数学建模竞赛中的算法数学建模竞赛中的算法(3)11/11/2022Algorithms in Mathematical Modeling
5、Genetic Algorithm5 MATLABMapleMathematicaLindoLingo SASSPSSC&C+FortranPascal数学建模常用软件数学建模常用软件11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm61.蒙特卡罗方法(Monte-Carlo方法,MC)数学建模竞赛常用算法数学建模竞赛常用算法(1)该算法又称计算机随机性模拟方法计算机随机性模拟方法,也称统计试验统计试验方法方法。MC方法是一种基于“随机数”的计算方法,能够比较逼真地描述事物的特点及物理实验过程,解决一些数值方法难以解决的
6、问题。MC方法的雏型可以追溯到十九世纪后期的蒲丰随机投针试验,即著名的蒲丰问题蒲丰问题。MC方法通过计算机仿真(模拟)解决问题,同时也可以通过模拟来检验自己模型的正确性,是比赛中经常使用的方法。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm797年的年的A题题 每个零件都有自己的标定值,也都有自己的容差等级,而求解最优的组合方案将要面对着的是一个极其复杂的公式和108种容差选取方案,根本不可能去求解析解,那如何去找到最优的方案呢?随机性模拟搜索最优方案就是其中的一种方法,在每个零件可行的区间中按照正态分布随机的选取一
7、个标定值和选取一个容差值作为一种方案,然后通过蒙特卡罗算法仿真出大量的方案,从中选取一个最佳的。02年的年的B题题 关于彩票第二问,要求设计一种更好的方案,首先方案的优劣取决于很多复杂的因素,同样不可能刻画出一个模型进行求解,只能靠随机仿真模拟。数学建模竞赛常用算法数学建模竞赛常用算法11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm898 年美国赛年美国赛A 题题 生物组织切片的三维插值处理生物组织切片的三维插值处理94 年年A 题逢山开路题逢山开路 山体海拔高度的插值计算山体海拔高度的插值计算数学建模竞赛常用算法数学
8、建模竞赛常用算法(2)2.数据拟合、参数估计、插值等数据处理算法比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用MATLAB作为工具。与图形处理有关的问题很多与拟合有关系。此类问题在MATLAB中有很多函数可以调用,只有熟悉MATLAB,这些方法才能用好。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm998年年B 题题 用很多不等式完全可以把问题刻画清楚用很多不等式完全可以把问题刻画清楚数学建模竞赛常用算法数学建模竞赛常用算法(3)3.规划类问题算法此类问题主要有线性规划、整数规划、多元规
9、划、线性规划、整数规划、多元规划、二次规划二次规划等。竞赛中很多问题都和数学规划有关,可以说不少的模型都可以归结为一组不等式作为约束条件、几个函数表达式作为目标函数的问题,遇到这类问题,求解就是关键了。因此列举出规划后用Lindo、Lingo等软件来进行解决比较方便,所以还需要熟悉这两个软件。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm1098 年年B 题、题、00年年B 题、题、95 年锁具装箱年锁具装箱等问题体现了等问题体现了图论问题图论问题的重要性。的重要性。数学建模竞赛常用算法数学建模竞赛常用算法(4)4.
10、图论问题这类问题算法有很多,包括:Dijkstra、Floyd、Prim、Bellman-Ford,最大流,二分匹配,最大流,二分匹配等问题。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm1192 年年B 题用分枝定界法题用分枝定界法97 年年B 题是典型的动态规划问题题是典型的动态规划问题98 年年B 题体现了分治算法题体现了分治算法数学建模竞赛常用算法数学建模竞赛常用算法(5)5.计算机算法设计中的问题计算机算法设计包括很多内容:动态规划、回溯搜动态规划、回溯搜索、分治算法、分枝定界索、分治算法、分枝定界等计算机
11、算法.这方面问题和ACM程序设计竞赛中的问题类似,可看一下与计算机算法有关的书。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm1297年年A 题用模拟退火算法题用模拟退火算法00年年B 题用神经网络分类算法题用神经网络分类算法01年年B 题这种难题也可以使用神经网络题这种难题也可以使用神经网络美国美国89年年A 题也和题也和BP 算法算法有关系美国美国03年年B 题题伽马刀问题也是目前研究的课题,目前算法最佳的是遗传算法算法最佳的是遗传算法。数学建模竞赛常用算法数学建模竞赛常用算法(6)6.最优化理论的三大非经典算法
12、:模拟退火法(SA)、神经网络(NN)、遗传算法(GA)近几年的赛题越来越复杂,很多问题没有什么很好的模型可以借鉴,于是这三类算法很多时候可以派上用场。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm1397 年年A 题、题、99 年年B 题都可以题都可以用网格法搜索用网格法搜索数学建模竞赛常用算法数学建模竞赛常用算法(7)网格算法和穷举法一样,只是网格法是连续问题的穷举。此类算法运算量较大。7.网格算法和穷举算法这种方法最好在运算速度较快的计算机中进行,还有要用高级语言来做,最好不要用MATLAB做网格,否则会算很久
13、的。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm14很多问题都是实际来的,数据可以是连续的,而计算机只能处理离散的数据,因此需要将连续问题进行将连续问题进行离散化处理后再用计算机求解离散化处理后再用计算机求解。比如差分代替微分、求和代替积分等思想都是把连续问题离散化的常用方法。数学建模竞赛常用算法数学建模竞赛常用算法(8)8.连续问题离散化的方法11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm15数值分析研究各种求解数学问题的数值计算方法求
14、解数学问题的数值计算方法,特别是适合于计算机实现方法与算法。数学建模竞赛常用算法数学建模竞赛常用算法(9)9.数值分析方法它的主要内容包括函数的数值逼近、数值微分与数函数的数值逼近、数值微分与数值积分、非线性方程的数值解法、数值代数、常微分方值积分、非线性方程的数值解法、数值代数、常微分方程数值解程数值解等。数值分析是计算数学的一个重要分支,把理论与计算紧密结合,是现代科学计算的基础。MATLAB等数学软件中已经有很多数值分析的函数可以直接调用。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm1601年年A 题中需要你
15、会读题中需要你会读BMP 图象图象98年美国年美国A 题需要你知道三维插值计算题需要你知道三维插值计算03年年B 题要求更高,不但需要编程计算还要进行处理题要求更高,不但需要编程计算还要进行处理数学建模竞赛常用算法数学建模竞赛常用算法(10)10.图象处理算法赛题中有一类问题与图形有关,即使问题与图形无关,论文中也会需要图片来说明问题,这些图形如何展示以及如何处理就是需要解决的问题,通常使用MATLAB进行处理。数模论文中也有很多图片需要展示,解决这类问题要熟悉MATLAB图形图像工具箱。11/11/2022Algorithms in Mathematical ModelingGenetic
16、Algorithm17三个孩子的年龄三个孩子的年龄(1)两个多年未见的朋友相遇,聊了很多事情。A:既然你是数学教授,那你帮我算这个题,今天是个特殊日子:我三个儿子都在今天庆祝生日!那么你能算出他们都有多大吗?B:好,但你得跟我讲讲他们的情况。A:好的,我给你一些提示,他们三个年龄之积是36.B:很好,但我还需要更多提示。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm18三个孩子的年龄三个孩子的年龄(2)A:我的大儿子的眼睛是蓝色的。B考虑了一下说,但是,我还有一点信息来解决你的这个难题。B:哦,够了,B给出了正确的答
17、案,即三个小孩的年龄。A:他们三个年龄之和等于那幢房子的窗户个数。A指着对面的一幢房子说。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm19三个孩子的年龄三个孩子的年龄(3)根据对话信息,用搜索的方法来解此问题。信息信息1:三个小孩年龄之积为三个小孩年龄之积为36只有以下8种可能,搜索范围减少至8种情况:第一个小孩年龄36181299664第二个小孩年龄12342633第三个小孩年龄1111212311/11/2022Algorithms in Mathematical ModelingGenetic Algorit
18、hm20三个孩子的年龄三个孩子的年龄(4)信息信息2:三个小孩年龄之和等于窗户数三个小孩年龄之和等于窗户数第一个小孩年龄36181299664第二个小孩年龄12342633第三个小孩年龄11112123窗户数窗户数:38 21 16 14 13 13 11 10如果窗户数为38、21、16、14、11、10即可得出答案B还需信息,即窗户数为13.则可能为(9、2、2)或(6、6、1)信息2:大儿子眼睛是蓝色的得答案:(9、2、2)11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm21智能优化算法智能优化算法智能优化算法智
19、能优化算法又称为现代启发式算法现代启发式算法,是一种具有全局优化性能、通用性强、且适合于并行处理的算法。这种算法一般具有严密的理论依据,而不是单纯凭借专家经验,理论上可以在一定的时间内找到最优解或近似最优解。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm22常用的智能优化算法常用的智能优化算法遗传算法遗传算法GeneticAlgorithm,简称GA模拟退火算法模拟退火算法SimulatedAnnealing,简称SA禁忌搜索算法禁忌搜索算法TabuSearch,简称TS 11/11/2022Algorithms i
20、n Mathematical ModelingGenetic Algorithm23智能优化算法的特点智能优化算法的特点它们的共同特点:都是从任一解出发,按照某种机制,以一定的概率在整个求解空间中探索最优解。由于它们可以把搜索空间扩展到整个问题空间,因而具有全局优化性能。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm24遗传算法遗传算法(Genetic Algorithm)进化算法(EvolutionaryAlgorithm)11/11/2022Algorithms in Mathematical ModelingG
21、enetic Algorithm25遗传算法遗传算法(GA)Darwin(1859):“物竟天择,适者生存物竟天择,适者生存”JohnHolland(universityofMichigan,1975)Adaptation in Natural and Artificial System遗传算法作为一种有效的工具,已广泛地应用于最遗传算法作为一种有效的工具,已广泛地应用于最优化问题求解之中优化问题求解之中。遗传算法是一种基于自然群体遗传进化机制的自适遗传算法是一种基于自然群体遗传进化机制的自适应全局优化概率搜索算法。应全局优化概率搜索算法。它摒弃了传统的搜索方式,模拟自然界生物进化过程,采用人
22、工的方式对目标空间进行随机化搜索。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm26遗传算法模拟自然选择和自然遗传过程中发生的繁殖、交叉和基因突变繁殖、交叉和基因突变现象,在每次迭代中都保留一组候选解,并按某种指标从解群中选取较优的个体,利用遗传算子遗传算子(选择、交叉和变选择、交叉和变异异)对这些个体进行组合,产生新一代的候选解群,重复此过程,直到满足某种收敛指标为止。遗传算法的搜索机制遗传算法的搜索机制11/11/2022Algorithms in Mathematical ModelingGenetic Alg
23、orithm27局部局部局部局部全局全局全局全局遗传算法遗传算法(GA)11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm28We have a dream!We have a dream!I am at the I am at the toptopHeight is.Height is.I am not at the top.I am not at the top.My high is better!My high is better!I will continueI will continue遗传算法遗传算法(GA)
24、GA-第0代11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm29Dead oneDead oneNew oneNew one遗传算法遗传算法(GA)GA-第1代11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm30Not at the top,Not at the top,Come Up!Come Up!遗传算法遗传算法(GA)GA-第?代11/11/2022Algorithms in Mathematical ModelingGenetic A
25、lgorithm31I am the I am the BESTBEST!遗传算法遗传算法(GA)GA-第N代11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm32适者生存适者生存(SurvivaloftheFittest)GA主要采用的进化规则是主要采用的进化规则是“适者生存适者生存”较好的解保留,较差的解淘汰较好的解保留,较差的解淘汰遗传算法遗传算法(GA)11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm33生物进化与遗传算法对应关系生物进化
26、与遗传算法对应关系生物进化生物进化遗传算法遗传算法适者生存适应函数值最大的解被保留的概率最大个体问题的一个解染色体解的编码基因编码的元素群体被选定的一组解种群根据适应函数选择的一组解交叉以一定的方式由双亲产生后代的过程变异编码的某些分量发生变化的过程环境适应函数11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm34遗传算法的基本操作遗传算法的基本操作选择选择(selection):根据各个个体的适应值,按照一定的规则或方法,从第t代群体P(t)中选择出一些优良的个体遗传到下一代群体P(t+1)中。交叉交叉(crossov
27、er):将群体P(t)内的各个个体随机搭配成对,对每一个个体,以某个概率Pc(称为交叉概率,crossvoerrate)交换它们之间的部分染色体。变异变异(mutation):对群体P(t)中的每一个个体,以某一概率Pm(称为变异概率,mutationrate)改变某一个或一些基因座上基因值为其它的等位基因。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm35如何设计遗传算法如何设计遗传算法如何进行编码?如何进行编码?如何产生初始种群?如何产生初始种群?如何定义适应函数?如何定义适应函数?如何进行遗传操作如何进行遗传操
28、作(复制、交叉、变异复制、交叉、变异)?如何产生下一代种群?如何产生下一代种群?如何定义停止准则如何定义停止准则?11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm36编码编码(Coding)表现型空间编码(Coding)解码(Decoding)基因型空间=0,1L011101001010001001100100101001000111/11/2022Algorithms in Mathematical ModelingGenetic Algorithm37选择选择(Selection)选择选择(复制复制)操作把当前种群
29、的染色体按与适应值成正比操作把当前种群的染色体按与适应值成正比例的概率复制到新的种群中例的概率复制到新的种群中 主要思想主要思想:适应值较高的染色体体有较大的选择适应值较高的染色体体有较大的选择(复制复制)机会机会实现实现1:”轮盘赌轮盘赌”选择选择(Roulette wheel selection)将种群中所有染色体的适应值相加求总和,染色体适应将种群中所有染色体的适应值相加求总和,染色体适应值按其比例转化为选择概率值按其比例转化为选择概率Ps产生一个在产生一个在0与总和之间的的随机数与总和之间的的随机数m从种群中编号为从种群中编号为1的染色体开始,将其适应值与后续染的染色体开始,将其适应值
30、与后续染色体的适应值相加,直到累加和等于或大于色体的适应值相加,直到累加和等于或大于m11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm38选择选择(Selection)设种群的规模为Nxi是i为种群中第i个染色体AC1/6=17%3/6=50%B2/6=33%fitness(A)=3fitness(B)=1fitness(C)=2染色体xi被选概率11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm39选择选择(Selection)染色体的适应值和
31、所占的比例染色体的适应值和所占的比例轮盘赌选择11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm40选择选择(Selection)随机数23491338627所选号码262514所选染色体110000001111000011000111010010染色体编号123456染色体011101100000100100100110000011适应度81525128被选概率0.160.30.040.10.240.16适应度累计82325304250染色体被选的概率被选的染色体11/11/2022Algorithms in Math
32、ematical ModelingGenetic Algorithm41选择选择(Selection)轮轮盘盘上上的的片片分分配配给给群群体体的的染染色色体体,使使得得每每一一个个片片的的大大小小与与对对于于染染色体的适应值成比例色体的适应值成比例从从群群体体中中选选择择一一个个染染色色体体可可视视为为旋旋转转一一个个轮轮盘盘,当当轮轮盘盘停停止止时时,指针所指的片对于的染色体就时要选的染色体。指针所指的片对于的染色体就时要选的染色体。模拟模拟“轮盘赌轮盘赌”算法算法:(1)r=random(0,1),s=0,i=0;(2)如果如果sr,则转,则转(4);(3)s=s+p(xi),i=i+1,
33、转转(2)(4)xi即为被选中的染色体,输出即为被选中的染色体,输出I(5)结束结束11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm42选择选择(Selection)其他选择法其他选择法:随机遍历抽样随机遍历抽样(Stochastic universal sampling)局部选择局部选择(Local selection)截断选择截断选择(Truncation selection)竞标赛选择竞标赛选择(Tournament selection)特点特点:选择操作得到的新的群体称为交配池,交配池是当前代和下一代之间的中间
34、群体,其规模为初始群体规模。选择操作的作用效果是提高了群体的平均适应值(低适应值个体趋于淘汰,高适应值个体趋于选择),但这也损失了群体的多样性多样性。选择操作没有产生新的个体,群体中最好个体的适应值不会改变。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm43交叉交叉(crossover,Recombination)遗传交叉(杂交、交配、有性重组)操作发生在两个染色体之间,由两个被称之为双亲的父代染色体,经杂交以后,产生两个具有双亲的部分基因的新的染色体,从而检测搜索空间中新的点。选择(复制)操作每次作用在一个染色体上
35、,而交叉操作每次作用在从交配池中随机选取的两个个体上(交叉概率Pc)。交叉产生两个子染色体,他们与其父代不同,且彼此不同,每个子染色体都带有双亲染色体的遗传基因。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm44单点交叉单点交叉(1-point crossover)在双亲的父代染色体中随机产生一个交叉点位置在双亲的父代染色体中随机产生一个交叉点位置在交叉点位置分离双亲染色体在交叉点位置分离双亲染色体互换交叉点位置右边的基因码产生两个子代染色体互换交叉点位置右边的基因码产生两个子代染色体交叉概率交叉概率Pc 一般范围为
36、一般范围为(60%,90%),平均约,平均约80%1 11 11 11 11 11 11 11 1父代父代父代父代1 11 11 11 10 00 00 00 00 00 00 00 00 00 00 00 0子代子代子代子代1 11 11 11 10 00 00 00 00 00 00 00 00 00 00 00 01 11 11 11 11 11 11 11 1交叉点位置交叉点位置交叉点位置交叉点位置11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm45交叉交叉(crossover,Recombination)单点
37、交叉操作可以产生与父代染色体完全不同的子代染色体;它不会改变父代染色体中相同的基因。但当双亲染色体相同时,交叉操作是不起作用的。假如交叉概率Pc50%,则交配池中50%的染色体(一半染色体)将进行交叉操作,余下的50%的染色体进行选择(复制)操作。GA利用选择和交叉操作可以产生具有更高平均适应值和更好染色体的群体11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm46变异变异(Mutation)以变异概率Pm改变染色体的某一个基因,当以二进制编码时,变异的基因由0变成1,或者由1变成0。变异概率Pm 一般介于1/种群规模与
38、1/染色体长度之间,平均约1-2%1 11 10 01 10 01 10 00 0父代父代父代父代0 01 10 01 10 01 10 01 1子代子代子代子代变异基因变异基因变异基因变异基因变异基因变异基因变异基因变异基因11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm47变异变异(Mutation)比起选择和交叉操作,变异操作是GA中的次要操作,但它在恢复群体中失去的多样性多样性方面具有潜在的作用。在GA执行的开始阶段,染色体中一个特定位上的值1可能与好的性能紧密联系,即搜索空间中某些初始染色体在那个位上的值1可
39、能一致产生高的适应值。因为越高的适应值与染色体中那个位上的值1相联系,选择操作就越会使群体的遗传多样性损失。等到达一定程度时,值0会从整个群体中那个位上消失,然而全局最优解可能在染色体中那个位上为0。如果搜索范围缩小到实际包含全局最优解的那部分搜索空间,在那个位上的值0就可能正好是到达全局最优解所需要的。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm48适应函数适应函数(Fitness Function)GA在搜索中不依靠外部信息,仅以适应函数为依据,利用群体中每个染色体(个体)的适应值来进行搜索。以染色体适应值的大
40、小来确定该染色体被遗传到下一代群体中的概率。染色体适应值越大,该染色体被遗传到下一代的概率也越大;反之,染色体的适应值越小,该染色体被遗传到下一代的概率也越小。因此适应函数的选取至关重要,直接影响到GA的收敛速度以及能否找到最优解。群体中的每个染色体都需要计算适应值适应函数一般由目标函数变换而成11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm49适应函数适应函数(Fitness Function)适应函数常见形式:适应函数常见形式:直接将目标函数转化为适应函数直接将目标函数转化为适应函数若目标函数为最大化问题:Fitn
41、ess(f(x)=f(x)若目标函数为最小化问题:Fitness(f(x)=-f(x)缺点:(1)可能不满足轮盘赌选择中概率非负的要求(2)某些代求解的函数值分布上相差很大,由此得到的评价适应值可能不利于体现群体的评价性能,影响算法的性能。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm50适应函数适应函数(Fitness Function)界限构造法界限构造法 目标函数为最大化问题其中Cmin为f(x)的最小估计值 目标函数为最小化问题其中Cmaxn为f(x)的最大估计值11/11/2022Algorithms in
42、 Mathematical ModelingGenetic Algorithm51停止准则停止准则(Termination Criteria)种群中个体的最大适应值超过预设定值种群中个体的平均适应值超过预设定值种群中个体的进化代数超过预设定值11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm52基本步骤基本步骤(Step by Step)(1)随机产生初始种群;(2)计算种群体中每个个体的适应度值,判断是否满足停止条件,若不满足,则转第(3)步,否则转第(6)步;(3)按由个体适应值所决定的某个规则选择将进入下一代的个体
43、;(4)按交叉概率Pc进行交叉操作,生产新的个体;(5)按变异概率Pm进行变异操作,生产新的个体;(6)输出种群中适应度值最优的染色体作为问题的满意解或最优解。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm53流程图流程图(Flow Chart)11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm54基本遗传算法基本遗传算法基本遗传算法(SimpleGeneticAlgorithms,简称SGA)是一种统一的最基本的遗传算法,它只使用选择、交叉、
44、变异这三种基本遗传算子,其遗传进化操作过程简单,容易理解,是其他一些遗传算法的雏形和基础,它不仅给各种遗传算法提供了一个基本框架,同时也具有一定的应用价值。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm55SGA伪码描述伪码描述ProcedureGeneticAlgorithmbeginbegint=0;初始化 P(t);计算 P(t)的适应值;while(不满足停止准则)do begin t=t+1;从P(t-1)中选择 P(t);%selection 重组 P(t);%crossover and mutation
45、 计算 P(t)的适应值;end end11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm56遗传算法的应用遗传算法的应用函数优化函数优化函数优化是遗传算法的经典应用领域,也是对遗传算法进行性能测试评价的常用算例。对于一些非线性、多模型、多目标的函数优化问题,用其他优化方法较难求解,而遗传算法却可以方便地得到较好的结果。遗传算法提供了一种求解复杂系统优化问题的通用框架,它不依赖于问题的具体领域,对问题的种类有很强的鲁棒性,所以广泛应用于很多学科。下面列举一些遗传算法的主要应用领域。11/11/2022Algorithms
46、 in Mathematical ModelingGenetic Algorithm57遗传算法的应用遗传算法的应用组合优化组合优化遗传算法是寻求组合优化问题满意解的最佳工具之一,实践证明,遗传算法对于组合优化问题中的NP完全问题非常有效。例如,遗传算法已经在求解旅行商问题(Traveling Salesman Problem,TSP)、背包问题(Knapsack Problem)、装箱问题(Bin Packing Problem)等方面得到成功的应用。生产调度问题生产调度问题生产调度问题在很多情况下所建立起来的数学模型难以精确求解,即使经过一些简化之后可以进行求解也会因简化得太多而使求解结果
47、与实际相差太远。现在遗传算法已经成为解决复杂调度问题的有效工具。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm58遗传算法的应用遗传算法的应用自动控制自动控制遗传算法已经在自动控制领域中得到了很好的应用,例如基于遗传算法的模糊控制器的优化设计、基于遗传算法的参数辨识、基于遗传算法的模糊控制规则的学习、利用遗传算法进行人工神经网络的结构优化设计和权值学习等。机器人智能控制机器人智能控制机器人是一类复杂的难以精确建模的人工系统,而遗传算法的起源就来自于对人工自适应系统的研究,所以机器人智能控制自然成为遗传算法的一个重要应
48、用领域。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm59遗传算法的应用遗传算法的应用图象处理和模式识别图象处理和模式识别图像处理和模式识别是计算机视觉中的一个重要研究领域。在图像处理过程中,如扫描、特征提取、图像分割等不可避免地存在一些误差,这些误差会影响图像处理的效果。如何使这些误差最小是使计算机视觉达到实用化的重要要求,遗传算法在这些图像处理中的优化计算方面得到了很好的应用。人工生命人工生命人工生命是用计算机、机械等人工媒体模拟或构造出的具有自然生物系统特有行为的人造系统。自组织能力和自学习能力是人工生命的两大
49、重要特征。人工生命与遗传算法有着密切的关系,基于遗传算法的进化模型是研究人工生命现象的重要理论基础。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm60遗传算法的应用遗传算法的应用遗传程序设计遗传程序设计Koza发展了遗传程序设计的概念,他使用了以LISP语言所表示的编码方法,基于对一种树形结构所进行的遗传操作来自动生成计算机程序。机器学习机器学习 基于遗传算法的机器学习,在很多领域中都得到了应用。例如基于遗传算法的机器学习可用来调整人工神经网络的连接权,也可以用于人工神经网络的网络结构优化设计。分类器系统在多机器人路
50、径规划系统中得到了成功的应用。11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm61SGA实例实例1:函数最值:函数最值SGA参数:编码方式:二进制码 e.g.00000e.g.000000;0;01101 01101 13;1111113;111113131种群规模:4随机初始群体“转盘赌”选择一点杂交,二进制变异 求函数f(x)=x2的最大值,x为自然数且0 x31.o手工方式完成演示SGA过程11/11/2022Algorithms in Mathematical ModelingGenetic Algorithm