999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

MATLAB遺傳算法在函數(shù)優(yōu)化問題中的應用

2023-01-03 06:30:50劉光亞
船電技術 2022年12期
關鍵詞:優(yōu)化

劉光亞

應用研究

MATLAB遺傳算法在函數(shù)優(yōu)化問題中的應用

劉光亞

(武漢東湖學院機電學院,武漢 430212)

本文介紹了遺傳算法理論及運算流程,運用MATLAB語言進行了程序設計。結合典型的三角測試函數(shù),在MATLAB 環(huán)境下有效地解決了用遺傳算法求解函數(shù)優(yōu)化問題,驗證了 MATLAB 遺傳算法在函數(shù)優(yōu)化中應用的有效性和靈活性。

遺傳算法 MATLAB 函數(shù)優(yōu)化 有效性

0 引言

20世紀70年代,美國密執(zhí)安大學的 Holland 教授[1]提出了遺傳算法,它包含了進化和自然選擇原理,它借鑒了達爾文的進化論和孟爾德的遺傳學,模仿了自然界的生物進化機制,并發(fā)展成為一種隨機全局搜索和優(yōu)化方法,是一種全局、并行、高效的搜索方法[2]。它能在搜索過程中自主獲取和積累有關搜索空間的信息,并自適應地控制搜索過程以求得最優(yōu)解。遺傳算法提供了一種求解非線性、多模型、多目標等復雜系統(tǒng)優(yōu)化問題的通用框架,它不依賴于問題所屬的具體領域,已廣泛應用于函數(shù)優(yōu)化、自動控制、圖像處理、機器學習、人工生命與智能等領域[3]。

MATLAB是一種用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析及數(shù)值計算的高級技術計算語言和交互式環(huán)境,具有計算功能強大、圖形展示功能強大、工具箱功能強大和幫助功能完整等特點。MATLAB遺傳算法提供了對各種優(yōu)化問題的一個完整的解決方案[4]。它具有函數(shù)表達簡潔、遺傳操作靈活、可任意選擇多種編碼方式和優(yōu)化算子、算法參數(shù)設置自由等特點而受到用戶的青睞,并為應用和研究遺傳算法提供了穩(wěn)定可靠、結構靈活、可擴展的開發(fā)平臺。

函數(shù)優(yōu)化問題是遺傳算法的經(jīng)典應用領域,也是對遺傳算法進行性能評價的常用算例[5]。

1 遺傳算法原理與運算流程

在自然進化的過程中,生物通過遺傳與變異來適應外部環(huán)境。這就意味著,只有那些擁有更加優(yōu)良特性和更適應自然環(huán)境的生物才能生存與繁衍;同時,那些沒有優(yōu)良特性的生物體最終將會消亡。這也就是所謂的“適者生存”。遺傳算法模擬了上述的自然進化現(xiàn)象,它將搜索空間映射到遺傳空間,也就是說將每個有可能的解經(jīng)基因編碼成一個染色體。

遺傳算法模擬了自然選擇和遺傳中發(fā)生的復制、交叉和變異等現(xiàn)象,隨機產(chǎn)生一初始種群,通過復制、交叉、變異等操作,產(chǎn)生適應度更高的個體,使群體進行到搜索空間中越來越好的區(qū)域,如此一代代進化,最后收斂到一群適應度最好的個體中,進而求得問題的最優(yōu)解。

遺傳算法流程可用圖1來描述:

圖1 遺傳算法流程圖

2 應用實例

示例函數(shù)采用典型的如下三角測試函數(shù):

求其函數(shù)于自變量x在定義域中的最大值,遺傳算法優(yōu)化程序[6]如下:

Function optvalue=opt(n, maxgen, xmin, xmax, pc_min, pc_max,pm_min, pm_max, l) % n-染色體規(guī)模;maxgen-最大進化代數(shù);xmin-自變量最小值;xmax-自變量最大值;pc_min-最小交叉概率;pc_max-最大交叉概率;pm_min-最小突變概率; pm_max-最大突變概率;l-二進制碼串長度;

gen=1;group=round(rand(n,l));

while gen<=maxgen % 判斷終止條件

x=decode(group,xmin,xmax,l);

fit=x.^2.*sin(2*x)+2*cos(5*x)+x; % 求適應度值

for i=1:n % 適應度值預處理

if fit(i)<0

fit(i)=0;

end

end

prob1=fit/sum(fit);prob1=cumsum(prob1);

prob2=sort(rand(n,1)); i=1;j=1;

while i<=n %利用輪盤賭選擇法來進行選擇操作

if prob2(i)

newgroup(i,:)=group(j,:); i=i+1;

else

j=j+1;

end

end

group=newgroup; x=decode(group,xmin,xmax,l);

fit=x.^2.*sin(2*x)+2*cos(5*x)+x; avgfit=mean(fit);

for i=1:2:n-1 %隨機生成交叉點,并進行交叉操作

a=[fit(i) fit(i+1)];

if max(a)>avgfit

