国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

考慮能耗優(yōu)化的多目標(biāo)原油短期調(diào)度問(wèn)題研究

2022-02-18 03:22張億仙滕少華王書(shū)娟朱清華
關(guān)鍵詞:油罐煉油種群

侯 艷,張億仙,滕少華,王書(shū)娟,朱清華

(廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院,廣東 廣州 510000)

0 引言

原油作為一種不可再生資源,對(duì)現(xiàn)代經(jīng)濟(jì)發(fā)展具有重要的意義.隨著全球生態(tài)環(huán)境污染的日益嚴(yán)重,傳統(tǒng)的以消耗大量資源來(lái)實(shí)現(xiàn)經(jīng)濟(jì)增長(zhǎng)的方式必須得以改變.如何在資源和能源有限的條件下進(jìn)行生產(chǎn)是原油企業(yè)亟需解決的問(wèn)題.

宏觀上,原油短期調(diào)度被分為3個(gè)階段:1)原油一次加工過(guò)程,包括原油卸載、混合和轉(zhuǎn)運(yùn)過(guò)程;2)生產(chǎn)過(guò)程,包括原油的蒸餾、催化裂化等化學(xué)加工過(guò)程;3)成品油的儲(chǔ)存和運(yùn)輸過(guò)程,即選擇合適的運(yùn)輸方式將加工好的原油產(chǎn)品及時(shí)運(yùn)輸?shù)讲煌哪康牡豙1].原油一次加工過(guò)程包含著大量復(fù)雜的約束,因此,目前仍依賴有經(jīng)驗(yàn)的調(diào)度員根據(jù)經(jīng)驗(yàn)不斷試錯(cuò)來(lái)得到一個(gè)可行的詳細(xì)調(diào)度計(jì)劃.原油一次加工過(guò)程是在煉油生產(chǎn)過(guò)程中的關(guān)鍵步驟,直接影響著后續(xù)生產(chǎn)環(huán)節(jié)的經(jīng)濟(jì)性和穩(wěn)定性.因此,做好一次加工過(guò)程的調(diào)度,降低其中的各項(xiàng)成本,對(duì)于提高煉油企業(yè)經(jīng)濟(jì)效益和整體的自動(dòng)化水平具有非常重要的意義.

作為一種比較成熟的建模求解方法,數(shù)學(xué)規(guī)劃方法一直被廣泛應(yīng)用于工業(yè)生產(chǎn)問(wèn)題的建模.目前,通過(guò)數(shù)學(xué)規(guī)劃求解原油短期調(diào)度問(wèn)題已有大量的相關(guān)研究.根據(jù)對(duì)時(shí)間的不同表示方法,這些數(shù)學(xué)模型可以分為離散時(shí)間模型和連續(xù)時(shí)間模型.文獻(xiàn)[2]給出了在原油短期調(diào)度問(wèn)題中原油一次加工過(guò)程的形式化定義,并建立了基于離散時(shí)間表示的混合整數(shù)規(guī)劃模型.離散時(shí)間模型的主要優(yōu)點(diǎn)是它提供了一個(gè)參考網(wǎng)格,所有競(jìng)爭(zhēng)共享資源的操作都被放置到這個(gè)參考網(wǎng)格中,使得模型較為簡(jiǎn)單.然而,離散時(shí)間模型的主要問(wèn)題是事件只允許發(fā)生在離散間隔的邊界處,需要增加離散變量的數(shù)量來(lái)提高問(wèn)題的求解精度.因此,極大地增加了時(shí)間變量的個(gè)數(shù),從而增加了數(shù)學(xué)規(guī)劃求解器的求解難度.為此,有學(xué)者提出了連續(xù)時(shí)間模型.文獻(xiàn)[3]通過(guò)狀態(tài)任務(wù)網(wǎng)對(duì)原油短期調(diào)度問(wèn)題進(jìn)行建模,為了最小化煉油廠在短期調(diào)度過(guò)程中的總操作成本,提出了一種基于連續(xù)時(shí)間表示的混合整數(shù)非線性規(guī)劃模型;相對(duì)于離散時(shí)間模型,在該模型中決策變量的個(gè)數(shù)得到了極大地減少.文獻(xiàn)[4]為了最大化煉油廠整體運(yùn)行的總毛利潤(rùn),提出了一種基于連續(xù)時(shí)間表示的單操作排序模型,并給出了其對(duì)應(yīng)的2步求解方法.文獻(xiàn)[5]為了最小化原油在轉(zhuǎn)運(yùn)過(guò)程中的能耗,建立了一個(gè)基于連續(xù)時(shí)間表示的線性規(guī)劃模型.在連續(xù)時(shí)間表示的模型中,事件可以發(fā)生在調(diào)度區(qū)間內(nèi)的任意時(shí)刻,時(shí)間點(diǎn)就是準(zhǔn)確的事件開(kāi)始點(diǎn)和結(jié)束點(diǎn).利用連續(xù)時(shí)間表示,可以大大減少在模型中的離散變量,然而以產(chǎn)生非線性約束為代價(jià),求解極其困難[6].

