當前位置:首頁 » 操作系統 » 遺傳演算法優化函數

遺傳演算法優化函數

發布時間: 2023-07-21 03:13:00

A. matlab上的遺傳演算法函數優化

用ga函數,ga函數就是遺傳演算法的函數,它的調用格式為:
x
=
ga(fitnessfcn,nvars,a,b,aeq,beq,lb,ub,nonlcon,options)
fitnessfcn就是待優化函數,nvars為變數個數,然後後面的lb是下界,ub是上界,你這個問題就需要這4個位置的參數,其他位置的參數用[]代替就行,由於ga函數默認是求待優化函數的最小值,所以要想求最大值需要把待優化函數取負,即編寫為
function
y=myfun(x)
y=-x.*sin(10*pi.*x)-2;
把這個函數存為myfun.m,然後在命令行里敲
x=ga(@myfun,1,[],[],[],[],[1],[2])
會返回
optimization
terminated:
average
change
in
the
fitness
value
less
than
options.tolfun.
x
=
1.8506
由於遺傳演算法的原理其實是在取值范圍內隨機選擇初值然後進行遺傳,所以可能每次運行給出的值都不一樣,比如再運行一次會返回
optimization
terminated:
average
change
in
the
fitness
value
less
than
options.tolfun.
x
=
1.6507
這個具體原因需要參考遺傳演算法的有關資料

B. 基於Matlab的函數優化遺傳演算法程序

新建一個函數
_f.m
function
f=_f(x)
f=0.5-((sin(sqrt(x(1)^2+x(2)^2)))^2-0.5)/(1+0.001*(x(1)^2+x(2)^2)^2)
然後用fmins函數尋找極值。
x
=
fmins('_f',
[0
0],
[2
2]);
另外你的語句中有錯,少寫了一個括弧,你再自己檢查一下。

C. 如何用遺傳演算法優化模糊控制器中的控制規則和隸屬度函數

你說的應該是模糊控制的隸屬度函數吧
(1)模糊統計法: 模糊統計法的基本思想是對論域U上的一個確定元素vo是否屬於論域上的一個可變動的清晰集合A3作出清晰的判斷.對於不同的試驗者,清晰集合 A3可以有不同的邊界,但它們都對應於同一個模糊集A.模糊統計法的計算步驟是:在每次統計中, vo是固定的,A3的值是可變的,作 n次試驗,其模糊統計可按下式進行計算 v0對 A 的隸屬頻率 = v0∈A 的次數 / 試驗總次數 n 隨著 n的增大,隸屬頻率也會趨向穩定,這個穩定值就是 vo對A 的隸屬度值.這種方法較直觀地反映了模糊概念中的隸屬程度,但其計算量相當大. (2)例證法: 例證法的主要思想是從已知有限個μA的值,來估計論域 U 上的模糊子集 A 的隸屬函數.如論域 U代表全體人類,A 是「高個子的人」.顯然 A 是一個模糊子集.為了確定μA,先確定一個高度值 h,然後選定幾個語言真值(即一句話的真實程度)中的一個來回答某人是否算「高個子」.如語言真值可分為「真的」、「大致真的」、「似真似假」、「大致假的」和「假的」五種情況,並且分別用數字1、0.75、0.5、0.25、0來表示這些語言真值.對 n個不同高度h1、h2、…、hn都作同樣的詢問,即可以得到 A 的隸屬度函數的離散表示. (3)專家經驗法: 專家經驗法是根據專家的實際經驗給出模糊信息的處理算式或相應權系數值來確定隸屬函數的一種方法.在許多情況下,經常是初步確定粗略的隸屬函數,然後再通過「學習」和實踐檢驗逐步修改和完善,而實際效果正是檢驗和調整隸屬函數的依據. (4)二元對比排序法: 二元對比排序法是一種較實用的確定隸屬度函數的方法.它通過對多個事物之間的兩兩對比來確定某種特徵下的順序,由此來決定這些事物對該特徵的隸屬函數的大體形狀.二元對比排序法根據對比測度不同,可分為相對比較法、對比平均法、優先關系定序法和相似優先對比法等.
編輯本段舉例

D. 如何用遺傳演算法實現多變數的最優化問題

將多個變數的數值編碼編排進去,進行組合,只需要增長基因個體的長度,但是要明確每個變數具體的位置,然後讓每個變數轉化成二進制的等長編碼,組合在一起,就可以來運算了。
具體操作步驟如下:
1、首先要利用一個矩陣去跟蹤每組迭代的結果的大小:
2、然後,要構造一個解碼矩陣FieldD,由bs2rv函數將種群Chrom根據解碼矩陣換成時值向量,返回十進制的矩陣:
且FieldD矩陣的結構如下:
3、要先將目標函數顯示出來,看看基本的函數的形式:
4、設計遺傳演算法的參數估計:
5、經遺傳演算法之後,這個最優解的位置是:(圖中標記藍點的位置)