pc=pc_max-(pc_max-pc_min)*gen/maxgen;

else

pc=pc_max;

end

if rand

cross=round(rand*l)+1;

if cross>l

cross=cross-1;

end

newgroup(i,:)=[group(i,1:cross) ;

group(i+1,cross+1:end)];

newgroup(i+1,:)=[group(i+1,1:cross); group(i,cross+1:end)];

x2=decode(newgroup(i:i+1,:),xmin,xmax,l);

fit2=x2.^2.*sin(2*x2)+2*cos(5*x2)+x2;

for j=0:1

if fit(i+j)>=fit2(j+1)

newgroup(i+j,:)=group(i+j,:);

end

end

else

newgroup(i,:)=group(i,:);

newgroup(i+1,:)=group(i+1,:);

end

end

group=newgroup;

for i=1:n % 隨機生成變異點,并進行變異操作

x3=decode(group,xmin,xmax,l);

fit3=x3.^2.*sin(2*x3)+2*cos(5*x3)+x3;

avgfit3=mean(fit3);

if fit3(i)>avgfit3

pm=pm_max-(pm_max-pm_min)*gen/maxgen;

else

pm=pm_min;

end

if rand

mutation=round(rand*l)+1;

if mutation>l

mutation=mutation-1;

end

newgroup(i,:)=group(i,:);

if newgroup(i,mutation)==0

newgroup(i,mutation)=1;

else

newgroup(i,mutation)=0;

end

x4=decode(newgroup(i,:),xmin,xmax,l);

fit4=x4.^2.*sin(2*x4)+2*cos(5*x4)+x4;

if fit3(i)>fit4

newgroup(i,:)=group(i,:);

end

else

newgroup(i,:)=group(i,:);

end

end

x=decode(newgroup,xmin,xmax,l);

fit=x.^2.*sin(2*x)+2*cos(5*x)+x;

[gmax(gen) index]=max(fit);r(gen)=x(index);

meanvalue=mean(fit);meanfit(gen)=meanvalue; group=newgroup;gen=gen+1;

end

figure(1);fplot('x.^2.*sin(2*x)+2*cos(5*x)+x',[xmin,xmax]);

hold on; plot(r,gmax,'r*');xlabel('x');ylabel('f(x)')

figure(2); plot(gmax); hold on; plot(meanfit,'r:');

xlabel('generations');ylabel('f(x)');hold off;

[gmax index]=max(gmax); optvalue=[r(index) gmax];

Function x=decode(group, xmin, xmax, l) %子函數(shù)實現(xiàn)二進制-十進制的解碼操作

group=fliplr(group);s=size(group);

a=0:1:l-1;a=ones(s(1),1)*a;

x1=sum((group.*2.^a)'); x=xmin+(xmax-xmin)*x1./2^l-1;

3 仿真結果

按照上述算法,令n=50,maxgen=80,x_min=0,x_max=9,pc_min=0.1,pc_max=0.9,pm_min=0.01,pm_max=0.4,l=22;圖2代表了初始種群的位置分布;圖3指出了經(jīng)過80次迭代后的最終尋優(yōu)結果;圖4說明了隨著代數(shù)的增長,最優(yōu)值與平均函數(shù)值的變化趨勢;輸出結果為:

X=7.1928,y=57.0137.

4 結語

遺傳算法作為一種快速、簡單、容錯性強的算法,是一類可應用于復雜系統(tǒng)優(yōu)化計算的魯棒搜索算法,相較于傳統(tǒng)優(yōu)化算法,它有如下特點:

1)遺傳算法不是從一點出發(fā)沿一條直線尋優(yōu),而是同時在整個解空間進行尋優(yōu)操作,具備全局尋優(yōu)能力。

2)遺傳算法直接作用于變量的編碼上,而非變量本身。通過編碼操作,可以直接對結構對象進行操作。

3)遺傳算法對搜索空間沒有任何特殊要求,只以變量的編碼作為操作對象,無需導數(shù)等其它輔助信息,可處理無數(shù)值概念或者很難有數(shù)值概念的優(yōu)化問題。

圖2 染色體的初始位置

4)本文實驗結果驗證了 MATLAB 遺傳算法能有效、靈活地求解復雜函數(shù)的優(yōu)化問題,而且所求解能達到或以相當高的精度逼近最優(yōu)解。

圖3 染色體的最終位置

圖4 最優(yōu)、平均函數(shù)值變化趨勢

[1] Holland J H. Adaptation in natural and artificial systems: an introductory analysis with applications to biology, control, and artificial intelligence[M]. Ann Arbor: University of Michigan Press, 1975.

[2] Rodés J P, Pérez-Gracia V, Martínez-Reguero A.Evaluation of the GPR frequency spectra in asphalt pavement assessment[J]. Constr Build Mater, 2015, 96: 181-188.

[3] 周勇, 胡中功. 改進的快速遺傳算法在函數(shù)優(yōu)化中的應用[J]. 現(xiàn)代電子技術, 2018, 41(17): 153-157.