文獻(xiàn)[7]認(rèn)為將優(yōu)化與啟發(fā)式和仿真相結(jié)合的方法能夠快速地解決大而復(fù)雜的問(wèn)題,具有更好的實(shí)用性.為此,基于控制理論的角度,原油一次加工過(guò)程被分解為上下2層.在上層,為了最大化生產(chǎn)率等目標(biāo),利用數(shù)學(xué)規(guī)劃的方法求解得到一個(gè)上層目標(biāo)煉油計(jì)劃; 在下層,得到一個(gè)詳細(xì)調(diào)度計(jì)劃.對(duì)于上層問(wèn)題,文獻(xiàn)[8]提出了一種有效的3階段求解的數(shù)學(xué)規(guī)劃模型,使得上層優(yōu)化問(wèn)題得到了較好的解決.然而,對(duì)于下層問(wèn)題,由于其復(fù)雜的約束條件,所以很難保證解的可行性,優(yōu)化就更難.因此,文獻(xiàn)[9-12]通過(guò)建立Petri網(wǎng)模型,分析并提出了在不同狀態(tài)下的可調(diào)度性條件,用于驗(yàn)證上層生成的煉油計(jì)劃是否可行,以及指導(dǎo)下層詳細(xì)調(diào)度的生成.

然而,上述工作只是保證解的可行性,并沒(méi)有對(duì)生成下層在詳細(xì)調(diào)度過(guò)程中的多個(gè)目標(biāo)進(jìn)行優(yōu)化.由于原油短期調(diào)度問(wèn)題是一個(gè)既包含有連續(xù)變量又包含有離散事件的混合系統(tǒng),需要調(diào)度的任務(wù)事先未知,所以,需要在調(diào)度的過(guò)程中定義任務(wù),導(dǎo)致啟發(fā)式算法和元啟發(fā)式算法無(wú)法直接應(yīng)用.為此,文獻(xiàn)[13]提出了一種轉(zhuǎn)換方法,將該問(wèn)題轉(zhuǎn)換為一個(gè)動(dòng)態(tài)資源指派問(wèn)題,并使用遺傳算法求解該問(wèn)題.基于上述問(wèn)題的轉(zhuǎn)換,文獻(xiàn)[14]以最小化蒸餾塔使用供油罐的切換成本、使用的供油罐的個(gè)數(shù)、在供油罐和管道中原油的混合成本為目標(biāo),利用多目標(biāo)進(jìn)化算法(non-dominated sorting genetic algorithm-II,NSGA-II)對(duì)該問(wèn)題進(jìn)行求解,為決策者提供多個(gè)可供選擇的優(yōu)化解.

以上研究為了最大化生產(chǎn)率和保證調(diào)度的可行性,在轉(zhuǎn)運(yùn)時(shí)均假設(shè)采用最大速率.然而,在實(shí)際生產(chǎn)中,管道上有多組不同的油泵,當(dāng)開(kāi)啟不同組數(shù)的油泵時(shí),對(duì)應(yīng)的轉(zhuǎn)運(yùn)速率也不同,轉(zhuǎn)運(yùn)速率與油泵組數(shù)之間是非線性關(guān)系.同時(shí),在大多數(shù)情況下,在供油罐中的原油往往需要等待較長(zhǎng)的時(shí)間后才會(huì)被蒸餾塔所使用.這不僅造成電能的極大浪費(fèi),而且會(huì)占用更多的供油罐.因此,對(duì)于轉(zhuǎn)運(yùn)能耗的研究是非常必要的.除了能耗優(yōu)化,同時(shí)還考慮了文獻(xiàn)[14]中涉及的4個(gè)目標(biāo),本文建立了一個(gè)多目標(biāo)優(yōu)化數(shù)學(xué)模型.對(duì)于高維多目標(biāo)優(yōu)化問(wèn)題,可以將其加權(quán)求和轉(zhuǎn)換為單目標(biāo)優(yōu)化問(wèn)題,或者直接利用多目標(biāo)進(jìn)化算法對(duì)其進(jìn)行求解.目前,常見(jiàn)的多目標(biāo)進(jìn)化算法分為如下3類.

1)基于Pareto支配關(guān)系的多目標(biāo)進(jìn)化算法.文獻(xiàn)[15]提出了一種基于快速非支配排序和擁擠距離的多目標(biāo)遺傳算法NSGA-II,該算法能夠較好地解決低維多目標(biāo)優(yōu)化問(wèn)題.然而,隨著目標(biāo)維度的增加,存在著由選擇壓力過(guò)小而導(dǎo)致收斂性較差的問(wèn)題.為了解決這一問(wèn)題,文獻(xiàn)[16]對(duì)在NSGA-II中臨界層選擇策略進(jìn)行改進(jìn),提出基于非支配排序和基于參考點(diǎn)的臨界層選擇的多目標(biāo)遺傳算法(reference-point-based non-dominated sorting genetic algorithm-III,NSGA-Ⅲ).文獻(xiàn)[17]提出了基于網(wǎng)格的進(jìn)化算法(grid-based evolutionary algorithm,GrEA),該算法通過(guò)改進(jìn)的網(wǎng)格支配和網(wǎng)格差異來(lái)代替?zhèn)鹘y(tǒng)Pareto支配關(guān)系以增大選擇算子的選擇壓力.

