作者maplekai (阿凯)
标题Re: [讨论] ga(基因演算法)中如何限制变数为偶数
时间Tue Apr 22 02:11:56 2014
※ 引述《gn01189425 (GN boy)》之铭言:
: 标题: [讨论] ga(基因演算法)中如何限制变数为偶数
: 时间: Thu Jun 20 03:16:02 2013
:
: 大家好,我目前想将变数限制为偶数,目前的程式码如下
:
: function [c, ceq] = simple_constraint(x)
: a=mod(x,2)
: c = [a]
: ceq = [];
: end
:
:
: x0=[16]; % 初始值
: lb=x0; % 下限
: ub=x0+24; % 上限
: options = gaoptimset('PlotFcns', {@gaplotbestf,@gaplotstopping},...
: 'PopulationSize',10,'Generations',10); %控制选项
: Constraint=@simple_constraint;
: [x,fval,exitflag]=ga(@myFun,1,[],[],[],[],lb,ub,Constraint,[1],options)
:
: ga会将变数代入myfun并传回目标值
:
: 但是ga仍然会找不是偶数的x代入myfun,有没有其他方法可以限制变数只选偶数呢?
: 谢谢
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 111.251.170.50
: → H45:做一个myfun2,这函数先把x改成偶数再呼叫myfun 06/20 09:03
: → gn01189425:谢谢,这样的确可行! 06/20 14:33
不好意思由於小弟是matlab新手
因此想请问一下各位大大
若依照回覆的方式撰写
应该只是使ga随机挑选的数值经由myfun2变成偶数并丢进myfun中进行运算
但这麽做依旧没达到只选偶数的变数以进行ga运算的目的?
或是小弟有弄错的地方呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.160.232.111
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/MATLAB/M.1398103919.A.C41.html
1F:推 H45:我可否先确定你的问题? 04/22 07:56
2F:→ H45:"依旧没达到只选偶数的变数以进行ga运算的目的" 为什麽这麽说? 04/22 07:56