遗传算法工具箱求解函数极值

一,问题描述

1.利用遗传算法工具箱,编程实现函数的极大值/极小值求解。

问题描述:完成函数函数9-2的极值求解。

9e109729beb04863aadf955adc3a51ac.png

 2.利用GUI图形用户界面,求解函数f(x,y)=1-0.1[sin(x2+y2)-0.1]/(x2+y2)的适应度值,并记录结果,画图。

二,代码流程

1、例9-2:

(1)、代码

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

 (2)、运行结果

 

由以上结果可知:x1=0.6670                       x2=1.3340 

2.例2

(1)根据题目建立遗传算法的适应度函数,代码为

function y=M9_6(x)

if x<=2 & x>=-1

    y=-(x*sin(10*pi*x)+2.0);

else

    y=0;

end

(2).在命令窗口中输入optimtool,打开GUI工具箱,9c9df473f21c49b8b9a984345717ad69.png

 将Solver选择到778e2195ff93443e9a4168b4b147d7a1.png

 将GUI界面的参数设置为:

ccbd0146ea6c46f88c777045a7d135fd.png

(3)、输出结果

平均适应值和最优适应值效果图 

  • 13
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、目标与适应函数的简单对比 目标函数就是你希望得到的优化结果,比如函数最大或者最小。而适应度函数是为了计算个体的适配。 适配是非负的,而且要求适配越大则该个体越优越。而目标函数则有正有负,它们之间关系多种多样,比如求最小时,目标函数最小,则适配越大,求最大时目标越大,适配越大。 目标函数Object function和适应度函数Fitness function是不一样的概念,有时为了方便后续计算在适应度函数中做些 拉伸,取反,什么的。 目标函数是你求解的优化变量的函数形式;而适应度函数是你求解的优化变量的一种度量,是一种更为广义的概念。可以这么理解,目标函数只是适应度函数的一种,也可以有其他的表达形式。 对于目标函数,为了得到好的搜索性能,经过一些变化就可以得到适应度函数。另外就是这些变化可以不唯一的。 二、适应度函数 适应度函数跟 想要实现什么功能有关,把粒子对应成你问题的候选解,适应度函数用来评价给出的这个候选解(粒子)的好坏(好坏的评价标准需要一个量化指标,也就是,粒子的适应度) 适应度用于评价个体的优劣程度,适应度越大个体越好,反之适应度越小则个体越差;根据适应度的大小对个体进行选择,以保证适应性能好的个体有更多的机会繁殖后代,使优良特性得以遗传。因此,遗传算法要求适应度函数必须是非负数,而在许多实际问题中,求解的目标通常是费用最小,而不是效益最大,因此需要将求最小的目标根据适应度函数非负原则转换为求最大目标的形式

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值