股票量化交易軟件:種群優(yōu)化算法引力搜索算法(GSA)

赫茲量化軟件帶領(lǐng)大家學習什么是引力搜索算法。引力搜索算法(GSA)由 E. Rashedi 提出,專門用于解決優(yōu)化難題,尤其是那些非線性問題。該算法取其靈感來源于牛頓的萬有引力定律,借助自然界中的引力現(xiàn)象來尋找解決方案。
1. 引力與萬有引力定律
在 GSA 的框架中,粒子被視作物體,通過其質(zhì)量來估計性能。引力,質(zhì)量間相互加速的趨勢,是自然界四大基本力之一,與電磁力、弱核力和強核力齊名。
宇宙中的每個粒子都會吸引其他粒子,重力無處不在,雖然它是四大力中最弱的一種,卻也是最顯著的力量。正是由于引力,人們能夠在地球上行走,行星能夠繞太陽運行。引力與物體的質(zhì)量成正比,因而質(zhì)量較大的物體具有更強的引力。重力的普遍性使其與其他自然力有所區(qū)別。艾薩克·牛頓(Isaac Newton)將其稱為歸納推理,并將其納入于 1687 年首次出版的《自然哲學數(shù)學原理》一書中。
然而,1686 年牛頓向皇家學會提交未出版書稿時,羅伯特·胡克(Robert Hooke)曾聲稱牛頓是從他那里獲得了平方反比定律的靈感。用現(xiàn)代語言來說,這一定律表明所有“點質(zhì)量”通過沿任兩點連線的作用力互相吸引。
2. 算法概述
本文引入了一種基于牛頓萬有引力定律的優(yōu)化算法。在這一算法中,搜索代理者表現(xiàn)為一組基于牛頓引力和運動定律互動的質(zhì)量。代理者可以根據(jù)質(zhì)量和它們之間的距離的吸引力交換信息。
2.1 主要概念
代理者被視為物體,其適應(yīng)性由其質(zhì)量來衡量。在模擬接近真實物理定律的情況下,所有這些物體都受到相互的引力吸引,這種力推動物體朝向具有更大質(zhì)量的方向移動。
在經(jīng)典的 GSA 中,每個粒子的質(zhì)量分為三類:主動質(zhì)量、被動質(zhì)量和慣性質(zhì)量。為了簡化代碼和提高效率,這些質(zhì)量通常被認為是相等的,因此算法中只有一個質(zhì)量。
2.2 GSA 算法步驟
代理者初始化:所有代理者都是隨機初始化的。為了確保穩(wěn)定性分析的有效性,均衡的初始條件至關(guān)重要。
適應(yīng)度進化:GSA 的可靠性和有效性取決于探索和研究之間的平衡。初步階段優(yōu)先搜索空間,之后則細化搜索空間。
引力常數(shù)計算:引力常數(shù)是一種涉及引力效應(yīng)計算的經(jīng)驗物理常數(shù),在牛頓定律和愛因斯坦的廣義相對論中有所運用。
代理者質(zhì)量計算:質(zhì)量是空間中物質(zhì)的測量。
2.3 算法偽代碼
以下是 GSA 算法的偽代碼:
隨機生成物體系統(tǒng)。
判定每個物體的適應(yīng)度。
更新引力常數(shù)的值,計算質(zhì)量,最佳和最差物體。
計算每個坐標上的作用力。
計算物體加速度和速度。
更新物體的位置。
判定每個物體的適應(yīng)度。
從第 3 步開始重復,直到滿足終止條件。
3. 結(jié)構(gòu)和代碼概覽
為了在 GSA 中描述引力相互作用系統(tǒng)的物體,我們定義了 S_Object 結(jié)構(gòu),包括滿足物體進行引力搜索的所有必要物理屬性,如坐標、速度矢量、物體質(zhì)量、適應(yīng)度值、歐幾里得距離以及作用力矢量。
這一版本的文章改進了結(jié)構(gòu),增加了清晰的段落和標題,有助于讀者更好地理解主題和算法的細節(jié)。