E. 神經網路遺傳演算法函數極值尋優

對於未知的非線性函數,僅通過函數的輸入輸出數據難以准確尋找函數極值。這類問題可以通過神經網路結合遺傳演算法求解,利用神經網路的非線性擬合能力和遺傳演算法的非線性尋優能力尋找函數極值。本文用神經網路遺傳演算法尋優如下非線性函數極值,函數表達式為

函數圖形如下圖1所示。

從函數方程和圖形可以看出,該函數的全局最小值為0,對應的坐標為(0,0)。雖然從函數方程和圖形中很容易找出函數極值及極值對應坐標,但是在函數方程未知的情況下函數極值及極值對應坐標就很難找到。

神經網路遺傳演算法函數極值尋優主要分為BP神經網路訓練擬合和遺傳演算法極值尋優兩步,演算法流程如下圖2所示。

神經網路訓練擬合根據尋優函數的特點構建合適的BP神經網路,用非線性函數的輸出數據訓練BP網路,訓練後的BP神經網路就可以預測函數輸出。遺傳演算法極值尋優把訓練後的BP神經網路預測結果作為個體適應度值,通過選擇、交叉和變異操作尋找函數的全局最優值及對應輸入值。
本文根據非線性函數有2個輸入參數、1個輸出參數,確定BP神經網路結構為2-5-1.取函數的4 000組輸入輸出數據,從中隨機選取3 900組數據訓練網路,100組數據測試網路性能,網路訓練好後用於預測非線性函數輸出。
遺傳演算法中個體採用實數編碼,由於尋優函數只有2個輸入參數,所以個體長度為2。個體適應度值為BP神經網路預測值,適應度值越小。交叉概率為0.4,變異概率為0.2。

用函數輸入輸出數據訓練BP神經網路,使訓練後的網路能夠擬合非線性函數輸出,保存訓練好的網路用語計算個體適應度值。根據非線性函數方程隨機得到該函數的4 000組輸入輸出數據,存儲於data.mat中,其中input為函數輸入數據,output為函數對應輸出數據,從中隨機抽取3 900組訓練數據訓練網路,100組測試數據測試網路擬合性能。最後保存訓練好的網路。

把訓練好的BP神經網路預測輸出作為個體適應度值。

BP神經網路擬合結果分析
本文中個體的適應度值為BP神經網路預測值,因此BP神經網路預測精度對於最優位置的尋找具有非常重要的意義。由於尋優非線性函數有2個輸入參數、1個輸出參數,所以構建的BP神經網路的結構為2-5-1。共取非線性函數4 000組輸入輸出數據,從中隨機選擇3 900組數據訓練BP神經網路,100組數據作為測試數據測試BP神經網路擬合性能,BP神經網路預測輸出和期望輸出對比如下圖3所示。

從BP神經網路預測結果可以看出,BP神經網路可以准確預測非線性函數輸出,可以把網路預測近似看成函數實際輸出。

遺傳演算法尋優結果分析 BP神經網路訓練結束後,可以利用遺傳演算法尋找該非線性函數的最小值。遺傳演算法的迭代次數是100次,種群規模是20,交叉概率為0.4,變異概率為0.2,採用浮點數編碼,個體長度為21,優化過程中最優個體適應度值變化曲線如下圖4所示。

本文所使用的方法有比較重要的工程應用價值,比如對於某項試驗來說,試驗目的是獲取到最大試驗結果對應的實驗條件,但是由於時間和經費限制,該試驗只能進行有限次,可能單靠試驗結果找不到最優的試驗條件。這時可以在已知試驗數據的基礎上,通過本文介紹的神經網路遺傳演算法尋找最優試驗條件。
思路就是先根據試驗條件數和試驗結果數確定BP神經網路結構;然後把試驗條件作為輸入數據,試驗結果作為輸出數據訓練BP網路,使得訓練後的網路可以預測一定試驗條件下的試驗結果;最後把試驗條件作為遺傳演算法中的種群個體,把網路預測的試驗結果作為個體適應度值,通過遺傳演算法推導最優試驗結果及其對應試驗條件。

熱點內容
安卓主板哪裡有賣 發布:2025-03-15 19:26:10 瀏覽:29
Q9源碼 發布:2025-03-15 19:24:21 瀏覽:175
芬蘭編程教育 發布:2025-03-15 18:59:46 瀏覽:426
網際網路的伺服器地址 發布:2025-03-15 18:53:01 瀏覽:892
手機實體店什麼配置好 發布:2025-03-15 18:32:35 瀏覽:168
攜帶型電腦的原始密碼是什麼 發布:2025-03-15 18:25:52 瀏覽:798
壓縮空間小 發布:2025-03-15 18:14:05 瀏覽:848
env的腳本 發布:2025-03-15 18:01:24 瀏覽:730
圖片上傳雲端 發布:2025-03-15 17:37:26 瀏覽:460
郵件伺服器ip池 發布:2025-03-15 17:31:51 瀏覽:398