遗传算法理论解读
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
具有数学建模工作室2019427数学建模培训讲义meccazjqqcom染色体的适应度和所占的比例用转轮方法进行选择数学建模工作室2019427数学建模培训讲义meccazjqqcom染色体编号10适应度1211被选概率0100202009适应度累计102734364859666976随机数234976132757所选染色体号码染色体被选的概率被选的染色体个数10个染色体种群按比例的选择过程数学建模工作室2019427数学建模培训讲义meccazjqqcom交换操作方法01011110模拟生物在自然界环境变化突变产生染色体的多样性变异复制不能创新交换解决染色体的创新数学建模工作室2019427数学建模培训讲义meccazjqqcomga的流程数学建模工作室2019427数学建模培训讲义meccazjqqcom简单遗传算法ga的基本参数种群规模一般为60100
•
randstate: <Optional field to reset rand state>
•
randnstate: <Optional field to reset randn state>
•
• [X, FVAL] = GA(FITNESSFCN, ...) returns FVAL, the value of the
被选概率 0.1 0.02 0.2 0.0 0.0 0.1 0.1 0.0 0.0 0.09 2926493
适应度累计 8 10 27 34 36 48 59 66 69 76
被选的染色体个数
随机数
所选染色 体号码 数学建模工作室 2019/4/27
23 3
49 76 13 1 7 10 3 1
数学建模培训讲义
i 1
或
I (X , r)
f
(X ) r
m i 1
1
giX
m
其中称r lngi X
i 1
或
m
r
i 1
gi
1
X
为障碍项,r为障碍因子
这样问题(1)就转化为求一系列极 值问题:
min
X D0
I
X
,
rk
得
X (k rk)
数学建模工作室 2019/4/27
数学建模培训讲义
续的要求。求 解稳健,但收敛速度慢。能获得全 局最优。适合于求解空间不知的情况
数学建模工作室 2019/4/27
数学建模培训讲义
第8页 mecca_zj@
遗传算法基本原理
模拟自然界优胜劣汰的进化现象,把搜索空间映射为遗传 空间,把可能的解编码成一个向量——染色体,向量的每个 元素称为基因。
遗传算法简介
数学建模工作室 2019/4/27
数学建模培训讲义
第1页 mecca_zj@
非线性规划的基本概念
定义 如果目标函数或约束条件中至少有一个是非线性函数 时的最优化问题就叫做非线性规划问题.
一般形式:
min f X
s.t.hgij
X X
0 0
i 1,2,...,m; j 1,2,...,l.
fitness
• function FITNESSFCN at the solution X.
• [X,FVAL,REASON] = GA(FITNESSFCN, ...) returns the REASON for stopping.
数学建模工作室 2019/4/27
数学建模培训讲义
第22页 mecca_zj@
色体二进制编码中,1变成0;或0变成1.突变产生染色
体的多样性,避免进化中早期成熟,陷入局部极值点,
突数变学20建1的9模/4工/2概作7 室率很低. 数学建模培训讲义
第14页 mecca_zj@
GA的流程
数学建模工作室 2019/4/27
数学建模培训讲义
第15页 mecca_zj@
后累加值 sum = ∑f(xi)
3) 产生一个随机数 N,0〈 N 〈 sum
4) 选择对应中间累加值S - mid 的第一个染色体进入交换集 5) 重复(3)和(4),直到获得足够的染色体。
举例:
⒈具有6个染色体的二进制编码、适应度值、Pc累计 值。
数学建模工作室 2019/4/27
数学建模培训讲义
• 现在的各种各样的算法都是针对各自特定的适用 范围的,这也是正处在研究发展中的学科领域。
数学建模工作室 2019/4/27
数学建模培训讲义
第3页 mecca_zj@
罚函数法
罚函数法基本思想是通过构造罚函数把 约束问题转化为一系列无约束最优化问题, 进而用无约束最优化方法去求解.这类方法 称为序列无约束最小化方法.简称为SUMT 法.
这些约束,收敛快。
3 ) 有 些 方 法 , 如 Davison-Fletcher-Powell 直 接 依
赖于至少一阶导数; 共轭梯度法隐含地依赖于梯
度。 数学建模工作室 2019/4/27
数学建模培训讲义
第7页 mecca_zj@
全局优化方法
1)不依赖于初始条件; 2)不与求解空间有紧密关系,对解域,无可微或连
SUTM内点法(障碍函数法)
考虑问题:
ms.ti.n
f g
X iX
0
i 1,2,...,m
(1)
设集合D0 X | gi X 0,i 1,2,, m ,D0是可行域中
所有严格内点的集合。
构造障碍函数
m
I X , r:I X , r f X r lngi X
其一为SUMT外点法,其二为SUMT内点法.
数学建模工作室 2019/4/27
数学建模培训讲义
第4页 mecca_zj@
SUTM外点法
对一般的非线性规划: min f X
s.t.hgji
X X
0 0
i 1,2,..., m; j 1,2,..., l.
• that has the following fields:
•
fitnessfcn: <Fitness Function>
•
nvars: <Number of design variables>
•
options: <Options structure created with GAOPTIMSET>
简单遗传算法(GA)的基本参数
①种群规模 P: 参与进化的染色体总数. ②代沟G: 二代之间不相同的染色体数目,无重叠G = 1;
有重叠 0 < G <1 ③选择方法: 转轮法,精英选择法,竞争法. ④交换率: Pc 一般为60~100%. ⑤变异率: Pm 一般为0.1~10%
举例:
变异概率取0.001
•
randnstate: <State of the function RANDN used before GA started>
bn 是 相 应 于q的 第n位 的 二 进 制 的 值 ,
步骤2)选择种群数P 和初始个体,计算适应度值, P = 20;
数学建模工作室 2019/4/27
数学建模培训讲义
第19页 mecca_zj@
遗传算法工具箱
数学建模工作室 2019/4/27
数学建模培训讲义
第20页 mecca_zj@
第6页 mecca_zj@
遗传算法
关于优化问题
传统的优化方法(局部优化) 共轭梯度法、拟牛顿法、单纯形方法
全局优化方法 漫步法(Ranห้องสมุดไป่ตู้om Walk)、模拟退火法、GA
比较:传统的优化方法
1)依赖于初始条件。
2)与求解空间有紧密关系,促使较快地收敛到局部
解,但同时对解域有约束,如可微或连续。利用
NAVRS, • and returns a scalar evaluated at X. • • X = GA(FITNESSFCN,NAVRS,OPTIONS) finds the minimum for • FITNESSFCN with the default optimization parameters replaced by
(1)
其中 X x1, x2,, xn T En,f , gi , hj 是定义在 En 上的实值函
数,简记: f : En E1, gi : En E1, h j : En E1
其它情况: 求目标函数的最大值或约束条件为小于等于零 的情况,都可通过取其相反数化为上述一般形式.
GA
• [X,FVAL,REASON,OUTPUT] = GA(FITNESSFCN, ...) returns a
• structure OUTPUT with the following information:
•
randstate: <State of the function RAND used before GA started>
步骤1)编码:确定二进制的位数;组成个体(染色体)
二进制位数取决于运算精度
qmax qmin 2n 1
,q
qmax qmin 2n 1
N 1
2n
n0
bn
qmin
q 是x 或 y, qmax和qmin 是q的最大值和最小值。qmax和qmin分别为8和0。
27 57
37
第13页 mecca_zj@
●交换操作
复制不能创新,交换解决染色体的创新
方法:随机选择二个染色体(双亲染色体),随机指定一点或多 点, 进行交换,可得二个新的染色体(子辈染色体).
新的子辈染色体: A’ B’
●变异
11010001 01011110
模拟生物在自然界环境变化,引起基因的突变.在染
values • in the structure OPTIONS. OPTIONS can be created with the
GAOPTIMSET • function.
数学建模工作室 2019/4/27
数学建模培训讲义
第21页 mecca_zj@
GA
• X = GA(PROBLEM) finds the minimum for PROBLEM. PROBLEM is a structure
通过不断计算各染色体的适应值,选择最好的染色体,获 得最优解。
遗传算法的基本运算
⑴ 选择运算 ⑵ 交换操作 ⑶ 变异
数学建模工作室 2019/4/27
数学建模培训讲义
第9页 mecca_zj@
●选择运算
——从旧的种群中选择适应度高的染色体,放入匹配集(缓冲 区),为以后染色体交换、变异,产生新的染色体作准备。
数学建模工作室 2019/4/27
数学建模培训讲义
第16页 mecca_zj@
初始种群和它的适应度值
染色体的交换操纵
数学建模工作室 2019/4/27
数学建模培训讲义
第17页 mecca_zj@
举例:
数学建模工作室 2019/4/27
数学建模培训讲义
第18页 mecca_zj@
主要函数
• GA Genetic algorithm solver. • X = GA(FITNESSFCN,NVARS) finds the minimum of
FITNESSFCN using • GA. NVARS is the dimension (number of design variables) of the • FITNESSFCN. FITNESSFCN accepts a vector X of size 1-by-
选择方法——适应度比例法(转轮法)
按各染色体适应度大小比例来决定其被选择数目的多少。
某染色体被选的概率:Pc
Pc f (xi )
f (xi )
xi 为种群中第i个染色体,
数学建模工作室 2019/4/27
数学建模培训讲义
第10页 mecca_zj@
具体步骤
1)计算各染色体适应度值 2)累计所有染色体适应度值,记录中间累加值S - mid 和最
第11页 mecca_zj@
染色体的 适应度和所占的比例
用转轮方法进行选择
数学建模工作室 2019/4/27
数学建模培训讲义
第12页 mecca_zj@
⒉10个染色体种群按比例的选择过程 染色体被选的概率
1 染色体编号 2 3 4 5 6 7 8 9 10
适应度 8 2 17 7 2 12 11 7 3 7
里的罚函数只对不满足约束条件的点实行惩罚:当X D 时,满
足各gi X 0,hi X 0 ,故罚项=0,不受惩罚.当X D 时,
必gi有X 0或hi X 0 的约束条件,故罚项>0,要受惩罚.
数学建模工作室 2019/4/27
数学建模培训讲义
第5页 mecca_zj@
数学建模工作室 2019/4/27
数学建模培训讲义
第2页 mecca_zj@
评注
• 非线性规划的求解一般要比线性规划的求解困难 的多,不像线性规划那样有适应于一般情况的单 纯形法。
• 我们知道线性规划的可行域一般是个凸集,其最 优解在可行域的边界上达到;而非线性规划问题 的可行域一般不是凸集,最优解也不一定在边界 上达到。
(1)
m
l
可设:TX , M f X M min0, gi X 2 M hj X 2 (2)
i1
j 1
将问题(1)转化为无约束问题: min TX , M
( 3)
X E n
其中T(X,M)称为罚函数,M称为罚因子,带M的项称为罚项,这
•
randstate: <Optional field to reset rand state>
•
randnstate: <Optional field to reset randn state>
•
• [X, FVAL] = GA(FITNESSFCN, ...) returns FVAL, the value of the
被选概率 0.1 0.02 0.2 0.0 0.0 0.1 0.1 0.0 0.0 0.09 2926493
适应度累计 8 10 27 34 36 48 59 66 69 76
被选的染色体个数
随机数
所选染色 体号码 数学建模工作室 2019/4/27
23 3
49 76 13 1 7 10 3 1
数学建模培训讲义
i 1
或
I (X , r)
f
(X ) r
m i 1
1
giX
m
其中称r lngi X
i 1
或
m
r
i 1
gi
1
X
为障碍项,r为障碍因子
这样问题(1)就转化为求一系列极 值问题:
min
X D0
I
X
,
rk
得
X (k rk)
数学建模工作室 2019/4/27
数学建模培训讲义
续的要求。求 解稳健,但收敛速度慢。能获得全 局最优。适合于求解空间不知的情况
数学建模工作室 2019/4/27
数学建模培训讲义
第8页 mecca_zj@
遗传算法基本原理
模拟自然界优胜劣汰的进化现象,把搜索空间映射为遗传 空间,把可能的解编码成一个向量——染色体,向量的每个 元素称为基因。
遗传算法简介
数学建模工作室 2019/4/27
数学建模培训讲义
第1页 mecca_zj@
非线性规划的基本概念
定义 如果目标函数或约束条件中至少有一个是非线性函数 时的最优化问题就叫做非线性规划问题.
一般形式:
min f X
s.t.hgij
X X
0 0
i 1,2,...,m; j 1,2,...,l.
fitness
• function FITNESSFCN at the solution X.
• [X,FVAL,REASON] = GA(FITNESSFCN, ...) returns the REASON for stopping.
数学建模工作室 2019/4/27
数学建模培训讲义
第22页 mecca_zj@
色体二进制编码中,1变成0;或0变成1.突变产生染色
体的多样性,避免进化中早期成熟,陷入局部极值点,
突数变学20建1的9模/4工/2概作7 室率很低. 数学建模培训讲义
第14页 mecca_zj@
GA的流程
数学建模工作室 2019/4/27
数学建模培训讲义
第15页 mecca_zj@
后累加值 sum = ∑f(xi)
3) 产生一个随机数 N,0〈 N 〈 sum
4) 选择对应中间累加值S - mid 的第一个染色体进入交换集 5) 重复(3)和(4),直到获得足够的染色体。
举例:
⒈具有6个染色体的二进制编码、适应度值、Pc累计 值。
数学建模工作室 2019/4/27
数学建模培训讲义
• 现在的各种各样的算法都是针对各自特定的适用 范围的,这也是正处在研究发展中的学科领域。
数学建模工作室 2019/4/27
数学建模培训讲义
第3页 mecca_zj@
罚函数法
罚函数法基本思想是通过构造罚函数把 约束问题转化为一系列无约束最优化问题, 进而用无约束最优化方法去求解.这类方法 称为序列无约束最小化方法.简称为SUMT 法.
这些约束,收敛快。
3 ) 有 些 方 法 , 如 Davison-Fletcher-Powell 直 接 依
赖于至少一阶导数; 共轭梯度法隐含地依赖于梯
度。 数学建模工作室 2019/4/27
数学建模培训讲义
第7页 mecca_zj@
全局优化方法
1)不依赖于初始条件; 2)不与求解空间有紧密关系,对解域,无可微或连
SUTM内点法(障碍函数法)
考虑问题:
ms.ti.n
f g
X iX
0
i 1,2,...,m
(1)
设集合D0 X | gi X 0,i 1,2,, m ,D0是可行域中
所有严格内点的集合。
构造障碍函数
m
I X , r:I X , r f X r lngi X
其一为SUMT外点法,其二为SUMT内点法.
数学建模工作室 2019/4/27
数学建模培训讲义
第4页 mecca_zj@
SUTM外点法
对一般的非线性规划: min f X
s.t.hgji
X X
0 0
i 1,2,..., m; j 1,2,..., l.
• that has the following fields:
•
fitnessfcn: <Fitness Function>
•
nvars: <Number of design variables>
•
options: <Options structure created with GAOPTIMSET>
简单遗传算法(GA)的基本参数
①种群规模 P: 参与进化的染色体总数. ②代沟G: 二代之间不相同的染色体数目,无重叠G = 1;
有重叠 0 < G <1 ③选择方法: 转轮法,精英选择法,竞争法. ④交换率: Pc 一般为60~100%. ⑤变异率: Pm 一般为0.1~10%
举例:
变异概率取0.001
•
randnstate: <State of the function RANDN used before GA started>
bn 是 相 应 于q的 第n位 的 二 进 制 的 值 ,
步骤2)选择种群数P 和初始个体,计算适应度值, P = 20;
数学建模工作室 2019/4/27
数学建模培训讲义
第19页 mecca_zj@
遗传算法工具箱
数学建模工作室 2019/4/27
数学建模培训讲义
第20页 mecca_zj@
第6页 mecca_zj@
遗传算法
关于优化问题
传统的优化方法(局部优化) 共轭梯度法、拟牛顿法、单纯形方法
全局优化方法 漫步法(Ranห้องสมุดไป่ตู้om Walk)、模拟退火法、GA
比较:传统的优化方法
1)依赖于初始条件。
2)与求解空间有紧密关系,促使较快地收敛到局部
解,但同时对解域有约束,如可微或连续。利用
NAVRS, • and returns a scalar evaluated at X. • • X = GA(FITNESSFCN,NAVRS,OPTIONS) finds the minimum for • FITNESSFCN with the default optimization parameters replaced by
(1)
其中 X x1, x2,, xn T En,f , gi , hj 是定义在 En 上的实值函
数,简记: f : En E1, gi : En E1, h j : En E1
其它情况: 求目标函数的最大值或约束条件为小于等于零 的情况,都可通过取其相反数化为上述一般形式.
GA
• [X,FVAL,REASON,OUTPUT] = GA(FITNESSFCN, ...) returns a
• structure OUTPUT with the following information:
•
randstate: <State of the function RAND used before GA started>
步骤1)编码:确定二进制的位数;组成个体(染色体)
二进制位数取决于运算精度
qmax qmin 2n 1
,q
qmax qmin 2n 1
N 1
2n
n0
bn
qmin
q 是x 或 y, qmax和qmin 是q的最大值和最小值。qmax和qmin分别为8和0。
27 57
37
第13页 mecca_zj@
●交换操作
复制不能创新,交换解决染色体的创新
方法:随机选择二个染色体(双亲染色体),随机指定一点或多 点, 进行交换,可得二个新的染色体(子辈染色体).
新的子辈染色体: A’ B’
●变异
11010001 01011110
模拟生物在自然界环境变化,引起基因的突变.在染
values • in the structure OPTIONS. OPTIONS can be created with the
GAOPTIMSET • function.
数学建模工作室 2019/4/27
数学建模培训讲义
第21页 mecca_zj@
GA
• X = GA(PROBLEM) finds the minimum for PROBLEM. PROBLEM is a structure
通过不断计算各染色体的适应值,选择最好的染色体,获 得最优解。
遗传算法的基本运算
⑴ 选择运算 ⑵ 交换操作 ⑶ 变异
数学建模工作室 2019/4/27
数学建模培训讲义
第9页 mecca_zj@
●选择运算
——从旧的种群中选择适应度高的染色体,放入匹配集(缓冲 区),为以后染色体交换、变异,产生新的染色体作准备。
数学建模工作室 2019/4/27
数学建模培训讲义
第16页 mecca_zj@
初始种群和它的适应度值
染色体的交换操纵
数学建模工作室 2019/4/27
数学建模培训讲义
第17页 mecca_zj@
举例:
数学建模工作室 2019/4/27
数学建模培训讲义
第18页 mecca_zj@
主要函数
• GA Genetic algorithm solver. • X = GA(FITNESSFCN,NVARS) finds the minimum of
FITNESSFCN using • GA. NVARS is the dimension (number of design variables) of the • FITNESSFCN. FITNESSFCN accepts a vector X of size 1-by-
选择方法——适应度比例法(转轮法)
按各染色体适应度大小比例来决定其被选择数目的多少。
某染色体被选的概率:Pc
Pc f (xi )
f (xi )
xi 为种群中第i个染色体,
数学建模工作室 2019/4/27
数学建模培训讲义
第10页 mecca_zj@
具体步骤
1)计算各染色体适应度值 2)累计所有染色体适应度值,记录中间累加值S - mid 和最
第11页 mecca_zj@
染色体的 适应度和所占的比例
用转轮方法进行选择
数学建模工作室 2019/4/27
数学建模培训讲义
第12页 mecca_zj@
⒉10个染色体种群按比例的选择过程 染色体被选的概率
1 染色体编号 2 3 4 5 6 7 8 9 10
适应度 8 2 17 7 2 12 11 7 3 7
里的罚函数只对不满足约束条件的点实行惩罚:当X D 时,满
足各gi X 0,hi X 0 ,故罚项=0,不受惩罚.当X D 时,
必gi有X 0或hi X 0 的约束条件,故罚项>0,要受惩罚.
数学建模工作室 2019/4/27
数学建模培训讲义
第5页 mecca_zj@
数学建模工作室 2019/4/27
数学建模培训讲义
第2页 mecca_zj@
评注
• 非线性规划的求解一般要比线性规划的求解困难 的多,不像线性规划那样有适应于一般情况的单 纯形法。
• 我们知道线性规划的可行域一般是个凸集,其最 优解在可行域的边界上达到;而非线性规划问题 的可行域一般不是凸集,最优解也不一定在边界 上达到。
(1)
m
l
可设:TX , M f X M min0, gi X 2 M hj X 2 (2)
i1
j 1
将问题(1)转化为无约束问题: min TX , M
( 3)
X E n
其中T(X,M)称为罚函数,M称为罚因子,带M的项称为罚项,这