2)基于指標(biāo)的多目標(biāo)進(jìn)化算法.性能評(píng)價(jià)指標(biāo)通常用來(lái)分析算法運(yùn)行的結(jié)果,為了讓算法朝著決策者偏好的方向搜索,文獻(xiàn)[18]提出了基于指標(biāo)的進(jìn)化算法(indicator-based evolutionary algorithm,IBEA).另外,選擇Pareto前沿面上“最凹”的一個(gè)點(diǎn)作為非支配解集有助于提高解集的收斂性和多樣性,基于該思想,文獻(xiàn)[19]提出了基于拐點(diǎn)的多目標(biāo)進(jìn)化算法(knee point driven many-objective evolutionary Algorithm,KnEA).文獻(xiàn)[20]提出了基于指標(biāo)的參考點(diǎn)自適應(yīng)多目標(biāo)進(jìn)化算法(indicator-based MOEA with reference point adaptation,ARMOEA),根據(jù)前沿面的形狀自動(dòng)地調(diào)整參考點(diǎn)集的分布,提高算法在不同形狀前沿面上的求解性能.

3)基于分解的多目標(biāo)進(jìn)化算法.文獻(xiàn)[21]提出了基于分解的多目標(biāo)進(jìn)化算法(multi-objective evolutionary algorithm based on decomposition,MOEA/D),它通過(guò)將一個(gè)多目標(biāo)優(yōu)化問(wèn)題分解為多個(gè)單目標(biāo)優(yōu)化子問(wèn)題,接著,優(yōu)化每一個(gè)子問(wèn)題使得原問(wèn)題得以求解.文獻(xiàn)[22]提出了一種基于參考向量的多目標(biāo)進(jìn)化算法(reference vector guided evolutionary algorithm,RVEA),該算法通過(guò)一組預(yù)定義的參考向量指導(dǎo)算法朝著用戶偏好的方向搜索.

基于該問(wèn)題的特點(diǎn),本文提出一種改進(jìn)的染色體編碼和解碼策略,并對(duì)比分析了上述8種具有代表性的多目標(biāo)優(yōu)化算法,實(shí)驗(yàn)結(jié)果表明NSGA-III算法在該問(wèn)題上具有較好的性能.最后,將算法運(yùn)行得到的非支配結(jié)果與現(xiàn)有的研究結(jié)果進(jìn)行對(duì)比.

1 問(wèn)題描述與建模

1.1 問(wèn)題描述

一個(gè)典型的原油1次加工過(guò)程如圖 1所示,油輪在港口時(shí)卸載原油到港口的儲(chǔ)油罐中,然后通過(guò)一條較長(zhǎng)的輸油管道,將原油最終輸送到煉油廠內(nèi)的供油罐中.經(jīng)過(guò)一段時(shí)間的駐留等待,分離出在原油中的海水.最終,將在供油罐中的原油提供給蒸餾塔進(jìn)行煉油操作.

圖1 原油1次加工過(guò)程

在原油1次加工過(guò)程中,存在著很多約束.一旦違背這些約束,則調(diào)度計(jì)劃將變?yōu)椴豢尚?一般地,這些約束分為資源約束和操作約束2類.其中資源約束包括:

1)儲(chǔ)油罐和供油罐的容量是有限的;

2)在管道中原油的流速必須在指定的范圍內(nèi);

3)原油在儲(chǔ)油罐、供油罐、管道以及即將到來(lái)的油船上的油量是有限的.

操作約束主要包括:

1)所有蒸餾塔在整個(gè)調(diào)度周期內(nèi)不能中斷煉油;

2)供油罐和儲(chǔ)油罐不能同時(shí)進(jìn)油和出油;

3)管道不能同時(shí)向2個(gè)供油罐注入原油;

4)為了過(guò)濾出在原油中的海水,在儲(chǔ)油罐和供油罐中的原油在注油結(jié)束后必須等待一段時(shí)間才能使用,記為駐留時(shí)間約束;

5)當(dāng)一個(gè)供油罐給蒸餾塔供油時(shí),在供油罐中的原油并不能完全用完,有約1/6的原油會(huì)留在供油罐中,稱之為罐底;

6)輸油管道的輸油速率可以在一定的范圍內(nèi)變化,但其費(fèi)用不同.

1.2 數(shù)學(xué)模型

