❶ 為什麼我應用matlab自帶的遺傳演算法工具箱求函數最小值,,每次運行結果都不一樣
一樣才怪!遺傳演算法是一種帶有隨機性的搜索型的求解全局最優解的方法。隨機性就是在優化過程中變數的取值是隨機變化的,但是這種變化是朝向全局最優的方向隨機變化。但是當種群數量足夠大,而且進化代數足夠多的時候,最優解是具有穩定性的,雖然每次都不一樣,但是最優解的變化一般不會很大。
myfun沒有給出,這個是ga函數求解的部分設置,通過改變populationsize和generations可以達到獲得穩定最優解的目的。變異概率和雜交概率也有一定的影響,在局部收斂的情況下可以增大變異概率等來避免局部最優。
❷ 請教一下,用遺傳演算法工具箱怎麼求下面函數的最小值
題主給出函數用遺傳演算法工具箱求其最小值,可以這樣來做:
1、自定義函數,並保存為leijia.m文件。
2、在當前目錄下,執行 optimtool,打開最優化工具箱,再選擇遺傳演算法工具箱
3、按表中格式,輸入相關內容,最後執行可以得到