麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

動態經濟負荷分配的制作方法

文檔序號:7289392閱讀:274來源:國知局

專利名稱::動態經濟負荷分配的制作方法
技術領域
:各種實施方案涉及發電機組,并且在一個實施方案中,但不是為了限制,涉及一種用于在多個發電機組中分配輸出的系統和方法。
背景技術
:經濟負荷分配(ELD)算法尋求在幾個發電機組中分配電力輸出,用于以最小成本匹配用戶負荷需求。ELD是改進發電站運行效率的一個重要的最優化問題,當通過一組交易的凈和確定發電廠的負荷需求曲線時尤其是這樣。當分配問題涉及單個時間間隔時,它被稱為靜態經濟負荷分配(SELD)。當分配問題涉及與負荷預測相關聯的有限數量的分配時間間隔,以提供跟蹤變化負荷需求的最佳生成軌跡時,它被稱為一個動態經濟負荷(DELD)問題。比較這二者,DELD在所有發電機和所有時間間隔上提供更經濟的解決方案。然而,DELD由于電力系統的動態特性和用戶負荷需求的巨大變化而長期被認為是一個困難的動態規劃問題。通常通過將整個分配時間段分成許多小時間間隔而解決動態問題,在這些小時間段中負荷被認為是不變的,并且該系統被認為是處于暫時穩定狀態。為了獲得在電力系統運行中全面減少成本,應該根據當時的靜態約束和一系列時間附屬動態約束所增加的額外約束而經濟地分配單獨的靜態時間間隔。由于這些約束,最優化搜索空間很窄并且不均勻,而因此挑戰了所有設法迅速準確找到最佳分配解決方案的算法。盡管許多方法諸如神經網絡和進化程序已經被使用以便解決SELD問題,但是僅有二次規劃和進化計算方法己經被用于解決DELD問題。除了進化方法,所有這些數值法都假定每個機組的燃料費函數是單調遞增的,并且能通過分段線形方程或二次方程表示。不幸地是,由于包括不平滑和非凸燃料費函數、斜率限制以及不連續禁忌操作域的非線性特征,在現實實際系統中不是這種情況。當解決DELD問題時,即使進化方法也有問題。例如,為了滿足許多靜態和動態約束,進化方法向與違反解決方案的約束相應的個體分配非常低的適合度,并且因而導致非常低的生存機會,或直接地規定該個體在總體之外。該類處罰嚴重地限制了個體與數據組世代之間分享信息。因此,高百分比的個體在他們能為進化做出貢獻之前即被排除。這使該算法效率降低。圖1說明了負荷需求曲線的例子。圖2說明了負荷分配曲線的例子。圖3說明了包括禁忌操作域的燃料費函數的例子。圖4說明了組成遺傳算法個體的表示法。圖5說明了使用約束遺傳算法在發電機組之間分配輸出的過程的示例實施方案。圖6說明了使用約束遺傳算法在發電機組之間分配輸出的過程的另一示例實施方案。圖7說明了在兩個個體之間交叉的例子。圖8說明了負突變的例子。圖9說明了本公開的一個或多個實施方案可在上面工作的計算機結構的示例實施方案。
發明內容在一個實施方案中,系統和方法提供了對遺傳算法的約束,并且還向遺傳算法提供了動態規劃能力。然后該系統和方法在有限數量的時間間隔上,在許多發電機組之間,以遺傳算法和遺傳算法的動態規劃能力的約束的函數的方式分配負荷需求。具體實施方案在下面詳細描述中,為了說明,參考了可以實踐本發明的特定實施方案的所示附圖。充分詳細地描述了這些實施方案,以使本領域的技術人員能實踐本發明。應該理解的是,本發明的不同實施方案盡管不同,但不必相互排斥。此外,在不違背本發明的范圍的情況下,可以在其它實施方案中實現在此所描述的與一個實施方案相關的特定特征、結構、或特性。此外,應該理解的是,在不違背本發明的范圍的情況下,可以改變每個所公開的實施方案中的個體元件的位置或排列。因而下面詳細描述沒有限制的意思,并且僅僅通過附加權利要求與權利要求所能享受的等價物的全部范圍一起定義、適當地解釋本發明的范圍。在附圖中,貫穿這些視圖,相同的數字指代相同或類似功能。本發明的實施方案包括包含在通過機器可讀介質所提供的機器可執行指令中的特征、方法或過程。機器可讀介質包括以機器(例如,計算機、網絡設備、個人數字助理、制造工具、具有一組一個或多個處理器的任何設備等)可訪問的形式提供(即,存儲和/或傳送)信息的任何機械裝置。在示例性實施方案中,機器可讀介質包括易失性和/或非易失性介質(例如,只讀存儲器(ROM)、隨機訪問存儲器(RAM)、磁盤存儲介質、光盤存儲介質、閃存設備等)、以及電、光、聲或其它形式的傳播信號(例如,載波、紅外線信號、數字信號等)。利用這樣的指令以使指令編程的通用或專用目的處理器執行本發明的實施方案的方法或過程。作為替代的,通過包含用于執行操作的硬件邏輯的特定硬件部件、或通過編程數據處理部件和特定硬件部件的任何組合執行本發明的實施方案的特征或操作。本發明的實施方案包括這里還描述的數字/模擬信號處理系統、軟件、數據處理硬件、數據處理系統實現方法、以及各種處理操作。一些圖示出了本發明的實施方案的系統和裝置的框圖。一些圖示出了用以說明用于這些實施方案的系統和裝置的流程圖。將參考框圖中所示的系統/裝置描述流程圖的操作。然而,應該理解的是,可以通過系統和裝置的實施方案執行流程圖的操作,而不是參考附圖所討論的操作,并且參考該系統/裝置所討論的實施方案可以執行不同于參考流程圖所討論的操作。在實施方案中,當燃料費函數既不是平滑的也不是凸起的時候,并且當存在四類約束時,約束遺傳算法(CGA)進行動態經濟負荷分配(DELD)是可行的。第一約束是負荷需求與所有發電機輸出的總數是相等的。第二約束是每個發電機組具有輸出上限和下限。第三約束是對發電機組的加速和減速速率的限制。第四并且是最后的約束包括發電機組的禁忌操作域。發明者已發現傳統的遺傳算法不能解決DELD問題的原因是它的遺傳操作通過逐位的方式影響所給定的個體,并且不能將這些改變調整到包括在某些動態關系中的所有位。因為諸如初始化、交叉、以及突變等遺傳操作是固有地不能處理動態約束,所以傳統遺傳算法不能解決DELD問題。他們通過逐個間隔的方式影響給定的個體或解決方案,而不關心所關注的時間間隔之前和之后出現的時間間隔,并且不能調整對于某些動態關系中必須包括的所有時間間隔發生的改變。CGA通過下列改變而解決該問題。首先,嚴重地約束初始化、交叉、以及突變操作使所有進化個體(或解決方案)在可行域內或附近。其次,偏移和試探式初始化確保一個真實的多樣化初始群體。第三,對于交叉的可行性位置選擇適應動態約束。第四,正和負突變操作保存燃料費并且獲得負荷相等。CGA自身可以解決所有四類這些約束,而不用包括額外最優化方法,諸如二次規劃。CGA是靈活的,并且可以被改變以適應更多約束,諸如發電機的預定在線或離線狀態、發電機的各種最小和最大輸出、以及發電機的各種加速和減速速率。此外,CGA能夠以并行模式運行,以更加加速優化過程。本公開為諸如電力生產發電廠之類的發電機組提供了CGA,以解決DELD問題。CGA確定發電機輸出的最佳時間表,從而以最小生產成本滿足負荷需求,并且還滿足系統與操作條件施加的各種約束。嚴重地約束CGA的初始化、交叉、以及突變,從而使所有進化個體在可行域內或附近。這使DELD在每個發電機組的燃料費函數既不平衡也不凸起時可行,并且存在一個或多個下面約束負荷需求與發電機輸出的總和必須相等,對于每個發電機組存在上限和下限,對加速和減速速率存在某些限制,以及存在禁忌操作域。例如,如果將24小時負荷需求(圖1中所說明的例子)被分成等時間間隔At(每個時間間隔等于15分鐘)的T(例如T二96)塊,并且存在N個發電機組,然后給定第i個(i二l,2,…,N)發電機組以及它的最大和最小輸出,第i個發電機組的加速和減速速率分別是《,、f■、W,、W,。該機組將具有Z,不重疊禁忌操作域(POZ)(^-(/^^/^^("^.."Z,,4",iW,/代表第l個P0Z的最小和最大輸出));/^=1,2,...,7)代表它的在時間間隔t的輸出,并且P,。是它的初始輸出;并且C,(《)代表當它的輸出功率是/T時的燃料消耗率。如果"'代表在時間間隔t時的負荷需求,則^表示所有T時間間隔期間N發電機組的燃料費。于是動態負荷經濟分配問題可以公式化為最小化<formula>formulaseeoriginaldocumentpage8</formula>服從a)負荷相等約束<formula>formulaseeoriginaldocumentpage9</formula>b)功率輸出的上限和下限-<formula>formulaseeoriginaldocumentpage9</formula>c)加速/減速<formula>formulaseeoriginaldocumentpage9</formula>d)禁忌操作域<formula>formulaseeoriginaldocumentpage9</formula>因為由于加速和減速速率的限制發電機組在一個時間間隔(AO內不能完全通過P0Z的可能性很大,所以只要工作在P0Z中的任何機組的時間間隔的總數是最小的,允許所分配的負荷是在POZ中。因而,約束(d)可被改變為(e)弱形式的禁忌操作域最小化<formula>formulaseeoriginaldocumentpage9</formula>在該約束中,r皿是對于工作在poz中的任何發電機的時間間隔的總數,并且l卜l計算給定集合的基數(cardinality)(成員數)。解決DELD問題中的二次規劃(QP)的限制使遺傳算法(GA)更具選擇性。對于該優點的一個原因是GA可以使用任何形式的燃料費函數(圖1中說明了其中一個例子),可以考慮各種約束,不需要最優化的起始點,具有脫離局部最小值的更高機會,可以以并行模式運行,并且可能具有更短運行時間。然而,如先前所提到的,原始GA在沒有QP幫助的情況下不能解決DELD問題,并且QP具有它自身的限制。發明者已發現失敗的根本原因是遺傳操作,諸如初始化、交叉、以及突變等是固有地不能處理動態約束。它們以逐個間隔的方式影響給定的個體或解決方案,而在被考慮的時間間隔之前或之后不處理時間間隔。因此,在必須包含在某些動態關系中的所有時間間隔發生的所有改變中不存在調整。通過該發現的試探,發明者通過對原始GA做出關鍵改變而設計了約束遺傳算法(CGA)。例如,如果CGA具有大小為L的群體,"生活"在群體中的每個個體代表負荷分配的特定解決方案。在圖2中說明了負荷分配的解決方案的圖例。圖4說明了第k(bl,2,,L)個個體的結構,并且在圖4中,《代表在時間間隔t分配給第i個發電機組的負荷。以下列方式估計第k個個體的適合度:.(/賺+A)-A。s,W<table>tableseeoriginaldocumentpage10</column></row><table>(2)這里U"表示解決方案的全部燃料費,/;,-min(U力),并且=maX(/cos,(;)),y/=1,2,…,丄。表達式A〉0保證(0,1)內的每個個體的適合度,從而每個個體在進化中具有非零的選擇機會。于是如下計算全部燃料費<formula>formulaseeoriginaldocumentpage10</formula>(6)其中c^0是當解決方案破壞約束a(負荷相等)時的處罰因子,并且;^)是用于破壞約束e(弱形式中的P0Z)的處罰函數。因子;7(*)隨著負荷分配接近P0Z中心而增加處罰值。應該由用戶根據每個特定條件的需要確定M,)中的"和^值。值得注意的是不同于基于遺傳算法的傳統方法,在適合度函數中包含處罰因子不是CGA使所有解決方案在可行域內或附近所使用的唯一方法。在圖5中說明了CGA500的示例實施方案。在圖5中,在510,通過偏移和試探式初始化群體。在520,交叉操作被施用于根據遺傳算法"輪盤賭"策略從群體中所選擇的^7V(《是交叉概率)對個體或"父"。在530,復制使個體具有最高適合度,并且根據"輪盤賭"策略從群體中選擇剩余的N-l個個體,并且將其放到下一代中。在540,突變操作被施用根據"輪盤賭"策略從群體中選擇的i^xTV(是突變概率)個個體。在550,如果重復數大于最大代數G(由用戶預定),則停止進化,并且過程500將最佳個體導出為在560的最終解決方案。如果沒有達到代的最大數,則過程轉到塊520。盡管過程500類似于標準GA的過程,但是在CGA中設計了新的初始化、交叉、以及突變操作,以使最優化問題可以解決。圖6說明了適用于在發電機組之間經過有限數量的時間間隔分配負荷需求的CGA600的另一示例實施方案。在605,在遺傳算法上提供約束和動態規劃能力。如在610、612、和614中所指出的,對初始化、交叉、以及突變操作做出改變。在620,對初始化操作的改變可以包括提供偏移和試探式的初始化。如在621-625中所描述的,一個分配解決方案的偏移與試探式初始化可以包括在621向在禁忌操作域中操作的發電機組分配最高優先權;在622向隨機選擇的發電機組分配普通優先權;在623向剩余發電機組分配最低優先權;在624根據優先權列表重復地選擇發電機組;以及在625向那個發電機組分配未完成的負荷需求,而不破壞一個或多個約束。在630,對交叉操作的改變可以包括為交叉選擇可行位置,以適應動態約束。對突變操作的改變包括在631試探式地維持可能突變點的位置;在632提供正突變操作,以在634降低燃料費;以及在633提供負突變操作,以在635釋放以前和/或較晚的時間間隔,從而能夠在突變點出現需求與分配的相等。在632的正突變僅僅能夠影響在634的單個時間間隔,并且在636包括離散的搜索策略,以搜索更好的分配解決方案。對于在633的負突變操作,它的在635的釋放操作包括在637保守的釋放操作和在638積極的釋放操作。保守的釋放操作僅僅在639影響一次,并且包括在641的離散搜索策略,以搜索更好的分配解決方案。積極的釋放操作可以在640影響多個時間間隔并且可以在一個或多個時間間隔破壞負荷相等。在650-653,施加在遺傳算法上的約束可以包括一個或多個等于發電機輸出總和的負荷需求、發電機組的上下限、加速和減速速率限制、以及建立一個或多個禁忌域。在660,優秀(即,最佳)解決方案和其它通過輪盤賭策略選擇的解決方案被復制到下一代的群體。最后,在665,在達到最大代數的基礎上獲得解決方案。重新參考圖5,在初始化步驟510中,幾乎所有用于ELD的基于GA方法將通過隨機地在所有發電機組之間分配負荷需求而初始化新個體。然而,這種方式生成的新個體可能導致對于進化不利的起始點,這是因為它們中的多數可能嚴重地破壞這里所施加的約束。為了減輕該問題,CGA以偏移和試探式的方式初始化個體。也就是說,對于每個時間間隔,將根據優先權列表重復地選擇一個發電機,并且向它分配未完成的負荷需求。這里所使用的優先權列表向工作在POZ中的機組分配最高優先權,向初始化之前隨機選擇的優選機組分配普通優先權,并且向剩余機組分配最低優先權。為了不破壞約束b和C,所選擇的發電機可以自身決定接受負荷的可行和隨機部分,而不是完全地被動接收器。既然由于動態約束,不總是滿足負荷相等約束,所以在重復一定數量的次數之后停止重復。所有初始化的個體肯定會完成約束b和C兩者。詳細的初始化過程的例子如下1.設置時間間隔t:O,并且隨機地生成E、優選機組的子集2.使t二t+l;《=《7'(當t二l時,;AD'=D'-£'-'(當t二l時,AD'=D'-。設置重復次數j二O。如果AD、0,則設置變量NeedDisturbance=FALSE;否則AD"5(5〉0是很小的隨機值)并且NeedDisturbance=trLie。3.使j二j+l,并且如果在該時間間隔期間存在工作在POZ中未被選擇為負荷分配的機組,則隨機地從它們中選擇一個機組。否則,如果j是很小值,則從E選擇一個機組,或者如果j足夠大,則從所有N機組選擇一個。為了實現該例子的目的,假設所選擇的機組是第i個。4.選擇^=^(zl〉l是隨機值),并且如果《+Ad破壞b和c約義束之一或全部,則將^截取到滿足約束b和c兩者。5.設置《=《+^,AD'-AD'-.如果j《J(J是重復次數的上限)并且Iad'卜o,并且轉到步驟3。6.如果NeedDisturbance=FALSE并且t《T,轉到步驟2;如果NeedDisturbance=TRUE,則設置j二0,ad'=-5,并且NeedDisturbance=FALSE,并且轉到步驟3。否則,終止初始化。當負荷需求從先前時間間隔(AD'=0)起保持相同時,使用干擾項5(首先設置ad^&〉0并且隨后設置ad'-4),以使步驟3至5有效。這使得破壞約束e可被避免。在傳統的GA中,兩個個體之間的交叉可能發生在一個(單點交叉)或幾個(多點交叉)隨機選擇的位置。然而,為了實現動態約束,本發明公開的實施方案允許CGA的交叉只發生在可行位置(見圖7)。為了簡化下面的描述,用于在第j時間間隔的第k個個體的負荷分配被表示為<formula>formulaseeoriginaldocumentpage13</formula>定義l:給定個體對分別地/《4,…,^',丄),^,…,丄)〉以及w《C…,d《'…,《>,如果/'"丄),…,丄fu),《',…,z::>并且附',^,zf…,巧>可實現約束c,則時間間隔j是可行位置。CGA的交叉操作被如下定義(假定交叉的兩個參與者分別是f和m):1.搜索所有可行位置;假定總共存在F可行位置;如果F二O,則退出;2.隨機地選擇n《F交叉點,并且將T時間間隔劃分到至多n+l段。通過從f和m交替地復制這些段而生成第一子個體,并且通過從m和f交替地復制這些段而生成第二子個體;3.將兩個新個體保存回群體(在交叉后將擴大群體,并且在復制后恢復它的原始大小)。作為例子,假定在步驟2中存在2個選擇的可行位置,其是"乂2},并且1<。<a2<r。這兩個可行位置將T時間間隔分成3段[U,],[q+l^],[f2+i,r]。那么第一子個體將是<11/.,...,£).,《1,化,'廣..,《>并且第二子個體是<《"..,化,丄〉+',...,丄),化+'"..,《>。在下文中,將示出通過CGA的交叉操作所生成的新個體不破壞動態約束c。由于在交叉后將生成兩個子個體,所以在不損失一般性的情況下可以只考慮它們中的一個。首先證明在連接點將不發生破壞。假定在步驟2中所選擇的兩個連續段是[仏+U,]和[《+l,r,+,](仏,^,r,+,是所選擇的可行位置),并且。是這種情況下的連接點。然后s是與新個體上的上述段相應的部分。兩個段的串聯可能導致在接近連接點4和/T的兩個時間間隔破壞約束c。由于^是可行位置,根據定義l,S中4和化+1都不會破壞約束c。由于父個體總是在所有時間間隔實現約束c,所以在不受串聯影響的時間間隔總是都能滿足兩個約束。結果,新生成的個體將不破壞約束c。在傳統的GA中,突變操作將從給定個體隨機地選擇一個或幾個突變點并以某種方式干擾這些點上的值。然而,這些干擾可能很容易導致一個或多個約束的新的破壞。為了避免這一點,CGA設計了兩類突變操作。"正"突變操作和"負"突變操作。當應用于單一突變點,前者盡力降低那個時間間隔的燃料費,并且如果在那個時間間隔約束a被破壞,則同時減輕負荷差異,而后者只針對在那個間隔滿足負荷相等,通過釋放以前和/或較晚間隔以便為那個間隔保存更多可調整空間。由于新突變操作比傳統操作消耗更多時間,而不是同傳統GA中一樣隨機選擇,所以CGA選擇能夠滿足下面標準的任何一個的時間間隔作為突變點1)它在以前生成期間直接地被改變,但還沒有突變;2)它通過正操作已突變,并且在那個間隔的燃料費降低了;3)它通過負操作已突變,但還沒有滿足約束a;4)它直接接近所改變的間隔,但還沒有突變。如果不滿足下面標準的任何一個,則將取消突變點1)它通過正操作已突變,但是不能降低燃料費,并且己滿足約束a;2)它通過負操作已突變,并且滿足約束a。在個體初始化期間,將把所有時間間隔設置為突變點,即使在進化期間將取消它們中的某些。然而,交叉點、在突變中包括的和影響的間隔、以及直接接近它們的間隔可以變成新突變點。突變點的更新真正地將優化的成果帶到了需要進一步優化以及還可以被進一步優化的時間間隔。正突變的主要目的是降低突變點的燃料費,并且同時,如果在那個間隔破壞了約束a,則減輕負荷差異。例如,假定考慮的第k個個體和突變點是在第j個間隔,用于該間隔的原始負荷分配解決方案是丄i給定點的正突變在下面過程中發生2)如果。=0,則終止該搜索過程;否則,隨機地從Q選擇一個元q,并且使2=,};3)根據約束b和c,為q決定可行域^/,,j,如果域的大小足夠大,則生成一組m(m是(1,M]中的隨機數,并且M是預定的最大搜索步—w—/驟)可行點F-",,&,…^J,從而"<巧=并且5;7-、-1=^~fW—l(p二2,3,…m);設置搜索步驟i:0,e。s,(Z{);4)i=i+l;如果i〉m,則返回到步驟2;否則,臨時設置(c^)'-s,,并且(《)'=《(*e{1,2,...,iV}并且r#i);5)如果AD"Z)'-S(《)、0,則從Q選擇機組,以形成可調機組組^={r|(《)",可以滿足約束b和C兩者,^2并且(《廣>'=(《)'+^};女口果爿^cD,則臨時設置(《)'=《IHI6)如果臨時解決方案(Z4)'=((《)',(《2)',...,(《)')破壞約束b和c的任何一個,則放棄所有改變轉到步驟4;7)計算/'=/,((")'),如果/>4,并且直接轉到步驟4;否則更新《{U...,iV}),并且設置/_=/',然后轉到步驟4。從3至6的步驟組成離散搜索的過程,其中如果對一個機組的增加可能破壞負荷相等約束,則將均勻地分解破壞部分,并且從其它可調機組減掉。以嘗試方式構造可調機組組A,因為只有當Q中所有機組能夠獲得增加而不破壞約束b和c,;才可以是真增加。如果Q中的某些機組不能獲得增加,則剩余機組將獲得增加^,其絕對值大于^"。這是步驟6中再檢査(K)'有效性的原因。值得注意的是,如果存在破壞約束a,則步驟5和6可能部分地或完全地降低負荷差異。對于負突變,由于動態約束,如果負荷分配的調整被限于恰好單個時間間隔(不包括以前和/或較晚間隔),即使理論上可能,在某些情況下也不可能滿足負荷相等的約束。作為例子,假定負荷需求在時間間隔j急劇增加。那么,只有所有機組可以同時在j增加電力輸出才可能滿足該命令。然而,如果某些發電機在j之前已工作在它們的最大功率輸出,則這些發電機可能在該關鍵時刻不貢獻任何輸出。這種情況下,如果負荷分配的調整被限于時間間隔j,則負荷差異將總是存在。唯一的解決方案是在以前和/或較晚的時間間隔改變負荷分配,以便所有機組在j能夠保留足夠的能力處理該具挑戰性的情況。然而,由于調整可能包括多于一個發電機以及多于一個時間間隔,需要動態規劃(DP)解決該問題。為了不包括在處理各種約束中耗時并且不靈活的某些DP算法,CGA再次使用離散搜索方法,其也使用在正突變中,以部分地模擬DP的工作。盡管不能保證在一次運行期間滿足負荷相等,但是通過群體的進化證明該簡單策略是有效的。例如,假定它是第k個個體,并且考慮的突變點是第j個間隔,用于該間隔的原始負荷分配解決方案是"=(《,《2,...,^v)。時間間隔仏;i^"乂}被認為是第一半并且時間間隔化山、KT1被認為是第二半。給定點的負突變在下面過程發生(見圖8):1)如果L;不破壞約束a,則退出;2)計算AD"D'-S(^),隨機地選擇第一(或第二)半;釋放第一半中的時間間隔(whicfflalf二firstHalf)或第二半中的時間間隔(whichHalf二secondHalf));3)如果"不破壞約束a,則退出;否則,則重新計算AD'并且釋放剩余一半中的時間間隔占用兩個步驟釋放第一(或第二)半中的時間間隔。I.如果whichHalf=firstHalf,則選擇最靠近j的時間間隔;e[OJ-1],并且RelaxConservatively(p,AD',whichHalf)=TRUE;如果whichHalf=secondHalf,則選擇最靠近j的時間間隔pe[y'+l,r],并且RelaxConservatively(p,AD',whichHalf)=TRUE;如果不存在p,直接退出;II.如果whichHalf=firstHalf,則在i二p+l,p+2,,j-1運行Relax(i,AZ>',whichHalf)直到返回FALSE;如果Relax(j-l,AD',whichHalf)=TRUE,則在j應用正突變;如果whichHalf=secondHalf,則在i二p-l,P-2,…,j+l運行Relax(i,AD',whichHalf)直到返回FALSE;如果Relax(j+l,AD',whichHalf)=TRUE,則在j應用正突變;如果在某個時間間隔的釋放是有效的,則在RelaxConservatively()中使用下面函數計算GetlntervalPotential(4,loadDiff,whichHalf)開始將(《)'表示為用于第i個機組在時間間隔j不破壞約束b和c的任何可能值max(zW/W=Z(《")*—Z《〉如果loadDiff>O并且whichHalf=firstHalfmax(zWArf=S(^i—')*—S《〉如果loadDiff>O并且whichHalf=secondHalfmax(Arf=藝(《)—)*》如果loadDiff<O并且whichHalf=firstHalfmax{zWAd=Z(《)—Y)如果loadDiff<O并且whichHalf=secondHalf返回結束函數RelaxConservatively(j,loadDiff,whichHalf)包括下面步驟(從c至f的步驟組成離散搜索過程,其在該實施方案中與正突變中所使用的相同)a)設置2={1,2,...,},beRelaxed二FALSE;b)如果^=0>,則返回beRelaxed并且終止該搜索過程;否則,隨機地從Q選擇一個元q,并且使0=0{《};c)根據約束b和c,為q決定可行域"/"j,如果域的大小足夠大,則生成一組m(m是(1,M)中的隨機數,并且M是最大搜索步驟)可行點,={、^"..;},從而乙=、w"并且、一、一,=^4(p=2,3,…w—lm);設置t叟索步驟i=0;設置《in=G"/"ten;a/尸ofe""W(丄(,/o^D#,W/cWfo//);d)i=i+l;如果i〉m,則返回到步驟b;否則,臨時地設置(《)'^,,并且(《)'=《0^£{1,2,...,^}并且r^i);e)如果AD」i)'-5>/,)、0,則從Q選擇機組,以形成可調機組組^葉l(《;r,可以滿足約束b和c兩者,re2并且(《r^(《'+^V,如果J-O,則臨時地設置(《)'=《十^,(Wd)爿f)如果臨時解決方案(^)'=((《)',(《)',...,(O')破壞約束b和c的任何一個,則放棄所有改變轉到步驟山g)如果Ge"她,/戶她滴/((K)',油.cW/a//)>《in;則更新《-(《)'(Vre(l,2,…,iV))以及《n,設置beRelaxed=TRUE;最后,轉到步驟d。RelaxConservatively()函數本身仍然限制只在一個時間間隔調整負荷分配,并且當然,它在處理釋放包括其它時間間隔的情況時具有嚴重的缺點。這可以從下面例子中看出;如果釋放第一半中的間隔,并且AD'-ZV-2(《)、0(在間隔j需要分配更多負荷),并且現在考慮的是P+K第j個間隔;機組i是僅有的可調整發電機,并且《+1=《+3,《+2=《+'+W,.A,=《+3+Z)i,.Af(這里我們假定t/J,)。在間隔p的RelaxConservatively()已為間隔p+l保存了可調整空間,從而可以將《+'增大為《"+A么以向增加的《+2創建附加空間,而不超過機組i的最大輸出;由于這時《"對于RelaxConservatively()是不可調整的,它為《+2設置上界《+3+Z^,.A"所以單獨調整《+1將不為《+2以及間隔P+2保存增加空間,間隔p+2在可能影響第j個間隔之前使RelaxConservatively()失貝夂。在上述例子中,即使《+'也是要增加的正確機組,以便為下一時間間隔保存更多可調空間。RelaxConservatively()仍然返回FALSE,僅僅是因為不能同時增加cC3。為了減輕該問題,函數RelaxAgressivley()打破其它間隔的負荷相等(破壞約束a),用以完成給定間隔的負荷相等。RelaxAgressively(1,loadDiff,whichHalf)//1是時間間隔開始〃構造約束機組組CA丄(和u《2,《1《,{!《"(「2,《<^,,/=1,2,...,iV〉如果/oacto^>0并且w/n'c/27/a//=y^W/Za//,/=1,2,...,A^如果/oflt/Z)i/r>0并且w/n'c/2/Za//=seco"c/fo//,!'=1,2,…,〃}如果/0^/)!#<0并且w&cW/a//-secoMHa//開始隨機選擇wC,設置OCUc);〃確定在相應時間間隔增加機組cmin(《隨—《+2,2'/oWDz;^)如果/oac^f>0并且>1^£;/7//"http://=,W/Za//min(S隨—4;2,2D尺.Af,/oadDz;^)如果/otwZ)f>0并且wWc/7Ha//=seco"^/。Z/一1.min(《2-《瞧,2.Dic.,|/0"必刮)如果/oa必f<0并且wWc/z他//=一1-min(《:2-《,',in,2'"《■Af,l/oat/D刮)如果/(^^)^<0并且>1^^/^//=seco"cii/a//〃在相應的時間間隔向機組c增加Ad,并且改變所影響的間隔,〃從而對于機組C在所有時間間隔都可以滿足約束b和C。如果whichHalf=firstHalf,則startItv=l+2,targetltv二l+l否則startltv=l-2,targetltv=l-1當(Ad^O并且tryTimes〈a預定值)開始如果Augment(c,startltv,whichHalf,Ad)=TRUE,貝U開始fc一^~~結束將所改變的間隔更新為突變點返回TRUE;tryTimes=tryTimes+l;Ad二Ad/2;結束結束返回FALSE;結束使用迭代函數Augment,用于確保在RelaxAgressively()中影響的所有時間間隔仍然滿足約束b和c。由于當嘗試改變是固定值的某個機組的初始負荷而實現動態約束時Augment()可能失敗,所以在這種情況下RelaxAgressively()將降低增加的絕對{直,并且重試Augment(),直到成功或重試次數達到某個預定數。Augment(c,itv,whichHalf,Ad)〃c是機組號。開始如果itv<l,則返回FALSE;〃嘗試改變機組c的初始負荷K,這是不允許的orgVal二《《=《+Arf如果itv》T,則將間隔itv更新為突變點并且返回TRUE;bSucceeded=FALSE如果whichHalf=firstHalf,則開始則將間隔itv更新為突變點并且返回TRUE;否則max(cC《+'如果《"1<max(《—.Af,&,)bSucceeded二Augment(c,itv+l,whichHalf,Ad)否則〃如果whichHalf=secondHalf如果《—'e[max(《-W..《.細),minr+Z)ie'《.扁)]則將間隔itv更新為突變點并且返回TRUE;否則<formula>formulaseeoriginaldocumentpage21</formula>結束如果bSucceeded=TRUE將間隔itv更新為突變點;否則<formula>formulaseeoriginaldocumentpage21</formula>不能更新所有被影響的間隔,還原初始值返回bSucceeded;結束在負突變使用的Relax()是RelaxConservatively()和RelaxAgressively()的組合Relax(itv,loadDiff,whichHalf)開始如果RelaxConservatively(itv,loadDiff,whichHalf)=TRUE,貝U返回TRUE否貝ll如果RelaxAgressively(itv,loadDiff,whichHalf)二TRUE,貝ij返回TRUE否則返回FALSE結束對于為突變所選擇的個體上的每個突變點,首先向它應用正操作。如果降低了間隔費用/;,,,,(),則不對那個突變點做任何其他事情。否則,只有在這點沒有實現負荷相等時,該過程繼續向它應用負操作。在CGA中使用了七個參數控制它的工作。這些參數是群體尺寸L、最大代數G、交叉概率C、突變概率&、離散搜索中的最大步驟數M、用于破壞約束a的處罰因子"、用于破壞約束e的最大處罰因子/。實驗證明CGA優選G的小值(〈100)以及4的大值(>0.1)。L的大值可以幫助CGA更快地找到最優值。最大步驟數M可以在1050左右,并且可以將"設置為大值(例如1000),從而滿足約束a將具有很高優先權。最大處罰因子B可以從大約210選擇值。為了給實際應用中的該方法選擇最合適的和持久的設置,用戶可以預先重復運行具有不同參數設置的CGA幾次,以分配具挑戰性的負荷需求,并且根據最后解決方案的質量和所需要的運行時間將最合適的設置選擇為持久設置。圖9是與可以實現本發明的實施方案相結合的硬件和操作環境的概略圖。圖9的描述是用來提供與可以實現本發明相結合的適當的計算機硬件和適當的計算環境的簡潔、概括描述。在某些實施方案中,以可以由諸如個人計算機之類的計算機執行、諸如程序模塊之類的計算機可執行指令的一般上下文描述本發明。通常,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、部件、數據結構等。此外,本領域的普通技術人員將意識到本發明可以和其它計算機系統配置一起實現,包括手持設備、多處理器系統、基于微處理器、或可編程消費電子、網絡PC、微型計算機、巨型計算機等。本發明也可以實現在分布式計算環境中,其中由通過通信網絡連接的I/O遠程處理設備執行任務。在分布式計算環境中,程序模塊可以位于本地和遠程存儲器存儲設備兩者中。在圖9中所示的實施方案中,提供了可應用于其它圖中所示的任何服務器和/或遠程客戶端的硬件與操作環境。如圖9中所示,硬件和操作環境的一個實施方案包括以計算機20(例如,個人計算機、工作站或服務器)的形式的通用計算設備,所述的通用計算設備包括一個或多個處理單元21;系統存儲器22;以及系統總線23,該系統總線23可操作地將包括系統存儲器22的各種系統部件連接到處理單元21??梢灾挥幸粋€或者可以有多于一個處理單元21,從而計算機20的處理器包括單個中央處理器單元(CPU),或通常稱為多處理器或并行處理器環境的多處理單元。在各個實施方案中,計算機20是傳統計算機、分布式計算機、或任何其它類型計算機。系統總線23可以是幾類總線結構的任何一種,該總線結構包括存儲總線或存儲控制器、外圍總線、以及使用各種總線結構的任何一種的局部總線。系統存儲器也可以簡單地稱為存儲器,并且,在某些實施方案中,包括只讀存儲器(ROM)24和隨機訪問存儲器(RAM)25。基本輸入/輸出系統(BIOS)程序26,包含幫助在計算機20內的元件之間傳送信息的基本例程,諸如在啟動期間,可被保存在R0M24中。。計算機20進一步包括:向硬盤(未示出)讀和寫;磁盤驅動28,用于從或向移動磁盤29讀或寫;以及光盤驅動30,用于從或向諸如CDROM或其它光介質之類的移動光盤31讀或寫。硬盤驅動27、磁盤驅動28、和光盤驅動30分別地與硬盤驅動接口32、磁盤驅動接口33、以及光盤驅動接口34連接。驅動和它們相關的計算機可讀介質為計算機20提供了計算機可讀指令、數據結構、程序模塊和其它數據的非易失性存儲。本領域普通技術人員將意識到的是諸如磁帶、閃存卡、數字視頻盤、伯努利(Bernoulli)筒、隨機訪問存儲器(RAM)、只讀存儲器(ROM)、獨立盤的冗余陣列(例如,RAID存儲設備)等能夠可以存儲由計算機訪問的數據的任何類型計算機可讀介質可以被用于示例性操作環境中??梢栽谟脖P、磁盤29、光盤31、ROM24、或RAM25上存儲包括操作系統35、一個或多個應用程序36、其它程序模塊37、以及程序數據38的多個程序模塊。用于本發明的包含安全傳輸引擎的插件可以位于這些計算機可讀介質的任何一個或一些上。用戶可以通過諸如鍵盤40和定位設備42之類的輸入設備將命令和信息輸入到計算機20中。其它輸入設備(未示出)可以包括麥克風、游戲桿、游戲手柄、衛星電視天線、掃描儀等。這些其它輸入設備通常通過連接到系統總線23的串行端口接口46被連接到處理單元21,但是也可以通過諸如并行端口、游戲端口、或通用串行總線(USB)之類的其它接口被連接。監視器47或其它類型的顯示設備也可以通過諸如視頻適配器48之類的接口被連接到系統總線23。監視器40可以為用戶顯示圖形用戶界面。除了監視器40,計算機典型地包括諸如揚聲器和打印機之類的其它外圍輸出設備(未示出)。計算機20可利用邏輯連接到一個或多個遠程計算機或服務器,諸如遠程計算機49,在網絡環境中操作。通過連接到計算機20的通信設備或者計算機20的一部分實現這些邏輯連接;本發明不限于特定類型的通信設備。遠程計算機49可以是另一計算機、服務器、路由器、網絡PC、客戶端、對等設備或其它公共網絡節點,并且典型地包括與計算機20相關的上述I/0的許多或所有元件,盡管只示出了存儲器存儲設備50。圖9中所描述的邏輯連接包括局域網(LAN)51和/或廣域網(WAN)52。這樣的網絡環境在辦公網絡、企業范圍計算機網絡、內部互聯網和因特網所有類型網絡中是常見的。當使用在LAN網絡環境中,計算機20通過網絡接口或適配器53連接到LAN51,所述的網絡接口或適配器是一類通信設備。在某些實施方案中,當使用在WAN網絡環境中,計算機20典型地包括調制解調器54(另一類通信設備)或任何其它類型通信設備例如用于在諸如因特網之類的廣域網上建立通信的無線收發器。通過串行端口接口46將可以是內部或外部的調制解調器54連接到系統總線23。在網絡環境中,與計算機20相關的所描述程序模塊可以存儲在遠程計算機或服務器49的遠程存儲器存儲設備50中。可以意識到,所示的網絡連接是示例性的,并且在計算機之間建立通信鏈路的其他手段和通信設備可被使用,包括混合光纖同軸連接、Tl-T3線、DSL、0C-3禾卩/或0C-12、TCP/IP、微波、無線應用協議、以及通過任何適當的開關、路由器、輸出線和電源線的任何其它電子介質,正如本領域的普通技術人員己知和理解的。在前面的實施方案詳細描述中,為了簡化本公開,各種特征一起被結合在一個或多個實施方案中。本公開的方法不應當被解釋為反映下述意圖,該意圖為本發明所要求保護的實施方案特征不要求比在每個權利要求中明確記載的特征更多的特征。相反,如在下面權利要求所反映的,發明的主題在于小于單個公開實施方案的所有特征。因而下面權利要求據此被納入到本發明的實施方案的詳細描述中,其中每個權利要求以其自身作為一個獨立的實施方案。應該理解上面的描述是用來說明,而不是限制。是用來覆蓋可以包括在附屬權利要求中所定義的發明范圍內的所有替代、改變和等價物。在回顧上面描述的基礎上,許多其它實施方案對于本領域技術人員是顯而易見的。因而,應參考附屬權利要求連同這些權利要求所授權的等價物的全部范圍確定本發明的范圍。附屬權利要求中,分別使用術語"包括"和"其中"作為各個術語"包括"和"其中"的普通英語等價詞。此外,使用術語"首先"、"其次"、和"第三"等僅僅作為標簽,而不用來對它們的對象施加數字要求。為了遵循37C.F.R.1.72(b),提供了摘要,以允許讀者快速確定該技術公開的本質和要點。提交摘要應理解為不是為了解釋或限制權利要求的范圍或含意。權利要求1.一個過程,包括提供對遺傳算法的約束;向遺傳算法提供動態規劃能力;以及在有限數量的時間間隔上,在數個發電機組之間,以遺傳算法和遺傳算法的動態規劃能力的約束的函數的方式分配負荷需求。2.根據權利要求l的過程,其中遺傳算法約束包括一個或多個負荷需求與發電機組的所有輸出的總和相等;每個發電機組包括輸出下限和輸出上限;發電機組的加速和減速速率的限制;以及發電機組的一個或多個禁忌操作域。3.根據權利要求1的過程,其中一個或多個發電機組的燃料費函數包括一個或多個不平滑特征和非凸特征。4.根據權利要求1的過程,其中對遺傳算法的約束規定和動態規劃能力規定包括改變一個或多個初始化、交叉、和突變操作,從而維持負荷分配解決方案在可行域附近自由地進化。5.根據權利要求4的過程,其中改變初始化操作包括提供偏移和試探式初始化,以保證多樣的初始群體。6.根據權利要求5的過程,其中偏移和試探式初始化包括向在禁忌操作域中操作的一個或多個發電機組分配最高優先權;向初始化之前隨機選擇的一個或多個發電機組分配普通優先權;向未分配最高優先權或普通優先權的剩余發電機組分配最低優先權;根據已區分優先權的發電機組重復地選擇發電機組;以及向那個發電機組分配未滿足的負荷需求,而不破壞遺傳算法的約束。7.根據權利要求4的過程,其中改變交叉操作包括為交叉選擇可行位置,以適應遺傳算法的約束。8.根據權利要求4的過程,其中改變突變操作包括試探地維持可能的突變點的位置;以及提供降低燃料費的正突變操作和獲得負荷相等的負突變操作;并且此外其中正突變操作每次影響一個時間間隔,以及負突變每次影響多個時間間隔。9.根據權利要求8的過程,還包括向一個或多個正突變操作以及負突變操作提供離散搜索策略。10.—種包括用于執行過程的指令的機器可讀介質,指令包括提供對遺傳算法的約束;向遺傳算法提供動態規劃能力;以及在有限數量的時間間隔上,在數個發電機組之間,以遺傳算法和遺傳算法的動態規劃能力的約束的函數的方式分配負荷需求。11.根據權利要求10的機器可讀介質,其中遺傳算法約束包括一個或多個負荷需求與發電機組的所有輸出的總和相等;每個發電機組包括輸出下限和輸出上限;發電機組的加速和減速速率的限制;以及發電機組的一個或多個禁忌操作域。12.根據權利要求10的機器可讀介質,其中一個或多個發電機組的燃料費函數包括一個或多個不平滑特征和非凸特征。13.根據權利要求10的機器可讀介質,其中對遺傳算法的約束規定和動態規劃能力規定包括改變一個或多個初始化、交叉、和突變操作,從而維持負荷分配解決方案在可行域附近自由地進化。14.根據權利要求13的機器可讀介質,其中改變初始化操作包括提供偏移和試探式初始化,以保證多樣的初始群體。15.根據權利要求14的機器可讀介質,其中偏移和試探式初始化包括向在禁忌操作域中操作的一個或多個發電機組分配最高優先權;向初始化之前隨機選擇的一個或多個發電機組分配普通優先權;向未分配最高優先權或普通優先權的剩余發電機組分配最低優先權;根據已區分優先權的發電機組重復地選擇發電機組;以及向那個發電機組分配未滿足的負荷需求,而不破壞遺傳算法的約束。16.根據權利要求13的機器可讀介質,其中改變交叉操作包括為交叉選擇可行位置,以適應遺傳算法的約束。17.根據權利要求13的機器可讀介質,其中改變突變操作包括試探地維持可能突變點的位置;以及提供降低燃料費的正突變操作和獲得負荷相等的負突變操作;并且此外其中正突變操作每次影響一個時間間隔,以及負突變每次影響多個時間間隔。18.根據權利要求17的機器可讀介質,還包括向一個或多個正突變操作以及負突變操作提供離散搜索策略。19.一種系統,包括提供對遺傳算法約束的模塊;向遺傳算法提供動態規劃能力的模塊;以及在有限數量的時間間隔上,在數個發電機組之間,以遺傳算法和遺傳算法的動態規劃能力的約束的函數方式分配負荷需求的模塊。20.根據權利要求19的系統,其中遺傳算法約束包括一個或多個負荷需求與發電機組的所有輸出的總和相等;每個發電機組包括輸出下限和輸出上限;發電機組的加速和減速速率的限制;以及發電機組的一個或多個禁忌操作域。全文摘要在實施方案中,系統和方法提供了對遺傳算法的約束,并且還向遺傳算法提供了動態規劃能力。然后該系統和方法在有限數量的時間間隔上,在數個發電機組之間,以遺傳算法和遺傳算法的動態規劃能力約束的函數的分配負荷需求。文檔編號H02J4/00GK101154815SQ20061014067公開日2008年4月2日申請日期2006年9月29日優先權日2006年9月29日發明者葉晨洲,向珣瑋,張丹青,賀晉衛申請人:霍尼韋爾國際公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 伊宁市| 南安市| 庄河市| 永福县| 涟水县| 盐池县| 天台县| 炉霍县| 兖州市| 繁昌县| 太原市| 临高县| 峡江县| 兴和县| 吴江市| 新闻| 桦甸市| 邯郸市| 昆明市| 孟津县| 岳普湖县| 辰溪县| 肃宁县| 黑龙江省| 马关县| 遂宁市| 新巴尔虎左旗| 桐梓县| 扎囊县| 苗栗县| 政和县| 卓尼县| 南和县| 旬邑县| 龙海市| 玉龙| 溧阳市| 黎平县| 那坡县| 莱芜市| 南丰县|