簡單的遺傳算法可以使用Matlab自帶的遺傳算法工具箱,但是要從Matlab2010版本之后才會(huì)自帶這個(gè)工具箱,且調(diào)用命令也有變化,分別是gatool和optimtool。GUI界面如下圖所示: 這里直接按從上到下,從左到右的順序?qū)atlab自帶的遺傳算法工具箱的GUI界面進(jìn)行介紹和使用注意事項(xiàng)的一些說明(宅主使用的是Matlab2013a,調(diào)用命令是optimtool):1、problem setup and results設(shè)置與結(jié)果 (1)Solver:求解程序,選擇要用的求解程序(遺傳算法,遺傳算法多目標(biāo)等) 1)fitness function適應(yīng)度函數(shù),求最小,這里的使用度函數(shù)要自己編寫,書寫格式是“@函數(shù)名”。 2)number of variable變量數(shù),必須是整數(shù),即,使用這個(gè)GUI界面的適應(yīng)度函數(shù)的變量必須是[1*n]的向量,而不能是[m*n]的矩陣。 4)linear inequalities線性不等式,A*x<=b形式,其中A是矩陣,b是向量 5)linear equalities線性等式,A*x=b形式,其中A是矩陣,b是向量 6)bounds定義域,lower下限,upper上限,列向量形式,每一個(gè)位置對(duì)應(yīng)一個(gè)變量 7)nonlinear constraint function非線性約束,用戶定義,非線性等式必須寫成c=0形式,不等式必須寫成c<=0形式 8)integer variable indices整型變量標(biāo)記約束,使用該項(xiàng)時(shí)Aeq和beq必須為空,所有非線性約束函數(shù)必須返回一個(gè)空值,種群類型必須是實(shí)數(shù)編碼 舉例,若是想讓第一個(gè)、第三個(gè)、第五個(gè)變量保持是整數(shù)的話,則直接在此處填寫[1 3 5] 9)run solver and view results求解 use random states from previous run使用前次的狀態(tài)運(yùn)行,完全重復(fù)前次運(yùn)行的過程和結(jié)果 1)double vector實(shí)數(shù)編碼,采用雙精度。整數(shù)規(guī)劃的種群類型必須是實(shí)數(shù)編碼。 2)bitstring二進(jìn)制編碼。對(duì)于生成函數(shù)和變異函數(shù),只能選用uniform和custom,對(duì)于雜交函數(shù),只能使用 scattered singlepoint,twopoint或custom不能使用 hybrid function和nonlinear constraint function (3)creation function:生成函數(shù),產(chǎn)生初始種群 1)constraint dependent:約束相關(guān)。無約束時(shí)為uniform,有約束時(shí)為feasible population 3)feasible population :自適應(yīng)種群,生成能夠滿足約束的種群 (4)initial population:初始種群,不指定則使用creation function生成,可以指定少于種群數(shù)量的種群,由creation function完成剩余的 (5)initial scores:初始值,如果不指定,則由計(jì)算機(jī)計(jì)算適應(yīng)度函數(shù)作為初始值,對(duì)于整型約束不可用,使用向量表示 (6)initial range:初始范圍,使用向量矩陣表示,第一行表示范圍的下限,第二行表示上限 3、fitness scaling:適應(yīng)度尺度 rank:等級(jí)。將適應(yīng)度排序,然后編號(hào) top:按比例選取種群中最高適應(yīng)度的個(gè)體,這些個(gè)體有等比例的機(jī)會(huì)繁衍,其余的個(gè)體被淘汰 4、selection(selection function)依據(jù)適應(yīng)值選擇父代 stochastic uniform:隨機(jī)均勻分布 remainder: 殘余,取適應(yīng)值的整數(shù)部分進(jìn)行輪盤賭選擇 uniform:不是一個(gè)好方法,但是可以用來做測試 5、reproduction復(fù)制,決定如何產(chǎn)生子代 elite count:精英數(shù),直接傳到下一代的個(gè)體數(shù) 6、mutation(mutation function)突變 use constraint dependent 默認(rèn),與約束有關(guān),無約束時(shí)使用gaussian,有約束時(shí)使用adaptive feasible scattered:隨機(jī)生成遺傳二進(jìn)制向量,按0-1雜交 single point:單點(diǎn)雜交,生成一個(gè)數(shù)字,該數(shù)字代表的位置開始兩父代基因交換 intermediate:媒介,加權(quán)平均 direction方向:forward n-》n 1 ;both 雙向 fraction:指定遷移率,以較小數(shù)量種群為標(biāo)準(zhǔn) 9、constraint parameters約束參數(shù),對(duì)應(yīng)于非線性約束求解器 initial penalty: 初始罰函數(shù)大于等于1 penalty factor:處罰因子 大于等于1 10、hybrid function混合函數(shù),指定另外一個(gè)最小值函數(shù),在遺傳算法結(jié)束之后計(jì)算,在整數(shù)值限制的時(shí)候不可用。 11、stopping criteria停止標(biāo)準(zhǔn) stall generations遲滯代數(shù),經(jīng)過多代適應(yīng)值沒有明顯提升 stall time limit 遲滯時(shí)間限制,經(jīng)過限定時(shí)間適應(yīng)值沒有明顯提升 function tolerance 在遲滯代數(shù)內(nèi)適應(yīng)度函數(shù)值的改變量小于這個(gè)值,則停止 nonlinear constraint tolerance 非線性約束容忍值 12、plot function 繪圖函數(shù) score diversity每一代分?jǐn)?shù)的柱狀圖 scores每一代個(gè)體的分?jǐn)?shù) selection 描繪對(duì)每一代貢獻(xiàn)的父代 stopping停止標(biāo)準(zhǔn)的水平 max constraint非線性約束中超出范圍的最大值 13、output function輸出函數(shù) 14、display to command window diagnose診斷,每一次迭代都輸出,并且診斷問題信息和選項(xiàng)中相對(duì)于默認(rèn)值的改變值 15、evaluate fitness and constraint functions評(píng)價(jià)適應(yīng)度和約束函數(shù) in serial 分別獨(dú)立評(píng)價(jià) vectorized用同一個(gè)函數(shù)調(diào)用
|