• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于自適應(yīng)罰函數(shù)遺傳算法求解地下水管理模型

    2022-04-16 10:38:43王玉蓮黃林顯桑國慶等
    人民黃河 2022年3期
    關(guān)鍵詞:約束條件適應(yīng)度遺傳算法

    王玉蓮 黃林顯 桑國慶等

    關(guān)鍵詞:地下水管理模型;自適應(yīng)罰函數(shù);遺傳算法(GA);MODFLOW

    中圖分類號:P641.2 文獻(xiàn)標(biāo)志碼:A

    doi:10.3969/j.issn.1000-1379.2022.03.014

    引用格式:王玉蓮,黃林顯,桑國慶,等.基于自適應(yīng)罰函數(shù)遺傳算法求解地下水管理模型[J].人民黃河,2022,44(3):69-73.

    近幾十年來,地下水管理模型被廣泛應(yīng)用于地下水資源優(yōu)化管理工作中[1-3],對于無約束優(yōu)化問題的求解產(chǎn)生許多成熟的方法,如基于梯度尋優(yōu)的方法等。但地下水資源優(yōu)化管理往往涉及復(fù)雜的環(huán)境、水文地質(zhì)和經(jīng)濟(jì)等約束條件,并且其代價函數(shù)往往不連續(xù)可導(dǎo),對于約束優(yōu)化問題(特別是非線性約束優(yōu)化問題),傳統(tǒng)的梯度尋優(yōu)類方法通常很難取得好的優(yōu)化效果[4-7]。

    國內(nèi)外學(xué)者對利用遺傳算法求解地下水管理模型進(jìn)行了許多研究。利用遺傳算法求解約束優(yōu)化問題的難點(diǎn)在于有效合理選取罰函數(shù),最簡單的罰函數(shù)使用方法是對違反限制條件的解施加某種固定罰因子,使其適應(yīng)度函數(shù)變差[8],但是如何合理有效選取罰因子成為制約該方法優(yōu)化效果的難點(diǎn)。罰因子取值過大容易造成算法過早地收斂于局部極值點(diǎn),取值過小又可能造成算法的收斂性能變差。Wu等[9]提出了一種可以人為進(jìn)化罰因子和目標(biāo)函數(shù)的自適應(yīng)罰函數(shù)方法,Lin等[10-11]提出了一種新型自適應(yīng)罰函數(shù)方法用于解決約束條件優(yōu)化問題,Powell等[12]提出了一種罰函數(shù)構(gòu)造方法并指出可行域解優(yōu)先度高于非可行域解。以上幾種方法同樣需要人為確定罰因子數(shù)值,同時當(dāng)種群含有較多非可行域解時,過度降低非可行域解的優(yōu)先度會大大影響搜索效率[8]。Cai等[13]、Wang等[14]和Afshari等[15]提出了多目標(biāo)優(yōu)化技術(shù)用來求解約束條件優(yōu)化問題。在各種多目標(biāo)優(yōu)化方法中,約束條件優(yōu)化問題被轉(zhuǎn)化為最小化(或最大化)目標(biāo)函數(shù)和最小化約束條件違反程度的雙目標(biāo)優(yōu)化問題。多目標(biāo)優(yōu)化方法的主要缺點(diǎn)是其需要耗費(fèi)大量計算資源,同時需要人為提供一些計算參數(shù)。

    基于以上分析,本文提出一種自適應(yīng)罰函數(shù)遺傳算法用于求解有約束條件的地下水管理優(yōu)化問題,并進(jìn)行實(shí)際案例驗(yàn)證。該算法將地下水流數(shù)值模型MODFLOW嵌入到優(yōu)化算法GA中,數(shù)值模型模擬結(jié)果返回到優(yōu)化算法中作為約束條件,優(yōu)化過程通過GA求解;同時,該算法能夠根據(jù)求解過程中可行域個體的數(shù)量來自動選擇合適的罰因子值,克服了一般遺傳算法中罰因子取值的困難。

    1方法原理

    本研究提出的自適應(yīng)罰函數(shù)遺傳算法模型利用MODFLOW模擬地下水流運(yùn)移的物理過程;自適應(yīng)罰函數(shù)算法根據(jù)遺傳算法種群中可行域解所占的比例自動選取罰因子值的大小,并計算適應(yīng)度函數(shù);GA優(yōu)化算法根據(jù)適應(yīng)度函數(shù),通過選擇、交叉和變異3個過程,按照優(yōu)勝劣汰、適者生存的自然法則,最終搜索到全局最優(yōu)的個體。3個模塊通過計算機(jī)程序?qū)崿F(xiàn)相互之間的鏈接,并通過變量實(shí)現(xiàn)數(shù)據(jù)交換。模型的主要結(jié)構(gòu)及不同模塊之間的鏈接見圖1(其中BAS、LPF和WEL等為MODFLOW的子程序包,如WEL為模擬井流子程序包,見參考文獻(xiàn)[16])。

    1.1地下水控制方程

    根據(jù)能量守恒、質(zhì)量守恒以及Darcy定律,在不考慮水密度變化條件下,孔隙介質(zhì)中地下水三維流動偏微分方程可以用下式表示[16]:

    本研究中,地下水水流模擬程序MODFLOW被用來模擬地下水滲流場的時空分布狀況。

    1.2優(yōu)化模型

    在一定的等式約束和不等式約束條件下,優(yōu)化模型往往表現(xiàn)為補(bǔ)給量或抽水量的最大化或抽水成本的最小化及最優(yōu)井位分布。本研究的實(shí)例為抽水量最大化,但在數(shù)值模型MODFLOW中抽水量為負(fù)值,因此其目標(biāo)函數(shù)可表示為

    2基于自適應(yīng)罰函數(shù)的遺傳算法

    2.1遺傳算法(GA)

    遺傳算法(GA)是由美國Holland教授于20世紀(jì)70年代提出的建立在自然選擇和遺傳學(xué)機(jī)理基礎(chǔ)上的全局隨機(jī)進(jìn)化和搜索算法,目前已得到了廣泛應(yīng)用[17]。與傳統(tǒng)的基于梯度尋優(yōu)方法相比,遺傳算法尋優(yōu)不需優(yōu)化函數(shù)連續(xù)可導(dǎo),且能收斂到全局最優(yōu)解,因此能夠克服一些基于梯度尋優(yōu)方法的缺點(diǎn)。遺傳算法在每次迭代過程中都生成一個群體,群體中的每個個體對應(yīng)一組決策變量,按照某種標(biāo)準(zhǔn)從群體中選取較優(yōu)的個體,通過選擇、交叉和變異對種群進(jìn)行進(jìn)化,產(chǎn)生新一代種群;如此反復(fù),通過種群的不斷進(jìn)化,使個體逐代向全局最優(yōu)解空間轉(zhuǎn)移,直到達(dá)到某種收斂指標(biāo)為止。GA算法計算流程見圖2。

    2.2自適應(yīng)罰函數(shù)法

    罰函數(shù)法主要用來解決約束條件下的最優(yōu)化問題,通過把約束條件變?yōu)榱P函數(shù)使有約束的目標(biāo)函數(shù)變?yōu)闊o約束的目標(biāo)函數(shù);違反約束條件的個體將被附加一個罰函數(shù)值,從而使其適應(yīng)度值降低,減小其被選擇的概率。對于式(2)~式(4)的求解可以轉(zhuǎn)化為下列無約束問題:

    傳統(tǒng)罰函數(shù)法的最大弊端是無法有效地選擇罰因子值,而如果罰因子值選取不恰當(dāng),適應(yīng)度值就可能在可行域之外達(dá)到某一平衡值或者陷入不成熟收斂而終止搜索。比如,內(nèi)罰函數(shù)法和外罰函數(shù)法若罰因子值無限增大則容易引起優(yōu)化結(jié)果對于輸入過度敏感的病態(tài)問題;乘子法通過引入拉格朗日乘子,可克服罰因子值無限增大的問題,但需要通過解決一系列無約束極小值問題來獲得最優(yōu)乘子和最優(yōu)解,從而增大了計算的復(fù)雜程度。

    自適應(yīng)罰函數(shù)算法不需要人為選取罰因子值,而是根據(jù)優(yōu)化算法求解過程中可行域個體的數(shù)量來選擇合適的罰因子值:①對于可行域個體只考慮個體的標(biāo)準(zhǔn)化適應(yīng)度;②當(dāng)種群中可行域個體為0時,則只考慮個體的標(biāo)準(zhǔn)化偏離值,這樣設(shè)計的目的是首先找到位于可行域中的解,然后再去尋找最優(yōu)解;③當(dāng)位于可行域中的個體數(shù)量較少甚至接近于0(即rf很小或接近于0)時,則非可行域個體的標(biāo)準(zhǔn)化偏離值越大,懲罰的程度就越大;④當(dāng)位于可行域中的個體數(shù)量很大(即rf很大)時,則非可行域個體的標(biāo)準(zhǔn)化適應(yīng)度值越大,懲罰的程度就越大。

    由于自適應(yīng)罰函數(shù)法可以在優(yōu)化過程中根據(jù)實(shí)際情況實(shí)時調(diào)整罰因子值,因此能夠更加迅速、有效地收斂到全局最優(yōu)解。自適應(yīng)罰函數(shù)GA算法的計算流程見圖3。

    3案例研究

    案例研究采用McKinney等[18]提出的一個擬建水源地實(shí)例,見圖4。該研究區(qū)為一個10000m×4500m的矩形區(qū)域,地下水流為二維潛水穩(wěn)定流;含水層底板水平,高程為980m;東部和西部邊界均為山體,可以概化為隔水邊界;南部和北部邊界均為地表水體,可以概化為給定水頭邊界(水位均為1000m)。假設(shè)潛水層單位面積上的補(bǔ)給強(qiáng)度B=0.001m/d,含水介質(zhì)為均質(zhì)各向同性,滲透系數(shù)K=50m/d。水源地擬建10口開采井,每口開采井的最大允許開采量為7000m3/d,最低允許水位為0m。對研究區(qū)進(jìn)行概化,如圖5所示。McKinney等[18]利用遺傳算法對該地下水管理實(shí)例進(jìn)行了求解,本文利用所提出的自適應(yīng)罰函數(shù)遺傳算法對該問題進(jìn)行求解,并與McKinney等的計算結(jié)果進(jìn)行比較。

    設(shè)置進(jìn)化代數(shù)為100代,每一個群體包含200個個體,交叉概率為0.7,變異概率為0.05,優(yōu)化結(jié)果見表1。

    由表1可以看出,相比McKinney等的遺傳算法,自適應(yīng)罰函數(shù)遺傳算法能夠收斂到更加精確的全局最優(yōu)解,原因主要是自適應(yīng)罰函數(shù)遺傳算法可以根據(jù)種群中可行域解的數(shù)量自動調(diào)節(jié)罰因子值的大小,且能夠同時保留可行域解和非可行域解的有用信息。對比不同的編碼精度可以看出,通過提高遺傳算法的編碼精度可以提高優(yōu)化結(jié)果的精度。

    總開采量(即優(yōu)化模型的目標(biāo)函數(shù))隨進(jìn)化代數(shù)的變化見圖6??梢钥闯?,當(dāng)進(jìn)化代數(shù)較少時,總開采量較小,優(yōu)化模型無法收斂到全局最優(yōu)解;隨著進(jìn)化代數(shù)的增加,總開采量不斷增大,在進(jìn)化85代后基本達(dá)到穩(wěn)定,說明通過增加進(jìn)化代數(shù)可以收斂到全局最優(yōu)解,且該優(yōu)化模型求解的收斂速度較快。但需要注意的是,進(jìn)化代數(shù)的增加會帶來較大的計算負(fù)擔(dān),因此需要耗費(fèi)更長的時間去獲得最優(yōu)解,需要進(jìn)一步研究解決計算效率問題。

    4結(jié)論

    (1)自適應(yīng)罰函數(shù)遺傳算法可以根據(jù)可行域解的數(shù)量自主選取罰因子值,克服了一般遺傳算法中罰因子值選取的困難,能夠同時保留可行域解和非可行域解的搜索信息,確保獲得可行域上的全局最優(yōu)解,與傳統(tǒng)的一般遺傳算法相比,該算法求解精度更高。

    (2)通過接口程序,實(shí)現(xiàn)了優(yōu)化算法GA和地下水水流模擬程序MODFLOW的鏈接,使得優(yōu)化過程中數(shù)據(jù)交換由文件讀取改進(jìn)為內(nèi)部變量傳遞,大大提高了優(yōu)化模型的計算效率。

    (3)通過案例測試,自適應(yīng)罰函數(shù)遺傳算法收斂速度快、穩(wěn)定性好,在進(jìn)化代數(shù)較少的情況下就能夠收斂到全局最優(yōu)解。

    (4)隨著進(jìn)化代數(shù)的增加,能夠提高求解精度,但計算負(fù)擔(dān)也會加大,需要進(jìn)一步研究解決計算效率問題。

    【責(zé)任編輯 張華興】

    猜你喜歡
    約束條件適應(yīng)度遺傳算法
    改進(jìn)的自適應(yīng)復(fù)制、交叉和突變遺傳算法
    基于一種改進(jìn)AZSVPWM的滿調(diào)制度死區(qū)約束條件分析
    A literature review of research exploring the experiences of overseas nurses in the United Kingdom (2002–2017)
    基于自適應(yīng)遺傳算法的CSAMT一維反演
    一種基于遺傳算法的聚類分析方法在DNA序列比較中的應(yīng)用
    基于遺傳算法和LS-SVM的財務(wù)危機(jī)預(yù)測
    線性規(guī)劃的八大妙用
    基于空調(diào)導(dǎo)風(fēng)板成型工藝的Kriging模型適應(yīng)度研究
    中國塑料(2016年11期)2016-04-16 05:26:02
    基于改進(jìn)的遺傳算法的模糊聚類算法
    少數(shù)民族大學(xué)生文化適應(yīng)度調(diào)查
    澜沧| 桦甸市| 临城县| 宁南县| 根河市| 曲水县| 阿尔山市| 长海县| 蓬安县| 长泰县| 永德县| 枞阳县| 南康市| 乐至县| 石阡县| 宜君县| 永泰县| 新田县| 金乡县| 宁陵县| 临桂县| 华阴市| 渭南市| 信丰县| 唐河县| 于都县| 山丹县| 怀安县| 开鲁县| 清丰县| 澄江县| 德钦县| 虹口区| 闸北区| 衡阳市| 中山市| 湖口县| 塘沽区| 墨竹工卡县| 彭山县| 屏东县|