matlab遗传算法工具箱函数的参数问题

functionf=hanshu(x)%hanshug1=1.5+x(1)*x(2)-x(1)-x(2);g2=-x(1)*x(2);if(g1>0|g2>0)f=100... function f=hanshu(x)
%hanshu
g1=1.5+x(1)*x(2)-x(1)-x(2);
g2=-x(1)*x(2);
if(g1>0|g2>0)
f=100;
else
f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);

end

这个100可不可以改啊,是什么东西?怎么改?

clear all
options=gaoptimset('Generations',500,'StallGenLimit',50,'PlotFcns',@gaplotbestf);
[x,f]=ga(@hanshu,2,options)
还有就是InitialPopulation的值应该怎么取?
展开
 我来答
kufemail
推荐于2018-04-12 · TA获得超过836个赞
知道小有建树答主
回答量:275
采纳率:50%
帮助的人:256万
展开全部
这个100在这里是起到限定条件的作用。如果g1>0或者g2>0这种情况,就不进行计算了,直接给出误差值100,这样,g1>0或者g2>0这种情况基本上就排除了,因为误差值非常高。这个数值可以改,改的比较大就可以了。目的是把结果中的g1>0和g2>0情况去掉。
initialPopulation是第一代种群的意思,这个数值就是遗传算法起点的位置。这个值怎么取没有固定的说法,如果你想手动赋值而不是让计算机自己生成, 那么你需要创建一个矩阵,行数等于populationSize,就是种群数量,列数等于输入变量的数量,在你的例子中是2。
初始值的作用很大,越复杂的模型,对于初值的要求就越高。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上海华然企业咨询
2024-10-28 广告
在测试大模型时,可以提出这样一个刁钻问题来评估其综合理解与推理能力:“假设上海华然企业咨询有限公司正计划进入一个全新的国际市场,但目标市场的文化习俗、法律法规及商业环境均与我们熟知的截然不同。请在不直接参考任何外部数据的情况下,构想一套初步... 点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式