【優(yōu)化選址】基于遺傳算法進(jìn)行廠區(qū)布置優(yōu)化附matlab代碼
1 簡(jiǎn)介
隨著市場(chǎng)競(jìng)爭(zhēng)日益激烈,先進(jìn)高效的物流系統(tǒng)越來(lái)越成為企業(yè)增強(qiáng)自身競(jìng)爭(zhēng)力的核心要素.本文針對(duì)工廠總平面布置優(yōu)化設(shè)計(jì)問(wèn)題,提出了一種基于遺傳算法的廠區(qū)布置優(yōu)化方法,通過(guò)對(duì)一個(gè)實(shí)際的汽車(chē)配件廠的具體設(shè)計(jì)問(wèn)題對(duì)該算法進(jìn)行實(shí)驗(yàn),結(jié)果表明本算法能夠顯著優(yōu)化人工設(shè)計(jì)的布局.
2 部分代碼
clc
clear all
close all
%mainfun 是本項(xiàng)目運(yùn)行遺傳算法進(jìn)行廠區(qū)布置優(yōu)化的主程序,負(fù)責(zé)執(zhí)行各函數(shù)
NIND=60;
%NIND 為群體數(shù)量,設(shè)定為 60 個(gè)
MAXGEN=100;
%MAXGEN 為最大遺傳代數(shù),設(shè)定為 100 代
GGAP=0.5;
GGAr=0.5;
XOVR=0.6; ? ? ? %交叉率
%GGAP 為交叉概率,設(shè)定為 0.9
MUTR=0.8; ? ? ? %變異率
%lenchrom 為染色體長(zhǎng)度,作業(yè)單元數(shù)量為 23
lenchrom=23;
WNumber=23;
%下面運(yùn)行 initial 函數(shù)來(lái)創(chuàng)建染色體初始種群
chrom=initial(NIND,lenchrom);
%下面計(jì)算初始種群的目標(biāo)函數(shù)值
trace=zeros(MAXGEN,2);
gen=0;
ObjV=goalfun(chrom);
%運(yùn)行 goalfun 函數(shù)來(lái)計(jì)算目標(biāo)函數(shù)值
while gen<MAXGEN
? ? FitnV=ranking(ObjV);
? ? %分配、排序適應(yīng)度值,從小到大排序
? ? SelCh=select('rws',chrom,FitnV,GGAr);
? ? %選擇操作,采用隨機(jī)競(jìng)爭(zhēng)選擇
? ? SelCh=across(SelCh,XOVR);
? ? %重組個(gè)體,采用兩點(diǎn)交叉,交叉概率為 0.7 ? ? ?
? ?% f=rep([1;23],[1,23]);
? ? %矩陣復(fù)制,將[1;23]列向量橫向復(fù)制 23 次
? ? %f 是邊界矩陣
? ? SelCh=aberranceJm(SelCh,MUTR);
? ? ?%在邊界矩陣 f 控制下,變異概率為 0.1,不壓縮變異范圍
? ? SelCh=fix(SelCh);
? ? %向 0 方向取整
? ? SelCh=restore(SelCh); ? ? ? ? ? ?
? ? %運(yùn)行 restore 函數(shù)修復(fù)錯(cuò)誤個(gè)體
? ? ObjVSel=goalfun(SelCh);
? ? %計(jì)算子代目標(biāo)函數(shù)值
? ? [chrom,ObjV]=reins(chrom,SelCh,1,1,ObjV,ObjVSel);
? ? %重插入:基于適應(yīng)度,插入全部子代,代替不適應(yīng)的父代,并按子代拷貝目標(biāo)
? ? gen=gen+1;
? ? trace(gen,1)=min(ObjV);
? ? %當(dāng)代最小目標(biāo)函數(shù)值
? ? trace(gen,2)=sum(ObjV)/length(ObjV);
? ? %當(dāng)代平均目標(biāo)函數(shù)值
end
%下面求出最優(yōu)解及其目標(biāo)函數(shù)值
[Y,I]=min(ObjV);
chrom(I,:),Y
figure(1)
plot(trace(:,1),'-.');%畫(huà)出每代的最小目標(biāo)函數(shù)值曲線
grid
%給坐標(biāo)加網(wǎng)格
legend('最小目標(biāo)函數(shù)值曲線')
%顯示圖例
3 仿真結(jié)果

4 參考文獻(xiàn)
[1]陳鎮(zhèn)東, 秦坤, 劉凱勛. 基于遺傳算法的共享汽車(chē)站點(diǎn)選址布局及優(yōu)化設(shè)計(jì)[J]. 江蘇科技信息, 2019, 36(14):3.
博主簡(jiǎn)介:擅長(zhǎng)智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)、信號(hào)處理、元胞自動(dòng)機(jī)、圖像處理、路徑規(guī)劃、無(wú)人機(jī)等多種領(lǐng)域的Matlab仿真,相關(guān)matlab代碼問(wèn)題可私信交流。
部分理論引用網(wǎng)絡(luò)文獻(xiàn),若有侵權(quán)聯(lián)系博主刪除。
