摘要:隨著我國燃?xì)馐聵I(yè)發(fā)展,已有燃?xì)夤芫W(wǎng)的規(guī)模滿足不了人民生活需要,改建與擴(kuò)建項(xiàng)目蓬勃發(fā)展。而改建擴(kuò)建項(xiàng)目存在許多問題,在管網(wǎng)變動(dòng)后如何才能在保證經(jīng)濟(jì)效益的情況下,還能滿足壓力與流量的要求,對設(shè)計(jì)與研究者提出了難題。針對這個(gè)問題,在保留持原有管網(wǎng)信息的情況下,本文通過對遺傳算法中的基本操作進(jìn)行控制的思路,提出對傳統(tǒng)遺傳算法改進(jìn)的方法,然后將其應(yīng)用于城市燃?xì)夤芫W(wǎng)的水力計(jì)算中以解決城市管網(wǎng)改建、擴(kuò)建工程中存在的問題。
關(guān)鍵詞:改建擴(kuò)建項(xiàng)目;水力計(jì)算;遺傳算法;改進(jìn)
1 概述
隨著我國燃?xì)馐聵I(yè)發(fā)展,已有的城市燃?xì)夤芫W(wǎng)已不能滿足人民生活的需要,迫切需要在已有的燃?xì)夤芫W(wǎng)基礎(chǔ)上進(jìn)行改建或擴(kuò)建項(xiàng)目。因此,如何在保證經(jīng)濟(jì)效益的基礎(chǔ)上,科學(xué)地對我國已有燃?xì)夤芫W(wǎng)的規(guī)模進(jìn)行調(diào)整就顯得格外重要,直接影響到管網(wǎng)的安全運(yùn)行及經(jīng)濟(jì)效益的獲得。對于城市燃?xì)夤芫W(wǎng)系統(tǒng)改擴(kuò)建項(xiàng)目來說,目前主要存在兩個(gè)方面的問題:
一方面,城市燃?xì)夤芫W(wǎng)的規(guī)模不斷擴(kuò)大,急需對管網(wǎng)結(jié)構(gòu)進(jìn)行改造、新建。從節(jié)約投資的角度考慮,應(yīng)盡量在保留原來管網(wǎng)的基礎(chǔ)上進(jìn)行擴(kuò)建或改造。如何才能保證管網(wǎng)變動(dòng)后還能滿足壓力與流量的要求,對設(shè)計(jì)與研究者提出了難題。
另一方面,由于我國城市化的發(fā)展,城市管網(wǎng)規(guī)模也隨之不斷擴(kuò)大,特別是大型和特大型管網(wǎng)利用手工計(jì)算難度很大,對設(shè)計(jì)者和工程人員提出了很高的要求,手工計(jì)算不僅耗時(shí)而且結(jié)果也難以滿足要求。因此,一種快速、準(zhǔn)確的水力計(jì)算就變得越來越重要。
近20年來,應(yīng)用系統(tǒng)分析方法,特別是優(yōu)化方法解決燃?xì)廨斉涔芫W(wǎng)系統(tǒng)設(shè)計(jì)問題在研究領(lǐng)域和工程中都取得了一定成果。遺傳算法的出現(xiàn)令人眼前一亮,它的出現(xiàn)大大簡化了管網(wǎng)設(shè)計(jì)計(jì)算工作[1]。本文嘗試將遺傳算法稍加改進(jìn)后引入到城市燃?xì)夤芫W(wǎng)的水力計(jì)算中以解決城市管網(wǎng)改建、擴(kuò)建工程中存在的問題。
2 遺傳算法
遺傳算法起源于上世紀(jì)60年代對自然和人工自適應(yīng)系統(tǒng)的研究。上世紀(jì)70年代De Jong基于遺傳算法的思想在計(jì)算機(jī)上進(jìn)行了大量的純數(shù)值函數(shù)優(yōu)化計(jì)算實(shí)驗(yàn)。在一系列研究工作的基礎(chǔ)上,上世紀(jì)80年代由Goldberg進(jìn)行歸納總結(jié),形成了遺傳算法的基本框架[2]。
(1) 傳統(tǒng)遺傳算法進(jìn)行水力計(jì)算原理
遺傳算法將“優(yōu)勝劣汰,適者生存”的生物進(jìn)化原理引入待優(yōu)化參數(shù)形成的編碼串群體中,按照一定的適配值函數(shù)(與目標(biāo)函數(shù)相關(guān))及一系列遺傳操作對各個(gè)體進(jìn)行篩選,從而使適配值高的個(gè)體保留下來,組成新的群體,新群體包含上一代的大量信息,并且引入了新的優(yōu)于上一代的個(gè)體[3]。這樣周而復(fù)始,群體中各個(gè)體適應(yīng)度不斷提高直至滿足一定的極限條件。此時(shí),群體中適配值最高的個(gè)體即為待優(yōu)化參數(shù)的最優(yōu)解。
(2) 針對改建、擴(kuò)建項(xiàng)目的遺傳算法研究
顧名思義,管網(wǎng)的改建是在已有管網(wǎng)的基礎(chǔ)對其中某些管段的管徑與走向進(jìn)行改變,以滿足整個(gè)管網(wǎng)的管段流量與節(jié)點(diǎn)壓力。而管網(wǎng)的擴(kuò)建即是在保留已有管網(wǎng)的基礎(chǔ)上,通過增加新的管段的方法,來滿足各用氣點(diǎn)的需求,同時(shí)保證整個(gè)環(huán)網(wǎng)的安全穩(wěn)定運(yùn)行。在進(jìn)行管網(wǎng)的改建與擴(kuò)建的過程中,還要考慮管網(wǎng)整改后的經(jīng)濟(jì)效益。
① 傳統(tǒng)遺傳算法的操作
基本遺傳算法(Simple Genetic Algorithms,簡稱SGA)是一個(gè)迭代過程,它模擬生物在自然環(huán)境中的遺傳和進(jìn)化機(jī)理,反復(fù)將選擇、交叉、變異操作作用于群體,最終可得到問題的最優(yōu)解或近似最優(yōu)解。
基本遺傳算法包含三個(gè)操作:
選擇(Reproduction Operator);
交叉(Crossover Operator);
變異(Mutation Operator)[4]。
② 對傳統(tǒng)遺傳算法的改進(jìn)操作
過去采用遺傳算法解決管網(wǎng)優(yōu)化問題時(shí),一般都用二進(jìn)制數(shù)字串來表達(dá)。
a. 對于燃?xì)夤芫W(wǎng)來說,管網(wǎng)各管段的管徑是用一個(gè)數(shù)字串表達(dá)出來,而這個(gè)數(shù)字串就因此包含了管網(wǎng)的管徑信息。例如,一個(gè)有7條管段的管網(wǎng),管徑分別為76、76、133、108、89、89、108(mm):如果用二進(jìn)制編碼方法,則該管網(wǎng)管徑信息的編碼為:
0000∣0000∣0011∣00101∣0001∣0001∣0011;
如果采用實(shí)數(shù)編碼方法,則為:
76∣76∣133∣108∣89∣89∣108
從上面的例子可以看出二進(jìn)制編碼既不自然又比較麻煩,并且在以后的操作步驟中還需要將二進(jìn)制數(shù)字串解碼為真實(shí)管徑的操作[5]。所以,采用實(shí)數(shù)編碼方法,在實(shí)際的計(jì)算時(shí)相較傳統(tǒng)的遺傳算法更加簡便。
b. 對原本已有的燃?xì)夤芫W(wǎng)進(jìn)行改建、擴(kuò)建時(shí),考慮到施工的情況及全局經(jīng)濟(jì)效益的需求,應(yīng)該在盡量減少對已有管網(wǎng)改變的基礎(chǔ)上進(jìn)行施工作業(yè),并且要保證改建、擴(kuò)建的管段與整個(gè)管網(wǎng)“和諧”運(yùn)行,整個(gè)管網(wǎng)的壓力與流量都滿足規(guī)范要求。在遺傳算法時(shí),由于要進(jìn)行選擇、交叉和變異的基本操作,因此,在進(jìn)行管網(wǎng)的改建與擴(kuò)建時(shí),就相當(dāng)于已有的管段管徑全部或大部分都是確定的,需要在此基礎(chǔ)上增加或改變少量管段,最終使新建的管段與原有的管段形成的管網(wǎng)獲得較大的經(jīng)濟(jì)效益。為了實(shí)現(xiàn)這一目標(biāo),就需要保證在使用遺傳算法的時(shí)候,確定的管段的管徑在經(jīng)歷了選擇、交叉與變異的過程中,一直保持著原有管段的信息,每次個(gè)體適應(yīng)度的計(jì)算都是由這些原有管段與新建管段組合的個(gè)體信息來進(jìn)行量化評價(jià)。要實(shí)現(xiàn)上述目標(biāo),就要對傳統(tǒng)的選擇運(yùn)算、交叉運(yùn)算、變異運(yùn)算等遺傳算子的確定過程進(jìn)行優(yōu)化。
③ 遺傳算法過程
a. 編碼
遺傳算法通過對個(gè)體編碼的操作,不斷搜索出適應(yīng)度較高的個(gè)體,并在群體中逐漸增加其數(shù)量,最終尋求出問題的最優(yōu)解或近似解。
b. 產(chǎn)生初始群體
利用傳統(tǒng)的遺傳算法產(chǎn)生初始群體時(shí),對于有N條管段的管網(wǎng)系統(tǒng),需要隨機(jī)產(chǎn)生N個(gè)個(gè)體形成初始群體,每個(gè)個(gè)體就是由所有管段的管徑按照一定順序連接在一起的數(shù)字串,這個(gè)順序就是管段的編號順序。因此不同的個(gè)體代表了不同的管段管徑選擇情況。而個(gè)體的產(chǎn)生方法是:調(diào)用隨機(jī)函數(shù)產(chǎn)生隨機(jī)數(shù),每個(gè)隨機(jī)數(shù)對應(yīng)著一種管徑;管網(wǎng)由多少管段組成就調(diào)用多少次隨機(jī)函數(shù)。要產(chǎn)生N個(gè)個(gè)體,只需重復(fù)N次個(gè)體產(chǎn)生操作就可以了。這樣就生成了我們所需要的初始群體[6]。
然而,對于改建和擴(kuò)建項(xiàng)目,由于需要在確定某些管段管徑的情況下改變或新建某些管段,最終達(dá)到新管段與原有確定管徑的管段組成的整個(gè)系統(tǒng)運(yùn)行工況良好,即要求在確定某些管段管徑的情況下,使產(chǎn)生的整個(gè)個(gè)體的適應(yīng)度較高。因此,需要對傳統(tǒng)的遺傳算法進(jìn)行優(yōu)化。對于有N條管段的管網(wǎng)系統(tǒng),如果其中有M條管段的管徑己確定,因此需要隨機(jī)產(chǎn)生另外的(N-M)個(gè)個(gè)體,與已經(jīng)確定的M條管段的個(gè)體合并形成初始群體。
值得注意的是,在形成初始群體的時(shí)候,需要將已定管徑的管段個(gè)體放在初始群體的最后。這樣,每個(gè)個(gè)體就是由所有管段的管徑按照一定順序連接在一起的數(shù)字串,這個(gè)順序就是管段的編號順序,其中已知管徑管段排在后面。因此不同的個(gè)體代表了不同的管段管徑選擇情況。這樣形成的初始群體,都滿足管網(wǎng)改建與擴(kuò)建工程中已確定部分管段的情形。起初,這個(gè)初始群體中的大多數(shù)個(gè)體肯定很難滿足要求,但是我們從這里出發(fā),通過遺傳體編碼串中的個(gè)別幾個(gè)點(diǎn)上的值,并且變異發(fā)生的概率也比較小,所以其發(fā)揮的作用比較慢,作用效果也不明顯。
c. 評價(jià)
評價(jià)個(gè)體亦即計(jì)算個(gè)體的適應(yīng)度。遺傳算法中使用適應(yīng)度這個(gè)概念來度量群體中各個(gè)個(gè)體在優(yōu)化計(jì)算中有可能達(dá)到或接近于或有助于找到最優(yōu)解的優(yōu)良程度。適應(yīng)度較高的個(gè)體遺傳到下一代的概率就較大;而適應(yīng)度較低的個(gè)體遺傳到下一代的概率就相對小一些。
d. 選擇
選擇操作是建立在對個(gè)體的適應(yīng)度進(jìn)行評價(jià)的基礎(chǔ)之上的。在遺傳算法中,應(yīng)該是更滿足目標(biāo)函數(shù)即適應(yīng)度較高的個(gè)體將有更多機(jī)會(huì)遺傳到下一代;而適應(yīng)度較低的個(gè)體遺傳到下一代的機(jī)會(huì)就相對較少。
由于所形成的每個(gè)個(gè)體的管段信息都滿足改擴(kuò)建項(xiàng)目的基本要求,因此,經(jīng)過選擇操作,最終的結(jié)果是選擇出滿足改擴(kuò)建項(xiàng)目管段要求的適應(yīng)度較高的個(gè)體。
d. 交叉
交叉操作的設(shè)計(jì)和實(shí)現(xiàn)與所研究的問題密切相關(guān),要求它既不要太多的破壞個(gè)體編碼串中表示優(yōu)良性的優(yōu)良模式,又要能夠有效的產(chǎn)生出一些較好的新個(gè)體模式。示例如下,其中最后兩條管段為已確定管徑的管段:
可見,經(jīng)過交叉操作,已經(jīng)確定管徑的管段并沒有發(fā)生變化,仍然保有原來管段的信息。
e. 變異
遺傳算法中的基本位變異操作改變的只是個(gè)之后,最終選出來的個(gè)體是在保證已確定管段管徑基礎(chǔ)上適應(yīng)度較高的個(gè)體。同時(shí),形成的新群體的個(gè)體中代表已確定管徑的各管段仍然保持著原有管徑的信息,滿足改擴(kuò)建項(xiàng)目的需求。
在利用遺傳算法進(jìn)行管網(wǎng)水力計(jì)算過程中,管徑的確定是最主要且復(fù)雜的步驟,通過上面的改進(jìn),解決了改擴(kuò)建項(xiàng)目中管徑的問題,使改擴(kuò)建項(xiàng)目的優(yōu)化過程大大簡化。
3 結(jié)論
利用上面的方法對遺傳算法的基本操作過程進(jìn)行改進(jìn),即經(jīng)過了改進(jìn)的選擇、交叉與遺傳操作運(yùn)算,擇優(yōu)汰劣,最后就能選擇出優(yōu)秀的個(gè)體,滿足目標(biāo)函數(shù)的要求。
(本文作者:夏陽1王興畏21.重慶燃?xì)?集團(tuán))有限責(zé)任公司 重慶400020;2.重慶大學(xué) 城市建設(shè)與環(huán)境工程學(xué)院 重慶400045)
贊 賞 分享
您可以選擇一種方式贊助本站
支付寶轉(zhuǎn)賬贊助
微信轉(zhuǎn)賬贊助
- 注解:本資料由會(huì)員及群友提供僅供閱讀交流學(xué)習(xí),不得用于商業(yè)用途!
網(wǎng)站VIP會(huì)員無限制下載網(wǎng)站資料!贊助網(wǎng)站獲得,點(diǎn)擊贊助??!