近年來,工程優化設計的理論和方法得到了極大的發展和完善。隨著計算機技術的快速發展,智能優化技術已成為設計自動化的壹個重要方面。基於非線性規劃理論的優化技術是工程優化設計的主要基礎,如何找到問題的全部最優解和全局最優解壹直是從事優化技術研究的人們努力探索的課題。優化模型的單調性分析是解決這個問題的壹種方法。參考文獻【1 ~ 6】中基於單調性分析的優化技術的基本思想是通過對目標函數和約束函數的單調性分析,找出問題的松弛性、緊性和控制約束,將原問題分解為相對簡單和易於求解的子問題,大大提高了找到問題全局最優解的可能性。子問題的特點是所有約束都是緊約束(等式約束),因此問題可以歸結為壹組非線性代數方程(或等式約束)的求解。
Powell,Yuan和Vardi針對上述等式約束子問題提出了壹些方法【7,8】,但提出的方法壹般不能得到問題的所有解,因此容易將有用子問題視為冗余子問題而丟失原問題的最優解。此外,求解該非線性代數系統的傳統數值叠代法也存在初值選取問題,通常壹次只能得到壹個數值解。上述所有方法都只適用於數值優化模型,無法求解符號優化模型(即模型中的已知系數是符號而不是具體值)。尋找符號模型的最優解顯然具有很大的實用價值。最優解的符號表達式是各種參數條件下優化設計問題的壹般解。它可以用來分析各種參數對解的影響,以指導實際設計,同時也簡化了具體設計。符號模型的求解只能通過非數值叠代的代數方法來實現。
Groebner基方法是壹種求解非數值代數系統的非數值叠代代數方法。其基本思想是通過對多項式環中的變量和多項式項進行適當排序來約簡原非線性多項式代數系統,最終生成與原系統等價且易於直接求解的標準基(Groebner基)。傳統的結式消元法也可以是壹種求解符號非線性代數系統的代數方法,但它對具體問題的消元技巧的依賴程度較高,並且會產生根。
參考文獻【9】和【10】提出了壹種基於單調性分析和Groebner基方法求解符號模型優化問題最優解的方法,但他們在使用Groebner基方法求解子問題時,采用了傳統的變量替換和淘汰方法,沒有解決Groebner基方法的重要排序問題,從而影響了方法的有效性。本文在利用單調性分析和Groebner基方法求解符號優化問題時,根據子問題等價方程的特點,提出了對兩個項和變量進行排序的規則,以便更快速有效地生成符號“三角”Groebner基,即優化問題解的符號表達式。文中給出的算例表明了該方法在尋找優化問題的符號最優解方面的優越性和有效性。
2基於Groebner的方法簡介【11】
關於Groebner基(簡稱GB)法的知識可以在相關文獻中找到(例如文獻【11】)。這裏,我們通過壹個簡單的例子來說明如何用這種方法生成多項式代數系統的GB。
有壹個多項式系統f = {f1,F2},其中:
f1=ax2+bxy
F2 = cx2+dy2(1)
其中:x,y-變量;
符號形式的a、b、c、d系數。
對於f1,f2的各項按字典法排序,變量的順序為y《tx,則多項式對應的主冪乘積為:lpp(f 1)= x2,lpp(F2)= x2,因為lpp(f 1)/lpp(F2)= 65438+。
f 1′= cf 1-af2 = cbxy-ad y2(2)
現在找出f 1‘和f2的S多項式f3:
F3 = S(f 1′,F2)= xf 1′-by F2 =-adxy 2-bdy 3(3)
由於LPP(F2)可被LPP(f 1’)整除,即lpp(F2)/lpp(f 1’)= xy2/xy = y,因此f3可相對於f 1’簡化為F3’:
F3′= CB F3+adyf 1′=(-cb2d-a2 D2)y3(4)
然後求f 1‘和F3‘的S多項式f4:
F4 = S(f 1′,F3′)= y2(-cb2d-a2 D2)f 1′-cbx F3′= ad(cb2d+a2 D2)y4
(5)
F4可以簡化為F4‘相對於F3‘:
F4′= F4+ady F3′= 0(6)
類似地,f2和F3’的S多項式也可以相對於F3’降為零。最後,F的等價Groebner基(GB)為G = {G1,g2,G3 } = { F3’,F 1’,F2},G是三角化的,即:
g 1 = F3′= g 1(y)
G2 = f 1′= G2(x,y)(7)
G3 = F2 = G3(x、y)
對應於公式(7)的方程組是對應於F的方程組的解的符號表達式..如果需要特定的解,Y可以由公式(7)中的g1=0 = 0得到,然後將Y代入g2 = 0和g3 = 0,那麽g2和g3的GCD(最大公因式)的根就是X的解..顯然,上述示例的歸約非常簡單,我們只想說明生成GB的歸約過程。對於復雜系統,約簡和生成GB是通過特殊算法(如Buchberger算法)在計算機上自動完成的。
基於單調性分析和Groebner基方法的符號優化
3.1確定最佳符號解的方法概述
參考文獻【9,10】提出了壹種確定最優設計符號最優解的方法。這種方法的基本思想如下:
(1)通過單調性分析和符號化處理將優化設計的原問題轉化為若幹個子問題【2,11】;
(2)子問題的所有約束都是緊約束(等式約束),每個子問題的緊(等式)約束集合構成壹個等價系統;
(3)對於每個由等價等式約束集組成的代數系統,確定其GB,即對應子問題最優解的符號表達式;
(4)使用任何傳統的數值算法求解每個GB對應的三角代數方程組,可以得到每個子問題的所有數值最優解;
(5)由於子問題與原問題的等價性,還得到了原問題最優解的符號表達式和原問題的所有數值最優解。
如果無法生成GB,則使用同倫連續法來尋找數值解。在他們的研究中,生成GB的還原過程使用了傳統的替代消除法。
3.2子問題的數學模型
考慮以下優化設計問題(PL):
量滴f(X)
s . t . HJ(X)= 0(j = 1,2,…,q)(8)
gi(X)≤0(I = 1,2,…r)
其中:x =(x 1,x2,…,xn)t-設計變量;
f(x)-目標函數;
HJ(X)和gi(X)-等式和不等式約束,邊界約束(變量的上界和下界)包含在不等式約束中。
通過單調性分析和符號化處理,優化設計問題(PL)可以轉化為若幹子問題(SPL),其數學模型如下:
量滴f(X)
s . t . HJ(X)= 0(j = 1,2,…,q)(9)
gi(X)= 0 I∈K
其中:k是對應於緊約束的原問題(PL)的編號集。
3.3 GB方法確定子問題的符號解
顯然,如果對子問題對應的生成的等價約束多項式方程組的GB進行三角化,那麽由壹系列壹元方程表示的GB可以看作子問題最優解的符號表達式,也可以看作原問題(PL)最優解的符號表達式。
由於變量和項的不同排序會導致代數系統的不同多項式約簡,因此變量和項的排序是影響生成GB的效率和結果的關鍵因素,只有適當的排序才能生成GB。到目前為止,最常用的排序方法是試錯法,這限制了生成GB的效率。通過分析子問題等價方程組的特點,提出了選擇和排序的兩個準則,根據這兩個準則可以快速有效地生成“三角化”的GB。子問題等價方程組的主要特征是:
(1)系統中的多項式是帶符號多項式,某些變量的冪是負整數。
(2)壹些來自邊界約束的多項式是壹元線性多項式,看起來像Xi-西明或Xi-西明;
每個方程中的項數通常很少。
特征1:表示為了應用現有算法(如Buchberger算法)生成GB,必須轉換系統的數學模型。符號多項式需要轉換成等價多項式。
以下兩個選擇和排序標準基於功能2和功能3:
標準1:給定項目的字典排序。如果變量的數量為n≥4,則只取n種變量,並且n種變量中的每壹種都放在n種排序的末尾。
當變量數n較大時,可能的排序數,即n!非常大,順序中的最後壹個變量將是第壹個多項式中的變量,該多項式僅包含生成的“三角化”GB中的壹個變量。此時,其他變量順序的選擇不會影響生成基的結構。因此,標準1可以省略(n!不重要的種類。
標準2:給定項目的字典排序。設變量個數為n,有上下限約束的變量個數為ns,則只取(n-ns)!各種各樣的變量。
事實上,無論具有邊界約束的變量如何排序,這些變量始終是相應多項式的主冪積(LPP),因此它們都可以用於約簡其他多項式,因此這些變量的排序不會影響生成的GB的結構形式。當n較小時,ns較大時,準則2可以大大提高生成GB的計算效率。
接下來,我們提出壹種算法來為優化設計子問題生成GB:
(1)對於壹個子問題,將數學模型轉化為適合Buchberger算法的形式;
(2)選擇項目的字典排序;
(3)確定變量的順序。如果n-ns《4,則根據標準2選擇排序,否則根據標準1選擇排序;
(4)使用Buchberger算法生成GB,如果(三角化的)GB已經生成,則轉到(7),否則轉到下壹步;
(5)根據總功率法對項目進行排序,然後通過Buchberger算法生成GB;
(6)將生成的國標轉換為三角國標;
(7)輸出結果並停止。
4個例子
下面是普通圓柱蝸桿傳動減速器符號優化設計的數學模型【10】:
min . f(X)= 0.25πx32x 3(UX 1-3x-11-2)2x-21
科學技術。
g4: Z2min≤ux1≤Z2max :g5
g6: Mmin≤x2≤Mmax :g7
g8: qmin≤x3≤qmax :g9
式中:x1,x2和x3分別為蝸桿頭數、模數和特性系數;
X4——簡化求解過程的輔助中間變量;
T2-輸出軸扭矩;
u-傳動比;
【σF】和【σh】-許用應力;
YF2-齒寬系數;
η-傳輸效率;
k、ψ和Q2常數。
通過單調性分析和計算機符號處理,得到以下十個子問題【9,10】:
SPL1: g1,g2,g3,h3 SPL6: g1,g2,g8
SPL2: g3、g2、g4、h3 SPL7: g2、g4、g8
SPL3: g2、g3、g6、h3 SPL8: g2、g6、g8
SPL4: g1、g2、g7 SPL9: g3、g5、g6、h3
SPL5: g2、g4、g7 SPL10: g5、g6、g8
為簡單起見,設q1 = q21,2,f =,a = 4q2,b = 6q22,c = 4q32,d = q42,g = z2min,h = mmin,i = mmax,j = qmin。子問題中的符號多項式可以轉化為以下多項式:
g1=a3b3c-q0 g4=ua-G
g2=a2b6+b6c2-a2Q1 g5=ua-K
G3 = b5 C4-ab5c 3+bb5c 2-Cb5c+Db5-d g6 = B- H
h3=d2c2-Ea2-Fc2 g7=b-I
g8=c-J
讓我們逐個解決子問題。
子問題1(spl 1)的等價方程組不包含壹元多項式,因此最難求解。按字典排序項目時,全部4!= 24種變量無法生成GB。選擇要排序的項目的總冪時,可以通過對任何變量進行排序來獲得“非三角化”的GB,例如,取b《ta《TD《TC,生成的GB為:
B6 a6+系數11.a6+系數12 = 0(a)
b2a4c 3+coef 21 . a4c 2+coef 22 . b2a4c+coef 23 . B2C+coef 24 . d+coef 25 . a4
+coef 26 . B2 a4+coef 27 . a2+coef 28 . b5+coef 29 = 0(b)
b3c+coef 31 . b6a 4+coef 3 . a4 = 0(c)
a6c+系數41 . c+系數42 . a4 = 0(d)
D2+系數51.a6+系數52 = 0(e)
(10)
coefij(I = 1,2,..., 5;J = 1,2,…,9)都是用已知參數表示的符號系數。由於篇幅有限,我們在此僅列出coef11的表達式:
coef 11 =(-(-(-q 1)/(-Q0))/(-(-1/(Q0))
方程(10)中多項式的結構表明,通過代換和消元很容易將其轉化為三角形式。從公式(a)、(b)和(e)中,我們得到:
(六)
c =-系數42 . a4(a6+系數41)-1(g)
(h)
將方程(f)、(g)和(h)代入方程(b)和(c),我們得到兩個只有變量a的多項式。它們與方程(f)、(g)和(h)壹起構成SPL1的新“三角化”GB,即SPL1。我們還指出,文獻【9,10】中提出的方法不能為這個子問題生成GB。
對於子問題SPL2,有壹個壹元線性多項式,即:Q4 = UA-G .此時可以使用準則2,即選項和(4-1)的字典排序!= 6種變量A、變量排序用任意排序。對於以下四種變量排序,我們都獲得了相同的“三角化”GB:
a《Tc《Tb《Td,c《Ta《Tb《Td,
c《Tb《Ta《Td,c《Tb《Td《Ta
生成的GB為:
a+系數11=0
c2+coef21.c+coef22=0
B2+coef 31 . c+coef 32 = 0(11)
d+系數41 . CB+系數42.b=0
其中:coefij(I = 1,2,…,4;J = 1,2)與SPL1中的含義相同,但它具有不同的表達式,例如,COEF 11 =-g/u
對於SPL3至spl 19,有壹個或兩個壹元線性多項式,我們可以按照與SPL2中相同的方式生成相應的GB。由於篇幅的限制,這裏省略了求解結果。
對於SPL10,有三個壹元線性方程,我們直接得到結果:
a=-K/u,b=H,c=J
生成子問題SPL 1~9的三角剖分是在Sun工作站上用Buchberger算法用Fortran語言完成的,CPU時間在0.08秒之間..0.28秒..分別是。