宋歡儒 田野 臧晶 冷豐汐
摘? 要:隨著仿真技術(shù)的發(fā)展,仿真模擬驗證越來越重要。然而多學(xué)科仿真致使仿真過程中產(chǎn)生的代數(shù)環(huán)問題還未得到重視。為了解決聯(lián)合仿真中的代數(shù)環(huán)問題,該文對牛頓下山法進行優(yōu)化,通過替換雅可比矩陣提高計算速度,并將算法應(yīng)用在FMI聯(lián)合仿真系統(tǒng)中,成功驗證了優(yōu)化后的代數(shù)環(huán)求解算法的有效性與實用性。
關(guān)鍵詞:FMI仿真系統(tǒng)? 代數(shù)環(huán)? 牛頓下山? 求解算法
中圖分類號:TP393.08? ? ? ? ? ? ? ? ? ? 文獻標(biāo)識碼:A文章編號:1672-3791(2021)05(b)-0053-03
Abstract: With the development of simulation technology, the simulation verification of actual industrial products is becoming more and more important. However, the problem of algebraic loop caused by multidisciplinary simulation has not been cared by most people. This paper optimized the Newton Downhill method to improve the calculation speed by replacing the Jacobian Matrix to solve the algebraic ring problem in the co-simulation, and applied the algorithm in the FMI co-simulation system, and successfully verified the effectiveness and practicability of the optimized algebraic ring solving algorithm.
Key Words: FMI Simulation System; Algebraic loop; Newton downhill method; Solution Algorithm
FMI標(biāo)準(zhǔn)的聯(lián)合仿真技術(shù)已被許多仿真軟件所使用,仿真過程中的代數(shù)環(huán)問題求解方案中,求解時間較長影響仿真速度。該文通過對代數(shù)環(huán)求解算法進行優(yōu)化,替換需要較長計算時間的雅可比矩陣,并將優(yōu)化算法應(yīng)用在FMI仿真系統(tǒng)中,在解決代數(shù)環(huán)問題的同時,提高仿真速度[1-2]。
1? 優(yōu)化代數(shù)環(huán)求解算法設(shè)計
聯(lián)合仿真過程中的代數(shù)環(huán)問題就是由仿真模型之間的耦合關(guān)系造成的,即為各模型之間的連接構(gòu)成環(huán)路,無法確定輸出輸入順序的問題[3]。將其解析為數(shù)學(xué)問題即為對非線性方程組的求解問題[4]。該文設(shè)計牛頓下山法對非線性方程組進行求解[5-6],整個流程分為3個部分:一是對各參數(shù)、變量進行定義與設(shè)計;二是符合下山條件后的迭代計算;三是不符合下山條件后通過修正向量值直至達(dá)到下山條件要求。算法流程圖見圖1。
使用python語言對牛頓下山代數(shù)環(huán)求解算法進行仿真方法設(shè)計,具體如下。
(1)設(shè)計main( )主函數(shù),可修改函數(shù)中所存儲的方程組內(nèi)容,包括方程組等式、向量等。
(2)設(shè)計down( )函數(shù),完成定義變量、設(shè)計求解表達(dá)式中包含差分函數(shù)等函數(shù)表達(dá)式。
(3)設(shè)計done( )函數(shù),實現(xiàn)牛頓下山算法過程中的下山判決及對非線性方程組求解的迭代循環(huán)。
設(shè)計差分方法對原算法中的雅可比矩陣進行替換,即為該文的優(yōu)化代數(shù)環(huán)求解算法。優(yōu)化后的求解迭代式為:
2? 仿真與分析
為了驗證該文設(shè)計的優(yōu)化代數(shù)環(huán)求解算法的正確性及高效性,將算法應(yīng)用在FMI仿真系統(tǒng)中進行模擬驗證,并對仿真結(jié)果進行分析。將仿真模型飛行員、風(fēng)模型、變體制動器、飛行器動態(tài)模型、控制器連接成仿真模型耦合圖,具體見圖2。對變體制動器的輸出端口2進行仿真結(jié)果分析。提示仿真模型耦合圖中含有代數(shù)環(huán)結(jié)構(gòu)提示,具體見圖3。
未優(yōu)化的代數(shù)環(huán)求解算法仿真結(jié)果見圖4,優(yōu)化后的代數(shù)環(huán)求解算法仿真結(jié)果見圖5。
將仿真過程中后臺的仿真日志進行截取,對優(yōu)化前后的代數(shù)環(huán)求解算法的計算時間進行對比見圖6、圖7。
對比兩次仿真結(jié)果,可以看出優(yōu)化后的代數(shù)環(huán)求解算法可以對代數(shù)環(huán)問題進行正確求解;且優(yōu)化后的代數(shù)環(huán)求解算法的計算時間為0.548 080 s,比未優(yōu)化時所用的時間0.697 038 s短。因而可驗證該文設(shè)計的基于FMI仿真系統(tǒng)的代數(shù)環(huán)求解算法的正確性和高效性。
3? 結(jié)語
該文首先對FMI仿真系統(tǒng)仿真過程的代數(shù)環(huán)問題進行闡述,提出利用牛頓下山法的代數(shù)環(huán)求解算法,并在原有算法基礎(chǔ)上對其進行優(yōu)化,設(shè)計差分函數(shù)替換雅可比矩陣從而提高算法的計算速度。最后在FMI仿真系統(tǒng)中對含代數(shù)環(huán)結(jié)構(gòu)的仿真模型耦合系統(tǒng)進行仿真模擬驗證,通過對仿真結(jié)果及后臺日志數(shù)據(jù)的對比,為代數(shù)環(huán)求解算法的正確性提供了驗證。
參考文獻
[1] 郭永.編隊飛行航天器有限時間協(xié)同控制[D].哈爾濱工業(yè)大學(xué),2016.
[2] 胡全義.基于鍵合圖的多領(lǐng)域統(tǒng)一建模與仿真技術(shù)研究[D].大連理工大學(xué),2017.
[3] 李志鵬,馬龍祥,孟旭,等.基于Matlab的SAW模態(tài)耦合模型的仿真研究[J].重慶理工大學(xué)學(xué)報:自然科學(xué)版,2018,32(4):10-15.
[4] 王靜,孫春虎,方愿捷.基于牛頓迭代控制的分區(qū)動態(tài)無功補償建模與仿真[J].巢湖學(xué)院學(xué)報,2020,22(6):104-114.
[5] 冷豐汐,陳永恒.一種求解代數(shù)環(huán)問題的python仿真實現(xiàn)方法[J].電子世界,2020(15):93-94.
[6] 王樂成,赫亞蘭,韓新麗,等.對牛頓迭代法的改進[J].高師理科學(xué)刊,2020,40(3):23-26.