当前位置: 首页 > news >正文

专业的团队网站建设电商网站公司

专业的团队网站建设,电商网站公司,网站开发(定制)合同 模板,北斗手表官方网站前言 为了省略艰深难懂的遗传算法数学理论和降低程序开发的难度,MATLAB软件已经将遗传算法命令进行了封装,做成专门的遗传算法工具箱(GA Toolbox),方 便用户调用 1.ga函数 ga函数是对目标函数进行遗传计算,其格式如下: [x, fval, exitflag, output, …

前言

为了省略艰深难懂的遗传算法数学理论和降低程序开发的难度,MATLAB软件已经将遗传算法命令进行了封装,做成专门的遗传算法工具箱(GA Toolbox),方 便用户调用

1.ga函数

ga函数是对目标函数进行遗传计算,其格式如下:

[x, fval, exitflag, output, population, scores] = ga(fitnessfen, nvars, ...options)

其中,fitnessfun为适应度句柄函数; nvars 为目标函数自变量的个数; options 为算法的属性设置,该属性是通过函数gaoptimset赋予的;x为经过遗传进化以后自变量最佳染色体返回值;fval为最佳染色体的适应度;exitflag为算法停止的原因;output为输出的算法结构;population为最终得到种群适应度的列向量;scores为最终得到的种群。

例1 已知不等式
在这里插入图片描述
使用ga函数求x1,x2的值。

clear all;
clc;
A=[1 1;-1 2;2 1];
b =[2;2; 3];
lb = zeros(2,1);
[x,fval,exitflag] = ga(@lincontest6,2,A, b,[],[],lb)

在这里插入图片描述

2.gaoptimset函数

gaoptimset函数是设置遗传算法的参数和句柄函数,如表介绍常用的11种属性。

属性名 默认值实现功能
PopInitRange [0;1]初始种群生成空间
PopulationSize 20种群规模
CrossoverFraction 0.8交配概率
MigrationFraction 0.2变异概率
Generations 100超过进化代数时算法停止
TimeLimit Inf超过运算时间限制时算法停止
FitnessLimit Inf最佳个体等于或小于适应度阈值时算法停止
StallGenLimit 50超过连续代数不进化则算法停止
StallTimeLimit 20超过连续时间不进化则算法停止
InitialPopulation [ ]初始化种群
PlotFens [ ]绘图函数

其使用格式如下:

options = gaoptimset('param1',value1, 'param2', value2, ...)

由于遗传算法本质上是一种启发式的随机运算,算法程序经常重复运行多次才能得到理想结果。鉴于此,可以将前一次运行得到的最后种群作为下一次运行的初始种群,如此操作会得到更好的结果:

[x, fval, reason, output, final_pop] = ga(@fitnessfcn, nvars);

最后一个输出变量final_pop返回的就是本次运行得到的最后种群。再将final_pop作为ga函数的初始种群,语法格式如下:

options = gaoptimset( 'InitialPopulation', finnal_ pop) ;
[x, fval, reason, output, finnal_pop2] = ga(@fitnessfcn, nvars, options) ;

遗传算法和直接搜索工具箱中的ga函数是求解目标函数的最小值,所以求目标函数最小值的问题,可直接令目标函数为适应度函数。编写适应度函数,语法格式如下:

function f = fitnessfen(x)	%x为自变量向量
f=f(x);

如果有约束条件(包括自变量的取值范围),对于求解函数的最小值问题,可以使用如下语法格式:

function f= fitnessfcn(x)
if( x<= -1|x>3)
%表示有约束x>-1和x<-3,其他约束条件类推f= inf;
elsef= f(x); 	
end

如果有约束条件(包括自变量的取值范围),对于求解函数的最大值问题,可以使用如下语法格式:

function f= fitnessfcn(x)
if(x<=-1|x>3)f= inf;
elsef= -f(x);
%这里 f=-f(x),而不是f=f(x)
end

若目标函数作为适应度函数,则最终得到的目标函数值为 -fval 而不是fval。

3.gaoptimget函数

该函数用于得到遗传算法参数结构中的参数具体值。其调用格式如下:

val = gaoptimget( options, 'name' )

其中,options为结构体变量;name为需要得到的参数名称,返回值为val。

例2 利用遗传算法求解函数

f(x,y) = (cos(x2 +y2)-0.1)/(1+0.3(x2+y2)2)+3的最大值。

解:首先创建遗传算法 的适应度函数。

function y= ga43(x)y= (cos(x(1)^2 + x(2)^3)-0.1)/(1+0.3* (x(1)^2+ x(2)^2)^2) + 3;
end

然后利用遗传算法寻找函数最大值,在MATLAB命令行窗口输人代码如下:

[x, fval, exitflag, output, population, scores] = ga(@ga43,2)

结果:
在这里插入图片描述

http://www.hrbkazy.com/news/56202.html

相关文章:

  • 怎么做公众号网站注册平台
  • 一个网站做三个关键词免费十大软件大全下载安装
  • 中国最大的建材网站项目营销推广方案
  • 装修网站建设公司东莞企业网站模板建站
  • 知名高端网站建设公司百度官方客服电话
  • 时时彩网站建设公司全媒体广告代理
  • 主色调为绿色的网站网络推广策划书
  • 哪里可以下企业网站模板百度集团官网
  • 重庆专业网站推广费用百度推广优化排名怎么收费
  • 乡镇网站建设手机怎么建自己的网站
  • 做网站有什么用网络科技公司经营范围
  • 网站备份文件seo培训学校
  • 在线搜索资源厦门seo蜘蛛屯
  • 创建全国文明城市的宗旨是广州seo顾问seocnm
  • 有个专门做gif的网站中国互联网协会
  • 网站建设平台加盟网站制作的基本流程
  • 网站开发最好的语言电商网站定制开发
  • 济南 域名注册 网站建设领硕网站seo优化
  • 闵行区个人网页设计用户体验广东seo网站推广代运营
  • 网站做关键词排行一个月多少钱百度手机助手app
  • 有哪些做婚礼电子请柬的网站网络推广公司怎么找客户
  • 网站引导动画怎么做的什么叫做优化
  • 做装修公司的网站营业推广经典案例
  • 自己怎么做商城网站吗百度收录入口提交
  • 抖音代运营陪跑优化大师 win10下载
  • 苏州城乡建设网站百度推广查询
  • 手机钓鱼网站制作帮人推广的平台
  • 优秀的电商设计网站站长工具永久
  • 杭州做营销型网站关键词seo教程
  • 做网站的工作记录信息流广告投放公司