除了在原油轉(zhuǎn)運(yùn)過(guò)程中會(huì)產(chǎn)生能耗成本外,該問(wèn)題中還存在一些其他的優(yōu)化目標(biāo),如減少不同種類的原油在管道和供油罐中混合時(shí)由原油的品質(zhì)下降而產(chǎn)生的經(jīng)濟(jì)成本、盡量少地使用供油罐和減少蒸餾塔使用供油罐的切換成本等.

設(shè)煉油廠內(nèi)原油種類數(shù)為O,蒸餾塔的個(gè)數(shù)為D,mi, j為原油i和原油j在管道中依次流動(dòng)的單次混合成本,ni, j是罐底為原油i注入原油j的單次混合成本,ci, j為原油i和原油j在管道中依次流動(dòng)的次數(shù),di, j是罐底為原油i注入原油j的次數(shù),ηd為第d個(gè)蒸餾塔(DSd)切換供油罐的次數(shù),ud為DSd的煉油任務(wù)的個(gè)數(shù).αd,u為DSd的第u個(gè)煉油任務(wù)的起始供油罐,W為原油在管道中轉(zhuǎn)運(yùn)任務(wù)的個(gè)數(shù),Cw為第w個(gè)原油轉(zhuǎn)運(yùn)任務(wù)的單位時(shí)間能耗,τw為第w個(gè)原油轉(zhuǎn)運(yùn)任務(wù)的開(kāi)始時(shí)刻,υw為第w個(gè)原油轉(zhuǎn)運(yùn)任務(wù)的結(jié)束時(shí)刻,VFd,p為DSd的在第p個(gè)原油進(jìn)料包中需要轉(zhuǎn)運(yùn)原油的體積,Pd為DSd的原油進(jìn)料包的個(gè)數(shù),H為調(diào)度周期的長(zhǎng)度,fd為DSd的煉油速率,Sd,u和Ed,u分別為DSd的第u個(gè)煉油任務(wù)的開(kāi)始時(shí)刻和結(jié)束時(shí)刻,Ω為在原油轉(zhuǎn)運(yùn)結(jié)束后需要等待的駐留時(shí)間,μw為在第w個(gè)原油轉(zhuǎn)運(yùn)任務(wù)中的原油開(kāi)始使用時(shí)間.為了形式化描述,本文建立了下述數(shù)學(xué)模型.

目標(biāo)函數(shù):

(1)

(2)

(3)

minJδ=|{αd,u|d∈{1,2,…,D},u∈{1,2,…,ud}}|,

(4)

(5)

約束條件:

(6)

0≤τ1<υ1≤τ2<υ2≤…≤τW<υW

(7)

Sd,1

(8)

υw+Ω≤μw,?w∈{1,2,…,W}.

(9)

目標(biāo)函數(shù)(1)表示在管道中不同種類原油混合所產(chǎn)生的成本,即在管道中相鄰的2種不同種類的原油包會(huì)在其鄰接的切面位置處發(fā)生混合產(chǎn)生的成本; 目標(biāo)函數(shù)(2)表示在供油罐中不同種類原油混合所產(chǎn)生的成本,即由于供油罐中總會(huì)剩余部分原油,所以當(dāng)新注入的原油與其種類不同時(shí),由原油品質(zhì)下降而會(huì)產(chǎn)生一定的經(jīng)濟(jì)成本; 目標(biāo)函數(shù)(3)表示蒸餾塔切換供油罐的次數(shù); 目標(biāo)函數(shù)(4)表示在整個(gè)調(diào)度周期內(nèi)使用的供油罐的數(shù)量; 目標(biāo)函數(shù)(5)表示原油在管道中轉(zhuǎn)運(yùn)所產(chǎn)生的電能消耗; 約束(6)表示任意一個(gè)蒸餾塔的所有原油進(jìn)料包的體積恰好能夠滿足其整個(gè)調(diào)度周期的需要; 約束(7)表示在任意時(shí)刻時(shí)管道至多為1個(gè)供油罐輸送原油; 約束(8)表示在調(diào)度期間蒸餾塔煉油不能中斷; 約束(9)表示在原油轉(zhuǎn)運(yùn)到煉油廠內(nèi)的供油罐后,只有等待一段時(shí)間以過(guò)濾出在原油中的海水,才能供蒸餾塔煉油.

2 詳細(xì)短期調(diào)度計(jì)劃

為了介紹生成一個(gè)詳細(xì)調(diào)度的過(guò)程,先給出如下定義.

定義1原油進(jìn)料包FP=(o,ξ,INT),其中o代表其中的原油類型,ξ代表其中的原油體積,INT=[a,b]代表原油包的使用時(shí)間,即原油包從時(shí)刻a開(kāi)始使用到時(shí)刻b結(jié)束使用.

定義2在整個(gè)調(diào)度周期內(nèi)的煉油計(jì)劃RS={F1,1,…,F1,P1,…,Fd,1,…,Fd,Pd},其中Pd為蒸餾塔DSd的進(jìn)料包個(gè)數(shù).

