2 回答

TA貢獻1862條經驗 獲得超7個贊
options可以不寫有默認設置。
options是一個結構體要用函數gaoptimset()設置。
options=gaoptimset()然后把options填到ga()里面。
gaoptimset('屬性名1',數值1,'屬性名2',數值2......)。
遺傳算法(Genetic Algorithm)是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優解的方法。遺傳算法是從代表問題可能潛在的解集的一個種群(population)開始的,而一個種群則由經過基因(gene)編碼的一定數目的個體(individual)組成。
每個個體實際上是染色體(chromosome)帶有特征的實體。染色體作為遺傳物質的主要載體,即多個基因的集合,其內部表現(即基因型)是某種基因組合,它決定了個體的形狀的外部表現,如黑頭發的特征是由染色體中控制這一特征的某種基因組合決定的。因此,在一開始需要實現從表現型到基因型的映射即編碼工作。
由于仿照基因編碼的工作很復雜,我們往往進行簡化,如二進制編碼,初代種群產生之后,按照適者生存和優勝劣汰的原理,逐代(generation)演化產生出越來越好的近似解,在每一代,根據問題域中個體的適應度(fitness)大小選擇(selection)個體,并借助于自然遺傳學的遺傳算子(genetic operators)進行組合交叉(crossover)和變異(mutation),產生出代表新的解集的種群。
這個過程將導致種群像自然進化一樣的后生代種群比前代更加適應于環境,末代種群中的最優個體經過解碼(decoding),可以作為問題近似最優解。

TA貢獻1886條經驗 獲得超2個贊
options 可以不寫 有默認設置
options是一個結構體 要用函數gaoptimset()設置
options=gaoptimset() 然后把options填到ga()里面
gaoptimset('屬性名1',數值1,'屬性名2',數值2......)
添加回答
舉報