1樓:匿名使用者
遺傳演算法(genetic algorithm)是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜尋最優解的方法,它最初由美國michigan大學j.holland教授於2023年首先提出來的,並出版了頗有影響的專著《adaptation in natural and artificial systems》,ga這個名稱才逐漸為人所知,j.holland教授所提出的ga通常為簡單遺傳演算法(sga)。
遺傳演算法(genetic algorithm)是一類借鑑生物界的進化規律(適者生存,優勝劣汰遺傳機制)演化而來的隨機化搜尋方法。它是由美國的j.holland教授2023年首先提出,其主要特點是直接對結構物件進行操作,不存在求導和函式連續性的限定;具有內在的隱並行性和更好的全域性尋優能力;採用概率化的尋優方法,能自動獲取和指導優化的搜尋空間,自適應地調整搜尋方向,不需要確定的規則。
遺傳演算法的這些性質,已被人們廣泛地應用於組合優化、機器學習、訊號處理、自適應控制和人工生命等領域。它是現代有關智慧計算中的關鍵技術。 對於一個求函式最大值的優化問題(求函式最小值也類同),一般可以描述為下列數學規劃模型:
遺傳演算法 式中為決策變數,為目標函式式,式2-2、2-3為約束條件,u是基本空間,r是u的子集。滿足約束條件的解x稱為可行解,集合r表示所有滿足約束條件的解所組成的集合,稱為可行解集合。 遺傳演算法的基本運算過程如下:
a)初始化:設定進化代數計數器t=0,設定最大進化代數t,隨機生成m個個體作為初始群體p(0)。 b)個體評價:
計算群體p(t)中各個個體的適應度。 c)選擇運算:將選擇運算元作用於群體。
選擇的目的是把優化的個體直接遺傳到下一代或通過配對交叉產生新的個體再遺傳到下一代。選擇操作是建立在群體中個體的適應度評估基礎上的。 d)交叉運算;將交叉運算元作用於群體。
所謂交叉是指把兩個父代個體的部分結構加以替換重組而生成新個體的操作。遺傳演算法中起核心作用的就是交叉運算元。 e)變異運算:
將變異運算元作用於群體。即是對群體中的個體串的某些基因座上的基因值作變動。 群體p(t)經過選擇、交叉、變異運算之後得到下一代群體p(t 1)。
f)終止條件判斷:若tt,則以進化過程中所得到的具有最大適應度個體作為最優解輸出,終止計算。
2樓:幸福有愛
你可以設定迭代代數,最好你把程式給我發一份,還有就是遺傳工具箱需要自己編寫的,你呼叫上面的不可能進行規劃的。[email protected]
用matlab遺傳演算法解決函式優化問題 5
3樓:論域優
matlab 中的fimincon函式優化
如何用matlab求解0 1規劃問題
3 0 1型整數規劃 0 1型整數規劃是整數規劃中的特殊情形,它的變數j x 僅取值0 或1。這時j x 稱 為0 1變數,或稱二進位制變數。j x 僅取值0 或1 這個條件可由下述約束條件 0 1 j x 整數所代替,是和一般整數規劃的約束條件形式一致的。在實際問題中,如果引入0 1變 量,就可以...
用QR方法解決特徵值問題寫出matlab程序原始碼
前面的函式是求特徵值的函式,後面的是呼叫的例子和驗證function l rqrtz a,m qr演算法求矩陣全部特徵值 已知矩陣 a 迭代步數 m 求得的矩陣特徵值 l a hess a for i 1 m n size a n n 1,1 u a n,n q,r qr a u eye n,n a...
matlabgui問題,Matlab 圖形使用者介面 GUI 的問題
新一個 gui 啊 以新建的gui為parent建立一個edit顯示 用uersdata傳遞資料 您好,你可以試試以下的 function pushbutton1 callback hobject,eventdata,handles hobject handle to pushbutton1 see...