定義3任務(wù)OD=(o,ξ,V,S,D,INT),其中o代表待處理的原油類型,ξ代表原油的體積,V代表管道中原油的流速,S代表原油的來(lái)源,D代表原油的目的地,INT=[a,b]代表任務(wù)的執(zhí)行時(shí)間,即任務(wù)從時(shí)刻a開(kāi)始到時(shí)刻b結(jié)束.

在原油短期調(diào)度問(wèn)題中的任務(wù)可以分為3類,它們分別為原油卸載任務(wù)ODU、原油轉(zhuǎn)運(yùn)任務(wù)ODT和煉油任務(wù)ODF.在通常情況下,煉油廠會(huì)預(yù)購(gòu)在未來(lái)一段時(shí)間內(nèi)需要使用的原油,不妨假設(shè)在港口儲(chǔ)油罐中的原油足夠當(dāng)前調(diào)度周期使用,即不考慮ODU任務(wù).因此,一個(gè)詳細(xì)的短期調(diào)度計(jì)劃可以表示為SCHD={ODT1,ODT2,…,ODTW,ODF1,ODF2,…,ODFU},其中煉油任務(wù)的個(gè)數(shù)U=u1+u2+…+ud.

假設(shè)τ時(shí)刻,系統(tǒng)的狀態(tài)如下:

1)Fd,p轉(zhuǎn)運(yùn)了一部分或Fd,p-1剛結(jié)束轉(zhuǎn)運(yùn);

2)未完成煉油計(jì)劃的蒸餾塔集合為ND;

3)可用的供油罐的集合為UT;

4)原油轉(zhuǎn)運(yùn)速率集合為FR;

5)在已經(jīng)生成的部分調(diào)度計(jì)劃中蒸餾塔DSd的煉油結(jié)束時(shí)間為θd.

基于文獻(xiàn)[13]的思想,一個(gè)詳細(xì)調(diào)度可以通過(guò)逐步確定轉(zhuǎn)運(yùn)任務(wù)和煉油任務(wù)得到,即根據(jù)文獻(xiàn)[9-12]中的可調(diào)度性條件和已經(jīng)生成的部分調(diào)度,逐個(gè)地產(chǎn)生ODT及其對(duì)應(yīng)的ODF.最終,得到一個(gè)實(shí)現(xiàn)了給定煉油計(jì)劃的詳細(xì)調(diào)度.

為了確定一個(gè)ODT及其對(duì)應(yīng)的ODF,首先,從UT中選擇一個(gè)供油罐,記為CTk,從ND中選擇一個(gè)蒸餾塔,記為DSd,從FR中選擇一個(gè)原油轉(zhuǎn)運(yùn)速率,記為FRv.根據(jù)給定的煉油計(jì)劃,可以確定當(dāng)前需要提煉原油的類型,進(jìn)而確定當(dāng)前需要轉(zhuǎn)運(yùn)原油的類型.此時(shí),一旦轉(zhuǎn)運(yùn)原油的體積ξ已知,則通過(guò)計(jì)算ξ/FRv可以得到轉(zhuǎn)運(yùn)任務(wù)的持續(xù)時(shí)間,進(jìn)而確定一個(gè)ODT.同時(shí),通過(guò)計(jì)算ξ/fd可以得到煉油任務(wù)的持續(xù)時(shí)間,并確定與當(dāng)前ODT對(duì)應(yīng)的ODF.為了表述方便,這里將蒸餾塔、供油罐和轉(zhuǎn)運(yùn)速率的一種選擇記為一種指派方案.

2.1 計(jì)算原油轉(zhuǎn)運(yùn)體積

從上面的分析可以看出,在選擇了一種指派方案后,還需要確定轉(zhuǎn)運(yùn)原油的體積ξ.一方面,為了減少不同種類原油在管道和供油罐中的混合成本,提高供油罐的利用率,應(yīng)盡可能多地轉(zhuǎn)運(yùn)原油;另一方面,每次轉(zhuǎn)運(yùn)的原油體積要滿足供油罐容量約束和原油進(jìn)料包約束,且在滿足駐留時(shí)間約束的同時(shí),保證轉(zhuǎn)運(yùn)的原油能夠及時(shí)地提供給蒸餾塔.因此,體積的計(jì)算方法為ξ=min(CAPk,VFd,p,FRv(θd-Ω)),其中CAPk為供油罐的容量,VFd,p為Fd,p中還需要轉(zhuǎn)運(yùn)的原油的體積.

2.2 生成詳細(xì)調(diào)度計(jì)劃

為了保證調(diào)度計(jì)劃的可行性,這里給出安全狀態(tài)的定義.

定義4假設(shè)時(shí)刻τ,系統(tǒng)處于安全狀態(tài),當(dāng)且僅當(dāng)在[τ,∞]時(shí)存在一個(gè)可行的調(diào)度.

