關於MATLAB遺傳演算法工具箱不等式約束

2021-09-30 17:11:43 字數 664 閱讀 8424

過去很久了,之前寫**的經驗分享一下。

寫畢業**的時候需要用到遺傳演算法,網上查了很多資料,由於沒時間認真去學演算法的內部結構,最後還是選擇了matlab自帶的遺傳演算法工具箱(matlab2017-ga),看著前輩們寫的教程很快熟悉了那個操作介面,功能很強大,我先嘗試輸了簡單的函式,很快就把準確的結果求了出來,但是當我把我想要求的自定義函式輸好,然後再求解的時候簡直快要崩潰,由於自定義函式的每個自變數的係數都是變數,所以每乙個個體都需要進行大量計算,再加上覆雜的線性非線性約束,每次都是等二十分鐘之後算出來乙個錯誤的結果。

這是我遇到的問題,網上查了很久,也沒找到解決方式,大概有三四個禮拜都在被這個問題困擾,結果算不出來,**根本沒法進行下去,嘗試了各種方法,甚至把每乙個m檔案點開嘗試去看程式的整個計算過程,然而並沒有什麼卵用,記得好像還有幾天就快過年了,那天晚上靈光閃現,我不可能去更改人家已經設計好的m檔案,那為什麼不把不等式約束加到自定義函式裡呢?對於超過不等式約束範圍的解在往自定義函式中帶的時候,給自定義函式加入一定的懲罰函式,使它在遺傳過程中被淘汰掉。

------------------------------自定義函式----------------------------------

function q=myminf(x)

%。。。此處略去一萬行

%g1、g2、g3、g4、g5自定義的不等式約束條件

MATLAB遺傳演算法之 工具箱實現

標準演算法 遺傳演算法 每次選代產生乙個單點,點的序列逼近乙個優化解 每次迭代產生乙個種群,種群通近乙個優化解 通過確定性的計算在該序列中選擇下乙個點 通過隨機進化選擇計算來選擇下一代種群 遺傳演算法工具有兩種使用方式 以命令列方式呼叫遺傳演算法函式ga。通過使用者圖形介面使用遺傳演算法工具。在命令...

MATLAB 自帶遺傳工具箱之遺傳演算法簡述

matlab 自帶優化工具箱 optimization tool 之遺傳演算法簡述 在命令視窗內一鍵啟動工具箱 對視窗頁面進行解釋 solver 求解器 選擇選擇需要的演算法problem 需要解決的問題 fitness function 需要優化的目標函式,填寫格式 f f為編寫目標函式的檔名 n...

MATLAB 遺傳演算法工具箱的入門使用

最開始是自己編寫的遺傳演算法程式來進行辨識,但是得到的結果有些瑕疵,所以嘗試使用matlab工具箱來做一次。下面是入門使用的方法 matlab版本是201b 在solver後面的下拉框中,選擇遺傳演算法 ga genetic algorithm,下邊分別就遺傳演算法的幾個步驟進行說明。2.fitne...