余 璟 岳振軍 賈永興
(陸軍工程大學通信工程學院,江蘇 南京210000)
數學建模(Mathematical Modeling)是近幾十年來出現的新詞匯,但是運用數學方法解決那些數量規律的實際問題,卻是始終伴隨著人類社會的產生和發展的[1]。運用數學方法解決實際問題的首要一步是建立研究對象的數學模型,再借助計算機加以計算求解。數學模型,是對于現實世界的一個特定對象,為了一個特定目的,根據特有的內在規律,做出一些必要假設,運用數學符號、數學公式、程序、圖形等對問題本質屬性做出抽象而又準確的刻畫,便于人們更深刻地認識所研究的對象[2]。
針對某一對象或問題建立數學模型,能夠對客觀規律進行量化的準確描述,或根據已有信息估測某特定參數的變化趨勢,以便于做出合理決策。
數學建模,一般待解決的都是有著實際應用背景的問題,往往還需要相關的詳細資料。建立數學模型的方法多種多樣,常見方法包括機理分析方法、構造分析方法、直觀分析方法、數值分析方法等[3]。
數學建模的一般過程如圖1所示,其中,問題分析指的是分析待解決的實際問題和已知信息,明確要解決的問題是什么;模型假設指的是對問題進行合理的簡化,抓住問題中的主要矛盾,合理地忽略次要矛盾,能夠提高建模的效率和成功率;模型建立指的是綜合運用數學方法建立實際問題的數學模型;模型求解指的是采用數學知識求解數學模型中的變量,對于較為復雜的模型,模型求解往往需要借助計算機來實現;求解模型后,還需要對求解的物理內涵和實際意義做出必要解釋,并說明該模型的適用條件、分析解的誤差,等等;最后,還要將所建立模型以及求解結果應用到實際問題中,進行檢驗和修正,建模工作才算基本完成。

圖1 數學建模的一般過程
“優化”是生活中經常使用的詞:坐出租車時希望司機不繞彎路、走優化路線;逛超市時考慮各種優惠活動,希望獲得最大優惠;企業推出新產品要綜合考慮成本與市場吸引力,對資金進行優化配置,等等。這些問題都是“最優化問題”,也是數學建模中的典型問題,解決最優化問題的數學方法就是“最優化方法”。最優化方法的出發點是系統思維,最優化方法的基本思路是在一定的約束條件下,保證各方面資源的合理分配,最大限度地提升系統某一性能或系統整體性能,最終實現最理想結果。
運用最優化方法建立并求解數學模型,主要包括以下步驟:
(1)明確目標,分析問題背景,確定約束條件,搜集全面的客觀數據和信息;
(2)建立數學模型,構建變量之間的數學關系,設立目標函數;
(3)分析數學模型,綜合選擇最適合該模型的優化方法;
(4)求解模型,通常借助計算機和數學分析軟件完成;
(5)對最優解進行檢驗和實施。
梯度下降法是經典的最優化方法之一[4],其核心思想是高等數學中的導數理論。梯度下降法實現最優化的原理是,每次迭代更新目標函數時,都以該變量導數(即梯度)的反方向作為更新參數的方向,最終解一定會收斂于最優解。這個原理類似于走下坡路時,總是沿著最陡峭的方向向下走,最后就一定會走到坡底。
梯度下降法的實現簡單,但是求解計算時間長,因此基于梯度下降法發展了很多改進算法,包括隨機梯度下降法、小批量梯度下降法等,能夠有效改善計算成本高的問題。
懲罰函數法,指的是引入懲罰因子和懲罰函數的最優化方法[5]。具體來說,懲罰函數的思想是:將最優化問題中的約束條件視為圍墻,而迭代更新的解視為在圍墻內運動的粒子,一旦粒子靠近圍墻,對應的懲罰因子數值就會增大,導致懲罰函數值增大,反之,粒子遠離圍墻時,懲罰函數值就減小。建立了這種懲罰機制后,在每次迭代過程中,模型為了“避免被懲罰”,逐漸趨近于約束邊界,從而找到了最優解。
懲罰函數法對模型的訓練雖然“簡單粗暴”,但是原理直觀、實現門檻低,是實際工程中備受青睞的最優化方法。
不同于梯度下降法和懲罰函數法,遺傳算法并非依據導數理論提出的算法[6],而是一種模擬生物在自然屆中進化規律的一種智能算法。自然界的生物進化遵循適者生存和優勝劣汰,即能夠適應環境變化或基因變異的個體才能夠參與到進化。遺傳算法的優化原理與之類似:每一次迭代時,通過計算各個個體的適應度,從中隨機地選擇兩個個體作為父母,繁殖后代,同時誘發子代的染色體變異,重復迭代,當出現最大適應度的子代時,即認為獲得了最優解,循環結束。
與梯度下降法、懲罰函數法相比,遺傳算法以生物進化為原型,收斂性較好,在計算精度要求時,具有計算時間少、魯棒性高的優勢。
與遺傳算法類似,蟻群算法也是受啟發于生物的一種最優化方法[7]。生物科學家發現螞蟻經過的路上都會有一種特殊物質,并且蟻群中的螞蟻對該物質高度敏感,由于該物質濃度越高,代表著路途長度越短,想要走“捷徑”的蟻群們都會選擇濃度較高的道路行走,“捷徑”經過的螞蟻越多,特殊物質的濃度就越高,物質濃度積累到一定程度,所有螞蟻都會被吸引到最佳捷徑上來,都能以最快速度找到食物了。蟻群算法解決最優化問題,就是利用了其分布計算和信息正反饋的特點。
蟻群算法適合解決參數多、緯度高等復雜問題,但同時容易陷入局部最優解,因此針對該方向的改進算法也是近年來的研究熱點。
最優化問題是實際應用中常見的一類問題,關于最優化方法的討論與研究也一直是相關領域的熱點。為不同的數學模型選擇合適的最優化方法,是數學建模領域最有價值的研究方向,不僅促進了數學方法的深入探究,也推動了科學和工程的進步。