Re: [討論] ga(基因演算法)中如何限制變數為偶數

看板MATLAB作者 (阿凱)時間11年前 (2014/04/22 02:11), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《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://www.ptt.cc/bbs/MATLAB/M.1398103919.A.C41.html

04/22 07:56, , 1F
我可否先確定你的問題?
04/22 07:56, 1F

04/22 07:56, , 2F
"依舊沒達到只選偶數的變數以進行ga運算的目的" 為什麼這麼說?
04/22 07:56, 2F
文章代碼(AID): #1JLLzln1 (MATLAB)
文章代碼(AID): #1JLLzln1 (MATLAB)