Matlab遗传算法工具箱的使用(解决连续性优化问题)
生活随笔
收集整理的這篇文章主要介紹了
Matlab遗传算法工具箱的使用(解决连续性优化问题)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
問(wèn)題:
我們經(jīng)常需要在研究過(guò)程中求解一些比較復(fù)雜的公式,如下:
這樣的公式,用常規(guī)的方法比較難以求解和的關(guān)系,可以采用Matlab自帶的優(yōu)化工具箱遺傳算法模塊進(jìn)行快速求解近似關(guān)系。
(1)首先轉(zhuǎn)化公式:
首先將公式轉(zhuǎn)化成優(yōu)化目標(biāo)和約束的關(guān)系式,如下:
min?
s.t.
進(jìn)一步轉(zhuǎn)化約束為小于號(hào),同時(shí)零在右邊,如下:
s.t.
(2)編寫(xiě)目標(biāo)與約束的腳本
目標(biāo)腳本如下:
約束腳本如下:
其中c表示具有大小關(guān)系的約束,ceq表示等式關(guān)系,這里沒(méi)有等式約束,因此空。
保存腳本之后,目錄里有兩個(gè)腳本文件:
(3)求解器設(shè)置
Matlab里優(yōu)化求解器的位置:
點(diǎn)擊之后,按照?qǐng)D中所示步驟操作:
結(jié)果如下:
總結(jié)
以上是生活随笔為你收集整理的Matlab遗传算法工具箱的使用(解决连续性优化问题)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [css] 举例说明shape-out
- 下一篇: [js] callee和caller的