《智能設(shè)計方法》課件 7 智能設(shè)計方法的應(yīng)用技術(shù)_第1頁
《智能設(shè)計方法》課件 7 智能設(shè)計方法的應(yīng)用技術(shù)_第2頁
《智能設(shè)計方法》課件 7 智能設(shè)計方法的應(yīng)用技術(shù)_第3頁
《智能設(shè)計方法》課件 7 智能設(shè)計方法的應(yīng)用技術(shù)_第4頁
《智能設(shè)計方法》課件 7 智能設(shè)計方法的應(yīng)用技術(shù)_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第七章智能設(shè)計方法的應(yīng)用技術(shù)演講人1遺傳算法在智能設(shè)計中的應(yīng)用在當(dāng)今科技快速發(fā)展的時代,智能設(shè)計成為了解決各種工程、產(chǎn)品和網(wǎng)絡(luò)優(yōu)化等復(fù)雜問題的重要手段之一。在智能設(shè)計的實踐中,遺傳算法作為一種啟發(fā)式優(yōu)化算法,展現(xiàn)出了強大的搜索和優(yōu)化能力。本文旨在探討遺傳算法在智能設(shè)計中的應(yīng)用,深入剖析其在工程設(shè)計、產(chǎn)品設(shè)計、網(wǎng)絡(luò)優(yōu)化和機器學(xué)習(xí)模型優(yōu)化等領(lǐng)域的具體應(yīng)用場景和方法。通過詳細的案例分析和方法論闡述,我們將揭示遺傳算法在智能設(shè)計中的重要性和價值,為解決實際生活中的復(fù)雜問題提供思路和啟示。隨著智能設(shè)計技術(shù)的不斷發(fā)展和創(chuàng)新,遺傳算法將繼續(xù)發(fā)揮重要作用,為推動智能化和自動化設(shè)計提供有力支持。工程設(shè)計領(lǐng)域的一個主要挑戰(zhàn)是優(yōu)化復(fù)雜系統(tǒng)的參數(shù),以滿足特定的性能指標和約束條件。遺傳算法提供了一種有效的方法來解決這些問題。1遺傳算法在智能設(shè)計中的應(yīng)用通常智能設(shè)計問題可以簡化為多目標優(yōu)化問題。在此,以兩目標優(yōu)化問題為例,演示如何采用常規(guī)遺傳算法、改進的多種群遺傳算法以及量子遺傳算法如何實現(xiàn)多目標優(yōu)化問題的快速求解。下面以如下函數(shù)為例,闡明多種遺傳算法在智能設(shè)計中的應(yīng)用。????,??=??sin5????+????????15????+23?2≤??≤133.5≤??≤6(7-1)其形狀如圖7-1所示,該函數(shù)存在眾多局部最優(yōu)點。如何避免尋優(yōu)過程被困在局部最優(yōu)處是該問題面臨的關(guān)鍵難點。而由于變異和交叉等操作的存在,遺傳算法在跳出局部最優(yōu)方面具有獨特的優(yōu)勢。1遺傳算法在智能設(shè)計中的應(yīng)用圖7-1研究對象的函數(shù)圖1遺傳算法在智能設(shè)計中的應(yīng)用標準遺傳算法首先,利用標準遺傳算法解決上述尋優(yōu)問題。此處運用英國謝菲爾德大學(xué)設(shè)計的MATLAB遺傳算法工具箱以簡化處理過程。核心代表如下所示:whilegen<MAXGEN%迭代FitnV=ranking(-ObjV);%分配適應(yīng)度值(Assignfitnessvalues)SelCh=select('sus',Chrom,FitnV,GGAP);%選擇SelCh=recombin('xovsp',SelCh,pc);%重組SelCh=mut(SelCh,pm);%變異1遺傳算法在智能設(shè)計中的應(yīng)用標準遺傳算法ObjVSel=ObjectFunction(bs2rv(SelCh,FieldD));%計算子代目標函數(shù)值[ChromObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel);%重插入gen=gen+1;%代計數(shù)器增加ifmaxY<max(ObjV)[maxY,I]=max(ObjV);X=bs2rv(Chrom,FieldD);maxX=X(I,:);end1遺傳算法在智能設(shè)計中的應(yīng)用標準遺傳算法trace(gen,1)=maxY;end該代碼運行5次,得到的尋優(yōu)結(jié)果如圖7-2和表7-1所示。圖7-2基于標準遺傳算法的函數(shù)尋優(yōu)進化過程表7-1基于標準遺傳算法五次運行得到的最優(yōu)值及其對應(yīng)xy坐標1遺傳算法在智能設(shè)計中的應(yīng)用標準遺傳算法從結(jié)果可以看出,5次尋優(yōu)結(jié)果均不相同,但結(jié)果又相互很接近。因此,標準遺傳算法存在比較嚴重的早熟收斂問題,即群體中的所有個體都趨于同一狀態(tài)而停止進化,算法最終并不能得到最優(yōu)解。導(dǎo)致早熟收斂的因素包括:12(b)選擇操作是根據(jù)當(dāng)前群體中個體的適應(yīng)度值所決定的概率進行的,當(dāng)群體中存在個別超常個體時(該個體的適應(yīng)度比其他個體高得多),該個體在選擇算子作用下將會多次被選中,下一代群體很快被該個體所控制,群體中失去競爭性,從而導(dǎo)致群體停滯不前。3(a)交叉和變異操作發(fā)生的頻度是受交叉概率和變異概率控制的。交叉概率和變異概率的恰當(dāng)設(shè)定涉及遺傳算法全局搜索和局部搜索能力的均衡,進化搜索的最終結(jié)果對交叉和變異概率的取值相當(dāng)敏感。1遺傳算法在智能設(shè)計中的應(yīng)用標準遺傳算法(c)遺傳算法常用的終止判據(jù)是,當(dāng)?shù)螖?shù)到達人為規(guī)定的最大遺傳代數(shù)時,則終止進化。如迭代次數(shù)過少,進化不充分,也會造成未成熟收斂。(d)群體規(guī)模對遺傳算法的優(yōu)化性能也有較大的影響。當(dāng)群體規(guī)模較小時,群體中多樣性程度低,個體之間競爭性較弱,隨著進化的進行,群體很快趨于單一化,交叉操作產(chǎn)生新個體的作用漸趨消失,群體的更新只靠變異操作來維持,群體很快終止進化;當(dāng)群體規(guī)模取值較大時,勢必造成計算量的增加,計算效率受到影響。1遺傳算法在智能設(shè)計中的應(yīng)用多種群遺傳算法針對上述標準遺傳算法存在的多種群遺傳算法(MultiplePopulationGA,MPGA)是遺傳算法的一個擴展,它在傳統(tǒng)遺傳算法的基礎(chǔ)上,設(shè)置了多個種群,每個種群稱為一個子種群,利用并行遺傳算法的思想,分別對每個子種群進行遺傳進化操作,每隔一定的進化代數(shù),從每個子種群中選擇出一些個體,替代相鄰子種群中的一些個體,即發(fā)生個體遷移。同樣基于謝菲爾德大學(xué)的遺傳算法工具箱實現(xiàn)MPGA求解上述復(fù)雜函數(shù)尋優(yōu)。MPGA的核心代碼如下:whilegen0<=MAXGENgen=gen+1;%遺傳代數(shù)加1fori=1:MP1遺傳算法在智能設(shè)計中的應(yīng)用多種群遺傳算法1FitnV{i}=ranking(-ObjV{i});%各種群的適應(yīng)度2SelCh{i}=select('sus',Chrom{i},FitnV{i},GGAP);%選擇操作3SelCh{i}=recombin('xovsp',SelCh{i},pc(i));%交叉操作4SelCh{i}=mut(SelCh{i},pm(i));%變異操作5ObjVSel=ObjectFunction(bs2rv(SelCh{i},FieldD));%計算子代目標函數(shù)值6[Chrom{i},ObjV{i}]=reins(Chrom{i},SelCh{i},1,1,ObjV{i},ObjVSel);%重插入操作1遺傳算法在智能設(shè)計中的應(yīng)用多種群遺傳算法end[Chrom,ObjV]=immigrant(Chrom,ObjV);%移民操作[MaxObjV,MaxChrom]=EliteInduvidual(Chrom,ObjV,MaxObjV,MaxChrom);%人工選擇精華種群YY(gen)=max(MaxObjV);%找出精華種群中最優(yōu)的個體ifYY(gen)>maxY%判斷當(dāng)前優(yōu)化值是否與前一次優(yōu)化值相同maxY=YY(gen);%更新最優(yōu)值gen0=0;else1遺傳算法在智能設(shè)計中的應(yīng)用多種群遺傳算法gen0=gen0+1;%最優(yōu)值保持次數(shù)加1endend圖7-3MPGA運行5次的進化過程表7-2MPGA運行5次的優(yōu)化結(jié)果及其對應(yīng)xy坐標值1遺傳算法在智能設(shè)計中的應(yīng)用多種群遺傳算法MPGA的運行結(jié)如圖7-3和表7-2所示。對比標準遺傳算法的優(yōu)化結(jié)果可以看出:MPGA不僅收斂速度顯著提升,而且可以完美避免局部最優(yōu),可以很快得到全局最優(yōu)解。1遺傳算法在智能設(shè)計中的應(yīng)用量子遺傳算法量子遺傳算法(QuantumGeneticAlgorithm,QGA)是一種將量子計算理論與傳統(tǒng)遺傳算法結(jié)合的搜索優(yōu)化算法,該算法用量子位編碼表示染色體,用量子門更新完成進化搜索,具有種群規(guī)模小卻不影響算法性能、收斂速度快和全局搜索能力強等特點量子計算中采用量子態(tài)作為基本的信息單元,利用量子態(tài)的疊加、糾纏和干涉等特性,通過量子并行計算可以解決經(jīng)典計算中的NP問題。1994年Shor提出第一個量子算法,求解了大數(shù)質(zhì)因子分解的經(jīng)典計算難題,該算法可用于公開密鑰系統(tǒng)RSA;1996年Grover提出隨機數(shù)據(jù)庫搜索的量子算法,在量子計算機上可實現(xiàn)對未加整理的數(shù)據(jù)庫√N量級的加速搜索,量子計算正以其獨特的計算性能迅速成為研究的熱點。1遺傳算法在智能設(shè)計中的應(yīng)用量子遺傳算法QGA就是基于量子計算原理的一種遺傳算法。將量子的態(tài)矢量表達引入遺傳編碼,利用量子邏輯門實現(xiàn)染色體的演化,實現(xiàn)了比常規(guī)遺傳算法更好的效果。QGA建立在量子的態(tài)矢量表示的基礎(chǔ)之上,將量子比特的幾率幅表示應(yīng)用于染色體的編碼,使得一條染色體可以表達多個態(tài)的疊加,并利用量子邏輯門實現(xiàn)染色體的更新操作,從而實現(xiàn)了目標的優(yōu)化求解。(a)量子染色體在量子遺傳理論中,采用雙態(tài)量子比特系統(tǒng)(qubit)作為最小單元來進行信息的儲存載體。與經(jīng)典遺傳算法中的比特存儲方式不同,一個量子比特有兩種狀態(tài),即量子比特位并不是確定地表示某一個狀態(tài),“1”、“0”,或者兩者的疊加態(tài)都可以是比特位所處的狀態(tài),其服從概率統(tǒng)計特性,以一定的概率處于某種狀態(tài)。在量子理論中,|0>和|1>是兩個不同而且獨立的量子態(tài),某一時刻的量子比特位1遺傳算法在智能設(shè)計中的應(yīng)用量子遺傳算法的狀態(tài)可以用它們的線性組合疊加進行表示φ=a|0>+β|1>(7.2)式中,(α,β)為一復(fù)常數(shù)對,α與β絕對值的平方分別代表量子比特處于10>和|1>的概率,稱系數(shù)α和β為量子比特的概率幅度,因此通過系數(shù)的選擇可以使量子比特處于不同連續(xù)的疊加態(tài)上,其中概率幅度滿足??2+??2=1(7.3)若將每個量子比特的用概率幅度對表示為????則通過二進制編碼后的染色體??????可以表示為??????=??11??12……??1????21……??2??……????1……????????11??12……??11??21……??21……????1……??????(7.4)1遺傳算法在智能設(shè)計中的應(yīng)用量子遺傳算法式中,t表示個體遺傳代數(shù),i表示第i個個體(i=1,2,...,N,N代表種群大小),k表示每個基因中量子比特的個數(shù),m表示染色體中基因的個數(shù)。每個比特位概率幅度滿足歸一化條件式(7.3)??梢钥闯隽孔尤旧w比傳統(tǒng)遺傳算法的編碼方式擁有更豐富的個體多樣性和收斂性,隨著迭代次數(shù)的增加,??2或者??2逐漸收斂到0或者1,即種群不斷朝著個體最優(yōu)特征方向進化,種群統(tǒng)一特征逐漸出現(xiàn),最優(yōu)個體特征被保留下來,這一確定狀態(tài)即為個體將收斂方向。1遺傳算法在智能設(shè)計中的應(yīng)用量子遺傳算法(b)量子旋轉(zhuǎn)門在量子遺傳算法中,通過量子門的方式作用于各個量子比特的概率幅度,來實現(xiàn)各量子狀態(tài)間的轉(zhuǎn)換,以達到種群中個體的變異更新。在0、1編碼問題中,量子旋轉(zhuǎn)門可以表示為??=?????????????????????????????????????(7.5)量子比特調(diào)整操作為??'??'=??????(7.6)式中,??'??'為個體更新后子代的第i個量子比特;???為旋轉(zhuǎn)變異的角度,由于轉(zhuǎn)角考慮了種群最優(yōu)個體的信息,通過量子門旋轉(zhuǎn),種群進化的方向趨向于遺傳最優(yōu)解,因此旋轉(zhuǎn)角的符號決定了量子遺傳算法收斂的方向,而控制算法的收斂速度與旋轉(zhuǎn)角取值有關(guān),值越大,其收斂速度就越快;????為父代的量子狀態(tài)概率幅度。1遺傳算法在智能設(shè)計中的應(yīng)用量子遺傳算法QGA的核心代碼如下:forgen=2:MAXGEN%%對種群實施一次測量binary=collapse(chrom);%%計算適應(yīng)度[fitness,X]=FitnessFunction(binary,lenchrom);%%量子旋轉(zhuǎn)門chrom=Qgate(chrom,fitness,best,binary);[newbestfitness,newbestindex]=max(fitness);%找到最佳值%記錄最佳個體到bestifnewbestfitness>best.fitnessbest.fitness=newbestfitness;best.binary=binary(newbestindex,:);%%計算適應(yīng)度best.chrom=chrom([2*newbestindex-1:2*newbestindex],:);best.X=X(newbestindex,:);endtrace(gen)=best.fitness;endQGA運行結(jié)果如圖7-4和表7-3所示。從結(jié)果可以看出,QGA的收斂速度高于標準遺傳算法,但低于MPGA。QGA也能順利得到全局最優(yōu)結(jié)果。%%計算適應(yīng)度圖7-4量子遺傳算法運行5次的進化過程表7-3量子遺傳算法運行5次的優(yōu)化結(jié)果及其對應(yīng)xy坐標值2神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用航天器大型金屬殼段是戰(zhàn)略導(dǎo)彈核心承力結(jié)構(gòu)件,其制造優(yōu)劣直接決定導(dǎo)彈飛行成敗。為解決大型金屬殼段在機加工過程中的變形問題,須采用立式車銑復(fù)合加工中心進行制造。在精加工工序中,采取逐層車、銑后釋放應(yīng)力(松開零件后重新裝夾)的方法控制零件變形,達到控制產(chǎn)品變形的目的,以滿足設(shè)計要求。然而,大型金屬殼段內(nèi)部形狀復(fù)雜、加工尺寸多樣、橫向剛度弱,實際生產(chǎn)中存在工件銑削振動大、精度控制難、制造效率低等問題。究其原因是大型殼段類零件切削加工過程中物理場演化機制不清晰,制造過程數(shù)據(jù)未有效利用,切削工藝優(yōu)化缺乏理論支撐。因此,開展大型金屬殼段銑削過程的物理仿真模型研究,明晰銑削過程的動態(tài)銑削力、銑削振動受機床、刀具、工件、切削參數(shù)等因素的影響規(guī)律,同時聯(lián)通切削過程的信息-物理系統(tǒng),構(gòu)建銑削過程的虛實映射預(yù)測模型,對于大型金屬殼段的銑削狀態(tài)監(jiān)測、工藝參數(shù)優(yōu)化、銑削效率提升具有重要意義。2神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用本案例面向壁板類工件網(wǎng)格銑削過程,以神經(jīng)網(wǎng)絡(luò)模型為基礎(chǔ),綜合機理模型仿真數(shù)據(jù)集和實驗測量數(shù)據(jù)集優(yōu)勢,以低保真度代理模型為基礎(chǔ),提出銑削振動/彎矩的多保真度代理模型,實現(xiàn)刀具振動位移、刀具銑削彎矩的離線預(yù)測和在線計算。銑削動力學(xué)系統(tǒng)中,輸入?yún)?shù)與輸出參數(shù)之間存在確定的非線性函數(shù)關(guān)系。研究團隊以切深、切寬、每齒進給量、主軸轉(zhuǎn)速等工藝參數(shù)作為系統(tǒng)輸入?yún)?shù),以銑削過程數(shù)據(jù)(如刀具彎矩M、銑削力F、刀具振動位移S等)為系統(tǒng)輸出參數(shù)y,并假設(shè)存在輸出參數(shù)與輸入?yún)?shù)組合一一對應(yīng)的滿映射:2神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用低保真度代理模型在前期工作中,已完成銑削力模型和動力學(xué)模型的構(gòu)建,據(jù)此可利用銑削力/振動的理論仿真數(shù)據(jù)集訓(xùn)練獲得銑削力/振動機理模型的低保真度代理模型。由于上述模型構(gòu)建過程較為復(fù)雜,為了更加清楚的結(jié)合案例和神經(jīng)網(wǎng)絡(luò),我們使用一個假設(shè)理論模型代替該上述系統(tǒng)模型,用函數(shù)表示為:其圖像顯示如下:2神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用低保真度代理模型圖7-5理論模型圖像通過該理論模型,我們可獲得理論數(shù)據(jù)集LFD。假設(shè)理論數(shù)據(jù)集包含100個數(shù)據(jù),我們可使用BP神經(jīng)網(wǎng)絡(luò)模型對理論數(shù)據(jù)集LFD進行擬合,具體程序代碼如下:#LFD數(shù)據(jù)集defLFunction(num,xmin,xmax):LFD=np.zeros((num,2))foriiinrange(num):x=xmin+(xmax-xmin)*ii/numy=2*math.sin(x*3)+3*math.cos(x*2)+2*ma2神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用低保真度代理模型01020304th.cos(x+3)+5LFD[ii,0]=x;LFD[ii,1]=y;returnLFD2神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用#BP神經(jīng)網(wǎng)絡(luò)模型classLFModule(torch.nn.Module):super(LFModule,self).__init__()self.LFM=torch.nn.Sequential(torch.nn.Linear(1,16),#線性層torch.nn.ELU(),#ELU激活函數(shù)torch.nn.Linear(16,8),torch.nn.ELU(),torch.nn.Linear(8,4),torch.nn.ELU(),def__init__(self):2神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用#BP神經(jīng)網(wǎng)絡(luò)模型torch.nn.Linear(4,1))1defforward(self,x):2y=self.LFM(x)3returny4#訓(xùn)練函數(shù)5defTrain(x,y,model,optimizer,criterion):6iftorch.cuda.is_available():7x=x.cuda()82神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用#BP神經(jīng)網(wǎng)絡(luò)模型y=y.cuda()out=model(x)#調(diào)用模型loss=criterion(out,y)#損失計算cost=loss.cpu().data.numpy()loss.backward()#計算梯度optimizer.step()optimizer.zero_grad()#更新模型各層參數(shù)returncost#測試函數(shù)defTest(x,model,criterion):iftorch.cuda.is_available():2神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用#BP神經(jīng)網(wǎng)絡(luò)模型x=x.cuda()1out=model(x)2returnout.cpu()3#主程序4if__name__=='__main__':5#生成LFD訓(xùn)練數(shù)據(jù)集(100個數(shù)據(jù)點)6LFD=LFunction(100,2,7.5)7LFD=torch.tensor(LFD.astype(np.float32))82神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用#BP神經(jīng)網(wǎng)絡(luò)模型x,y=torch.unsqueeze(LFD[:,0],1),torch.unsqueeze(LFD[:,1],1)#模型初始化model=LFModule()iftorch.cuda.is_available():model=model.cuda()#優(yōu)化器定義optimizer=torch.optim.Adam(model.parameters(),lr=0.001)#損失函數(shù)定義2神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用#BP神經(jīng)網(wǎng)絡(luò)模型criterion=torch.nn.MSELoss()1#開始訓(xùn)練2iteration=10000#迭代次數(shù)3name='./Module/LFtest02.pt'#模型名稱4model.train()5foriiinrange(iteration):6cost=Train(x,y,model,optimizer,criterion)7if(ii%500==0):8print("迭代次數(shù)%d;損失值%f"%(ii,cost))92神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用#BP神經(jīng)網(wǎng)絡(luò)模型01020304torch.save(model.state_dict(),name)#保存模型#生成LFD測試數(shù)據(jù)集(1000個數(shù)據(jù)點)05LFD=torch.tensor(LFD.astype(np.float32))print("損失值%f;保存模型%s"%(costmin,name))LFD=LFunction(1000,2,7.5)x,y=torch.unsqueeze(LFD[:,0],1),torch.unsqueeze(LFD[:,1],1)062神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用#BP神經(jīng)網(wǎng)絡(luò)模型#初始化測試模型model=LFModule()iftorch.cuda.is_available():model=model.cuda()weights=torch.load(name,map_location='cuda:0')model.load_state_dict(weights,strict=True)#測試模型model.eval()2神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用#BP神經(jīng)網(wǎng)絡(luò)模型out=Test(x,model,criterion)out=out.detach().numpy()#結(jié)果畫圖fig=plt.figure(figsize=(8,4))plt.rcParams['font.family']=['SimSun','TimesNewRoman']ax=fig.add_subplot(1,2,1)ax.set_xlabel("x",fontsize=7.5)ax.set_ylabel("y",fontsize=7.5)2神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用#BP神經(jīng)網(wǎng)絡(luò)模型ax.plot(x,y,"-",color='orange',linewidth=1)ax.plot(x,out,"--",color='red',linewidth=1)ax.legend(["理論值","理論值預(yù)測"],fontsize=7.5,loc="upperright")plt.tight_layout()plt.show()結(jié)果下圖所示:2神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用#BP神經(jīng)網(wǎng)絡(luò)模型圖7-6BP神經(jīng)網(wǎng)絡(luò)擬合理論值圖像2神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用多保真度代理模型在實際加工過程中,理論模型和實際值之間存在一定誤差。通過研究可知,銑削力/振動的機理模型仿真結(jié)果雖與實測結(jié)果之間存在誤差,但誤差存在確定性和規(guī)律性。利用少量實測數(shù)據(jù)和相應(yīng)的仿真數(shù)據(jù)即可訓(xùn)練得到較高精度的誤差函數(shù)。為此,提出一種多保真度代理模型,綜合利用大量較低精度的理論仿真數(shù)據(jù)和少量高精度的實驗數(shù)據(jù),分次進行神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練,得到了具有較高準確性的多保真度代理模型。在上述理論模型的基礎(chǔ)上,假設(shè)真實值與理論值存在偏差,可用下列函數(shù)表示:(7-9)其理論值與真實值的圖像對比圖下圖所示:2神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用多保真度代理模型圖7-7理論值與真實值對比圖像假設(shè)我們通過實驗手段獲得真實數(shù)據(jù)集HFD,但真實數(shù)據(jù)集HFD只包含5個數(shù)據(jù),同樣,我們可使用上述的BP神經(jīng)網(wǎng)絡(luò)模型對真實數(shù)據(jù)集HFD進行擬合,其擬合效果如下圖:2神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用多保真度代理模型圖7-8BP神經(jīng)網(wǎng)絡(luò)擬合真實值圖像顯然,由于真實數(shù)據(jù)集HFD數(shù)據(jù)量過少,直接采用BP神經(jīng)網(wǎng)絡(luò)模型擬合的效果很差。因此,我們可以結(jié)合理論數(shù)據(jù)集LFD量大、真實數(shù)據(jù)集HFD準確的優(yōu)點,在上述部分的代碼基礎(chǔ)上,構(gòu)建BP神經(jīng)網(wǎng)絡(luò)的多保真度代理模型。具體程序如下:#HFD數(shù)據(jù)集2神經(jīng)網(wǎng)絡(luò)在智能設(shè)計中的應(yīng)用多保真度代理模型defHFunction(num,xmin,xmax):HFD=np.zeros((num,2))foriiinrange(num):x=xmin+(xmax-xmin)*ii/numy=2*math.sin(x*3)+3*math.cos(x*2)+2*math.cos(x+3)+2*math.cos(x*0.8+1)+math.sin(x*0.6-1)+5HFD[ii,0]=x;HFD[ii,1]=y;returnHFD#多保真度代理模型classLHFModule(torch.nn.Module):super(LHFModule,self).__init__()#低保真度模型self.LFM=torch.nn.Sequential(torch.nn.Linear(1,16),#線性層torch.nn.ELU(),#ELU激活函數(shù)torch.nn.Linear(16,8),torch.nn.ELU(),torch.nn.Linear(8,4),def__init__(self):#多保真度代理模型torch.nn.ELU(),#修正self.HFM=torch.nn.Sequential(torch.nn.Linear(2,4),torch.nn.ELU(),torch.nn.Linear(4,1))defforward(self,x1):y1=self.LFM(x1)x2=torch.cat((x1,y1),1)torch.nn.Linear(4,1))#多保真度代理模型x=x.cuda()y2=self.HFM(x2)returny2#訓(xùn)練函數(shù)defTrain(x,y,model,optimizer,criterion):iftorch.cuda.is_available():030405060102#多保真度代理模型y=y.cuda()out=model(x)#調(diào)用模型loss=criterion(out,y)#損失計算cost=loss.cpu().data.numpy()loss.backward()#計算梯度optimizer.step()optimizer.zero_grad()#更新模型各層參數(shù)returncost#測試函數(shù)defTest(x,model,criterion):iftorch.cuda.is_available():#多保真度代理模型x=x.cuda()1out=model(x)2returnout.cpu()3#主程序4if__name__=='__main__':5#生成HFD訓(xùn)練數(shù)據(jù)集(5個數(shù)據(jù)點)6HFD=LFunction(5,2,7.5)7HFD=torch.tensor(HFD.astype(np.float32))8#多保真度代理模型x,y=torch.unsqueeze(HFD[:,0],1),torch.unsqueeze(HFD[:,1],1)#模型初始化model=LHFModule()iftorch.cuda.is_available():model=model.cuda()#導(dǎo)入上述第一部分已訓(xùn)練好的低保真度模型參數(shù)并使其凍結(jié),不參與訓(xùn)練prename='./Module/LFtest02.pt'pretrained_dict=torch.load(prename,map_location='cuda:0')#多保真度代理模型net_dict=model.state_dict()net_dict.update({k:vfork,vinpretrained_dict.items()ifkinnet_dict})model.load_state_dict(net_dict,strict=True)forname1,param1ind_parameters():forname2,param2inpretrained_dict.items():ifname1==name2:#多保真度代理模型param1.requires_grad=False#優(yōu)化器定義optimizer=torch.optim.Adam(model.parameters(),lr=0.001)#損失函數(shù)定義criterion=torch.nn.MSELoss()#開始訓(xùn)練iteration=2000#迭代次數(shù)name='./Module/LHFtest02.pt'#模型名稱model.train()#多保真度代理模型foriiinrange(iteration):1cost=Train(x,y,model,optimizer,criterion)2if(ii%500==0):3print("迭代次數(shù)%d;損失值%f"%(ii,cost))4torch.save(model.state_dict(),name)#保存模型5print("損失值%f;保存模型%s"%(costmin,name))6#生成HFD測試數(shù)據(jù)集(1000個數(shù)據(jù)點)7#多保真度代理模型HFD=LFunction(1000,2,7.5)HFD=torch.tensor(HFD.astype(np.float32))x,y=torch.unsqueeze(HFD[:,0],1),torch.unsqueeze(HFD[:,1],1)#初始化測試模型model=LHFModule()iftorch.cuda.is_available():model=model.cuda()#多保真度代理模型weights=torch.load(name,map_location='cuda:0')model.load_state_dict(weights,strict=True)#測試模型model.eval()out=Test(x,model,criterion)out=out.detach().numpy()#結(jié)果畫圖fig=plt.figure(figsize=(8,4))#多保真度代理模型plt.rcParams['font.family']=['SimSun','TimesNewRoman']01ax.set_xlabel("x",fontsize=7.5)03ax.plot(x,y,"-",color='orange',linewidth=1)05ax=fig.add_subplot(1,2,1)02ax.set_ylabel("y",fontsize=7.5)04ax.plot(x,out,"--",color='red',linewidth=1)06#多保真度代理模型ax.legend(["理論值","理論值預(yù)測"],fontsize=7.5,loc="upperright")plt.tight_layout()plt.show()結(jié)果下圖所示:#多保真度代理模型圖7-9多保真度預(yù)測圖像顯然,采用多保真度模型擬合的方式,其擬合預(yù)測預(yù)測效果得到了明顯提升,綜合結(jié)對比果如下圖所示:圖7-10各方法預(yù)測對比圖像3模糊邏輯在智能設(shè)計中的應(yīng)用由于設(shè)計過程的可分性和設(shè)計狀態(tài)的多樣性,產(chǎn)品設(shè)計往往存在多個設(shè)計方案,即使對于同一個設(shè)計方案也會有不同的看法,故存在著設(shè)計方案優(yōu)選的問題。又由于設(shè)計過程的層次性和迭代性,使得設(shè)計方案可能會因為其他設(shè)計方面的修改或解決而需要重新考慮,因此,存在著產(chǎn)品整體設(shè)計目標與局部設(shè)計目標之間的協(xié)調(diào)和統(tǒng)一的問題。這些問題的解決都有賴于進行科學(xué)的產(chǎn)品設(shè)計評價。因此,建立一個適用于產(chǎn)品設(shè)計各個階段,能夠?qū)υO(shè)計狀態(tài)及時地進行評價的設(shè)計狀態(tài)綜合評價系統(tǒng),對提高智能設(shè)計的整體綜合效益具有重要意義。然而,在產(chǎn)品設(shè)計評價過程中,卻存在著許多不確定性因素,例如,一個電機設(shè)計方案的取舍,存在著多個評價指標來判斷,而這些指標要求又是相互矛盾,相互制約的,需要進行“協(xié)調(diào)”、“兼顧”和“側(cè)重”;再如,決定一個電機設(shè)計方案的優(yōu)劣,不僅要看其是否符合經(jīng)濟性能技術(shù)指標要求,還要觀察方案的電磁負荷等是否合理,3模糊邏輯在智能設(shè)計中的應(yīng)用而決定電磁負荷是否合理并沒有確定的公式可循,常常需要根據(jù)設(shè)計經(jīng)驗判斷。在處理這些因素時,設(shè)計者只能依據(jù)長期設(shè)計過程中積累的模糊的基本準則,憑借經(jīng)驗定性分析做出“比較合理”的評價,因而這些不確定性因素成為制約電機CAD系統(tǒng)智能化發(fā)展的難題。模糊邏輯理論為解決此類不確定性問題提供了有效的工具。應(yīng)用模糊理論,可以用比較簡明的方法,對復(fù)雜系統(tǒng)作出合乎實際的處理。因此,本節(jié)以電機智能設(shè)計為案例,以三相異步電機為對象,應(yīng)用模糊數(shù)學(xué)的相關(guān)理論提出了一種設(shè)計參數(shù)的模糊描述方法,并采用模糊綜合評價方法建立電機設(shè)計綜合評價機制,力圖對電機設(shè)計方案的各個方面進行多方位、多階段、多層次、多視角的全面評價,使評價結(jié)果盡量客觀,從而取得更好的實際效果。3模糊邏輯在智能設(shè)計中的應(yīng)用評價指標體系的建立在綜合評價過程中,首先要求確定評價指標體系。在選擇評價指標體系時,原則上要求各指標間相互獨立,但實際系統(tǒng)中許多屬性或指標間存在著相互影響,導(dǎo)致指標內(nèi)涵的重疊時常發(fā)生。而這又將導(dǎo)致評價指標體系中各指標間影響難以準確考慮,在某種程度上造成了指標權(quán)重確定的不合理性。在確定評價指標體系時應(yīng)滿足以下基本要求:①評價指標體系的建立必須能全面反映所研究對象的各個方面,并且評價目標和評價指標應(yīng)有機地聯(lián)系起來構(gòu)成一個整體。②評價指標體系必須能夠反映目標和指標間的支配關(guān)系,同時還應(yīng)根據(jù)評價者對不同的評價目標動態(tài)地生成相應(yīng)的指標體系。③對于一些評價指標較多、相互關(guān)系復(fù)雜的系統(tǒng),一般應(yīng)對指標體系進行系統(tǒng)分析,建立具有層次結(jié)構(gòu)的多級綜合評價指標體系。3模糊邏輯在智能設(shè)計中的應(yīng)用電機設(shè)計方案的指標體系電機設(shè)計評價指標分為五大類,每一類又可以分為更詳細的指標:1①技術(shù)指標:從電機技術(shù)的角度來評價產(chǎn)品設(shè)計質(zhì)量,主要包括額定功率、同步轉(zhuǎn)速等;2②性能指標:包括電機的額定效率、功率因數(shù)、啟動性能以及過負荷能力等;3③電磁指標:從電機電磁模型中參數(shù)是否合理來評價設(shè)計質(zhì)量,為電機調(diào)整設(shè)計提供參考;4④經(jīng)濟指標:從經(jīng)濟的角度來評價產(chǎn)品設(shè)計質(zhì)量,包括產(chǎn)品材料成本評價長期運行經(jīng)濟性能評價等;5⑤工藝性指標:從加工工藝的角度來評價產(chǎn)品設(shè)計質(zhì)量,括槽滿率、繞組端部伸出部分長度、定轉(zhuǎn)子齒部(軛部)允許最小尺寸等。63模糊邏輯在智能設(shè)計中的應(yīng)用評價指標權(quán)重的確定權(quán)重是指標本身的物理屬性的客觀反映,是主客觀綜合量度的結(jié)果。其往往反映了專家對領(lǐng)域問題理解的一個重要方面,是專家經(jīng)驗和決策者意志的體現(xiàn),它相當(dāng)程度上決定了多目標綜合的精度,是多指標綜合評價的關(guān)鍵。在綜合評價決策中,會遇到一些具有變量繁多、結(jié)構(gòu)復(fù)雜、不確定因素作用顯著等特點的復(fù)雜系統(tǒng),這些復(fù)雜系統(tǒng)中決策問題都要求對描述目標相對重要度的權(quán)系數(shù)做出正確的估價。根據(jù)計算權(quán)系數(shù)時原始數(shù)據(jù)的來源不同,權(quán)系數(shù)的確定大致可分為:①主觀賦權(quán)法。原始數(shù)據(jù)由專家經(jīng)驗判斷得到,其方法有專家調(diào)查法、二項系系數(shù)法、環(huán)比評分法、層次分析法等。專家不同,得出的權(quán)系數(shù)也不同。其主要缺點是主觀隨意性較大;優(yōu)點則是專家根據(jù)實際問題,合理地確定各指標權(quán)系數(shù)之問的排序,不至于出現(xiàn)指標系數(shù)與指標實際重要程度相悖的情況。3模糊邏輯在智能設(shè)計中的應(yīng)用評價指標權(quán)重的確定②客觀賦權(quán)法。原始數(shù)據(jù)來自于評價矩陣的實際數(shù)據(jù),切斷了權(quán)系數(shù)主觀性的來源,使權(quán)系數(shù)具有充分的客觀性。其方法包括:主成分分析法、值賦權(quán)法、均方差法等。缺點是確定的權(quán)系數(shù)有時與實際相悖;優(yōu)點是權(quán)系數(shù)的客觀性強,可有效避免人在評價中的主觀片面性。③組合賦權(quán)法。組合賦權(quán)法是人們根據(jù)主觀賦權(quán)法、客觀賦權(quán)法各有優(yōu)缺點而提出的一種綜合方法。組合賦權(quán)法又可分為線性加權(quán)組合法和乘法合成歸一化法兩類,但它們也不盡完善。乘法合成歸一化法僅適應(yīng)于指標權(quán)系數(shù)分配較均勻的情況,線性加權(quán)組合法確定的權(quán)系數(shù)則不一定合理。由上可知,主觀賦權(quán)法在確定權(quán)系數(shù)中雖具有主觀性,但在確定權(quán)系數(shù)的排序方面具有較高的合理性,并且在實際應(yīng)用中一般也難以得到足夠的反映系統(tǒng)運行結(jié)果的實際數(shù)據(jù),故主觀賦權(quán)法的運用更切合實際情況。根據(jù)復(fù)雜系統(tǒng)中不同的子目標集往往具有不同的性質(zhì)和特點,以及不同決策者的權(quán)系數(shù)賦值方法也不一定相同,又可將實際應(yīng)用中的主觀多目標權(quán)系數(shù)賦值方法分為點估計法、模糊區(qū)間映射法與定性估計法三種。3模糊邏輯在智能設(shè)計中的應(yīng)用評價指標隸屬度的建立多目標決策的顯著特點之一是目標間沒有統(tǒng)一的度量標準,如直接使用評價指標值的屬性值,則不便于分析和比較各目標。因此,在進行綜合評價前,應(yīng)先將評價指標的屬性值統(tǒng)一變換到[0,1]范圍內(nèi),即對評價指標屬性值進行量化。3模糊邏輯在智能設(shè)計中的應(yīng)用定量指標特征值的量化各指標屬性值量化的方法隨評價指標的類型不同而不同,一般說來,電機評價指標主要有下列幾種類型:效益型指標、成本型指標、固定型指標和區(qū)間型指標四種類型。固定型指標是指屬性值以某一個固定值為最好的指標;區(qū)間型指標是指屬性值落在某一區(qū)間內(nèi)為最佳的指標;效益型指標是指屬性值越大越好的指標;成本型指標是指屬性值越小越好的指標。表7-4對電機的主要評價指標的類型進行了歸納。表7-4主要評價指標的隸屬度函數(shù)類型上述分類為評價指標描述確定了基本原則。在評價過程中,設(shè)計專家通常采用模糊性文字來描述評價結(jié)果,如效率設(shè)計值很好、功率因數(shù)基本合格、啟動轉(zhuǎn)矩不足等。因此在電機設(shè)計模糊綜合評價系統(tǒng)中采用以下方法描述評價指標:3模糊邏輯在智能設(shè)計中的應(yīng)用定量指標特征值的量化①建立評價指標的語義描述集,例如A=(優(yōu),合格,不合格}。②建立評價指標對于各語義描述值的隸屬度函數(shù),將評價指標的計算結(jié)果轉(zhuǎn)化為①中的各語義描述的隸屬度。其中構(gòu)造各指標隸屬函數(shù)是建立模糊綜合評價系統(tǒng)的核心,隸屬函數(shù)構(gòu)造質(zhì)量的好壞,直接決定著評價系統(tǒng)的優(yōu)劣。在具體實施時應(yīng)根據(jù)評價指標的不同特點,選擇合適的方法。下文以電機額定效率的隸屬函數(shù)建立過程為例,研究評價指標的描述方法。設(shè)α0為設(shè)計期望值,α為設(shè)計值,令x=(α-α0)/α0,μ1(x)、μ2(x)和μ3(x)分別代表設(shè)計效率對優(yōu)、合格、不合格的隸屬函數(shù)。如表7-4分析,電機效率屬于效益型指標,即屬性值越大越好。然而,在實際生產(chǎn)過程中,效率值應(yīng)是在一定的范圍內(nèi)“越大越好”,超出此范圍單純追求效率的最大化,可能會導(dǎo)致電機的其他指標,3模糊邏輯在智能設(shè)計中的應(yīng)用定量指標特征值的量化如制造成本、材料等急劇上升,沒有實際意義;另一方面,考慮到制造過程中材料、工藝等的分散性,國標中對電機額定效率也有具體的規(guī)定,允許有一定的容差,即允許效率在一個較小的范圍內(nèi)低于設(shè)計要求值。設(shè)G1=(α1-α0)/α0,G2=(α0-α0)/α0,G3=(α2-α0)/α0,其中,α1為國標中規(guī)定的效率容差下限值,α2為國標中規(guī)定的效率允許上限值。對應(yīng)電機的效率、功率因數(shù)、最大轉(zhuǎn)矩、啟動轉(zhuǎn)矩和啟動電流等主要性能指標的要求是確定的具體數(shù)值,但由于測試手段和工藝水平的限制,在考慮在這些性能指標時,也允許存在一定的寬容,即容差,如表7-5所示。表7-5GB755-81和GB5171-85關(guān)于電機主要性能指標容差規(guī)定3模糊邏輯在智能設(shè)計中的應(yīng)用定量指標特征值的量化①效率設(shè)計值高于設(shè)計要求值時,評價結(jié)果為“優(yōu)”,且效率設(shè)計值越高于設(shè)計要求值,評價結(jié)果為“優(yōu)”的概率越大,即:??1??=0,??<??20.5+0.5sin????3???2?????2+??32,??2≤??<??31,??≥??3(7-10)②效率設(shè)計值等于設(shè)計要求值時,評價結(jié)果為“合格”的可能性最大,隨著效率的設(shè)計值離要求值的距離加大,“合格”的概率也在下降,即:??2??=0,??<??20.5+0.5sin????2???1(?????1+??22),??1≤??<??21,??=??20.5?0.5sin????3???2?????3+??22,??2<??<??30,??≥??3(7-11)3模糊邏輯在智能設(shè)計中的應(yīng)用定量指標特征值的量化③效率設(shè)計值低于設(shè)計要求值時,評價結(jié)果為才具有“不合格”的可能性,效率設(shè)計值越小于設(shè)計要求值,“不合格”的概率越高,即:??3??=1,??<??10.5?0.5sin????2???1(?????1+??22),??1≤??<??20,??≥??2(7-12)效益型評價指標的隸屬函數(shù)的曲線如圖7-10(a)所示。按相同方式可以確定固定型、成本型和區(qū)間型評價指標的隸屬函數(shù),其曲線見圖7-10(b)、(c)、(d)。3模糊邏輯在智能設(shè)計中的應(yīng)用定量指標特征值的量化圖7-10評價指標的隸屬度函數(shù)曲

溫馨提示

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

最新文檔

評論

0/150

提交評論