為了保證最后生成一個(gè)可行的詳細(xì)調(diào)度,必須保證系統(tǒng)時(shí)刻處于安全狀態(tài),即選擇一系列合適的指派方案,并產(chǎn)生一系列的ODT及對(duì)應(yīng)的ODF,使得在每次ODT結(jié)束時(shí)系統(tǒng)仍處于安全狀態(tài).一個(gè)可行的詳細(xì)調(diào)度通過(guò)下述步驟得到:

1)判斷在初始時(shí)系統(tǒng)是否處于安全狀態(tài),若是安全狀態(tài),則繼續(xù)向下執(zhí)行,否則,結(jié)束.

2)根據(jù)已知的煉油計(jì)劃,安排在初始時(shí)裝有原油的供油罐的ODF.

3)選擇一個(gè)合適的指派方案,并根據(jù)選擇的蒸餾塔和已知的煉油計(jì)劃確定轉(zhuǎn)運(yùn)原油的類型,計(jì)算轉(zhuǎn)運(yùn)原油的體積,根據(jù)所選擇的轉(zhuǎn)運(yùn)速率計(jì)算轉(zhuǎn)運(yùn)任務(wù)的持續(xù)時(shí)間并生成一個(gè)ODT,并根據(jù)蒸餾塔的煉油速率和在供油罐中的原油體積確定對(duì)應(yīng)的ODF.

4)判斷在ODT結(jié)束時(shí)系統(tǒng)是否處于安全狀態(tài),若是,則執(zhí)行4),否則,執(zhí)行5).

5)撤銷上一次指派確定的ODT和ODF,并將系統(tǒng)狀態(tài)回退到前一狀態(tài).此時(shí),判斷是否存在合適的指派方案.若是,則繼續(xù)執(zhí)行3),否則,繼續(xù)執(zhí)行5).

6)若已經(jīng)完成煉油任務(wù),則結(jié)束,否則,繼續(xù)執(zhí)行3).

3 NSGA-III算法

3.1 確定染色體的編碼長(zhǎng)度

在使用NSGA-III求解該問(wèn)題時(shí),在種群中的每一個(gè)染色體代表一個(gè)可行的詳細(xì)調(diào)度.確定一個(gè)合適的染色體編碼長(zhǎng)度,對(duì)于提高算法的求解效率是非常重要的.根據(jù)給定的煉油計(jì)劃,可以計(jì)算出最大的指派次數(shù)

(10)

其中U(N)代表對(duì)N向上取整,ω為在供油罐集合中最小的供油罐體積.

考慮每次轉(zhuǎn)運(yùn)決策需要確定蒸餾塔、供油罐和油泵的組數(shù),本文提出的三染色體編碼結(jié)構(gòu)如圖 2所示.因此,每個(gè)染色體編碼長(zhǎng)度均為3Γ.

圖2 三染色體結(jié)構(gòu)

3.2 染色體編碼與解碼

一個(gè)染色體X=(x1,x2,…,x3Γ),其中,xj∈[0,1),?j∈{1,2,…,3Γ}.染色體的第i次指派的解碼過(guò)程如下:

d=L(x3i-2|ND|)+1,

(11)

k=L(x3i-1|UT|)+1,

(12)

v=L(x3i(|FR|+1)),

(13)

其中L(N)代表對(duì)數(shù)字N向下取整,|S|代表在集合S中元素的個(gè)數(shù).

根據(jù)式(11)~(13),第i次指派從集合ND中選擇第d個(gè)未完成煉油任務(wù)的蒸餾塔,從集合UT中選擇第k個(gè)可用的空罐,從集合FR中選擇第v個(gè)轉(zhuǎn)運(yùn)速率.特殊地,當(dāng)v=0時(shí),代表管道停止轉(zhuǎn)運(yùn)原油直到某一個(gè)供油罐被蒸餾塔釋放.假設(shè)ND={DS1,DS2},UT={CT3,CT7,CT9},FR={V1,V2,V3},第i次指派所對(duì)應(yīng)的編碼為(0.35,0.82,0.64),則解碼后,d=1,k=3,t=2,即以速率V2向CT9轉(zhuǎn)運(yùn)DS1所需要的原油.

3.3 交叉與變異算子

對(duì)于任意一個(gè)染色體X,一旦X中任意一個(gè)指派發(fā)生變化,其后的指派都將發(fā)生變化.因此,本文結(jié)合單點(diǎn)交叉和單點(diǎn)變異的思路,提出了改進(jìn)的模擬二進(jìn)制交叉算子和多項(xiàng)式變異算子.

設(shè)2個(gè)父代個(gè)體x1和x2,則改進(jìn)的模擬二進(jìn)制交叉算子產(chǎn)生2個(gè)后代個(gè)體c1和c2的方式為

其中p是交叉的位置,α是由分布因子η1動(dòng)態(tài)確定,η1越大,產(chǎn)生的后代個(gè)體越接近父代.

p=L(rΓ),

