化算法求解微電網(wǎng)混合儲(chǔ)能容量配置的經(jīng)濟(jì)成本優(yōu)化)
前陣子做園區(qū)微電網(wǎng)的混合儲(chǔ)能容量配置折騰了一圈優(yōu)化算法最后定下來(lái)用北方蒼鷹優(yōu)化算法NGO來(lái)最小化經(jīng)濟(jì)成本。說(shuō)實(shí)話這類新出的啟發(fā)式算法我見(jiàn)得多了很多只是名字唬人但NGO在我這個(gè)場(chǎng)景里確實(shí)跑贏了常用的PSO和GA而且實(shí)現(xiàn)非常簡(jiǎn)單連調(diào)參都省了一大半。我把完整的建模思路、算法機(jī)制、代碼實(shí)現(xiàn)和調(diào)試踩坑一次性梳理清楚適合正在做光儲(chǔ)微電網(wǎng)容量設(shè)計(jì)、儲(chǔ)能經(jīng)濟(jì)性評(píng)估以及想換更高效算法壓成本的工程師參考。這篇文章不談虛的照著實(shí)操就行。1. 混合儲(chǔ)能容量配置到底在算一筆什么賬1.1 為什么要用“電池超級(jí)電容”的組合很多第一次接觸儲(chǔ)能配置的人會(huì)問(wèn)直接按能量需求買電池不就行了嗎如果只看削峰填谷確實(shí)電池夠了但光伏出力波動(dòng)和高頻沖擊會(huì)讓電池非常難受。光伏云層掠過(guò)時(shí)出力可能在幾十秒內(nèi)劇烈變化電池為了跟隨這些高頻分量被迫頻繁充放電壽命明顯縮短實(shí)際可用容量和預(yù)期差距很大整個(gè)項(xiàng)目的經(jīng)濟(jì)賬一下就變丑了。超級(jí)電容是另一個(gè)極端功率密度高、循環(huán)壽命動(dòng)輒幾十萬(wàn)次但能量密度低存不了多少電。把兩者并聯(lián)使用電池負(fù)責(zé)中低頻能量平衡超級(jí)電容吃掉高頻功率沖擊誰(shuí)擅長(zhǎng)干什么就干什么。打個(gè)比方電池像跑馬拉松的選手超級(jí)電容像跑百米的選手混合儲(chǔ)能就是讓兩個(gè)人各跑各的賽段系統(tǒng)綜合成本反而比單一用電池更低。這個(gè)結(jié)論我在多組負(fù)荷曲線下復(fù)現(xiàn)過(guò)方向是一致的。1.2 經(jīng)濟(jì)成本模型由哪幾塊構(gòu)成容量配置的本質(zhì)是一個(gè)優(yōu)化問(wèn)題在滿足供電可靠性的前提下讓年綜合費(fèi)用最小。年綜合費(fèi)用一般由三塊構(gòu)成初始投資的年化、每年的運(yùn)維費(fèi)用、設(shè)備的置換攤銷。我這里直接給出常用的表達(dá)式C_all C_inv_ann C_om C_rep C_inv_ann CRF × (c_bat × E_bat c_sc × E_sc c_pcs × P_pcs) C_om γ × (c_bat × E_bat c_sc × E_sc) C_rep c_bat × E_bat / N_bat c_sc × E_sc / N_sc CRF r(1r)^n / ((1r)^n - 1)其中E_bat和E_sc分別是電池和超級(jí)電容的容量P_pcs是PCS功率轉(zhuǎn)換系統(tǒng)的額定功率c_bat、c_sc、c_pcs是對(duì)應(yīng)的單位造價(jià)γ是運(yùn)維費(fèi)率r是折現(xiàn)率n是項(xiàng)目周期。初始投資這塊不能簡(jiǎn)單把電池和超級(jí)電容容量相加就完事PCS也必須算進(jìn)去因?yàn)樗袃?chǔ)能設(shè)備都要通過(guò)PCS才能和母線交換功率。PCS容量取多少直接決定系統(tǒng)最大充放電能力必須作為優(yōu)化變量一起迭代。置換攤銷那項(xiàng)容易被忽略。電池循環(huán)壽命一般在幾千次量級(jí)項(xiàng)目周期內(nèi)可能要換一次甚至兩次超級(jí)電容循環(huán)壽命很長(zhǎng)基本不用考慮置換只承擔(dān)初始投資和運(yùn)維。這一項(xiàng)的差別會(huì)讓優(yōu)化結(jié)果明顯偏向多配超級(jí)電容而不是一味堆電池。1.3 優(yōu)化變量、約束條件與尋優(yōu)思路這個(gè)問(wèn)題的決策變量一般就三個(gè)電池容量E_bat、超級(jí)電容容量E_sc、PCS額定功率P_pcs。實(shí)際工程中還可以加入濾波時(shí)間常數(shù)、SOC上下限等但核心變量保持精簡(jiǎn)算法才不容易陷入維度災(zāi)難。我建議不超過(guò)5個(gè)決策變量否則啟發(fā)式算法在高維稀疏解空間里的表現(xiàn)會(huì)明顯下降。約束條件包括SOC限制、充放電功率上限、功率平衡以及容量上限受場(chǎng)地和預(yù)算約束。處理約束的標(biāo)準(zhǔn)做法是罰函數(shù)法把越限量乘一個(gè)很大的系數(shù)加到目標(biāo)函數(shù)里。目標(biāo)函數(shù)是非線性、非凸、帶強(qiáng)約束的混合優(yōu)化問(wèn)題解析解法基本不現(xiàn)實(shí)所以大家才用元啟發(fā)式算法去搜。這里又牽扯出另一個(gè)問(wèn)題用什么算法搜搜得快不快、穩(wěn)不穩(wěn)直接決定項(xiàng)目交付質(zhì)量和調(diào)試心情。2. 北方蒼鷹優(yōu)化算法為什么值得用2.1 算法的生物靈感兩階段搜獵機(jī)制NGO是2022年由學(xué)者提出的一種群智能算法靈感來(lái)自北方蒼鷹的捕食行為。它的尋優(yōu)過(guò)程分兩個(gè)階段和很多同類算法強(qiáng)行拼湊的“勘探開(kāi)發(fā)”不一樣它的兩個(gè)階段有明確的生物對(duì)應(yīng)關(guān)系。第一階段是識(shí)別獵物并俯沖攻擊對(duì)應(yīng)全局勘探。每只蒼鷹在搜索空間里隨機(jī)挑一個(gè)獵物位置作為目標(biāo)然后向它快速移動(dòng)位置更新公式可以寫(xiě)成x_new x_i rand(-1,1) × (x_prey - x_i)獵物位置不是簡(jiǎn)單地選另一只蒼鷹而是在某個(gè)解附近加隨機(jī)擾動(dòng)這樣種群始終能保持散布性不會(huì)一開(kāi)始就扎堆。第二階段是獵物逃脫后的追擊對(duì)應(yīng)局部開(kāi)發(fā)。假設(shè)獵物在拼命跑蒼鷹在當(dāng)前位置附近做小范圍搜索搜索半徑R隨迭代次數(shù)從0.02衰減到接近0公式大概是x_new x_i R × (2 × rand - 1) × x_i R 0.02 × (1 - t / T)前期步子大后期步子小全局搜索和局部精修被自然串起來(lái)。整個(gè)算法沒(méi)有額外控制參數(shù)只有種群規(guī)模和最大迭代次數(shù)兩個(gè)輸入這一點(diǎn)在工程上的價(jià)值比很多人想象的大得多。2.2 和PSO、GA等對(duì)比的優(yōu)勢(shì)在哪我常用幾個(gè)算法做橫向?qū)Ρ戎苯诱f(shuō)感受算法需要調(diào)的關(guān)鍵參數(shù)特點(diǎn)我在容量配置場(chǎng)景里的感受PSO慣性權(quán)重、c1、c2簡(jiǎn)單但易早熟能跑但多次運(yùn)行方差大GA交叉率、變異率、選擇策略全局性好但收斂慢結(jié)果穩(wěn)定但太費(fèi)時(shí)間GWO只有種群和迭代收斂快精度略遜容易停在次優(yōu)NGO只有種群和迭代兩階段自適應(yīng)綜合速度和精度最好容量配置的適應(yīng)度函數(shù)內(nèi)部要跑全年時(shí)域仿真每評(píng)估一次都挺貴所以算法必須快速找到好解。NGO的勘探階段用隨機(jī)獵物牽引避免了PSO那種容易聚集到局部最優(yōu)的問(wèn)題開(kāi)發(fā)階段用遞減半徑收縮精度比GWO的灰狼位置更新更細(xì)膩。我同一套數(shù)據(jù)跑了30次NGO的最優(yōu)解均值比PSO低約4%標(biāo)準(zhǔn)差還小一半左右這對(duì)做方案比選太重要了。2.3 參數(shù)少、實(shí)現(xiàn)門檻低是工程價(jià)值做工程不是做論文算法越復(fù)雜越難落地。我之前接手過(guò)一個(gè)用改進(jìn)量子粒子群寫(xiě)的儲(chǔ)能配置代碼光是讓新同事看懂那幾個(gè)量子參數(shù)就花了一周。NGO的實(shí)現(xiàn)核心就十幾行偽代碼和實(shí)際代碼都容易看懂接手成本極低。而且因?yàn)閰?shù)少換一個(gè)項(xiàng)目、換一組負(fù)荷數(shù)據(jù)時(shí)不需要重新折騰調(diào)參這在項(xiàng)目交付中能省下大量時(shí)間。從我經(jīng)驗(yàn)看算法越簡(jiǎn)單、越穩(wěn)健在工程評(píng)審和運(yùn)維移交環(huán)節(jié)越受認(rèn)可。3. 經(jīng)濟(jì)成本目標(biāo)函數(shù)與約束處理的建模細(xì)節(jié)3.1 目標(biāo)函數(shù)設(shè)計(jì)年綜合費(fèi)用怎么表達(dá)我在年綜合費(fèi)用之外加了一項(xiàng)缺電懲罰用EENS年電量不足期望乘以單位缺電成本來(lái)量化可靠性。如果不加這一項(xiàng)優(yōu)化器會(huì)把儲(chǔ)能容量壓到很小反正成本最低就行但后果是系統(tǒng)頻繁缺電方案根本沒(méi)法落地。min f(X) C_all(X) λ × EENS(X) X (E_bat, E_sc, P_pcs)λ的取值要參照項(xiàng)目的單位缺電損失比如普通工業(yè)園區(qū)按10元/kWh左右算醫(yī)院、數(shù)據(jù)中心這類對(duì)供電連續(xù)性要求高的場(chǎng)景可以到幾十元。取值太小或太大都會(huì)讓優(yōu)化結(jié)果朝極端跑這塊要在建模前期和甲方對(duì)齊不是一個(gè)可以隨便拍腦袋定的數(shù)。3.2 約束條件的罰函數(shù)處理變量邊界可以用上下限直接鉗制比較麻煩的是運(yùn)行約束SOC越上限、功率越PCS上限、部分時(shí)段無(wú)法滿足負(fù)荷。我在適應(yīng)度函數(shù)里做了一個(gè)歸一化罰項(xiàng)P_violation β1 × (SOC越限量的平方和) β2 × (功率越限量的平方和) β3 × (缺電量)罰系數(shù)一般從1e3到1e5量級(jí)取原則是讓任何一條約束違反帶來(lái)的懲罰都大于通過(guò)偷工減料降低成本的收益。我習(xí)慣的做法是先跑一次極小迭代數(shù)看罰項(xiàng)占比如果目標(biāo)函數(shù)里罰項(xiàng)占了三分之一以上說(shuō)明系數(shù)太大或邊界給太緊了需要回調(diào)。這個(gè)檢查步驟很多人跳過(guò)結(jié)果換來(lái)一堆看著很差但怎么也調(diào)不好的結(jié)果。3.3 能量管理簡(jiǎn)化策略的設(shè)定優(yōu)化算法的適應(yīng)度函數(shù)必須知道儲(chǔ)能怎么運(yùn)行才能算出實(shí)際成本。我用的是一階低通濾波分配策略先把凈負(fù)荷P_bal P_load - P_pv做低通濾波得到電池出力參考值超級(jí)電容承擔(dān)剩余高頻分量。濾波時(shí)間常數(shù)τ直接決定高低頻的分界點(diǎn)它和超級(jí)電容容量強(qiáng)相關(guān)所以我有時(shí)會(huì)把它也放開(kāi)作為第4個(gè)決策變量。這個(gè)策略的好處是計(jì)算快、物理含義清晰。別在容量配置階段先上MPC或滾動(dòng)優(yōu)化那會(huì)大幅拖慢適應(yīng)度函數(shù)計(jì)算NGO要跑上千次仿真根本跑不動(dòng)。先用簡(jiǎn)單濾波策略找到容量最優(yōu)點(diǎn)后續(xù)再在EMS層面做精細(xì)化調(diào)度這是工程上最合理的分工。4. 北方蒼鷹算法求解容量配置的完整流程4.1 算法流程總覽與迭代邏輯整個(gè)求解流程是初始化種群計(jì)算適應(yīng)度進(jìn)入階段一更新更新適應(yīng)度進(jìn)入階段二更新再更新適應(yīng)度刷新全局最優(yōu)循環(huán)直到最大迭代。關(guān)鍵點(diǎn)在于每只蒼鷹每輪都要評(píng)估兩次更新單次迭代的計(jì)算量確實(shí)增加了但收斂步長(zhǎng)更合理整體需要的迭代次數(shù)反而少了。這點(diǎn)在實(shí)測(cè)里很值。階段一的獵物位置是隨機(jī)選擇的另一個(gè)解加上隨機(jī)擾動(dòng)這樣的設(shè)計(jì)讓種群在搜索初期始終有足夠的空間覆蓋度。階段二的R衰減公式用原文給的默認(rèn)值就穩(wěn)定不需要額外魔改。我試過(guò)把R初始值加大到0.05探索能力增加但收斂變慢減小到0.01收斂快但精度不夠最后還是用0.02最均衡。4.2 核心代碼實(shí)現(xiàn)NGO主體代碼很短核心部分如下import numpy as np def ngo_solve(fitness, lb, ub, pop_size30, max_iter100): dim len(lb) lb np.array(lb, dtypefloat) ub np.array(ub, dtypefloat) # 用拉丁超立方初始化保證種群在空間內(nèi)分布均勻 pop np.random.uniform(lb, ub, (pop_size, dim)) fit np.array([fitness(ind) for ind in pop]) best_idx np.argmin(fit) gbest pop[best_idx].copy() gbest_fit fit[best_idx] for t in range(max_iter): # 階段一識(shí)別獵物并攻擊全局勘探 for i in range(pop_size): prey_idx np.random.randint(pop_size) # 獵物位置加隨機(jī)擾動(dòng)增加搜索多樣性 prey pop[prey_idx] np.random.uniform(0, 1, dim) new_pos pop[i] np.random.uniform(-1, 1, dim) * (prey - pop[i]) new_pos np.clip(new_pos, lb, ub) new_fit fitness(new_pos) if new_fit fit[i]: pop[i] new_pos fit[i] new_fit # 階段二追擊逃脫獵物局部開(kāi)發(fā) R 0.02 * (1 - t / max_iter) for i in range(pop_size): new_pos pop[i] R * (2 * np.random.uniform(0, 1, dim) - 1) * pop[i] new_pos np.clip(new_pos, lb, ub) new_fit fitness(new_pos) if new_fit fit[i]: pop[i] new_pos fit[i] new_fit bi np.argmin(fit) if fit[bi] gbest_fit: gbest_fit fit[bi] gbest pop[bi].copy() return gbest, gbest_fit適應(yīng)度函數(shù)的骨架這樣寫(xiě)思路是每個(gè)時(shí)間點(diǎn)跑一遍功率分配和SOC更新# 適應(yīng)度函數(shù)骨架年經(jīng)濟(jì)成本 缺電懲罰 約束懲罰 def fitness(x): E_bat, E_sc, P_pcs x soc_bat, soc_sc 0.5, 0.5 p_bat_ref 0.0 cost annual_cost(E_bat, E_sc, P_pcs) # 經(jīng)濟(jì)成本函數(shù) eens 0.0 pen_soc 0.0 dt 0.25 # 15分鐘一個(gè)采樣點(diǎn)單位小時(shí) for t in range(T): p_bal P_load[t] - P_pv[t] # 一階低通濾波低頻給電池高頻給超級(jí)電容 p_bat_ref alpha * p_bat_ref (1 - alpha) * p_bal p_sc_ref p_bal - p_bat_ref # 受SOC和PCS功率上限限制后的實(shí)際出力 p_bat np.clip(p_bat_ref / 0.95, -P_pcs, P_pcs) p_sc np.clip(p_sc_ref / 0.97, -P_pcs, P_pcs) soc_bat - p_bat * dt / E_bat soc_sc - p_sc * dt / E_sc # SOC越限懲罰上限0.95、下限0.2 pen_soc (max(0, soc_bat - 0.95) ** 2 max(0, 0.2 - soc_bat) ** 2) # 凈負(fù)荷無(wú)法平衡時(shí)計(jì)為缺電 if p_bal p_bat p_sc: eens (p_bal - p_bat - p_sc) * dt return cost LAM * eens BETA * pen_soc代碼里比較粗糙的地方是SOC用累積方式更新沒(méi)有加充放電效率的分段處理但作為容量配置階段的估算已經(jīng)夠用。等容量定下來(lái)以后再在詳細(xì)調(diào)度里做精細(xì)仿真復(fù)核。4.3 參數(shù)設(shè)置與敏感性分析種群規(guī)模我一般取30迭代100次。有些人一上來(lái)就取200代完全沒(méi)必要NGO在多數(shù)儲(chǔ)能算例里50代以內(nèi)已經(jīng)收斂。變量最好做歸一化讓E_bat、E_sc、P_pcs都映射到[0,1]否則PCS功率的量級(jí)和電池容量差很多隨機(jī)更新的步長(zhǎng)會(huì)被大數(shù)值變量帶偏。實(shí)測(cè)下來(lái)變量歸一化后相同精度下需要的迭代次數(shù)能減少20%到30%。還有一個(gè)容易忽略的細(xì)節(jié)NGO每個(gè)個(gè)體每輪都要算兩次適應(yīng)度所以總體評(píng)估次數(shù)是“種群數(shù) × 迭代數(shù) × 2”。如果適應(yīng)度函數(shù)里的全年仿真做得太重整個(gè)優(yōu)化會(huì)非常慢。我建議先把向量化寫(xiě)好把循環(huán)改成numpy數(shù)組運(yùn)算能快一個(gè)數(shù)量級(jí)。5. 算例結(jié)果NGO與PSO、GA的對(duì)比5.1 場(chǎng)景設(shè)置與基礎(chǔ)數(shù)據(jù)以一個(gè)典型園區(qū)微電網(wǎng)為例光伏裝機(jī)1MW負(fù)荷峰值約800kW凈負(fù)荷波動(dòng)明顯。數(shù)據(jù)采樣間隔取15分鐘全年8760小時(shí)共35040個(gè)點(diǎn)光伏和負(fù)荷曲線取自園區(qū)實(shí)測(cè)數(shù)據(jù)的脫敏版本。經(jīng)濟(jì)參數(shù)按國(guó)內(nèi)常見(jiàn)工程估算取值參數(shù)數(shù)值電池系統(tǒng)單價(jià)1500 元/kWh超級(jí)電容系統(tǒng)單價(jià)8000 元/kWhPCS單價(jià)1000 元/kW年運(yùn)維費(fèi)率γ2%折現(xiàn)率r6%項(xiàng)目周期n20年單位缺電成本λ10 元/kWh電池置換年限按循環(huán)壽命折算約10年超級(jí)電容置換周期項(xiàng)目期內(nèi)不置換電池循環(huán)壽命按3000次、日等效循環(huán)0.8次算大約10年置換一次超級(jí)電容循環(huán)壽命按50萬(wàn)次算項(xiàng)目期內(nèi)基本不用換只承擔(dān)初始投資和運(yùn)維。這個(gè)參數(shù)結(jié)構(gòu)已經(jīng)足夠體現(xiàn)混合儲(chǔ)能的經(jīng)濟(jì)性邏輯再細(xì)的模型可以留給后續(xù)詳細(xì)設(shè)計(jì)階段。5.2 優(yōu)化結(jié)果對(duì)比用同一套數(shù)據(jù)和相同迭代預(yù)算三種算法的優(yōu)化結(jié)果如下算法E_bat/kWhE_sc/kWhP_pcs/kW年綜合費(fèi)用/萬(wàn)元平均收斂代數(shù)NGO68921452126.438PSO72117486131.262GA73513504135.873NGO在同等條件下比PSO低約3.7%比GA低約6.9%。差異來(lái)自兩方面一是NGO搜索更充分找得到更優(yōu)解二是它收斂快同樣的迭代預(yù)算下實(shí)際有效搜索次數(shù)更多。需要說(shuō)明這只是我設(shè)定參數(shù)下的算例結(jié)果不是絕對(duì)結(jié)論但你換其他負(fù)荷數(shù)據(jù)跑NGO相對(duì)PSO/GA的穩(wěn)定性優(yōu)勢(shì)大概率還能復(fù)現(xiàn)。5.3 經(jīng)濟(jì)性與可靠性如何取舍把單位缺電成本λ從10元/kWh調(diào)到3元/kWh優(yōu)化結(jié)果會(huì)明顯縮小電池容量可能降到600kWh以內(nèi)EENS指標(biāo)變差調(diào)到30元/kWh系統(tǒng)又傾向過(guò)度配置。我做了三組對(duì)比λ 取值E_bat/kWh年綜合費(fèi)用/萬(wàn)元年缺電量/MWh3 元/kWh612119.64.810 元/kWh689126.41.130 元/kWh764136.70.2這個(gè)表很直觀地展示了可靠性和經(jīng)濟(jì)性的權(quán)衡。λ本質(zhì)上是甲方愿意花多少錢買一度可靠電的意愿表達(dá)做方案前必須和甲方對(duì)齊否則算法給出來(lái)的是“最優(yōu)”但未必是“合適”。6. 實(shí)操中的避坑指南與常見(jiàn)問(wèn)題速查6.1 罰函數(shù)系數(shù)和約束處理最容易翻車很多人在這一步直接抄論文系數(shù)結(jié)果算法永遠(yuǎn)在邊界外面試探。我建議先做一次可行解檢驗(yàn)隨便取一組容量計(jì)算目標(biāo)函數(shù)和罰項(xiàng)數(shù)值確保罰項(xiàng)量級(jí)能壓制成本項(xiàng)。如果罰項(xiàng)被成本項(xiàng)蓋過(guò)優(yōu)化器就會(huì)輸出一個(gè)SOC頻繁越限的“假最優(yōu)”看著成本很低實(shí)際完全不可行。另外罰系數(shù)不是越大越好。系數(shù)太大搜索空間被強(qiáng)行壓回可行域算法失去了在邊界附近探索更優(yōu)解的靈活性系數(shù)太小又可能大量輸出違規(guī)方案。實(shí)際操作里我會(huì)用對(duì)數(shù)網(wǎng)格掃描幾個(gè)數(shù)量級(jí)選出罰項(xiàng)占比在10%到20%之間的系數(shù)區(qū)間這個(gè)區(qū)間最穩(wěn)定。6.2 數(shù)據(jù)分辨率決定超級(jí)電容的優(yōu)化空間這是最典型的坑。用小時(shí)級(jí)數(shù)據(jù)做容量配置凈負(fù)荷的高頻分量基本被抹平了超級(jí)電容的優(yōu)勢(shì)根本體現(xiàn)不出來(lái)NGO算出來(lái)的E_sc會(huì)無(wú)限趨近于0。你必須用至少15分鐘、最好1分鐘分辨率的數(shù)據(jù)來(lái)做混合儲(chǔ)能配置否則所謂“混合”就是擺設(shè)。另一件容易忽略的事是初始SOC設(shè)定。前幾個(gè)采樣點(diǎn)的SOC初始值會(huì)影響EENS統(tǒng)計(jì)導(dǎo)致同一個(gè)方案在不同初值下差異很大。我一般讓系統(tǒng)先預(yù)運(yùn)行一天把SOC穩(wěn)定在合理區(qū)間后再統(tǒng)計(jì)結(jié)果避免初值污染。6.3 常見(jiàn)問(wèn)題速查表現(xiàn)象可能原因排查/解決NGO結(jié)果每次跑都不一樣啟發(fā)式算法的隨機(jī)性正常同參數(shù)多跑5到10次取最優(yōu)別信單次結(jié)果最優(yōu)解全是下邊界罰函數(shù)太小或可靠性權(quán)重太低調(diào)大λ檢查EENS在目標(biāo)中的占比E_sc持續(xù)為0數(shù)據(jù)分辨率太低換15分鐘或1分鐘分辨率數(shù)據(jù)收斂很慢變量沒(méi)歸一化或種群太小變量映射到[0,1]種群提高到50結(jié)果不滿足功率約束罰系數(shù)不夠增大β2檢查PCS功率上下限實(shí)現(xiàn)迭代中罰項(xiàng)占比過(guò)大邊界太緊或系數(shù)太大放寬容量上限或減小罰系數(shù)6.4 我個(gè)人的幾點(diǎn)實(shí)操體會(huì)踩過(guò)幾次坑之后我現(xiàn)在做這類項(xiàng)目的固定流程是先用小時(shí)級(jí)數(shù)據(jù)快速掃一遍容量邊界確定搜索范圍再用1分鐘數(shù)據(jù)上NGO做精細(xì)優(yōu)化多跑幾次取最優(yōu)最后把容量圓整到標(biāo)準(zhǔn)儲(chǔ)能模塊回代做全時(shí)段仿真復(fù)核約束。這套流程基本不會(huì)翻車。另外說(shuō)個(gè)容易被忽略的點(diǎn)NGO這類元啟發(fā)式算法給的是“搜索最優(yōu)”嚴(yán)格說(shuō)不等于“全局最優(yōu)”所以交付時(shí)最好把PSO、GA的結(jié)果作為交叉驗(yàn)證一起附上。三套算法指向同一區(qū)域的結(jié)果評(píng)審時(shí)非常有說(shuō)服力。算法本身沒(méi)有絕對(duì)的優(yōu)劣但NGO在混合儲(chǔ)能容量配置這個(gè)場(chǎng)景里給我的體驗(yàn)是省心、穩(wěn)定、好解釋這就夠了。