使用matlab遺傳算法工具實(shí)例(詳細(xì))_第1頁
已閱讀1頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、133最新發(fā)布的MATLAB7.0Release14已經(jīng)包含了一個(gè)專門設(shè)計(jì)的遺傳算法與直接搜索工具箱(GeicAlgithmDirectSearchToolbox,GADS)。使用遺傳算法與直接搜索工具箱,可以擴(kuò)展MATLAB及其優(yōu)化工具箱在處理優(yōu)化問題方面的能力,可以處理傳統(tǒng)的優(yōu)化技術(shù)難以解決的問題,包括那些難以定義或不便于數(shù)學(xué)建模的問題,可以解決目標(biāo)函數(shù)較復(fù)雜的問題,比如目標(biāo)函數(shù)不連續(xù)、或具有高度非線性、隨機(jī)性以及目標(biāo)函數(shù)沒有導(dǎo)數(shù)的

2、情況。本章8.1節(jié)首先介紹這個(gè)遺傳算法與直接搜索工具箱,其余各節(jié)分別介紹該工具箱中的遺傳算法工具及其使用方法。8.1遺傳算法與直接搜索工具箱概述遺傳算法與直接搜索工具箱概述本節(jié)介紹MATLAB的GADS(遺傳算法與直接搜索)工具箱的特點(diǎn)、圖形用戶界面及運(yùn)行要求,解釋如何編寫待優(yōu)化函數(shù)的M文件,且通過舉例加以闡明。8.1.1工具箱工具箱的特點(diǎn)的特點(diǎn)GADS工具箱是一系列函數(shù)的集合,它們擴(kuò)展了優(yōu)化工具箱和MATLAB數(shù)值計(jì)算環(huán)境的性能。遺傳

3、算法與直接搜索工具箱包含了要使用遺傳算法和直接搜索算法來求解優(yōu)化問題的一些例程。這些算法使我們能夠求解那些標(biāo)準(zhǔn)優(yōu)化工具箱范圍之外的各種優(yōu)化問題。所有工具箱函數(shù)都是MATLAB的M文件,這些文件由實(shí)現(xiàn)特定優(yōu)化算法的MATLAB語句所寫成。使用語句typefunction_name就可以看到這些函數(shù)的MATLAB代碼。我們也可以通過編寫自己的M文件來實(shí)現(xiàn)來擴(kuò)展遺傳算法和直接搜索工具箱的性能,也可以將該工具箱與MATLAB的其他工具箱或Sim

4、ulink結(jié)合使用,來求解優(yōu)化問題。工具箱函數(shù)可以通過圖形界面或MATLAB命令行來訪問,它們是用MATLAB語言編寫的,對(duì)用戶開放,因此可以查看算法、修改源代碼或生成用戶函數(shù)。遺傳算法與直接搜索工具箱可以幫助我們求解那些不易用傳統(tǒng)方法解決的問題,譬如表查找問題等。遺傳算法與直接搜索工具箱有一個(gè)精心設(shè)計(jì)的圖形用戶界面,可以幫助我們直觀、方便、快速地求解最優(yōu)化問題。8.1.1.1功能特點(diǎn)功能特點(diǎn)遺傳算法與直接搜索工具箱的功能特點(diǎn)如下:(1

5、)圖形用戶界面和命令行函數(shù)可用來快速地描述問題、設(shè)置算法選項(xiàng)以及監(jiān)控進(jìn)程。(2)具有多個(gè)選項(xiàng)的遺傳算法工具可用于問題創(chuàng)建、適應(yīng)度計(jì)算、選擇、交叉和變異。(3)直接搜索工具實(shí)現(xiàn)了一種模式搜索方法,其選項(xiàng)可用于定義網(wǎng)格尺寸、表決方法和搜索方法。(4)遺傳算法與直接搜索工具箱函數(shù)可與MATLAB的優(yōu)化工具箱或其他的MATLAB程序結(jié)合使用。(5)支持自動(dòng)的M代碼生成。8.1.1.2圖形用戶界面和命令行函數(shù)圖形用戶界面和命令行函數(shù)135為了使用

6、遺傳算法和直接搜索工具箱,首先必須編寫一個(gè)M文件,來確定想要優(yōu)化的函數(shù)。這個(gè)M文件應(yīng)該接受一個(gè)行向量,并且返回一個(gè)標(biāo)量。行向量的長(zhǎng)度就是目標(biāo)函數(shù)中獨(dú)立變量的個(gè)數(shù)。本節(jié)將通過實(shí)例解釋如何編寫這種M文件。8.1.2.1編寫編寫M文件舉例文件舉例下面的例子展示了如何為一個(gè)想要優(yōu)化的函數(shù)編寫M文件。假定我們想要計(jì)算下面函數(shù)的最小值:2212112122()266fxxxxxxxx?????M文件確定這個(gè)函數(shù)必須接受一個(gè)長(zhǎng)度為2的行向量X,分別與

7、變量x1和x2相對(duì)應(yīng),并且返回一個(gè)標(biāo)量X,其值等于該函數(shù)的值。為了編寫這個(gè)M文件,執(zhí)行如下步驟:(1)在MATLAB的File菜單中選擇New菜單項(xiàng)。(2)選擇MFile,將在編輯器中打開一個(gè)新的M文件。(3)在該M文件中,輸入下面兩行代碼:functionz=my_fun(x)z=x(1)^22x(1)x(2)6x(1)x(2)^26x(2)(4)在MATLAB路徑指定的目錄中保存該M文件。為了查看該M文件是否返回正確的值,可鍵入my

8、_fun([23])ans=5注意注意:在運(yùn)行遺傳算法工具或模式搜索工具時(shí),不要使用編輯器或調(diào)試器來調(diào)試目標(biāo)函數(shù)的M文件,否則會(huì)導(dǎo)致在命令窗口出現(xiàn)Java異常消息,并且使調(diào)試更加困難。8.1.2.2最大化與最小化最大化與最小化遺傳算法和直接搜索工具箱中的優(yōu)化函數(shù)總是使目標(biāo)函數(shù)或適應(yīng)度函數(shù)最小化。也就是說,它們求解如下形式的問題:minimize()xfx如果我們想要求出函數(shù)f(x)的最大值,可以轉(zhuǎn)而求取函數(shù)g(x)=-f(x)的最小值,

9、因?yàn)楹瘮?shù)g(x)最小值出現(xiàn)的地方與函數(shù)f(x)最大值出現(xiàn)的地方相同。例如,假定想要求前面所描述的函數(shù)的最大值,這時(shí),2212112122()266fxxxxxxxx?????我們應(yīng)當(dāng)編寫一個(gè)M文件來計(jì)算,求函數(shù)2212112122()()(266)gxfxxxxxxxx????????的最小值。8.1.2.3自動(dòng)代碼生成自動(dòng)代碼生成遺傳算法與直接搜索工具箱提供了自動(dòng)代碼生成特性,可以自動(dòng)生成求解優(yōu)化問題所需要的M文件。例如,圖8.1所示

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論