其中隨機(jī)數(shù)r∈[0,1).

假設(shè)父代個(gè)體xt,則改進(jìn)的多項(xiàng)式變異算子產(chǎn)生后代個(gè)體xt+1的方式如下所示:

其中q是變異的位置,β是由分布因子η2動(dòng)態(tài)確定,η2越大,產(chǎn)生的后代個(gè)體越接近父代.

q=L(rΓ),

3.4 選擇算子

圖3 選擇操作的具體過(guò)程

3.5 NSGA-III算法的整體流程

NSGA-III算法的執(zhí)行流程如下:

1)種群初始化,t=0,隨機(jī)產(chǎn)生種群P0;

2)交叉和變異操作,對(duì)Pt執(zhí)行改進(jìn)的交叉和變異操作產(chǎn)生子代種群Qt;

3)選擇操作,執(zhí)行選擇算子得到種群Pt+1,并令t=t+1;

4)重復(fù)執(zhí)行步驟2)和3),直到t達(dá)到最大迭代次數(shù).

4 工業(yè)實(shí)例與結(jié)果

某煉油廠共有3個(gè)蒸餾塔,記為DS1、DS2、DS3,它們的煉油速率分別為375、230和500 t·h-1.上層得到的一個(gè)10 d的煉油計(jì)劃(見(jiàn)圖 4).原油的駐留時(shí)間為6 h.在開(kāi)啟1組、2組和3組油泵時(shí),管道中原油的轉(zhuǎn)運(yùn)速率分別為833.3、1 250.0和1 375.0 t·h-1,其對(duì)應(yīng)的原油轉(zhuǎn)運(yùn)任務(wù)的單位時(shí)間能耗Cw分別為1、2和3.

圖4 一個(gè)10 d的煉油計(jì)劃

根據(jù)已知的煉油計(jì)劃和表1中在煉油廠內(nèi)9個(gè)供油罐CT1~CT9的初始狀態(tài)可知,FP12、FP21和FP33分別需要轉(zhuǎn)運(yùn)原油63 000、25 200和38 000 t.因?yàn)楸?中最小的供油罐容量為20 000 t,根據(jù)式(10)可得Γ=8.考慮管道可能停止轉(zhuǎn)運(yùn)的情況,這里Γ取12,染色體的編碼長(zhǎng)度為36.

表1 供油罐的初始狀態(tài)

由上述可知,mi, j和ni, j分別表示原油i和原油j在管道和供油罐中發(fā)生1次混合所產(chǎn)生的經(jīng)濟(jì)成本,假設(shè)6種不同種類的原油在管道和供油罐中混合所產(chǎn)生的經(jīng)濟(jì)成本分別如下:

本文實(shí)驗(yàn)基于i5-5200U CPU,主頻2.20 GHz,內(nèi)存8 G的筆記本電腦,運(yùn)行環(huán)境為Matlab 2020.8種算法的模擬二進(jìn)制交叉算子的分布指數(shù)為η1=20,多項(xiàng)式變異算子的分布指數(shù)為η2=20.

圖5 8種算法的IGD指標(biāo)對(duì)比

衡量2個(gè)多目標(biāo)優(yōu)化算法的另一種方法是比較它們所得解集的覆蓋率.設(shè)A、B為2個(gè)算法得到的2個(gè)解集,C(A,B)為集合A覆蓋集合B的比率,

C(A,B)=|u∈B|?v∈A,v支配u|/|B|.

當(dāng)C(A,B)>C(B,A)時(shí),稱A中解的質(zhì)量高于B中解的質(zhì)量; 否則,稱A中解的質(zhì)量低于B中解的質(zhì)量.特殊地,當(dāng)C(A,B)=1時(shí),B中所有的個(gè)體均被A中的某些個(gè)體所支配;當(dāng)C(A,B)=0時(shí),B中沒(méi)有個(gè)體被A中的任一個(gè)體所支配.將NSGA-III算法分別與其余的7種算法對(duì)比,7組實(shí)驗(yàn)的具體配置如表 2所示.設(shè)A為NSGA-III,B為待對(duì)比算法.如圖 6所示,淺色區(qū)域代表C(A,B)的值,深色區(qū)域?yàn)镃(B,A)的值.綜合來(lái)看,在不同的種群規(guī)模和迭代次數(shù)的情況下,NSGA-III算法所得解的質(zhì)量更優(yōu).

表2 NSGA-III與另外7種算法對(duì)比實(shí)驗(yàn)

種群規(guī)模為50迭代500次 種群規(guī)模為100迭代500次 種群規(guī)模為150迭代500次 種群規(guī)模為200迭代500次圖6 NSGA-III與7種算法的覆蓋率指標(biāo)對(duì)比

為了綜合評(píng)價(jià)算法的運(yùn)行效率,對(duì)比了在不同的種群規(guī)模和迭代次數(shù)的情況下,8種算法的運(yùn)行時(shí)間如圖 7所示,其中每組實(shí)驗(yàn)獨(dú)立運(yùn)行30次.

