遺傳算法源程序
- 文件介紹:
- 該文件為 doc 格式,下載需要 10 積分
- 遺傳算法程序:
說明: fga.m 為遺傳算法的主程序; 采用二進制Gray編碼,采用基于輪盤賭法的非線性排名選擇, 均勻交叉,變異操作,而且還引入了倒位操作!
function [BestPop,Trace]=fga(FUN,LB,UB,eranum,popsize,pCross,pMutation,pInversion,options)
% [BestPop,Trace]=fmaxga(FUN,LB,UB,eranum,popsize,pcross,pmutation)
% Finds a maximum of a function of several variables.
% fmaxga solves problems of the form:
% max F(X) subject to: LB <= X <= UB
% BestPop - 最優的群體即為最優的染色體群
% Trace - 最佳染色體所對應的目標函數值
% FUN - 目標函數
% LB - 自變量下限
% UB - 自變量上限
% eranum - 種群的代數,取100--1000(默認200)
% popsize - 每一代種群的規模;此可取50--200(默認100)
% pcross - 交叉概率,一般取0.5--0.85之間較好(默認0.8)
% pmutation - 初始變異概率,一般取0.05-0.2之間較好(默認0.1)
% pInversion - 倒位概率,一般取0.05-0.3之間較好(默認0.2)
% options - 1*2矩陣,options(1)=0二進制編碼(默認0),option(1)~=0十進制編
%碼,option(2)設定求解精度(默認1e-4)...