数学建模 MATLAB MATLAB全局优化算法

一、MATLAB全局优化概况

MATLAB中有个全局优化工具箱,该工具箱集成了几个主流的全局优化算法,包含全局搜索、多初始点、模式搜索、遗传算法、多目标遗传算法、模拟退火求解器和粒子群求解器, 如图所示。对于目标函数或约束函数连续、不连续、随机、导数不存在以及包含仿真或黑箱函数的优化问题,都可使用这些求解器来求解。
另外,还可通过设置选项和自定义创建、更新函数来改进求解器效率。可以使用自定义数据类型,配合遗传算法和模拟退火求解器,来描绘采用标准数据类型不容易表达的问题。利用混合函数选项,可在第一个求解器之后应用第二个求解器来改进解算。
在这里插入图片描述

二、遗传算法

1.基本过程

在这里插入图片描述

2.遗传算法步骤

(1)初始参数

在这里插入图片描述

(2)染色体编码

由种群个体的表现型集合所组成的空间称为问题空间,由种群基因型个体所组成的空间称为编码空间。由问题空间向编码空间的映射称作编码,而由编码空间向问题空间的映射称为解码。常用的编码方式有:二进制编码和浮点数(实数)编码。

(3)适应度函数

适应度函数是用来衡量个体优劣,度量个体适应度的函数。适应度函数值越大的个体越好,反之,适应值越小的个体越差。在遗传算法中根据适应值对个体进行选择,以保证适应性能好的个体有更多的机会繁殖后代,使优良特性得以遗传。

(4)约束条件的处理

在遗传算法中必须对约束条件进行处理,但目前尚无处理各种约束条件的一般方法。根据具体问题,可选择下列三种方法:罚函数法、搜索空间限定法、可行解变换法。

(5)遗传算子

在遗传算法中必须对约束条件进行处理,但目前尚无处理各种约束条件的一般方法。根据具体问题,可选择下列三种方法:罚函数法、搜索空间限定法、可行解变换法。
遗传算法中包含了3个模拟生物基因遗传操作的遗传算子:选择(复制)、交叉(重组)和变异(突变)。遗传算法利用遗传算子产生新一代群体来实现群体进化,算子的设计是遗传策略的主要组成部分,也是调整和控制进化过程的基本工具。

(6)搜索终止条件

遗传算法的终止条件有以下两个,满足任何一个条件,搜索就结束。
(1) 遗传操作中连续多次前后两代群体中最优个体的适应度相差在某个任意小的正数x所确定的范围内。
(2)达到遗传操作的最大进化代数t。

(7)、遗传算法的实例

例题1
在这里插入图片描述
解题步骤:
(1)用MATLAB编写一个命名为simple_fitness.m的函数。
在这里插入图片描述
(2)对于约束条件,同样可以创建一个命名为simple_constraint.m的函数来表示。
在这里插入图片描述
(3)直接调用ga函数来实现用遗传算法对以上优化问题的求解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值