(a)種群規(guī)模50,迭代次數(shù)100,獨(dú)立運(yùn)行30次 (b)種群規(guī)模50,迭代次數(shù)200,獨(dú)立運(yùn)行30次

種群規(guī)模為50迭代100次 種群規(guī)模為100迭代100次 種群規(guī)模為150迭代100次 種群規(guī)模為200迭代100次

(c)種群規(guī)模150,迭代次數(shù)100,獨(dú)立運(yùn)行30次 (d)種群規(guī)模150,迭代次數(shù)200,獨(dú)立運(yùn)行30次圖7 8種算法運(yùn)行效率對(duì)比盒圖

從上述實(shí)驗(yàn)結(jié)果可以看出,NSGA-III算法在求解質(zhì)量和運(yùn)行效率上均表現(xiàn)良好.根據(jù)圖6,為了得到較好的調(diào)度結(jié)果,這里設(shè)置種群規(guī)模為200,迭代次數(shù)為500.此時(shí),NSGA-III算法1次運(yùn)行得到的非支配解集如圖8所示.

注:a為管道混合成本,b為罐底混合成本,c為蒸餾塔使用供油罐的切換次數(shù),d為供油罐個(gè)數(shù),e為能耗成本.圖8 運(yùn)行NSGA-III算法得到的非支配解集

從上述得到的非支配解集中選取3個(gè)具有代表性的解與文獻(xiàn)[5]中的結(jié)果對(duì)比,結(jié)果如表3所示.調(diào)度1和調(diào)度3的5個(gè)目標(biāo)均比文獻(xiàn)[5]中的結(jié)果更優(yōu).其中,調(diào)度3的在管道中原油混合成本比文獻(xiàn)[5]中的成本降低了50%以上.調(diào)度2的原油在供油罐中的混合成本高于文獻(xiàn)[5]中的結(jié)果,但是調(diào)度2使用了更少的供油罐.同時(shí),3個(gè)解的能耗成本均減少了將近10%.

表3中調(diào)度3的甘特圖如圖9所示.從圖9可以看出:在第2次指派時(shí)管道發(fā)生停運(yùn)直到供油罐在CT3中的原油被DS3使用完并釋放;同時(shí),調(diào)度3共執(zhí)行了5次轉(zhuǎn)運(yùn)操作,每次均采用最低速率V1轉(zhuǎn)運(yùn)原油.

表3 NSGA-III算法與現(xiàn)有研究對(duì)比

圖9 調(diào)度3的轉(zhuǎn)運(yùn)和煉油計(jì)劃甘特圖

5 結(jié)論

針對(duì)在原油管道運(yùn)輸過(guò)程中的能耗優(yōu)化問(wèn)題,本文在已有的可調(diào)度性條件的基礎(chǔ)上,將該問(wèn)題轉(zhuǎn)換為一個(gè)多目標(biāo)動(dòng)態(tài)資源指派問(wèn)題.接著,改進(jìn)了染色體的編碼和解碼方式,并通過(guò)一系列實(shí)驗(yàn)分析對(duì)比了多種具有代表性的多目標(biāo)優(yōu)化算法的性能.實(shí)驗(yàn)結(jié)果表明NSGA-III算法在求解該問(wèn)題時(shí)性能較好.與現(xiàn)有研究工作中的結(jié)果進(jìn)行對(duì)比,可以看出本文算法在能耗等多個(gè)目標(biāo)上均有較大程度的優(yōu)化.

猜你喜歡
油罐煉油種群
山西省發(fā)現(xiàn)刺五加種群分布
探究煉油設(shè)備腐蝕與防護(hù)技術(shù)
基于雙種群CSO算法重構(gòu)的含DG配網(wǎng)故障恢復(fù)
把握主動(dòng)權(quán),提高油罐火災(zāi)撲救成功率
中國(guó)石化煉油銷售有限公司
從小到大,由大走強(qiáng)—40載煉油節(jié)節(jié)高
中華蜂種群急劇萎縮的生態(tài)人類學(xué)探討
“?!睕r空前 煉油之踵
某分餾廠油罐區(qū)設(shè)計(jì)
DSP運(yùn)動(dòng)控制器在油罐焊接機(jī)器人中的應(yīng)用探討
盐源县| 邻水| 玉溪市| 应用必备| 喀什市| 容城县| 库车县| 江油市| 五台县| 南木林县| 蒙阴县| 怀远县| 长子县| 邵东县| 广平县| 婺源县| 忻城县| 五指山市| 兴义市| 盐边县| 禹城市| 松原市| 伊宁市| 古蔺县| 辉县市| 莎车县| 潞西市| 定南县| 宁强县| 郑州市| 永川市| 台北县| 调兵山市| 自贡市| 潼关县| 山阴县| 讷河市| 无锡市| 宣化县| 吉木萨尔县| 神池县|