1、Algorithms in Mathematical ModelingGenetic Algorithm1Algorithms in Mathematical ModelingGenetic Algorithm数学建模中惯用算法第第1页页Algorithms in Mathematical ModelingGenetic Algorithm2/10/10数学建模竞赛网上资源数学建模竞赛网上资源CUMCM网站:http:/ MCM和ICM网站:http:/中国数学建模:http:/中科大建模网站:http:/MATLAB网站:http:/GOOGLE大学第第2页页Algorithms in Ma
2、thematical ModelingGenetic Algorithm3/10/10数学建模竞赛中算法数学建模竞赛中算法(1)93A 非线性交调频率设计非线性交调频率设计:拟合、规划拟合、规划93B 足球队排名次足球队排名次:矩阵论、图论、层次分析法、矩阵论、图论、层次分析法、整数规划整数规划94A 逢山开路逢山开路:图论、插值、动态规划图论、插值、动态规划94B 锁具装箱问题锁具装箱问题:图论、组合数学图论、组合数学95A 飞行管理问题飞行管理问题:非线性规划、线性规划非线性规划、线性规划95B 天车与冶炼炉作业调度天车与冶炼炉作业调度:非线性规划、动态规非线性规划、动态规划、层次分析法、
3、划、层次分析法、PETRI方法、图论方法、排队论方方法、图论方法、排队论方法法96A 最优打鱼策略最优打鱼策略:微分方程、积分、非线性规划微分方程、积分、非线性规划第第3页页Algorithms in Mathematical ModelingGenetic Algorithm4/10/1096B 节水洗衣机节水洗衣机:非线性规划非线性规划97A 零件参数设计零件参数设计:微积分、非线性规划、随机模拟微积分、非线性规划、随机模拟97B 截断切割截断切割:组合优化、几何变换、枚举、蒙特卡组合优化、几何变换、枚举、蒙特卡罗、递归、最短路罗、递归、最短路98A 投资收益与风险投资收益与风险:线性规划
4、、非线性规划线性规划、非线性规划98B 灾情巡视灾情巡视:最小生成树、最小生成树、Hamilton圈、旅行商圈、旅行商问题问题99A 自动化车床自动化车床:积分、概率分布、随机模拟、分布积分、概率分布、随机模拟、分布拟合度检验拟合度检验数学建模竞赛中算法数学建模竞赛中算法(2)第第4页页Algorithms in Mathematical ModelingGenetic Algorithm5/10/1099B 钻井布局钻井布局:几何变换、枚举、最大完全子图、几何变换、枚举、最大完全子图、混合整数规划混合整数规划00A DNA分类分类:神经网络、最小二乘拟合、统计分神经网络、最小二乘拟合、统计分
5、类类00B 管道订购管道订购:最短路、二次规划最短路、二次规划01A 血管三维重建血管三维重建:数据挖掘、曲面重建与拟合数据挖掘、曲面重建与拟合01B 公交车调度公交车调度:非线性规划非线性规划02A 车灯光源优化设计车灯光源优化设计:最优化最优化02B 彩票中数学彩票中数学:概率与优化概率与优化数学建模竞赛中算法数学建模竞赛中算法(3)第第5页页Algorithms in Mathematical ModelingGenetic Algorithm6/10/10 MATLAB Maple Mathematica Lindo Lingo SAS SPSS C&C+Fortran Pascal数
6、学建模惯用软件数学建模惯用软件第第6页页Algorithms in Mathematical ModelingGenetic Algorithm7/10/101.蒙特卡罗方法(Monte-Carlo方法,MC)数学建模竞赛惯用算法数学建模竞赛惯用算法(1)该算法又称计算机随机性模拟方法计算机随机性模拟方法,也称统计试验统计试验方法方法。MC方法是一个基于“随机数”计算方法,能够比较逼真地描述事物特点及物理试验过程,处理一些数值方法难以处理问题。MC方法雏型能够追溯到十九世纪后期蒲丰随机投针试验,即著名蒲丰问题蒲丰问题。MC方法经过计算机仿真(模拟)处理问题,同时也能够经过模拟来检验自己模型正确
7、性,是比赛中经常使用方法。第第7页页Algorithms in Mathematical ModelingGenetic Algorithm8/10/10o97年A题 每个零件都有自己标定值,也都有自o己容差等级,而求解最优组合方案将要面对着是一o个极其复杂公式和108种容差选取方案,根本不可能去求o解析解,那怎样去找到最优方案呢?随机性模拟搜索最o优方案就是其中一个方法,在每个零件可行区间中按o照正态分布随机选取一个标定值和选取一个容差值作为o一个方案,然后经过蒙特卡罗算法仿真出大量方案,从o中选取一个最正确。oB题 关于彩票第二问,要求设计一个更加好方o案,首先方案优劣取决于很多复杂原因,
8、一样不可能o刻画出一个模型进行求解,只能靠随机仿真模拟。数学建模竞赛惯用算法数学建模竞赛惯用算法第第8页页Algorithms in Mathematical ModelingGenetic Algorithm9/10/1098 年美国赛年美国赛A 题题 生物组织切片三维插值处理生物组织切片三维插值处理94 年年A 题逢山开路题逢山开路 山体海拔高度插值计算山体海拔高度插值计算数学建模竞赛惯用算法数学建模竞赛惯用算法(2)2.数据拟合、参数预计、插值等数据处理算法 比赛中通常会碰到大量数据需要处理,而处理数据关键就在于这些算法,通常使用MATLAB 作为工具。与图形处理相关问题很多与拟合相关系
9、。这类问题在MATLAB中有很多函数能够调用,只有熟悉MATLAB,这些方法才能用好。第第9页页Algorithms in Mathematical ModelingGenetic Algorithm10/10/1098年年B 题题 用很多不等式完全能够把问题刻画清楚用很多不等式完全能够把问题刻画清楚数学建模竞赛惯用算法数学建模竞赛惯用算法(3)3.规划类问题算法 这类问题主要有线性规划、整数规划、多元规划、线性规划、整数规划、多元规划、二次规划二次规划等。竞赛中很多问题都和数学规划相关,能够说不少模型都能够归结为一组不等式作为约束条件、几个函数表示式作为目标函数问题,碰到这类问题,求解就是关
10、键了。所以列举出规划后用Lindo、Lingo 等软件来进行处理比较方便,所以还需要熟悉这两个软件。第第10页页Algorithms in Mathematical ModelingGenetic Algorithm11/10/10o98 年B 题、B 题、95 年锁具装箱等问题表达了图论问题主要性。数学建模竞赛惯用算法数学建模竞赛惯用算法(4)4.图论问题 这类问题算法有很多,包含:Dijkstra、Floyd、Prim、Bellman-Ford,最大流,二分匹配,最大流,二分匹配等问题。第第11页页Algorithms in Mathematical ModelingGenetic Alg
11、orithm12/10/1092 年年B 题用分枝定界法题用分枝定界法97 年年B 题是经典动态规划问题题是经典动态规划问题98 年年B 题表达了分治算法题表达了分治算法数学建模竞赛惯用算法数学建模竞赛惯用算法(5)5.计算机算法设计中问题 计算机算法设计包含很多内容:动态规划、回溯搜动态规划、回溯搜索、分治算法、分枝定界索、分治算法、分枝定界等计算机算法.这方面问题和ACM 程序设计竞赛中问题类似,可看一下与计算机算法相关书。第第12页页Algorithms in Mathematical ModelingGenetic Algorithm13/10/10o97年A 题用模拟退火算法oB 题
12、用神经网络分类算法oB 题这种难题也能够使用神经网络o美国89年A 题也和BP 算法相关系o美国B 题伽马刀问题也是当前研究课题,当前算法最正确是遗传算法。数学建模竞赛惯用算法数学建模竞赛惯用算法(6)6.最优化理论三大非经典算法:模拟退火法(SA)、神经网络(NN)、遗传算法(GA)近几年赛题越来越复杂,很多问题没有什么很好模型能够借鉴,于是这三类算法很多时候能够派上用场。第第13页页Algorithms in Mathematical ModelingGenetic Algorithm14/10/1097 年年A 题、题、99 年年B 题都能够题都能够用网格法搜索用网格法搜索数学建模竞赛惯
13、用算法数学建模竞赛惯用算法(7)网格算法和穷举法一样,只是网格法是连续问题穷举。这类算法运算量较大。7.网格算法和穷举算法 这种方法最好在运算速度较快计算机中进行,还有要用高级语言来做,最好不要用MATLAB 做网格,不然会算很久。第第14页页Algorithms in Mathematical ModelingGenetic Algorithm15/10/10 很多问题都是实际来,数据能够是连续,而计算机只能处理离散数据,所以需要将连续问题进行将连续问题进行离散化处理后再用计算机求解离散化处理后再用计算机求解。比如差分代替微分、求和代替积分等思想都是把连续问题离散化惯用方法。数学建模竞赛惯用
14、算法数学建模竞赛惯用算法(8)8.连续问题离散化方法第第15页页Algorithms in Mathematical ModelingGenetic Algorithm16/10/10 数值分析研究各种求解数学问题数值计算方法求解数学问题数值计算方法,尤其是适合于计算机实现方法与算法。数学建模竞赛惯用算法数学建模竞赛惯用算法(9)9.数值分析方法 它主要内容包含函数数值迫近、数值微分与数函数数值迫近、数值微分与数值积分、非线性方程数值解法、数值代数、常微分方值积分、非线性方程数值解法、数值代数、常微分方程数值解程数值解等。数值分析是计算数学一个主要分支,把理论与计算紧密结合,是当代科学计算基础
15、。MATLAB等数学软件中已经有很多数值分析函数能够直接调用。第第16页页Algorithms in Mathematical ModelingGenetic Algorithm17/10/10oA 题中需要你会读BMP 图象o98年美国A 题需要你知道三维插值计算oB 题要求更高,不但需要编程计算还要进行处理数学建模竞赛惯用算法数学建模竞赛惯用算法(10)10.图象处理算法 赛题中有一类问题与图形相关,即使问题与图形无关,论文中也会需要图片来说明问题,这些图形怎样展示以及怎样处理就是需要处理问题,通常使用MATLAB进行处理。数模论文中也有很多图片需要展示,处理这类问题要熟悉MATLAB图形
16、图像工具箱。第第17页页Algorithms in Mathematical ModelingGenetic Algorithm18/10/10三个孩子年纪三个孩子年纪(1)两个多年未见朋友相遇,聊了很多事情。A:既然你是数学教授,那你帮我算这个题,今天是个特殊日子:我三个儿子都在今天庆贺生日!那么你能算出他们都有多大吗?B:好,但你得跟我讲讲他们情况。A:好,我给你一些提醒,他们三个年纪之积是36.B:很好,但我还需要更多提醒。第第18页页Algorithms in Mathematical ModelingGenetic Algorithm19/10/10三个孩子年纪三个孩子年纪(2)A:
17、我大儿子眼睛是蓝色。B考虑了一下说,不过,我还有一点信息来处理你这个难题。B:哦,够了,B给出了正确答案,即三个小孩年纪。A:他们三个年纪之和等于那幢房子窗户个数。A指着对面一幢房子说。第第19页页Algorithms in Mathematical ModelingGenetic Algorithm20/10/10三个孩子年纪三个孩子年纪(3)依据对话信息,用搜索方法来解此问题。信息信息1:三个小孩年纪之积为三个小孩年纪之积为36只有以下8种可能,搜索范围降低至8种情况:第一第一个小孩个小孩年纪年纪36 18 12 9 9 6 6 4第二第二个小孩个小孩年纪年纪 1 2 3 4 2 6 3
18、3第三第三个小孩个小孩年纪年纪 1 1 1 1 2 1 2 3第第20页页Algorithms in Mathematical ModelingGenetic Algorithm21/10/10三个孩子年纪三个孩子年纪(4)信息信息2:三个小孩年纪之和等于窗户数三个小孩年纪之和等于窗户数第第一个一个小孩小孩年纪年纪36 18 12 9 9 6 6 4第第二个二个小孩小孩年纪年纪 1 2 3 4 2 6 3 3第第三个三个小孩小孩年纪年纪 1 1 1 1 2 1 2 3窗户数窗户数:38 21 16 14 13 13 11 10假如窗户数为38、21、16、14、11、10即可得出答案B还需信息
19、,即窗户数为13.则可能为(9、2、2)或(6、6、1)信息2:大儿子眼睛是蓝色得答案:(9、2、2)第第21页页Algorithms in Mathematical ModelingGenetic Algorithm22/10/10智能优化算法智能优化算法 智能优化算法智能优化算法又称为当代启发式算法当代启发式算法,是一种含有全局优化性能、通用性强、且适合于并行处理算法。这种算法普通含有严密理论依据,而不是单纯凭借教授经验,理论上能够在一定时间内找到最优解或近似最优解。第第22页页Algorithms in Mathematical ModelingGenetic Algorithm23/1
20、0/10惯用智能优化算法惯用智能优化算法 遗传算法遗传算法 Genetic Algorithm,简称GA 模拟退火算法模拟退火算法 Simulated Annealing,简称SA 禁忌搜索算法禁忌搜索算法 Tabu Search,简称TS 第第23页页Algorithms in Mathematical ModelingGenetic Algorithm24/10/10智能优化算法特点智能优化算法特点 它们共同特点:都是从任一解出发,按照某种机制,以一定概率在整个求解空间中探索最优解。因为它们能够把搜索空间扩展到整个问题空间,因而含有全局优化性能。第第24页页Algorithms in Ma
21、thematical ModelingGenetic Algorithm25/10/10遗传算法遗传算法(Genetic Algorithm)进化算法(Evolutionary Algorithm)第第25页页Algorithms in Mathematical ModelingGenetic Algorithm26/10/10遗传算法遗传算法(GA)Darwin(1859):“物竟天择,适者生存物竟天择,适者生存”John Holland(university of Michigan,1975)Adaptation in Natural and Artificial System遗传算法作为
22、一个有效工具,已广泛地应用于最优遗传算法作为一个有效工具,已广泛地应用于最优化问题求解之中化问题求解之中。遗传算法是一个基于自然群体遗传进化机制自适应遗传算法是一个基于自然群体遗传进化机制自适应全局优化概率搜索算法。全局优化概率搜索算法。它摒弃了传统搜索方式,模拟自然界生物进化过程,采取人工方式对目标空间进行随机化搜索。第第26页页Algorithms in Mathematical ModelingGenetic Algorithm27/10/10 遗传算法模拟自然选择和自然遗传过程中发生繁殖、交叉和基因突变繁殖、交叉和基因突变现象,在每次迭代中都保留一组候选解,并按某种指标从解群中选取较优
23、个体,利用遗传算子遗传算子(选择、交叉和变选择、交叉和变异异)对这些个体进行组合,产生新一代候选解群,重复此过程,直到满足某种收敛指标为止。遗传算法搜索机制遗传算法搜索机制第第27页页Algorithms in Mathematical ModelingGenetic Algorithm28/10/10局部局部局部局部全局全局全局全局遗传算法遗传算法(GA)第第28页页Algorithms in Mathematical ModelingGenetic Algorithm29/10/10We have a dream!We have a dream!I am at the I am at th
24、e 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)GA-第0代第第29页页Algorithms in Mathematical ModelingGenetic Algorithm30/10/10Dead oneDead oneNew oneNew one遗传算法遗传算法(GA)GA-第1代第第30页页Algorithms in Mathematical M
25、odelingGenetic Algorithm31/10/10Not at the top,Not at the top,Come Up!Come Up!遗传算法遗传算法(GA)GA-第?代第第31页页Algorithms in Mathematical ModelingGenetic Algorithm32/10/10I am the I am the BESTBEST!遗传算法遗传算法(GA)GA-第N代第第32页页Algorithms in Mathematical ModelingGenetic Algorithm33/10/10适者生存适者生存(Survival of the Fi
26、ttest)oGA主要采取进化规则是主要采取进化规则是“适者生存适者生存”o很好解保留,较差解淘汰很好解保留,较差解淘汰遗传算法遗传算法(GA)第第33页页Algorithms in Mathematical ModelingGenetic Algorithm34/10/10生物进化与遗传算法对应关系生物进化与遗传算法对应关系生物进化生物进化遗传算法遗传算法适者生存适应函数值最大解被保留概率最大个体问题一个解染色体解编码基因编码元素群体被选定一组解种群依据适应函数选择一组解交叉以一定方式由双亲产生后代过程变异编码一些分量发生改变过程环境适应函数第第34页页Algorithms in Mathe
27、matical ModelingGenetic Algorithm35/10/10遗传算法基本操作遗传算法基本操作选择选择(selection):依据各个个体适应值,按照一定规则或方法,从第t代群体P(t)中选择出一些优良个体遗传到下一代群体P(t+1)中。交叉交叉(crossover):将群体P(t)内各个个体随机搭配成对,对每一个个体,以某个概率Pc(称为交叉概率,crossvoer rate)交换它们之间部分染色体。变异变异(mutation):对群体P(t)中每一个个体,以某一概率Pm(称为变异概率,mutation rate)改变某一个或一些基因座上基因值为其它等位基因。第第35页页
28、Algorithms in Mathematical ModelingGenetic Algorithm36/10/10怎样设计遗传算法怎样设计遗传算法怎样进行编码?怎样进行编码?怎样产生初始种群?怎样产生初始种群?怎样定义适应函数?怎样定义适应函数?怎样进行遗传操作怎样进行遗传操作(复制、交叉、变异复制、交叉、变异)?怎样产生下一代种群?怎样产生下一代种群?怎样定义停顿准则怎样定义停顿准则?第第36页页Algorithms in Mathematical ModelingGenetic Algorithm37/10/10编码编码(Coding)表现型空间编码(Coding)解码(Decodi
29、ng)基因型空间=0,1L0111010010100010011001001010010001第第37页页Algorithms in Mathematical ModelingGenetic Algorithm38/10/10选择选择(Selection)选择选择(复制复制)操作把当前种群染色体按与适应值成正百分操作把当前种群染色体按与适应值成正百分比概率复制到新种群中比概率复制到新种群中 主要思想主要思想:适应值较高染色体体有较大选择适应值较高染色体体有较大选择(复制复制)机会机会实现实现1:”轮盘赌轮盘赌”选择选择(Roulette wheel selection)将种群中全部染色体适应值
30、相加求总和,染色体适应值将种群中全部染色体适应值相加求总和,染色体适应值按其百分比转化为选择概率按其百分比转化为选择概率Ps产生一个在产生一个在0与总和之间随机数与总和之间随机数m从种群中编号为从种群中编号为1染色体开始,将其适应值与后续染色染色体开始,将其适应值与后续染色体适应值相加,直到累加和等于或大于体适应值相加,直到累加和等于或大于m第第38页页Algorithms in Mathematical ModelingGenetic Algorithm39/10/10选择选择(Selection)设种群规模为Nxi是i为种群中第i个染色体AC1/6=17%3/6=50%B2/6=33%fi
31、tness(A)=3fitness(B)=1fitness(C)=2染色体xi被选概率第第39页页Algorithms in Mathematical ModelingGenetic Algorithm40/10/10选择选择(Selection)染色体适应值和所占百分比染色体适应值和所占百分比轮盘赌选择第第40页页Algorithms in Mathematical ModelingGenetic Algorithm41/10/10选择选择(Selection)随机数234913 386 27所选号码 26 2 51 4所选染色体110000001111000011000111010010染
32、色体编号 1 2 3 4 5 6染色体011101100000100100100110000011适应度 8 152 5 128被选概率0.160.30.040.10.240.16适应度累计 8 23 25 30 42 50染色体被选概率被选染色体第第41页页Algorithms in Mathematical ModelingGenetic Algorithm42/10/10选择选择(Selection)轮轮盘盘上上片片分分配配给给群群体体染染色色体体,使使得得每每一一个个片片大大小小与与对对于于染染色色体体适适应值成百分比应值成百分比从从群群体体中中选选择择一一个个染染色色体体可可视视为为
33、旋旋转转一一个个轮轮盘盘,当当轮轮盘盘停停顿顿时时,指针所指片对于染色体就时要选染色体。指针所指片对于染色体就时要选染色体。模拟模拟“轮盘赌轮盘赌”算法算法:(1)r=random(0,1),s=0,i=0;(2)假如假如sr,则转,则转(4);(3)s=s+p(xi),i=i+1,转转(2)(4)xi即为被选中染色体,输出即为被选中染色体,输出I(5)结束结束第第42页页Algorithms in Mathematical ModelingGenetic Algorithm43/10/10选择选择(Selection)其它选择法其它选择法:随机遍历抽样随机遍历抽样(Stochastic un
34、iversal sampling)局部选择局部选择(Local selection)截断选择截断选择(Truncation selection)竞标赛选择竞标赛选择(Tournament selection)特点特点:选择操作得到新群体称为交配池,交配池是当前代和下一代之间中间群体,其规模为初始群体规模。选择操作作用效果是提升了群体平均适应值(低适应值个体趋于淘汰,高适应值个体趋于选择),但这也损失了群体多样性多样性。选择操作没有产生新个体,群体中最好个体适应值不会改变。第第43页页Algorithms in Mathematical ModelingGenetic Algorithm44/1
35、0/10交叉交叉(crossover,Recombination)遗传交叉(杂交、交配、有性重组)操作发生在两个染色体之间,由两个被称之为双亲父代染色体,经杂交以后,产生两个含有双亲部分基因新染色体,从而检测搜索空间中新点。选择(复制)操作每次作用在一个染色体上,而交叉操作每次作用在从交配池中随机选取两个个体上(交叉概率Pc)。交叉产生两个子染色体,他们与其父代不一样,且彼此不一样,每个子染色体都带有双亲染色体遗传基因。第第44页页Algorithms in Mathematical ModelingGenetic Algorithm45/10/10单点交叉单点交叉(1-point cross
36、over)在双亲父代染色体中随机产生一个交叉点位置在双亲父代染色体中随机产生一个交叉点位置在交叉点位置分离双亲染色体在交叉点位置分离双亲染色体交换交叉点位置右边基因码产生两个子代染色体交换交叉点位置右边基因码产生两个子代染色体交叉概率交叉概率Pc 普通范围为普通范围为(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
37、 11 11 11 11 1交叉点位置交叉点位置交叉点位置交叉点位置第第45页页Algorithms in Mathematical ModelingGenetic Algorithm46/10/10交叉交叉(crossover,Recombination)单点交叉操作能够产生与父代染色体完全不一样子代染色体;它不会改变父代染色体中相同基因。但当双亲染色体相同时,交叉操作是不起作用。假如交叉概率Pc 50%,则交配池中50%染色体(二分之一染色体)将进行交叉操作,余下50%染色体进行选择(复制)操作。GA利用选择和交叉操作能够产生含有更高平均适应值和更加好染色体群体第第46页页Algorith
38、ms in Mathematical ModelingGenetic Algorithm47/10/10变异变异(Mutation)以变异概率Pm改变染色体某一个基因,当以二进制编码时,变异基因由0变成1,或者由1变成0。变异概率Pm 普通介于1/种群规模与1/染色体长度之间,平均约1-2%1 11 10 01 10 01 10 00 0父代父代父代父代0 01 10 01 10 01 10 01 1子代子代子代子代变异基因变异基因变异基因变异基因变异基因变异基因变异基因变异基因第第47页页Algorithms in Mathematical ModelingGenetic Algorithm
39、48/10/10变异变异(Mutation)比起选择和交叉操作,变异操作是GA中次要操作,但它在恢复群体中失去多样性多样性方面含有潜在作用。在GA执行开始阶段,染色体中一个特定位上值1可能与好性能紧密联络,即搜索空间中一些初始染色体在那个位上值1可能一致产生高适应值。因为越高适应值与染色体中那个位上值1相联系,选择操作就越会使群体遗传多样性损失。等抵达一定程度时,值0会从整个群体中那个位上消失,然而全局最优解可能在染色体中那个位上为0。假如搜索范围缩小到实际包含全局最优解那部分搜索空间,在那个位上值0就可能恰好是抵达全局最优解所需要。第第48页页Algorithms in Mathematic
40、al ModelingGenetic Algorithm49/10/10适应函数适应函数(Fitness Function)GA在搜索中不依靠外部信息,仅以适应函数为依据,利用群体中每个染色体(个体)适应值来进行搜索。以染色体适应值大小来确定该染色体被遗传到下一代群体中概率。染色体适应值越大,该染色体被遗传到下一代概率也越大;反之,染色体适应值越小,该染色体被遗传到下一代概率也越小。所以适应函数选取至关主要,直接影响到GA收敛速度以及能否找到最优解。群体中每个染色体都需要计算适应值适应函数普通由目标函数变换而成第第49页页Algorithms in Mathematical ModelingG
41、enetic Algorithm50/10/10适应函数适应函数(Fitness Function)适应函数常见形式:适应函数常见形式:直接将目标函数转化为适应函数直接将目标函数转化为适应函数若目标函数为最大化问题:Fitness(f(x)=f(x)若目标函数为最小化问题:Fitness(f(x)=-f(x)缺点:(1)可能不满足轮盘赌选择中概率非负要求(2)一些代求解函数值分布上相差很大,由此得到评价适应值可能不利于表达群体评价性能,影响算法性能。第第50页页Algorithms in Mathematical ModelingGenetic Algorithm51/10/10适应函数适应函
42、数(Fitness Function)界限结构法界限结构法 目标函数为最大化问题其中Cmin为f(x)最小预计值目标函数为最小化问题其中Cmaxn为f(x)最大预计值第第51页页Algorithms in Mathematical ModelingGenetic Algorithm52/10/10停顿准则停顿准则(Termination Criteria)种群中个体最大适应值超出预设定值种群中个体平均适应值超出预设定值种群中个体进化代数超出预设定值第第52页页Algorithms in Mathematical ModelingGenetic Algorithm53/10/10基本步骤基本步骤
43、(Step by Step)(1)随机产生初始种群;(2)计算种群体中每个个体适应度值,判断是否满足停顿条件,若不满足,则转第(3)步,不然转第(6)步;(3)按由个体适应值所决定某个规则选择将进入下一代个体;(4)按交叉概率Pc进行交叉操作,生产新个体;(5)按变异概率Pm进行变异操作,生产新个体;(6)输出种群中适应度值最优染色体作为问题满意解或最优解。第第53页页Algorithms in Mathematical ModelingGenetic Algorithm54/10/10流程图流程图(Flow Chart)第第54页页Algorithms in Mathematical Mod
44、elingGenetic Algorithm55/10/10基本遗传算法基本遗传算法基本遗传算法(Simple Genetic Algorithms,简称SGA)是一个统一最基本遗传算法,它只使用选择、交叉、变异这三种基本遗传算子,其遗传进化操作过程简单,轻易了解,是其它一些遗传算法雏形和基础,它不但给各种遗传算法提供了一个基本框架,同时也含有一定应用价值。第第55页页Algorithms in Mathematical ModelingGenetic Algorithm56/10/10SGA伪码描述伪码描述Procedure Genetic Algorithm beginbegint=0;初
45、始化 P(t);计算 P(t)适应值;while(不满足停顿准则)do begin t=t+1;从P(t-1)中选择 P(t);%selection 重组 P(t);%crossover and mutation 计算 P(t)适应值;end end第第56页页Algorithms in Mathematical ModelingGenetic Algorithm57/10/10遗传算法应用遗传算法应用函数优化函数优化 函数优化是遗传算法经典应用领域,也是对遗传算法进行性能测试评价惯用算例。对于一些非线性、多模型、多目标函数优化问题,用其它优化方法较难求解,而遗传算法却能够方便地得到很好结果。
46、遗传算法提供了一个求解复杂系统优化问题通用框架,它不依赖于问题详细领域,对问题种类有很强鲁棒性,所以广泛应用于很多学科。下面列举一些遗传算法主要应用领域。第第57页页Algorithms in Mathematical ModelingGenetic Algorithm58/10/10遗传算法应用遗传算法应用组合优化组合优化 遗传算法是寻求组合优化问题满意解最正确工具之一,实践证实,遗传算法对于组合优化问题中NP完全问题非常有效。比如,遗传算法已经在求解旅行商问题(Traveling Salesman Problem,TSP)、背包问题(Knapsack Problem)、装箱问题(Bin P
47、acking Problem)等方面得到成功应用。生产调度问题生产调度问题 生产调度问题在很多情况下所建立起来数学模型难以准确求解,即使经过一些简化之后能够进行求解也会因简化得太多而使求解结果与实际相差太远。现在遗传算法已经成为处理复杂调度问题有效工具。第第58页页Algorithms in Mathematical ModelingGenetic Algorithm59/10/10遗传算法应用遗传算法应用自动控制自动控制 遗传算法已经在自动控制领域中得到了很好应用,比如基于遗传算法含糊控制器优化设计、基于遗传算法参数辨识、基于遗传算法含糊控制规则学习、利用遗传算法进行人工神经网络结构优化设计
48、和权值学习等。机器人智能控制机器人智能控制 机器人是一类复杂难以准确建模人工系统,而遗传算法起源就来自于对人工自适应系统研究,所以机器人智能控制自然成为遗传算法一个主要应用领域。第第59页页Algorithms in Mathematical ModelingGenetic Algorithm60/10/10遗传算法应用遗传算法应用图象处理和模式识别图象处理和模式识别 图像处理和模式识别是计算机视觉中一个主要研究领域。在图像处理过程中,如扫描、特征提取、图像分割等不可防止地存在一些误差,这些误差会影响图像处理效果。怎样使这些误差最小是使计算机视觉到达实用化主要要求,遗传算法在这些图像处理中优化
49、计算方面得到了很好应用。人工生命人工生命 人工生命是用计算机、机械等人工媒体模拟或结构出含有自然生物系统特有行为人造系统。自组织能力和自学习能力是人工生命两大主要特征。人工生命与遗传算法有着亲密关系,基于遗传算法进化模型是研究人工生命现象主要理论基础。第第60页页Algorithms in Mathematical ModelingGenetic Algorithm61/10/10遗传算法应用遗传算法应用遗传程序设计遗传程序设计 Koza发展了遗传程序设计概念,他使用了以LISP语言所表示编码方法,基于对一个树形结构所进行遗传操作来自动生成计算机程序。机器学习机器学习 基于遗传算法机器学习,在
50、很多领域中都得到了应用。比如基于遗传算法机器学习可用来调整人工神经网络连接权,也能够用于人工神经网络网络结构优化设计。分类器系统在多机器人路径规划系统中得到了成功应用。第第61页页Algorithms in Mathematical ModelingGenetic Algorithm62/10/10SGA实例实例1:函数最值:函数最值SGA参数:编码方式:二进制码 e.g.00000e.g.000000;0;01101 01101 13;1111113;111113131种群规模:4随机初始群体“转盘赌”选择一点杂交,二进制变异 求函数f(x)=x2最大值,x为自然数且0 x31.手工方式完成
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100