鄧偉 熊浩奇 余紹軍 顏淑婷
摘要:隨著水運(yùn)交通的不斷發(fā)展,船閘作為重要的水利工程設(shè)施,在調(diào)節(jié)和控制船舶通行方面發(fā)揮著關(guān)鍵作用。合理且高效的船閘閘室編排對(duì)于提高船舶的通過(guò)效率具有至關(guān)重要的作用。該研究將粒子群算法引入船閘閘室編排問(wèn)題中,將每個(gè)粒子視為一個(gè)可能的船閘閘室編排方案。通過(guò)不斷的迭代優(yōu)化,粒子群算法能夠?qū)ふ业阶顑?yōu)的編排方案,從而使得船舶的通過(guò)時(shí)間達(dá)到最短。文章提出的算法能夠有效地提高船舶的通過(guò)效率,優(yōu)化船閘閘室的利用,具有實(shí)際應(yīng)用的潛力和價(jià)值。
關(guān)鍵詞:船閘閘室編排;粒子群算法;編排問(wèn)題
中圖分類號(hào):TP311? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2024)09-0012-03
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID)
1 緒論
船閘作為水運(yùn)交通中的重要設(shè)施,對(duì)于船舶的順利通過(guò)和水運(yùn)運(yùn)輸?shù)捻槙尺M(jìn)行起著至關(guān)重要的作用。船閘閘室編排是指根據(jù)不同船舶的尺寸、通過(guò)時(shí)間等因素,合理安排船舶在閘室中的順序和位置,旨在提高閘室利用率和船舶通過(guò)的效率[1]。然而,隨著船舶規(guī)模和運(yùn)輸需求的不斷增加,傳統(tǒng)的船閘閘室編排方法已經(jīng)難以滿足實(shí)際需求,因此需要尋求更優(yōu)化的算法來(lái)解決該問(wèn)題。本論文的研究目的是基于粒子群算法(PSO) 提出一種優(yōu)化的湘江船閘閘室編排算法。該算法將通過(guò)數(shù)據(jù)分析和數(shù)學(xué)模型的建立,與粒子群算法相結(jié)合,以求得最優(yōu)的閘室編排方案。
2 船閘閘室編排的數(shù)學(xué)模型
本文將船舶簡(jiǎn)化為小矩形,因此船舶編排的過(guò)程可以簡(jiǎn)化為小矩形填充大矩形的過(guò)程,即在編制計(jì)劃內(nèi)填船(排擋),如圖1所示[2]。在計(jì)劃編制船舶時(shí),船舶是否被選中以及選中后所處的位置都會(huì)對(duì)編排結(jié)果產(chǎn)生影響。
為了保證船舶先到先過(guò)原則,同時(shí)兼顧船舶優(yōu)先級(jí),通過(guò)對(duì)船舶綜合權(quán)重的計(jì)算,船舶過(guò)閘按綜合權(quán)重大小進(jìn)行排序,并生成有序的船舶流。文中符號(hào)定義:i,j為船舶編號(hào);xj為第i艘船舶以O(shè)為原點(diǎn)在船閘的??繖M坐標(biāo);yi為第i艘船舶以O(shè)為原點(diǎn)在船閘的??靠v坐標(biāo);ai為第i艘船舶的面積;m為己選船舶總數(shù);n為待選船舶總數(shù);A為船閘閘室面積;L為船閘閘室有效長(zhǎng)度;M為船閘閘室有效寬度;leni為第i艘船的長(zhǎng)度;widi為第i艘船的寬度[3]。
閘室編排的過(guò)程中,由于不同的船舶的進(jìn)閘組合方案對(duì)于平均待閘時(shí)間影響不大,因此主要優(yōu)化閘室面積利用率,閘室編排的目標(biāo)是最大化閘室面積利用率,如式(1) 所示。
[maxf=i=1maiA]? ? ? ? ? (1)
選擇進(jìn)入某一閘次的船舶必須滿足以下約束條件:
1) 所有選中的船舶能全部排下:
[i=1mai≤A]? ? ? ?(2)
2) 每條選中船舶的尺寸必須小于船閘的尺寸:
[0 [0 3) 所有選中的船舶放置位置不可與其他船重疊,假如船舶j是已選船舶中除i以外的任意一艘,則必須滿足: [xi+leni≤xj]或[xi≥xj+leni]或 [yi+widi≤yj]或[yi≥yj+widi]? (5) 3 船閘閘室編排的算法求解 船舶的配置方法需要考慮排隊(duì)論,假設(shè)所選船閘閘室有m個(gè)備選船舶站址,通過(guò)估算需要新增n~k(n<k) 個(gè)船舶,可得所有可能的方案有[i=nkCin]個(gè)。再進(jìn)一步根據(jù)式(2) 、式(3) 、式(4) 、式(5) 的約束條件,可以篩選出一部分可行的船舶位置優(yōu)化方案。對(duì)上述篩選的可行的優(yōu)化方案進(jìn)行計(jì)算時(shí),只需要考慮各船舶個(gè)數(shù)在最小個(gè)數(shù)和最大個(gè)數(shù)之間這一約束條件。利用MATLAB進(jìn)行編程對(duì)模型進(jìn)行求解,具體求解過(guò)程如下[4]: 1) 本文將Voronoi圖進(jìn)行左右分塊,進(jìn)行柵格化;確定船舶坐標(biāo)、船舶最大最小尺寸及船閘閘室容量以及其他相關(guān)參數(shù);將船舶坐標(biāo)、船閘閘室容量利用多維數(shù)組進(jìn)行表示。 2) 將船舶坐標(biāo)和船閘閘室容量等其他相關(guān)參數(shù)帶入粒子群算法,以最大化閘室面積利用率為主要優(yōu)化目標(biāo),以船閘閘室容量為約束條件,搜索滿足約束條件規(guī)劃方案的最優(yōu)解。 3) 得到閘室面積利用率,作為粒子群算法的適應(yīng)度值,記錄個(gè)體極值和全局極值。 4) 若未達(dá)到迭代次數(shù),則更新粒子速度與位置信息作為新的船舶編排方案,重新進(jìn)行搜索。 5) 若達(dá)到迭代次數(shù),則得到最大化閘室面積利用率的編排方案,以數(shù)據(jù)和Voronoi圖進(jìn)行顯示。 利用Voronoi圖及粒子群優(yōu)化算法對(duì)模型求解流程如圖2所示。 4 閘室面積利用率與待閘時(shí)間的優(yōu)化 在閘室編排的過(guò)程中,閘室面積利用率與待閘時(shí)間的優(yōu)化時(shí),最大化閘室面積利用率,如式(6) 所示,平均待閘時(shí)間最短的如(7) 所示[5]。 [maxf=i=1maiA]? ? ? ?(6) [max(m/i=1mbi)]? ? ?(7) 閘室面積利用率與平均待閘時(shí)間的優(yōu)化的多目標(biāo)函數(shù)為: [maxλi=1maiA+(1-λ)m/(i=1mbi)]? ? (8) 其中:i為船舶編號(hào);bi為船舶i的等待時(shí)間;[λ]為權(quán)重參數(shù)。必須滿足以下約束條件還是如式(2) ~式(5) 。 5 算法優(yōu)越性驗(yàn)證與結(jié)果分析 本文利用湘江船閘閘室2023年4月份的閘室使用情況,使用本文提出的粒子群算法得出結(jié)果與人工編排進(jìn)行比較,如表1所示。 如表1所示,使用粒子群算法的船閘閘室容量比使用人工編排高,說(shuō)明本文的算法具有很高的適應(yīng)性。 在[λ]=0.5下的湘江船閘閘室利用率和等待時(shí)間情況如表2所示。 在[λ]=0.8下的湘江船閘閘室利用率和等待時(shí)間情況如表3所示。 如表2和表3所示,使用粒子群算法的船閘閘室容量比使用人工編排高而且等待時(shí)間也較人工編排短,說(shuō)明本文的算法具有很高的適應(yīng)性。 6 結(jié)束語(yǔ) 本文針對(duì)湘江船閘的閘室編排問(wèn)題,提出了一種基于粒子群算法的優(yōu)化方法。首先對(duì)湘江船閘的運(yùn)行情況和問(wèn)題進(jìn)行了調(diào)研和分析,包括船舶尺寸、通過(guò)時(shí)間、閘室容量等。然后,將問(wèn)題抽象成一個(gè)優(yōu)化問(wèn)題,并建立了適合粒子群算法優(yōu)化的數(shù)學(xué)模型。接著,通過(guò)粒子群算法的初始化、迭代更新和適應(yīng)度評(píng)估等步驟,尋找最優(yōu)的閘室編排方案。最后,通過(guò)數(shù)值模擬和對(duì)比實(shí)驗(yàn),驗(yàn)證了所提算法的有效性和性能優(yōu)勢(shì)。 參考文獻(xiàn): [1] 朱瑩瑩,王宇嘉.求解復(fù)雜旅行商問(wèn)題的混合粒子群算法[J].輕工機(jī)械,2015,33(3):42-45,49. [2] 陽(yáng)瓊芳,孫如祥. 粒子群與遺傳算法的混合算法[J]. 華僑大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,36(6):645-649. [3] 李雅瓊.基于粒子群算法的遺傳算法優(yōu)化研究[J].蘭州文理學(xué)院學(xué)報(bào)(自然科學(xué)版),2017,31(1):55-60. [4] 汪沖,李俊,李波,等.改進(jìn)的蟻群與粒子群混合算法求解旅行商問(wèn)題[J].計(jì)算機(jī)仿真,2016,33(11):274-279. [5] 李擎,張超,陳鵬,等.一種基于粒子群參數(shù)優(yōu)化的改進(jìn)蟻群算法[J].控制與決策,2013,28(6):873-878,883. 【通聯(lián)編輯:代影】