雍龍泉,賈 偉
(1.陜西理工大學 數學與計算機科學學院, 陜西 漢中 723001;2.陜西省工業自動化重點實驗室, 陜西 漢中 723001)
(1)
記向量x=(x1,x2,…,xn),向量函數F(x)=(f1(x),f2(x),…,fn(x))T,則方程組(1)等價于F(x)=0。求解非線性方程組的常見方法是牛頓法以及各類改進的牛頓法[1-11]。近年來,相繼出現了五階牛頓法[12-16]、七階牛頓法[17-19]、八階牛頓法[20-21]、九階牛頓法等[22-23]。當然,收斂階數越高,(從xn到xn+1每迭代一次的)計算量也就越大。因此,在構造高階牛頓迭代法求解非線性方程時,既需要考慮收斂階,更需要考慮計算效率[24]。牛頓型算法依賴于初始點的選取和函數 的性態,事實上初始點的選取本身也是一個比較困難的問題;牛頓型算法在實際計算過程中,若其雅克比矩陣存在奇異點,即det(F’(x))=0有解,則不能直接應用牛頓型算法。
本文假設問題(1)的解存在,建立了求解非線性方程組的梯度下降神經網絡,通過求解唯一解、多個解的非線性方程組,結果表明該方法不依賴初始點。鑒于該方法無需考慮F(x)的雅克比矩陣,因此對雅克比矩陣存在奇異點的非線性方程組也適用,且該方法通過改變初始點,能找到多個解。
為了避免計算F(x)的雅克比矩陣,定義函數
(2)
稱E(x)為能量函數。于是,求解非線性方程組就轉化為求解連續可微的優化問題min E(x)。
梯度神經網絡是基于求解問題(2)的最速下降模型的連續化形式,近年來已廣泛應用于求解非線性互補、二階錐規劃等問題[25-29]。梯度下降神經網絡模型如下:

(3)
參數τ表示梯度下降算法的步長,E(x)表示能量函數E(x)的梯度。該神經網絡的收斂性證明詳見文獻[30-31]。下面來計算一些常見的非線性方程組,以驗證算法的有效性。
給出4個非線性方程組問題(前3個具有唯一解,第4個具有2個解),通過將其轉化為神經網絡(3),采用四階Runge-Kutta法求解微分方程組,程序采用Matlab R2009a(內置函數ode45)編寫。設置E(x)≤1×10-10為終止條件。
問題3的初始點取為x(0)=1×rand(n,1),這里rand表示0~1之間的隨機數;其余問題的初始點取為x(0)=1×rand(n,1)-1×rand(n,1),即初始點在任一象(卦)限隨機選取,這對于具有多個解的非線性方程組,(多次運行)就有可能找到盡可能多的解。
算例1 考慮非線性方程組
其解為x*=(0,0)T。表1給出了參數τ取不同值的計算結果;圖1和圖2分別給出了τ=10時近似解隨時間的變化(軌線)及能量函數隨時間的變化曲線。

圖1 近似解隨時間的變化曲線

圖2 能量函數隨時間的變化曲線
算例2 非線性方程組
其解為x*=(0.068978,0.246442,0.076929)T。表1給出了參數τ取不同值的計算結果;圖3和圖4分別給出了τ=10時近似解隨時間的變化(軌線)及能量函數隨時間的變化曲線。

圖3 近似解隨時間的變化曲線

圖4 能量函數隨時間的變化曲線
算例3 考慮非線性方程組
其解為x*=(0,0,0,0)T。該方程雖形式簡單(第1個方程僅反映了x1與x2的關系,第2個方程僅反映了x1與x3的關系,第3個方程僅反映了x2與x3的關系,第4個方程僅反映了x1與x4的關系,變量之間的相互關聯性較弱),但是求出精確解卻不易。計算可得雅克比矩陣為


圖5 近似解隨時間的變化曲線

圖6 能量函數隨時間的變化曲線

表1 參數τ取不同值的計算結果
算例4 考慮非線性方程組
其解為x*=(3,0.5)T及x*=(81/32,-1/3)T,計算可得雅克比矩陣為
雅克比矩陣的奇異點分布在四條直線x1=0,x2=1,x2=0,x2=-2上。這里雅克比矩陣存在奇異點,故牛頓法不再適用。采用梯度下降神經網絡求解,圖7和圖8分別給出了τ=10時,初始點在不同象限時的近似解隨時間的變化曲線及能量函數隨時間的變化曲線。
本文計算過程表明:針對唯一解的非線性方程組,該方法能夠收斂到其唯一解;針對具有多個解的非線性方程組,該方法能夠找到盡可能多的解;且該算法無需考慮其雅克比矩陣,因此對雅克比矩陣是否存在奇異點都適用。由于線性兩點邊值問題離散化后得到線性方程組,非線性兩點邊值問題離散化后所得到的非線性方程組[32-34],下一步可以利用上面方法求解非線性兩點邊值問題。

(a) 近似解隨時間的變化曲線