[4] 殷銘, 張興華, 戴先中. 基于MATLAB的遺傳算法實現(xiàn)[J]. 電子技術應用, 2000, 26(1): 9-11.

[5] 曹巖. MATLAB R2008數(shù)學和控制實例教程[M]. 北京: 化學工業(yè)出版社, 2009.

[6] 由睿鵬.計算機網(wǎng)絡優(yōu)化設計中遺傳算法的原理及應用[J]. 電子技術與軟件工程, 2020(20): 14-15.

[7] 李曉葉, 張京麗, 于妍. 動態(tài)圖表展現(xiàn)遺傳算法基本原理[J]. 電腦編程技巧與維護, 2017(12): 80-81, 94.

[8] 萬勇, 萬莉, 戴永壽. 基于C與MATLAB混合編程的管道缺陷類型識別實驗系統(tǒng)軟件開發(fā)[J]. 實驗技術與管理, 2020, 37(5): 52-57.

Application of MATLAB genetic algorithm in the function optimization problem

Liu Yaguang

(School of Mechanical and Electronic, Wuhan Donghu University, Wuhan 430212, China)

TP18

A

1003-4862(2022)12-0050-04

2022-08-09

國家自然科學基金資助項目(12101468、61573002)

劉光亞(1959-),男,工學博士,研究員級高工、教授(二級)。研究方向:檢測技術及自動化系統(tǒng),動力(核)與電氣工程。E-mail:648069538@qq.com

猜你喜歡
優(yōu)化
超限高層建筑結構設計與優(yōu)化思考
PEMFC流道的多目標優(yōu)化
能源工程(2022年1期)2022-03-29 01:06:28
民用建筑防煙排煙設計優(yōu)化探討
關于優(yōu)化消防安全告知承諾的一些思考
一道優(yōu)化題的幾何解法
由“形”啟“數(shù)”優(yōu)化運算——以2021年解析幾何高考題為例
圍繞“地、業(yè)、人”優(yōu)化產(chǎn)業(yè)扶貧
事業(yè)單位中固定資產(chǎn)會計處理的優(yōu)化
消費導刊(2018年8期)2018-05-25 13:20:08
4K HDR性能大幅度優(yōu)化 JVC DLA-X8 18 BC
幾種常見的負載均衡算法的優(yōu)化
電子制作(2017年20期)2017-04-26 06:57:45
主站蜘蛛池模板: 国产极品美女在线| 亚洲国产日韩在线成人蜜芽 | 亚洲人成在线免费观看| 91精品国产情侣高潮露脸| 国产精品一区在线麻豆| 国产在线观看人成激情视频| 超碰aⅴ人人做人人爽欧美 | 欧美特黄一免在线观看| 波多野衣结在线精品二区| 成人午夜网址| 欧美日韩一区二区在线播放 | 欧美成人区| 国产精品入口麻豆| 日韩欧美国产成人| 成人精品视频一区二区在线 | 国产精品偷伦视频免费观看国产| 九九热精品视频在线| 波多野结衣国产精品| 国产精品太粉嫩高中在线观看| 亚洲av无码人妻| 亚洲浓毛av| 国产亚洲欧美日韩在线一区二区三区| 91 九色视频丝袜| 久久 午夜福利 张柏芝| 无码粉嫩虎白一线天在线观看| 日韩精品一区二区深田咏美| 久久国产精品麻豆系列| 国产精品久线在线观看| 2020最新国产精品视频| 国产精品成人AⅤ在线一二三四| 日本不卡在线播放| 国产精品欧美在线观看| 亚洲欧美在线综合图区| 91色在线视频| 国产欧美又粗又猛又爽老| 熟女日韩精品2区| 永久免费无码成人网站| 婷婷色中文网| 午夜a级毛片| 制服丝袜国产精品| 亚洲综合色婷婷中文字幕| 四虎国产精品永久一区| 青草视频网站在线观看| 99在线观看国产| 国产成人精品免费视频大全五级| 国产爽妇精品| 91小视频在线播放| 久久夜色精品| 91精品国产一区自在线拍| 亚洲天堂精品在线| 国产自在线拍| 欧美成人免费| 91精品国产一区| 成人毛片免费观看| 久久精品中文字幕免费| 伊人成人在线| 国产三级视频网站| 亚洲第一成年网| 免费a级毛片18以上观看精品| 91精品国产福利| 亚洲精品国产自在现线最新| 国产精品xxx| 欧美精品在线视频观看| 亚洲动漫h| 亚洲综合二区| 91啪在线| 99视频有精品视频免费观看| 久久人妻xunleige无码| 亚洲国产清纯| 久久婷婷六月| 国产丝袜一区二区三区视频免下载| 国产欧美日韩在线一区| 久久女人网| 自拍偷拍欧美日韩| 手机精品福利在线观看| 国产三区二区| 国产91高跟丝袜| 无码AV高清毛片中国一级毛片| 欧美一级一级做性视频| 99久久国产综合精品女同| 亚洲精品视频在线观看视频| 久久国产精品影院|