本發(fā)明涉及電力
技術(shù)領(lǐng)域:
,特別是涉及一種基于縱橫交叉算法的機組組合優(yōu)化方法及裝置。
背景技術(shù):
:在電力系統(tǒng)中,機組組合(uc)問題是其中的一個重要問題。機組組合問題是一個組合優(yōu)化問題,主要任務(wù)是確定機組的開停機時間以及負荷的經(jīng)濟分配,使得在滿足預(yù)測負荷需求的前提下總的運行成本最低。由于機組容量限制、爬坡約束、旋轉(zhuǎn)備用約束、最小開停機時間約束等一系列機組和系統(tǒng)約束,使得機組組合問題成為一個復(fù)雜的、大規(guī)模的、動態(tài)的、混合整數(shù)非線性問題。近年來,隨著智能算法的快速發(fā)展,啟發(fā)式搜索技術(shù)逐漸發(fā)展起來,各種啟發(fā)式搜索技術(shù)被用來解決機組組合問題,如遺傳算法(ga)、粒子群優(yōu)化(pso)、引力搜索算法(gsa)、人工蜂群(abc)、進化規(guī)劃(ep)、差分進化(de)等。上述方法在一定程度上可以解決少量機組組合問題,但是對于電力系統(tǒng)中大規(guī)模的機組組合問題,這些優(yōu)化方法都容易陷入維數(shù)災(zāi)難,容易產(chǎn)生在提高全局收斂能力的同時犧牲收斂速度的問題。技術(shù)實現(xiàn)要素:本發(fā)明的目的是提供一種基于縱橫交叉算法的機組組合優(yōu)化方法及裝置,以在提高全局收斂能力的同時保持收斂速度。為解決上述技術(shù)問題,本發(fā)明提供如下技術(shù)方案:一種基于縱橫交叉算法的機組組合優(yōu)化方法,包括:確定電力系統(tǒng)運行費用最低的目標(biāo)函數(shù);基于所述目標(biāo)函數(shù)和所述電力系統(tǒng)機組約束,建立所述電力系統(tǒng)機組組合的優(yōu)化模型;根據(jù)所述優(yōu)化模型的潛在解,初始化種群,獲得初始機組狀態(tài)矩陣和初始機組出力矩陣;基于所述初始機組狀態(tài)矩陣和所述初始機組出力矩陣,依次使用二進制縱橫交叉算法bcso和縱橫交叉算法cso迭代進行橫向交叉和縱向交叉操作,產(chǎn)生的子代和父代競爭,獲得所述電力系統(tǒng)機組組合的優(yōu)化解。在本發(fā)明的一種具體實施方式中,所述基于所述初始機組狀態(tài)矩陣和所述初始機組出力矩陣,依次使用二進制縱橫交叉算法bcso和縱橫交叉算法cso迭代進行橫向交叉和縱向交叉操作,產(chǎn)生的子代和父代競爭,獲得所述電力系統(tǒng)機組組合的優(yōu)化解,包括:將所述初始機組狀態(tài)矩陣確定為父代種群的機組狀態(tài)矩陣;使用bcso對所述父代種群的機組狀態(tài)矩陣進行橫向交叉產(chǎn)生子代,修正機組狀態(tài)和功率平衡,獲得bcso橫向交叉后的占優(yōu)解;使用cso對所述bcso橫向交叉后的占優(yōu)解的機組出力矩陣進行橫向交叉產(chǎn)生子代,修正功率平衡,獲得cso橫向交叉后的占優(yōu)解;使用bcso對所述cso橫向交叉后的占優(yōu)解的機組狀態(tài)矩陣進行縱向交叉產(chǎn)生子代,修正機組狀態(tài)和功率平衡,獲得bcso縱向交叉后的占優(yōu)解;使用cso對所述bcso縱向交叉后的占優(yōu)解的機組出力矩陣進行縱向交叉產(chǎn)生子代,修正功率平衡,獲得cso縱向交叉后的占優(yōu)解;將所述cso縱向交叉后的占優(yōu)解的機組狀態(tài)矩陣確定為父代種群的機組狀態(tài)矩陣,重復(fù)執(zhí)行所述使用bcso對所述父代種群的機組狀態(tài)矩陣進行橫向交叉產(chǎn)生子代,修正機組狀態(tài)和功率平衡,獲得bcso橫向交叉后的占優(yōu)解的步驟,直至達到設(shè)定的最大迭代次數(shù),獲得所述電力系統(tǒng)機組組合的優(yōu)化解。在本發(fā)明的一種具體實施方式中,所述使用bcso對所述父代種群的機組狀態(tài)矩陣進行橫向交叉產(chǎn)生子代,包括:對所述父代種群的機組狀態(tài)矩陣中的所有粒子進行兩兩不重復(fù)配對;針對每一對粒子,對該對粒子的每一維進行bcso橫向交叉,獲得每一維的子代;對獲得的子代進行二進制化處理,產(chǎn)生所述父代種群對應(yīng)的子代。在本發(fā)明的一種具體實施方式中,所述使用cso對所述bcso橫向交叉后的占優(yōu)解的機組出力矩陣進行橫向交叉產(chǎn)生子代,包括:對所述bcso橫向交叉后的占優(yōu)解的機組出力矩陣中的所有粒子進行兩兩不重復(fù)配對;針對每一對粒子,對該粒子的每一維進行cso橫向交叉,獲得每一維的子代。在本發(fā)明的一種具體實施方式中,所述使用bcso對所述cso橫向交叉后的占優(yōu)解的機組狀態(tài)矩陣進行縱向交叉產(chǎn)生子代,包括:對所述cso橫向交叉后的占優(yōu)解的機組狀態(tài)矩陣中的所有維進行兩兩不重復(fù)配對;針對每一對維,在預(yù)設(shè)的bcso縱向交叉率下,對每個粒子的該對維進行bcso縱向交叉,獲得每個粒子的相應(yīng)維的子代;對獲得的子代進行二進制化處理,產(chǎn)生所述cso橫向交叉后的占優(yōu)解對應(yīng)的子代。在本發(fā)明的一種具體實施方式中,所述使用cso對所述bcso縱向交叉后的占優(yōu)解的機組出力矩陣進行縱向交叉產(chǎn)生子代,包括:對所述bcso縱向交叉后的占優(yōu)解的機組出力矩陣的每一維進行歸一化處理;對歸一化后的所述bcso縱向交叉后的占優(yōu)解的機組出力矩陣中所有維進行兩兩不重復(fù)配對;針對每一對維,在預(yù)設(shè)的cso縱向交叉率下,對每個粒子的該對維進行cso縱向交叉,獲得每個粒子的相應(yīng)維的子代;對獲得的子代進行反歸一化處理,產(chǎn)生所述bcso縱向交叉后的占優(yōu)解對應(yīng)的子代。在本發(fā)明的一種具體實施方式中,通過以下步驟修正機組狀態(tài):確定所有機組的平均燃料費用;根據(jù)平均燃料費用從小到大的順序?qū)C組進行排列,獲得機組的優(yōu)先順序表;確定每一個時段旋轉(zhuǎn)備用是否滿足;如果否,則按照所述優(yōu)先順序表順序開啟沒有運行的機組直至滿足旋轉(zhuǎn)備用;確定每一個機組的狀態(tài)是否滿足最小開停機時間;如果否,則啟動或關(guān)閉部分時段機組使其滿足最小開停機時間;按照所述優(yōu)先順序表的逆順序確定每一個時段是否存在冗余的機組;如果是,則在滿足其他約束條件的情況下關(guān)閉冗余的機組。在本發(fā)明的一種具體實施方式中,通過以下步驟修正功率平衡:確定每個時段的功率平衡是否滿足;如果機組出力大于對應(yīng)時段的負荷需求,則在滿足機組出力上下限約束的情況下,按照所述優(yōu)先順序表的逆順序依次減少運行機組的出力直至滿足功率平衡;如果機組出力小于對應(yīng)時段的負荷需求,則在滿足機組出力上下限約束的情況下,按照所述優(yōu)先順序表的順序依次增加運行機組的出力直至滿足功率平衡。一種基于縱橫交叉算法的機組組合優(yōu)化裝置,包括:目標(biāo)函數(shù)確定模塊,用于確定電力系統(tǒng)運行費用最低的目標(biāo)函數(shù);優(yōu)化模型建立模塊,用于基于所述目標(biāo)函數(shù)和所述電力系統(tǒng)機組約束,建立所述電力系統(tǒng)機組組合的優(yōu)化模型;初始化模塊,用于根據(jù)所述優(yōu)化模型的潛在解,初始化種群,獲得初始機組狀態(tài)矩陣和初始機組出力矩陣;優(yōu)化解獲得模塊,用于基于所述初始機組狀態(tài)矩陣和所述初始機組出力矩陣,依次使用二進制縱橫交叉算法bcso和縱橫交叉算法cso迭代進行橫向交叉和縱向交叉操作,產(chǎn)生的子代和父代競爭,獲得所述電力系統(tǒng)機組組合的優(yōu)化解。在本發(fā)明的一種具體實施方式中,所述優(yōu)化解獲得模塊,包括:第一確定子模塊,用于將所述初始機組狀態(tài)矩陣確定為父代種群的機組狀態(tài)矩陣;bcso橫向交叉子模塊,用于使用bcso對所述父代種群的機組狀態(tài)矩陣進行橫向交叉產(chǎn)生子代,修正機組狀態(tài)和功率平衡,獲得bcso橫向交叉后的占優(yōu)解;cso橫向交叉子模塊,用于使用cso對所述bcso橫向交叉后的占優(yōu)解的機組出力矩陣進行橫向交叉產(chǎn)生子代,修正功率平衡,獲得cso橫向交叉后的占優(yōu)解;bcso縱向交叉子模塊,用于使用bcso對所述cso橫向交叉后的占優(yōu)解的機組狀態(tài)矩陣進行縱向交叉產(chǎn)生子代,修正機組狀態(tài)和功率平衡,獲得bcso縱向交叉后的占優(yōu)解;cso縱向交叉子模塊,用于使用cso對所述bcso縱向交叉后的占優(yōu)解的機組出力矩陣進行縱向交叉產(chǎn)生子代,修正功率平衡,獲得cso縱向交叉后的占優(yōu)解;第二確定子模塊,用于在未達到設(shè)定的最大迭代次數(shù)時,將所述cso縱向交叉后的占優(yōu)解的機組狀態(tài)矩陣確定為父代種群的機組狀態(tài)矩陣,觸發(fā)所述bcso橫向交叉子模塊;優(yōu)化解獲得子模塊,用于在達到設(shè)定的最大迭代次數(shù)時,獲得所述電力系統(tǒng)機組組合的優(yōu)化解。應(yīng)用本發(fā)明實施例所提供的技術(shù)方案,基于電力系統(tǒng)運行費用最低的目標(biāo)函數(shù)和電力系統(tǒng)機組約束,建立電力系統(tǒng)機組組合的優(yōu)化模型,根據(jù)優(yōu)化模型的潛在解,初始化種群,獲得初始機組狀態(tài)矩陣和初始機組出力矩陣,基于該初始機組狀態(tài)矩陣和初始機組出力矩陣,可以依次使用bcso和cso迭代進行橫向交叉和縱向交叉操作,產(chǎn)生的子代和父代競爭,獲得電力系統(tǒng)機組組合的優(yōu)化解??v橫交叉算法的橫向交叉和縱向交叉在迭代過程中的每一代交替進行,將兩種交叉搜索方式完美結(jié)合。當(dāng)每次交叉操作結(jié)束后,子代與父代進行比較,當(dāng)子代粒子的適應(yīng)度比父代更好時,被保留下來進入下次迭代。使得粒子個體信息能夠快速地在種群中傳播,達到了很好的交流作用,在極大地提高全局收斂能力的同時保持了收斂速度。附圖說明為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例中一種基于縱橫交叉算法的機組組合優(yōu)化方法的實施流程圖;圖2為本發(fā)明實施例中優(yōu)化解獲得過程示意圖;圖3為本發(fā)明實施例中10機系統(tǒng)的收斂曲線圖;圖4為本發(fā)明實施例中20機系統(tǒng)的收斂曲線圖;圖5為本發(fā)明實施例中40機系統(tǒng)的收斂曲線圖;圖6為本發(fā)明實施例中60機系統(tǒng)的收斂曲線圖;圖7為本發(fā)明實施例中80機系統(tǒng)的收斂曲線圖;圖8為本發(fā)明實施例中100機系統(tǒng)的收斂曲線圖;圖9為本發(fā)明實施例中一種基于縱橫交叉算法的機組組合優(yōu)化裝置的結(jié)構(gòu)示意圖;圖10為本發(fā)明實施例中優(yōu)化解獲得裝置的結(jié)構(gòu)示意圖。具體實施方式為了使本
技術(shù)領(lǐng)域:
的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實施方式對本發(fā)明作進一步的詳細說明。顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。參見圖1所示,為本發(fā)明實施例所提供的一種基于縱橫交叉算法的機組組合優(yōu)化方法的實施流程圖,該方法包括以下步驟:s110:確定電力系統(tǒng)運行費用最低的目標(biāo)函數(shù)。本發(fā)明實施例所提供的方法具體可以應(yīng)用于電力系統(tǒng)安排日前發(fā)電計劃。機組組合的任務(wù)是確定機組的開停機時間以及負荷的經(jīng)濟分配,使得在滿足預(yù)測負荷需求的前提下總的運行成本最低。根據(jù)機組在各時段的發(fā)電運行費用、啟動費用和狀態(tài),可以確定電力系統(tǒng)運行費用最低的目標(biāo)函數(shù),該目標(biāo)函數(shù)的具體形式如公式(1)所示:其中,tc為電力系統(tǒng)運行費用;fi(pit)為機組i在t時段的發(fā)電運行費用,可使用公式(2)表示;pit為機組i在t時段的出力值;sci為機組i在t時段的啟動費用,可使用公式(3)表示;uit為機組i在t時段的狀態(tài);n為機組數(shù)。在公式(2)和公式(3)中,ai、bi、ci分別為機組i的燃料費用系數(shù);hci和cci分別為機組i的熱啟動成本和冷啟動成本;toffit為機組i在t時段的連續(xù)停機時間;mdti和cshi分別為機組i的最小連續(xù)停機時間和冷啟動時間。s120:基于目標(biāo)函數(shù)和電力系統(tǒng)機組約束,建立電力系統(tǒng)機組組合的優(yōu)化模型。基于電力系統(tǒng)運行費用最低的目標(biāo)函數(shù),考慮電力系統(tǒng)機組的等式約束和不等式約束,可以建立電力系統(tǒng)機組組合的優(yōu)化模型。在本發(fā)明實施例中,等式約束如公式(4)所示:其中,loadt為t時段的負荷需求。不等式約束如公式(5)~公式(7)所示:pmini≤pit≤pmaxi公式(7)其中,pmini為機組i的最小技術(shù)出力;pmaxi為機組i的最大技術(shù)出力;srt為t時段的旋轉(zhuǎn)備用;muti為機組i的最小連續(xù)開機時間;tonit為機組i在t時段的連續(xù)開機時間。公式(1)~公式(7)共同構(gòu)成電力系統(tǒng)機組組合的優(yōu)化模型。s130:根據(jù)優(yōu)化模型的潛在解,初始化種群,獲得初始機組狀態(tài)矩陣和初始機組出力矩陣。在步驟s120,建立電力系統(tǒng)機組組合的優(yōu)化模型,該優(yōu)化模型有多種潛在解??梢噪S機選取設(shè)定數(shù)量的潛在解,構(gòu)成種群,對種群進行初始化,并設(shè)定相關(guān)參數(shù),獲得初始機組狀態(tài)矩陣和初始機組出力矩陣。在本發(fā)明實施例中,可以設(shè)定種群大小為m,時間段數(shù)為t,機組數(shù)目為n,最大迭代次數(shù)為maxgen。隨機初始化機組狀態(tài),在機組出力范圍內(nèi)隨機初始化機組出力。種群中第m個粒子的機組狀態(tài)矩陣bmm如公式(8)所示,種群中第m個粒子的機組出力矩陣pmm如公式(9)所示:其中,為第m個粒子機組i在t時段的機組狀態(tài),為第m個粒子機組i在t時段的機組出力。s140:基于初始機組狀態(tài)矩陣和初始機組出力矩陣,依次使用二進制縱橫交叉算法bcso和縱橫交叉算法cso迭代進行橫向交叉和縱向交叉操作,產(chǎn)生的子代和父代競爭,獲得電力系統(tǒng)機組組合的優(yōu)化解。在本發(fā)明實施例中,基于初始機組狀態(tài)矩陣和初始機組出力矩陣,依次使用二進制縱橫交叉算法(binarycrisscrossoptimization,bcso)和縱橫交叉算法(crisscrossoptimization,cso)迭代進行橫向交叉和縱向交叉操作,產(chǎn)生的子代和父代競爭,可以獲得機組組合的優(yōu)化解。通過縱橫交叉算法的橫向交叉和縱向交叉操作與競爭算子相結(jié)合,可以保證個體信息快速在種群中傳播開來,提高算法的全局搜索能力。參見圖2所示,在本發(fā)明的一種具體實施方式中,步驟s140可以包括以下步驟:s141:將初始機組狀態(tài)矩陣確定為父代種群的機組狀態(tài)矩陣;s142:使用bcso對父代種群的機組狀態(tài)矩陣進行橫向交叉產(chǎn)生子代,修正機組狀態(tài)和功率平衡,獲得bcso橫向交叉后的占優(yōu)解;s143:使用cso對bcso橫向交叉后的占優(yōu)解的機組出力矩陣進行橫向交叉產(chǎn)生子代,修正功率平衡,獲得cso橫向交叉后的占優(yōu)解;s144:使用bcso對cso橫向交叉后的占優(yōu)解的機組狀態(tài)矩陣進行縱向交叉產(chǎn)生子代,修正機組狀態(tài)和功率平衡,獲得bcso縱向交叉后的占優(yōu)解;s145:使用cso對bcso縱向交叉后的占優(yōu)解的機組出力矩陣進行縱向交叉產(chǎn)生子代,修正功率平衡,獲得cso縱向交叉后的占優(yōu)解;s146:確定是否達到設(shè)定的最大迭代次數(shù);如果否,則執(zhí)行步驟s147,如果是,則執(zhí)行步驟s148;s147:將cso縱向交叉后的占優(yōu)解的機組狀態(tài)矩陣確定為父代種群的機組狀態(tài)矩陣,重復(fù)執(zhí)行步驟s142的操作;s148:獲得電力系統(tǒng)機組組合的優(yōu)化解。為便于描述,將上述步驟結(jié)合起來進行說明。在步驟s130根據(jù)優(yōu)化模型的潛在解,初始化種群,獲得初始機組狀態(tài)矩陣和初始機組出力矩陣,第一個父代種群即包括初始機組狀態(tài)矩陣和初始機組出力矩陣。將該初始機組狀態(tài)矩陣確定為父代種群的機組狀態(tài)矩陣,使用bcso對父代種群的機組狀態(tài)矩陣進行橫向交叉可以產(chǎn)生子代。具體的,可以通過以下步驟對父代種群的機組狀態(tài)矩陣進行bcso橫向交叉操作:步驟一:對父代種群的機組狀態(tài)矩陣中的所有粒子進行兩兩不重復(fù)配對;步驟二:針對每一對粒子,對該對粒子的每一維進行bcso橫向交叉,獲得每一維的子代;步驟三:對獲得的子代進行二進制化處理,產(chǎn)生父代種群對應(yīng)的子代。父代種群的機組狀態(tài)矩陣中包含多個粒子,對父代種群的機組狀態(tài)矩陣中的所有粒子進行兩兩不重復(fù)配對,可以獲得多對粒子。針對每一對粒子,可以對該對粒子的每一維進行bcso橫向交叉,獲得每一維的子代。如對粒子x(i)和x(j)的第d維進行bcso橫向交叉,可以使用公式(10):其中,d∈(1,n×t);r1、r2為[0,1]之間的隨機數(shù);c1、c2為[-1,1]之間的隨機數(shù);xid和xjd分別為粒子x(i)和x(j)的第d維;mshid和mshjd分別為橫向交叉后的第d維子代。使用公式(10)可以對每一對粒子的每一維進行bcso橫向交叉,獲得每一對粒子每一維的子代。對獲得的子代進行二進制化處理,可以產(chǎn)生第一父代種群對應(yīng)的子代。具體可以通過公式(11)進行二進制化處理:其中,bid為二進制化結(jié)果,s(x)為sigmoid函數(shù),s(x)=1/1+exp(-x)。產(chǎn)生父代種群對應(yīng)的子代后,修正機組狀態(tài)和功率平衡,對子代進行選擇,對子代選擇的過程也是子代和父代競爭的過程,具體的,如果子代粒子的適應(yīng)度值大于對應(yīng)的父代粒子的適應(yīng)度值,則父代粒子被子代粒子替代,否則保留父代粒子。從而可以獲得bcso橫向交叉后的占優(yōu)解。在本發(fā)明的一種具體實施方式中,可以通過以下步驟修正機組狀態(tài):第一個步驟:確定所有機組的平均燃料費用;第二個步驟:根據(jù)平均燃料費用從小到大的順序?qū)C組進行排列,獲得機組的優(yōu)先順序表;第三個步驟:確定每一個時段旋轉(zhuǎn)備用是否滿足,如果否,則執(zhí)行第四個步驟;第四個步驟:按照優(yōu)先順序表順序開啟沒有運行的機組直至滿足旋轉(zhuǎn)備用;第五個步驟:確定每一個機組的狀態(tài)是否滿足最小開停機時間,如果否,則執(zhí)行第六個步驟;第六個步驟:啟動或關(guān)閉部分時段機組使其滿足最小開停機時間;第七個步驟:按照優(yōu)先順序表的逆順序確定每一個時段是否存在冗余的機組,如果是,則執(zhí)行第八個步驟;第八個步驟:在滿足其他約束條件的情況下關(guān)閉冗余的機組。在本發(fā)明實施例中,可以根據(jù)公式(12)確定機組i的平均燃料費用αi:根據(jù)平均燃料費用從小到大的順序?qū)C組進行排列,可以獲得機組的優(yōu)先順序表(pl)。針對每一個時段,可以確定該時段旋轉(zhuǎn)備用是否滿足,如果否,則可以按照優(yōu)先順序表順序開啟沒有運行的機組直至滿足旋轉(zhuǎn)備用,如果是,則可以針對每一個機組,確定該機組的狀態(tài)是否滿足最小開停機時間,如果否,則可以啟動或關(guān)閉部分時段機組使其滿足最小開停機時間,如果是,則可以按照優(yōu)先順序表的逆順序確定每一個時段是否存在冗余的機組,如果存在,則可以在滿足其他約束條件的情況下關(guān)閉冗余的機組。在本發(fā)明的一種具體實施方式中,可以通過以下步驟修正功率平衡:步驟一:確定每個時段的功率平衡是否滿足;步驟二:如果機組出力大于對應(yīng)時段的負荷需求,則在滿足機組出力上下限約束的情況下,按照優(yōu)先順序表的逆順序依次減少運行機組的出力直至滿足功率平衡;步驟三:如果機組出力小于對應(yīng)時段的負荷需求,則在滿足機組出力上下限約束的情況下,按照優(yōu)先順序表的順序依次增加運行機組的出力直至滿足功率平衡。獲得的bcso橫向交叉后的占優(yōu)解包括機組狀態(tài)矩陣和機組出力矩陣,可以使用cso對bcso橫向交叉后的占優(yōu)解的機組出力矩陣進行橫向交叉產(chǎn)生子代。具體的,可以通過以下步驟對bcso橫向交叉后的占優(yōu)解的機組出力矩陣進行cso橫向交叉操作:第一個步驟:對bcso橫向交叉后的占優(yōu)解的機組出力矩陣中的所有粒子進行兩兩不重復(fù)配對;第二個步驟:針對每一對粒子,對該粒子的每一維進行cso橫向交叉,獲得每一維的子代。bcso橫向交叉后的占優(yōu)解的機組出力矩陣中包含多個粒子,對其中的所有粒子進行兩兩不重復(fù)配對,可以獲得多對粒子。針對每一對粒子,可以對該對粒子的每一維進行cso橫向交叉,獲得每一維的子代。具體可以使用公式(10)對粒子x(i)和x(j)的第d維進行cso橫向交叉。產(chǎn)生bcso橫向交叉后的占優(yōu)解對應(yīng)的子代后,修正功率平衡,功率平衡修正方法如上述,在此不再贅述。對子代進行選擇,具體的,如果子代粒子的適應(yīng)度值大于對應(yīng)的父代粒子的適應(yīng)度值,則父代粒子被子代粒子替代,否則保留父代粒子。從而可以獲得cso橫向交叉后的占優(yōu)解。獲得cso橫向交叉后的占優(yōu)解后,可以使用bcso對cso橫向交叉后的占優(yōu)解的機組狀態(tài)矩陣進行縱向交叉產(chǎn)生子代。具體的,可以通過以下步驟對cso橫向交叉后的占優(yōu)解的機組狀態(tài)矩陣進行bcso縱向交叉操作:步驟一:對cso橫向交叉后的占優(yōu)解的機組狀態(tài)矩陣中的所有維進行兩兩不重復(fù)配對;步驟二:針對每一對維,在預(yù)設(shè)的bcso縱向交叉率下,對每個粒子的該對維進行bcso縱向交叉,獲得每個粒子的相應(yīng)維的子代;步驟三:對獲得的子代進行二進制化處理,產(chǎn)生cso橫向交叉后的占優(yōu)解對應(yīng)的子代。cso橫向交叉后的占優(yōu)解的機組狀態(tài)矩陣中包含多個粒子,每個粒子具有多維,對其中的所有維進行兩兩不重復(fù)配對,可以獲得多對維。針對每一對維,在預(yù)設(shè)的bcso縱向交叉率pv1下,可以對每個粒子的該對維進行bcso縱向交叉,獲得每個粒子相應(yīng)維的子代。具體可以使用公式(13)對粒子x(i)的第d1維和第d2維進行bcso縱向交叉:msvi,d1=r·xi,d1+(1-r)·xi,d2公式(13)其中,r為[0,1]上的均勻分布隨機數(shù);msvi,d1為粒子x(i)的第d1維子代。使用公式(13)可以對每個粒子的每一對維進行bcso縱向交叉,獲得每個粒子的相應(yīng)維的子代。對獲得的子代進行二進制化處理,可以產(chǎn)生cso橫向交叉后的占優(yōu)解對應(yīng)的子代。具體可以通過公式(14)進行二進制化處理:其中,bid為二進制化結(jié)果,s(x)為sigmoid函數(shù),s(x)=1/1+exp(-x)。產(chǎn)生cso橫向交叉后的占優(yōu)解對應(yīng)的子代后,修正機組狀態(tài)和功率平衡,對子代進行選擇,具體的,如果子代粒子的適應(yīng)度值大于對應(yīng)的父代粒子的適應(yīng)度值,則父代粒子被子代粒子替代,否則保留父代粒子。從而可以獲得bcso縱向交叉后的占優(yōu)解。修正機組狀態(tài)和功率平衡的方法如上述,在此不再贅述。獲得bcso縱向交叉后的占優(yōu)解后,可以使用cso對bcso縱向交叉后的占優(yōu)解的機組出力矩陣進行縱向交叉產(chǎn)生子代。具體的,可以通過以下步驟對bcso縱向交叉后的占優(yōu)解的機組出力矩陣進行cso縱向交叉操作:第一個步驟:對bcso縱向交叉后的占優(yōu)解的機組出力矩陣的每一維進行歸一化處理;第二個步驟:對歸一化后的bcso縱向交叉后的占優(yōu)解的機組出力矩陣中所有維進行兩兩不重復(fù)配對;第三個步驟:針對每一對維,在預(yù)設(shè)的cso縱向交叉率下,對每個粒子的該對維進行cso縱向交叉,獲得每個粒子的相應(yīng)維的子代;第四個步驟:對獲得的子代進行反歸一化處理,產(chǎn)生bcso縱向交叉后的占優(yōu)解對應(yīng)的子代。bcso縱向交叉后的占優(yōu)解的機組出力矩陣包含多個粒子,每個粒子具有多維??梢愿鶕?jù)以下公式(15)對bcso縱向交叉后的占優(yōu)解的機組出力矩陣的每一維進行歸一化處理:其中,為的歸一化值。對歸一化后的bcso縱向交叉后的占優(yōu)解的機組出力矩陣中所有維進行兩兩不重復(fù)配對,可以獲得多對維。針對每一對維,在預(yù)設(shè)的cso縱向交叉率pv2下,可以對每個粒子的該對維進行cso縱向交叉,獲得每個粒子相應(yīng)維的子代。具體可以使用公式(13)對粒子x(i)的第d1維和第d2維進行cso縱向交叉操作。對獲得的子代進行反歸一化處理,可以產(chǎn)生bcso縱向交叉后的占優(yōu)解對應(yīng)的子代。具體的反歸一化公式如公式(16)所示:其中,為的子代。產(chǎn)生bcso縱向交叉后的占優(yōu)解對應(yīng)的子代后,修正功率平衡,功率平衡修正方法如上述,在此不再贅述。對子代進行選擇,具體的,如果子代粒子的適應(yīng)度值大于對應(yīng)的父代粒子的適應(yīng)度值,則父代粒子被子代粒子替代,否則保留父代粒子。從而可以獲得cso縱向交叉后的占優(yōu)解。獲得cso橫向交叉后的占優(yōu)解后,可以確定是否達到設(shè)定的最大迭代次數(shù),如果未達到,則可以將cso縱向交叉后的占優(yōu)解的機組狀態(tài)矩陣確定為父代種群的機組狀態(tài)矩陣,重復(fù)執(zhí)行使用bcso對父代種群的機組狀態(tài)矩陣進行橫向交叉產(chǎn)生子代及其下步驟,如果達到,則可以結(jié)束迭代過程,獲得電力系統(tǒng)機組組合的優(yōu)化解。本發(fā)明實施例所提供的方法操作簡單,控制參數(shù)較少,易于實現(xiàn),可以解決群智能算法普遍容易陷入局部最優(yōu)的共性關(guān)鍵問題。具有較強的全局收斂能力,對于電力系統(tǒng)機組組合這個高維度、多約束、離散、非線性的復(fù)雜實際問題有著很好的適用性,能夠顯著提高系統(tǒng)經(jīng)濟性。應(yīng)用本發(fā)明實施例所提供的方法,基于電力系統(tǒng)運行費用最低的目標(biāo)函數(shù)和電力系統(tǒng)機組約束,建立電力系統(tǒng)機組組合的優(yōu)化模型,根據(jù)優(yōu)化模型的潛在解,初始化種群,獲得初始機組狀態(tài)矩陣和初始機組出力矩陣,基于該初始機組狀態(tài)矩陣和初始機組出力矩陣,可以依次使用bcso和cso迭代進行橫向交叉和縱向交叉操作,產(chǎn)生的子代和父代競爭,獲得電力系統(tǒng)機組組合的優(yōu)化解??v橫交叉算法的橫向交叉和縱向交叉在迭代過程中的每一代交替進行,將兩種交叉搜索方式完美結(jié)合。當(dāng)每次交叉操作結(jié)束后,子代與父代進行比較,當(dāng)子代粒子的適應(yīng)度比父代更好時,被保留下來進入下次迭代。使得粒子個體信息能夠快速地在種群中傳播,達到了很好的交流作用,在極大地提高全局收斂能力的同時保持了收斂速度。下面以實際電力系統(tǒng)中應(yīng)用本發(fā)明實施例進行說明。電力系統(tǒng)10機參數(shù)及負荷需求分別如表1和表2所示,分別復(fù)制10機系統(tǒng)參數(shù)2次、4次、6次、8次、10次可以得到20、40、60、80、100機系統(tǒng),對應(yīng)的負荷需求分別為10機系統(tǒng)負荷需求的2倍、4倍、6倍、8倍、10倍。unitpminpmaxabcmutmdthccccshinitialstatus1455150100016.190.00048884500900058245515097017.260.00031885000100005831302070016.600.002005555011004-541302068016.500.002115556011204-551622545019.700.003986690018004-66802037022.260.00712331703402-37852548027.740.00079332605202-38551066025.920.004131130600-19551066527.270.002221130600-110551067027.790.001731130600-1表1表2如圖3-圖8所示分別為10機系統(tǒng)、20機系統(tǒng)、40機系統(tǒng)、60機系統(tǒng)、80機系統(tǒng)和100機系統(tǒng)的收斂曲線圖,從中可以看出,本發(fā)明實施例所提供的技術(shù)方案具有較好的尋優(yōu)能力和收斂性。為了驗證本發(fā)明實施例所提供的技術(shù)方案的優(yōu)越性,將該技術(shù)方案(hcso)與粒子群算法(pso),差分算法(de),引力搜索算法(gsa),遺傳算法(ga)以及一些其他改進算法或混合方法(如c&b、iqea、ibpso、elrpso、hgade、qbpso等)的仿真結(jié)果進行對比,仿真結(jié)果如表3所示。方法10機20機40機60機80機100機c&b563,9381,123,7832243,6873,363,5934,484,4975,603,976ga563,9381,124,2902,246,1653,365,4314,487,7665,606,811iqea563,9771,123,8902,245,1513,365,0034,486,9635,606,022de563,9381,124,2912,246,27433657844,488,4505,607,900ibpso563,9771,125,2162,248,5813,367,8654,491,0835,610,293aths563,9381,123,2972,242,9573,361,7484,482,4175,601,651gsa563,9381,123,2162,242,7413,362,4474,483,8645,600,883elrpso563,9381,123,2972,243,2563,361,5734,482,9375,601,825hgade563,9381,123,3862,243,5223,362,9084,485,1605,604,787hpso-sp563,937.01,123,9962,243,9893,363,3434,483,905.85,603,532qbpso563,9771,123,2972,242,9573,361,9804,482,0855,602,486hcso563,937.681,123,297.432,242,957.093,361,266.764,481,465.885,600,240,72表3從表3可以看出,對于10機、20機和40機系統(tǒng),hcso能得到和gsa、aths、qbpso一樣好的優(yōu)化結(jié)果,對于60機、80機和100機系統(tǒng),hcso優(yōu)化得到的運行費用比其他方法都要低,也就是說本發(fā)明實施例所提供的方法可以很好的適用于機組組合問題,而且能夠表現(xiàn)出很好的收斂特性,尤其是對于大規(guī)模系統(tǒng)的機組組合問題,相對于其他方法,hcso表現(xiàn)出明顯的優(yōu)越性。相應(yīng)于上面的方法實施例,本發(fā)明實施例還提供了一種基于縱橫交叉算法的機組組合優(yōu)化裝置,下文描述的一種基于縱橫交叉算法的機組組合優(yōu)化裝置與上文描述的一種基于縱橫交叉算法的機組組合優(yōu)化方法可相互對應(yīng)參照。參見圖9所示,該裝置包括以下模塊:目標(biāo)函數(shù)確定模塊910,用于確定電力系統(tǒng)運行費用最低的目標(biāo)函數(shù);優(yōu)化模型建立模塊920,用于基于目標(biāo)函數(shù)和電力系統(tǒng)機組約束,建立電力系統(tǒng)機組組合的優(yōu)化模型;初始化模塊930,用于根據(jù)優(yōu)化模型的潛在解,初始化種群,獲得初始機組狀態(tài)矩陣和初始機組出力矩陣;優(yōu)化解獲得模塊940,用于基于初始機組狀態(tài)矩陣和初始機組出力矩陣,依次使用二進制縱橫交叉算法bcso和縱橫交叉算法cso迭代進行橫向交叉和縱向交叉操作,產(chǎn)生的子代和父代競爭,獲得電力系統(tǒng)機組組合的優(yōu)化解。應(yīng)用本發(fā)明實施例所提供的裝置,基于電力系統(tǒng)運行費用最低的目標(biāo)函數(shù)和電力系統(tǒng)機組約束,建立電力系統(tǒng)機組組合的優(yōu)化模型,根據(jù)優(yōu)化模型的潛在解,初始化種群,獲得初始機組狀態(tài)矩陣和初始機組出力矩陣,基于該初始機組狀態(tài)矩陣和初始機組出力矩陣,可以依次使用bcso和cso迭代進行橫向交叉和縱向交叉操作,產(chǎn)生的子代和父代競爭,獲得電力系統(tǒng)機組組合的優(yōu)化解。縱橫交叉算法的橫向交叉和縱向交叉在迭代過程中的每一代交替進行,將兩種交叉搜索方式完美結(jié)合。當(dāng)每次交叉操作結(jié)束后,子代與父代進行比較,當(dāng)子代粒子的適應(yīng)度比父代更好時,被保留下來進入下次迭代。使得粒子個體信息能夠快速地在種群中傳播,達到了很好的交流作用,在極大地提高全局收斂能力的同時保持了收斂速度。參見圖10所示,在本發(fā)明的一種具體實施方式中,優(yōu)化解獲得模塊940,包括:第一確定子模塊941,用于將初始機組狀態(tài)矩陣確定為父代種群的機組狀態(tài)矩陣;bcso橫向交叉子模塊942,用于使用bcso對父代種群的機組狀態(tài)矩陣進行橫向交叉產(chǎn)生子代,修正機組狀態(tài)和功率平衡,獲得bcso橫向交叉后的占優(yōu)解;cso橫向交叉子模塊943,用于使用cso對bcso橫向交叉后的占優(yōu)解的機組出力矩陣進行橫向交叉產(chǎn)生子代,修正功率平衡,獲得cso橫向交叉后的占優(yōu)解;bcso縱向交叉子模塊944,用于使用bcso對cso橫向交叉后的占優(yōu)解的機組狀態(tài)矩陣進行縱向交叉產(chǎn)生子代,修正機組狀態(tài)和功率平衡,獲得bcso縱向交叉后的占優(yōu)解;cso縱向交叉子模塊945,用于使用cso對bcso縱向交叉后的占優(yōu)解的機組出力矩陣進行縱向交叉產(chǎn)生子代,修正功率平衡,獲得cso縱向交叉后的占優(yōu)解;第二確定子模塊946,用于在未達到設(shè)定的最大迭代次數(shù)時,將cso縱向交叉后的占優(yōu)解的機組狀態(tài)矩陣確定為父代種群的機組狀態(tài)矩陣,觸發(fā)bcso橫向交叉子模塊942;優(yōu)化解獲得子模塊947,用于在達到設(shè)定的最大迭代次數(shù)時,獲得電力系統(tǒng)機組組合的優(yōu)化解。在本發(fā)明的一種具體實施方式中,bcso橫向交叉子模塊942,具體用于:對父代種群的機組狀態(tài)矩陣中的所有粒子進行兩兩不重復(fù)配對;針對每一對粒子,對該對粒子的每一維進行bcso橫向交叉,獲得每一維的子代;對獲得的子代進行二進制化處理,產(chǎn)生父代種群對應(yīng)的子代。在本發(fā)明的一種具體實施方式中,cso橫向交叉子模塊943,具體用于:對bcso橫向交叉后的占優(yōu)解的機組出力矩陣中的所有粒子進行兩兩不重復(fù)配對;針對每一對粒子,對該粒子的每一維進行cso橫向交叉,獲得每一維的子代。在本發(fā)明的一種具體實施方式中,bcso縱向交叉子模塊944,具體用于:對cso橫向交叉后的占優(yōu)解的機組狀態(tài)矩陣中的所有維進行兩兩不重復(fù)配對;針對每一對維,在預(yù)設(shè)的bcso縱向交叉率下,對每個粒子的該對維進行bcso縱向交叉,獲得每個粒子的相應(yīng)維的子代;對獲得的子代進行二進制化處理,產(chǎn)生cso橫向交叉后的占優(yōu)解對應(yīng)的子代。在本發(fā)明的一種具體實施方式中,cso縱向交叉子模塊945,具體用于:對bcso縱向交叉后的占優(yōu)解的機組出力矩陣的每一維進行歸一化處理;對歸一化后的bcso縱向交叉后的占優(yōu)解的機組出力矩陣中所有維進行兩兩不重復(fù)配對;針對每一對維,在預(yù)設(shè)的cso縱向交叉率下,對每個粒子的該對維進行cso縱向交叉,獲得每個粒子的相應(yīng)維的子代;對獲得的子代進行反歸一化處理,產(chǎn)生bcso縱向交叉后的占優(yōu)解對應(yīng)的子代。在本發(fā)明的一種具體實施方式中,還包括機組狀態(tài)修正子模塊,用于通過以下步驟修正機組狀態(tài):確定所有機組的平均燃料費用;根據(jù)平均燃料費用從小到大的順序?qū)C組進行排列,獲得機組的優(yōu)先順序表;確定每一個時段旋轉(zhuǎn)備用是否滿足;如果否,則按照優(yōu)先順序表順序開啟沒有運行的機組直至滿足旋轉(zhuǎn)備用;確定每一個機組的狀態(tài)是否滿足最小開停機時間;如果否,則啟動或關(guān)閉部分時段機組使其滿足最小開停機時間;按照優(yōu)先順序表的逆順序確定每一個時段是否存在冗余的機組;如果是,則在滿足其他約束條件的情況下關(guān)閉冗余的機組。在本發(fā)明的一種具體實施方式中,還包括功率平衡修正子模塊,用于通過以下步驟修正功率平衡:確定每個時段的功率平衡是否滿足;如果機組出力大于對應(yīng)時段的負荷需求,則在滿足機組出力上下限約束的情況下,按照優(yōu)先順序表的逆順序依次減少運行機組的出力直至滿足功率平衡;如果機組出力小于對應(yīng)時段的負荷需求,則在滿足機組出力上下限約束的情況下,按照優(yōu)先順序表的順序依次增加運行機組的出力直至滿足功率平衡。本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。專業(yè)人員還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出本發(fā)明的范圍。結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(ram)、內(nèi)存、只讀存儲器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動磁盤、cd-rom、或
技術(shù)領(lǐng)域:
內(nèi)所公知的任意其它形式的存儲介質(zhì)中。本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的技術(shù)方案及其核心思想。應(yīng)當(dāng)指出,對于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進行若干改進和修飾,這些改進和修飾也落入本發(fā)明權(quán)利要求的保護范圍內(nèi)。當(dāng)前第1頁12