一種基于優(yōu)化算法的hfss工程優(yōu)化方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于HFSS工程仿真設(shè)計(jì)參數(shù)優(yōu)化領(lǐng)域,具體涉及一種基于優(yōu)化算法的HFSS工程優(yōu)化方法。
【背景技術(shù)】
[0002]HFSS (High Frequency Structure Simulator)是 Ansoft 公司推出的三維電磁仿真軟件。其不但是世界上第一個(gè)商業(yè)化的三維結(jié)構(gòu)電磁場仿真軟件,也是是當(dāng)今天線設(shè)計(jì)最為流行的設(shè)計(jì)軟件。隨著HFSS的功能越來越強(qiáng)大,應(yīng)用越來越多,構(gòu)建的模型越來越復(fù)雜,在一個(gè)HFSS工程文件中對(duì)某一參數(shù)影響的變量也越來越多。而在參數(shù)增多,優(yōu)化變量復(fù)雜的情況下,僅利用HFSS軟件自身的優(yōu)化功往往已經(jīng)不能完成整個(gè)優(yōu)化過程,或者優(yōu)化所耗費(fèi)的時(shí)間過長。在處理這類的問題時(shí),常常需要花費(fèi)設(shè)計(jì)師大量的時(shí)間、精力。就如當(dāng)前流行的MATLAB聯(lián)合HFSS仿真的優(yōu)化方法,需要在HFSS工程建立之初,利用HFSS自身功能記錄VBScript腳本;即將優(yōu)化模型的建立、求解條件的設(shè)置以及計(jì)算結(jié)果的導(dǎo)出等操作全部記錄到VBScript腳本中;然后再經(jīng)過編輯將其引入MATLAB優(yōu)化程序內(nèi),最后再將子代種群變量導(dǎo)入到優(yōu)化工程,就是針對(duì)腳本中優(yōu)化變量進(jìn)行重新賦值,然后運(yùn)行腳本進(jìn)行解算和導(dǎo)出結(jié)果,以求出適應(yīng)度值,其計(jì)算優(yōu)化過程極為復(fù)雜繁瑣。同時(shí),由于攜帶有子代HFSS工程信息的VBScript腳本的不穩(wěn)定性,也往往造成工程導(dǎo)入和優(yōu)化環(huán)境建立復(fù)雜度高,并具備較高的不可控性。如何能夠建立一種基于HFSS仿真設(shè)計(jì)的優(yōu)化方案,以在實(shí)現(xiàn)其仿真設(shè)計(jì)簡化性的同時(shí),提升對(duì)某個(gè)或某些參數(shù)的優(yōu)化效率,為本領(lǐng)域近年來所亟待解決的技術(shù)難題。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的為克服上述現(xiàn)有技術(shù)的不足,提供一種更為高效快捷的一種基于優(yōu)化算法的HFSS工程優(yōu)化方法,可有效避免因攜帶有子代HFSS工程信息的VBScript腳本的不穩(wěn)定性而產(chǎn)生計(jì)算錯(cuò)誤,進(jìn)而導(dǎo)致優(yōu)化程序終止的狀況;其可在實(shí)現(xiàn)其仿真設(shè)計(jì)簡化性的同時(shí),提升對(duì)其內(nèi)各參數(shù)的優(yōu)化效率。
[0004]為實(shí)現(xiàn)上述目的,本發(fā)明采用了以下技術(shù)方案:
[0005]一種基于優(yōu)化算法的HFSS工程優(yōu)化方法,其特征在于包括以下步驟:
[0006]I)、工程導(dǎo)入步驟:
[0007]首先確定所需優(yōu)化的HFSS工程的輸入條件與輸出格式,根據(jù)工程模型設(shè)立優(yōu)化約束條件,建立優(yōu)化程序;將HFSS工程導(dǎo)入優(yōu)化程序中,并預(yù)先確定子代HFSS工程的保存位置,進(jìn)入步驟2);
[0008]2)、變量輸入步驟:
[0009]利用MATLAB優(yōu)化算法,將被優(yōu)化HFSS工程中的優(yōu)化變量和該變量的取值范圍,輸入到優(yōu)化程序中,并根據(jù)所輸入的優(yōu)化變量名稱和對(duì)應(yīng)的取值范圍,自動(dòng)查找并以子代取值被優(yōu)化HFSS工程中該變量的值;生成子代HFSS工程文件,進(jìn)入步驟3);
[0010]3)、HFSS仿真適應(yīng)度計(jì)算步驟:
[0011]利用MATLAB優(yōu)化算法,以子代HFSS工程文件進(jìn)行仿真計(jì)算;其中,子代HFSS工程文件中的求解條件和取值范圍均與被優(yōu)化HFSS工程文件相同,僅在變量的優(yōu)化區(qū)間內(nèi)改變優(yōu)化變量的值,以生成該代種群;子代HFSS工程文件進(jìn)行仿真計(jì)算完成之后,再由優(yōu)化程序控制將解算結(jié)果導(dǎo)入并計(jì)算出相應(yīng)的適應(yīng)度值,并將該計(jì)算結(jié)果作為該代種群內(nèi)相應(yīng)子代個(gè)體的適應(yīng)度值,進(jìn)入步驟4);
[0012]4)、終止條件判斷步驟:
[0013]優(yōu)化程序?qū)⒂涗洸⒈容^本代種群中所有個(gè)體的適應(yīng)度值,并記錄每代種群中適應(yīng)度最好值;同時(shí),根據(jù)優(yōu)化程序內(nèi)預(yù)先設(shè)定的終止條件進(jìn)行判斷,也即當(dāng)前適應(yīng)度值計(jì)算是否達(dá)到優(yōu)化要求或當(dāng)前迭代次數(shù)是否達(dá)到設(shè)定次數(shù),如全不滿足上述終止條件,則重新返回步驟3),繼續(xù)迭代生成下一子代種群,如滿足上述終止條件其中之一,即可得出歷代種群的適應(yīng)度值最優(yōu)值,并將該最優(yōu)值作為結(jié)果輸出。
[0014]第一代種群的生成為根據(jù)優(yōu)化變量的取值范圍隨機(jī)取值獲得;之后各子代種群則由優(yōu)化程序根據(jù)當(dāng)前子代對(duì)親代信息的繼承和對(duì)全局信息的引入自動(dòng)生成,即根據(jù)優(yōu)化程序自身的子代產(chǎn)生策略產(chǎn)生子代。
[0015]所述優(yōu)化程序采用PSO算法或GA算法編寫。
[0016]本發(fā)明的主要優(yōu)點(diǎn)在于:
[0017]I)、本發(fā)明通過對(duì)現(xiàn)有各優(yōu)化過程的直接調(diào)用,而直接首先生成各子代種群并進(jìn)行終止條件判斷,從而避免了沿用VBScript腳本計(jì)算時(shí)對(duì)模型創(chuàng)建過程中要求從初始到模型解析,再到結(jié)果導(dǎo)出的所有過程的記錄需求,省去其繁瑣易錯(cuò)的計(jì)算過程,使得MATLAB聯(lián)合HFSS的優(yōu)化仿真這一方法具有更普遍的實(shí)用性。
[0018]利用本發(fā)明的所述算法能夠?qū)崿F(xiàn)變量數(shù)目、變量名稱、變量范圍的手動(dòng)輸入,自動(dòng)識(shí)別和自動(dòng)對(duì)應(yīng),可適用于幾乎所有的HFSS工作文件。同時(shí),利用本發(fā)明的所述算法能確保整個(gè)MATLAB聯(lián)合HFSS的優(yōu)化仿真過程具有很好的魯棒性和容錯(cuò)能力,使得優(yōu)化工程不至于因?yàn)閿y帶有子代HFSS工程信息VBScript腳本的不穩(wěn)定性而發(fā)出錯(cuò)誤,導(dǎo)致優(yōu)化程序終止的現(xiàn)象。此外的,利用本發(fā)明的所述算法可在程序運(yùn)行中和在所創(chuàng)建的優(yōu)化工程解算完成后,將已尋找到的當(dāng)前適應(yīng)度值最優(yōu)值結(jié)果保存并導(dǎo)出,便于在優(yōu)化計(jì)算的過程中導(dǎo)出和查看已經(jīng)得到的最優(yōu)化結(jié)果,從而使得優(yōu)化過程的靈活性和可控性更高。
【附圖說明】
[0019]圖1為本發(fā)明的方法流程簡圖。
【具體實(shí)施方式】
[0020]為便于理解,此處結(jié)合圖1對(duì)本發(fā)明的具體實(shí)施過程作以下進(jìn)一步描述:
[0021]—種基于優(yōu)化算法的HFSS工程優(yōu)化方法,其特征在于包括以下步驟:
[0022]I)、建立調(diào)用優(yōu)化模型的工程環(huán)境并加載所需優(yōu)化的HFSS工程:首先確定輸入條件與輸出格式,然后根據(jù)工程模型建立優(yōu)化約束條件,,根據(jù)一定格式要求將工程文件導(dǎo)入到設(shè)定的優(yōu)化程序中,從而將HFSS工程問題引入優(yōu)化環(huán)境;確定子代工程的保存位置;
[0023]2)、利用MATLAB優(yōu)化算法程序,將HFSS工程優(yōu)化變量和變量空間輸入,創(chuàng)建子代種群,進(jìn)而建立新的HFSS工程,進(jìn)行優(yōu)化求解運(yùn)算。更細(xì)化而言,也即首先設(shè)定優(yōu)化算法的種群大小、最大迭代次數(shù)等條件,其次對(duì)所優(yōu)化HFSS工程的進(jìn)行結(jié)果導(dǎo)出操作。導(dǎo)出操作為根據(jù)傳統(tǒng)所選取的優(yōu)化參數(shù),如Sll(回波損耗特性),VSWR(電壓駐波比)等,導(dǎo)出其結(jié)算結(jié)果即可,以最終將結(jié)果調(diào)用到優(yōu)化程序中進(jìn)行適應(yīng)度值的結(jié)算。優(yōu)化程序會(huì)自動(dòng)記錄每代種群中適應(yīng)度最好值,并求出歷代種群的最優(yōu)值,直到達(dá)到程序所設(shè)定的終止條件,獲得適應(yīng)度值最優(yōu)值。
[0024]本發(fā)明所提供的為一種算法思路,其優(yōu)化程序使用PSO算法(粒子群算法)或GA算法(遺傳算法)進(jìn)行正常編寫即可,但并不局限于這些傳統(tǒng)優(yōu)化算法。只要具有某種有效優(yōu)化策略的優(yōu)化算法,均可作為優(yōu)化過程控制的主程序,以引入到該MATLAB聯(lián)合HFSS的優(yōu)化仿真過程中去。而優(yōu)化的初始種群,可根據(jù)優(yōu)化變量的優(yōu)化區(qū)間隨機(jī)生成。新的子代則根據(jù)算法設(shè)計(jì)的優(yōu)化策略進(jìn)行更新;當(dāng)然,各子代的產(chǎn)生還是根據(jù)優(yōu)化算法的子代產(chǎn)生方式而形成的,不同的優(yōu)化算法策略均根據(jù)其常規(guī)算法種類的不同而有所不同,此處就不再一一贅述,只需按照常規(guī)算法正常設(shè)定即可。
[0025]本發(fā)明的將新路徑引入到該MATLAB聯(lián)合HFSS的優(yōu)化仿真過程中去,實(shí)現(xiàn)了對(duì)現(xiàn)有HFSS過程的直接調(diào)用,避免了繼續(xù)使用VBScript腳本對(duì)模型創(chuàng)建過程中要求從初始到模型解析,再到結(jié)果導(dǎo)出的所有過程的記錄要求,免除了前代優(yōu)化環(huán)境建立方法中繁瑣易錯(cuò)的過程,使得MATLAB聯(lián)合HFSS的優(yōu)化仿真這一方法具有更普遍的實(shí)用性。利用本發(fā)明方法中變量數(shù)目、變量名稱、變量范圍的手動(dòng)輸入,且具有很好的魯棒性和容錯(cuò)能力,使得優(yōu)化工程不至于因?yàn)閿y帶有子代HFSS工程信息VBScript腳本的不穩(wěn)定性而發(fā)出錯(cuò)誤,導(dǎo)致優(yōu)化程序終止的現(xiàn)象。利用本發(fā)明中優(yōu)化過程靈活可控,在優(yōu)化時(shí)可將已尋找到的當(dāng)前最優(yōu)值結(jié)果導(dǎo)出并保存,以便于在優(yōu)化計(jì)算的工程中導(dǎo)出和查看已經(jīng)得到的最優(yōu)化結(jié)果,其運(yùn)算過程高效而穩(wěn)定。
【主權(quán)項(xiàng)】
1.一種基于優(yōu)化算法的HFSS工程優(yōu)化方法,其特征在于包括以下步驟: 1)、工程導(dǎo)入步驟: 首先確定所需優(yōu)化的HFSS工程的輸入條件與輸出格式,根據(jù)工程模型設(shè)立優(yōu)化約束條件,建立優(yōu)化程序;將HFSS工程導(dǎo)入優(yōu)化程序中,并預(yù)先確定子代HFSS工程的保存位置,進(jìn)入步驟2); 2)、變量輸入步驟: 利用MATLAB優(yōu)化算法,將被優(yōu)化HFSS工程中的優(yōu)化變量和該變量的取值范圍,輸入到優(yōu)化程序中,并根據(jù)所輸入的優(yōu)化變量名稱和對(duì)應(yīng)的取值范圍,自動(dòng)查找并以子代取值被優(yōu)化HFSS工程中該變量的值;生成子代HFSS工程文件,進(jìn)入步驟3); 3)、HFSS仿真適應(yīng)度計(jì)算步驟: 利用MATLAB優(yōu)化算法,以子代HFSS工程文件進(jìn)行仿真計(jì)算;其中,子代HFSS工程文件中的求解條件和取值范圍均與被優(yōu)化HFSS工程文件相同,僅在變量的優(yōu)化區(qū)間內(nèi)改變優(yōu)化變量的值,以生成該代種群;子代HFSS工程文件進(jìn)行仿真計(jì)算完成之后,再由優(yōu)化程序控制將解算結(jié)果導(dǎo)入并計(jì)算出相應(yīng)的適應(yīng)度值,并將該計(jì)算結(jié)果作為該代種群內(nèi)相應(yīng)子代個(gè)體的適應(yīng)度值,進(jìn)入步驟4); 4)、終止條件判斷步驟: 優(yōu)化程序?qū)⒂涗洸⒈容^本代種群中所有個(gè)體的適應(yīng)度值,并記錄每代種群中適應(yīng)度最好值;同時(shí),根據(jù)優(yōu)化程序內(nèi)預(yù)先設(shè)定的終止條件進(jìn)行判斷,也即當(dāng)前適應(yīng)度值計(jì)算是否達(dá)到優(yōu)化要求或當(dāng)前迭代次數(shù)是否已達(dá)到設(shè)定次數(shù),如全不滿足上述終止條件,則重新返回步驟3),繼續(xù)迭代生成下一子代種群,如滿足上述終止條件其中之一,即可得出歷代種群的適應(yīng)度值最優(yōu)值,并將該最優(yōu)值作為結(jié)果輸出。2.根據(jù)權(quán)利要求1所述的一種基于優(yōu)化算法的HFSS工程優(yōu)化方法,其特征在于:第一代種群的生成為根據(jù)優(yōu)化變量的取值范圍隨機(jī)取值獲得;之后各子代種群則由優(yōu)化程序根據(jù)當(dāng)前子代對(duì)親代信息的繼承和對(duì)全局信息的引入自動(dòng)生成,即根據(jù)優(yōu)化程序自身的子代產(chǎn)生策略產(chǎn)生子代。3.根據(jù)權(quán)利要求1所述的一種基于優(yōu)化算法的HFSS工程優(yōu)化方法,其特征在于:所述優(yōu)化程序米用PSO算法或GA算法編與。
【專利摘要】本發(fā)明屬于HFSS工程仿真設(shè)計(jì)參數(shù)優(yōu)化領(lǐng)域,具體涉及一種基于優(yōu)化算法的HFSS工程優(yōu)化方法。本方法包括以下步驟:工程導(dǎo)入步驟;變量輸入步驟;HFSS仿真適應(yīng)度計(jì)算步驟;終止條件判斷步驟;從而得出歷代種群的適應(yīng)度值最優(yōu)值,并將該最優(yōu)值作為結(jié)果輸出。通過上述方案,本發(fā)明可有效避免因攜帶有子代HFSS工程信息的VBScript腳本的不穩(wěn)定性而產(chǎn)生計(jì)算錯(cuò)誤,進(jìn)而導(dǎo)致優(yōu)化程序終止的狀況;其可在實(shí)現(xiàn)其仿真設(shè)計(jì)簡化性的同時(shí),提升對(duì)其內(nèi)各參數(shù)的優(yōu)化效率。
【IPC分類】G06F17/50
【公開號(hào)】CN104992015
【申請(qǐng)?zhí)枴緾N201510368458
【發(fā)明人】尤龍, 王曉艷
【申請(qǐng)人】安徽四創(chuàng)電子股份有限公司
【公開日】2015年10月21日
【申請(qǐng)日】2015年6月26日