多場景兩階段分布式魯棒優化模型、數據驅動的綜合能源系統

基于數據驅動的綜合能源系統多場景兩階段分布式魯棒優化模型

魯棒優化是應對數據不確定性的一種優化方法,但單階段魯棒優化過于保守。為了解決這一問題,引入了兩階段魯棒優化(Two-stage Robust Optimization)以及更一般的多階段魯棒優化,其核心思想是將決策問題分為兩個階段。第一階段是進行初步決策,第二階段是根據第一階段的決策結果制定更好的決策策略,應對數據不確定性的影響。這種方法可以降低保守性,提高魯棒性。

兩階段魯棒優化模型在含有風電、光伏、儲能的綜合能源系統以及主動配電網中均得到了很多應用。本文采用基于數據驅動的分布魯棒方法處理了?DG?和負荷的不確定性。

優化模型:

一、程序目標函數:

第一階段

Cs是啟停成本系數,一階段目標是微燃機啟停成本,u代表發電機狀態變量。

第二階段

分別是電網購電成本、發電機運行成本、蓄電池老化成本(或者運維)、棄風和棄光成本。

模型包含以下約束:

約束1:微燃機出力約束

約束2:爬坡約束。

約束3:儲能充放電約束

約束4:儲能初始能量和最終能量一致

約束5:儲能soc范圍約束

約束6.電功率平衡約束

約束7.熱功率平衡

二、部分程序實例:

%function [p_wt,p_pv,p_load,x,UB,p_ch,p_dis,p_g,p_buy,p_sell]=SP2(ee_bat_int, p_wt_int,p_pv_int,p_g_int,LB,yita)%決策變量% p_ch=sdpvar(24,4);p_dis=sdpvar(24,4);p_gl=sdpvar(24,4);%uu_ch=binvar(24,4);uu_dis=binvar(24,4);uu_m=binvar(24,4);%充放電狀態、發電機狀態% p_buy=sdpvar(24,4);%購電變量% p_wt=sdpvar(24,4);p_pv=sdpvar(24,4);%實際參與風、光% p_g=sdpvar(24,4);%不確定性變量psp=sdpvar(1,4);psd=sdpvar(1,4);sigmap=binvar(1,4);sigmad=binvar(1,4);ps=sdpvar(1,4);u_g=[uu_m(:,1)' uu_m(:,2)' uu_m(:,3)' uu_m(:,4)'];u_ch=[uu_ch(:,1)' uu_ch(:,2)' uu_ch(:,3)' uu_ch(:,4)'];u_dis=[uu_dis(:,1)' uu_dis(:,2)' uu_dis(:,3)' uu_dis(:,4)'];%風光出力和電價(以春季典型日為例)ps0=[22.7; 15.6; 38.05; 23.65]./100;%場景概率price=[0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.9 1.35 1.35 1.35 0.9 0.9 0.9 0.9 0.9 0.9 0.9 1.35 1.35 1.35 1.35 1.35 0.48];%電價constraints=[];%約束開始load=p_l';%不確定約束constraints=[constraints,sum(psp+psd)<=theta1];constraints=[constraints,psp+psd<=thetaw];constraints=[constraints,sigmap+sigmad<=1];constraints=[constraints,0<=psp<=sigmap*theta1];constraints=[constraints,0<=psd<=sigmad*theta1];constraints=[constraints,ps==ps0'+psd+psp];lam1=sdpvar(96,1);lam11=sdpvar(96,1);lam12=sdpvar(96,1);lam120=sdpvar(96,1);lam2=sdpvar(192,1);lam21=sdpvar(192,1);lam3=sdpvar(4,1);lam4=sdpvar(96,1);lam41=sdpvar(96,1);lam5=sdpvar(96,1);lam51=sdpvar(96,1);lam6=sdpvar(96,1);%設定對偶變量beta1=sdpvar(96,1);beta11=sdpvar(96,1);beta12=sdpvar(96,1);beta120=sdpvar(96,1);beta2=sdpvar(192,1);beta21=sdpvar(192,1);beta3=sdpvar(4,1);beta4=sdpvar(96,1);beta41=sdpvar(96,1);beta5=sdpvar(96,1);beta51=sdpvar(96,1);beta6=sdpvar(96,1);beta7=binvar(672,1);beta8=binvar(288,1);%大m條件中的01變量x=[];P=[];pw=[];pv=[];for i=1:4x=[x,p_buy(:,i)' p_g(:,i)' p_ch(:,i)' p_dis(:,i)' p_gl(:,i)' p_wt(:,i)' p_pv(:,i)'];%x變量% P=[P,ps(i).*price ps(i)*cg.*ones(1,24) ps(i)*ccn.*ones(1,48) zeros(1,24) -ps(i)*cq.*ones(1,48)];P=[P,price cg.*ones(1,24) ccn.*ones(1,48) zeros(1,24) -cq.*ones(1,48)];pw=[pw,ps(i).*p0_wt(:,i)'];pv=[pv,ps(i).*p0_pv(:,i)'];endx=x';%下面相關的計算參數和參考資料一致%B=repmat([c_wt_om.*ones(1,24) c_pv_om.*ones(1,24) zeros(1,24)]',1,4);Q1=[zeros(24,24) eye(24) zeros(24,120) zeros(24,504);zeros(24,168) zeros(24,24) eye(24) zeros(24,120) zeros(24,336);zeros(24,336) zeros(24,24) eye(24) zeros(24,120) zeros(24,168);zeros(24,504) zeros(24,24) eye(24) zeros(24,120)];lint=zeros(tn);for i=1:tn-1lint(i,i)=-1;lint(i,i+1)=1;endlint(tn,tn)=-1;lint(tn,1)=1;obj_sp=-sum(Cz'.*ps);ops=sdpsettings('solver','gurobi');reuslt=optimize(constraints,obj_sp,ops);%ops.cplex.exportmodel='abcd.lp';%obj_o=double(obj_o);%p_ch=double(p_ch);p_dis=double(p_dis);p_buy=double(p_buy);;p_g=double(p_g);ps=value(ps);Q=value(obj_sp);UB1=LB-yita-Q;

運行結果:

兩階段分布式優化模型代碼詳情見原文:

https://mp.weixin.qq.com/s/WLhU1032VCM-YYJtQClurw

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/94757.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/94757.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/94757.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python實現點云PCA配準——粗配準

本節我們來介紹PCA&#xff08;主成分分析&#xff09;算法進行點云配準&#xff0c;這是一種經典的統計降維與特征提取工具&#xff0c;在三維點云處理中常被用來完成“粗配準”。其核心思想是&#xff1a;先把兩個待對齊的點云各自進行主成分分解&#xff0c;獲得各自的“主軸…

零基礎深度學習規劃路線:從數學公式到AI大模型的系統進階指南

引言在人工智能革命席卷全球的2025年&#xff0c;深度學習已成為改變行業格局的核心技術。本規劃路線整合最新教育資源與實踐方法&#xff0c;為完全零基礎的學習者構建一條從數學基礎到AI大模型的系統學習路徑。通過清華大佬的實戰課程、吳恩達的經典理論、Kaggle競賽的實戰錘…

基于Vue.js和Golang構建高效在線客服系統:前端實現與后端交互詳解

在當今互聯網時代&#xff0c;在線客服系統已成為企業與用戶溝通的重要橋梁。本文將詳細介紹如何使用Vue.js作為前端框架&#xff0c;Gin作為后端框架&#xff0c;構建一個高效的在線客服系統。一、項目背景與技術選型項目背景隨著電子商務的迅猛發展&#xff0c;用戶對即時咨詢…

虛幻GAS底層原理解剖九 (內存管理)

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄前言一、整體內存管理思路概覽二、核心對象的生命周期與托管邏輯UGameplayAbility 的管理GameplayEffect 的內存管理ActiveGameplayEffect 生命周期三、屬性&#xf…

Rust 通用庫新增 WebAssembly

1 先判斷&#xff1a;也許你的 crate 已經能跑 Wasm&#xff01;排查阻礙因素 直接文件/網絡 I/O塊式&#xff08;同步&#xff09;I/Ostd::thread 線程創建并不受支持的 C 系統庫綁定快速驗證rustup target add wasm32-unknown-unknown cargo build --target wasm32-unknown-…

java分布式定時任務

一、分布式鎖的底層實現細節&#xff08;以 Redis 為例&#xff09;分布式鎖是解決任務重復執行的核心&#xff0c;需保證原子性、超時釋放和可重入性。以下是生產級 Redis 鎖實現&#xff1a;public class RedisDistributedLock {private final RedisTemplate<String, Stri…

Kafka 的基本操作(1)

Kafka 是一個分布式流處理平臺&#xff0c;核心功能是高吞吐量的消息發布與訂閱。以下是 Kafka 最常用的基本操作&#xff0c;涵蓋環境啟動、主題管理、消息生產與消費等核心場景&#xff08;基于 Kafka 2.x 版本&#xff0c;使用命令行工具&#xff09;。 一、環境準備與啟動 …

React 為什么要自定義 Hooks?

歷史相關文章2024年&#xff1a; React 為什么引入 Hooks &#xff1f; React 中&#xff0c;Hook 是一個特定的概念 自定義 Hook&#xff08;Custom Hook&#xff09;在 React 中相當于&#xff1a; ? 一個可以復用的邏輯片段&#xff0c;封裝了多個內置 Hooks 的組合和行為 …

[激光原理與應用-181]:測量儀器 - 頻譜型 - 干涉儀,OCT(光學相干斷層掃描技術)

OCT&#xff08;光學相干斷層掃描技術&#xff09;的核心工作原理基于低相干光干涉&#xff0c;通過測量生物組織或材料內部不同深度結構的背向散射光信號差異&#xff0c;構建高分辨率的二維或三維圖像。以下是其工作原理的詳細解析&#xff1a;一、基礎原理&#xff1a;低相干…

python學智能算法(三十五)|SVM-軟邊界拉格朗日方程乘子非負性理解

【1】引言 前序學習進程中&#xff0c;已經學習了構建SVM軟邊界拉格朗日方程&#xff0c;具體方程形式為&#xff1a; L(w,b,ξ,α,μ)12∣∣w∣∣2C∑i1nξi?∑i1nαi[yi(w?xib)?1ξi]?∑i1nμiξiL(w,b,\xi,\alpha,\mu)\frac{1}{2}||w||^2C\sum_{i1}^{n}\xi_{i}-\sum_{i…

LeetCode 刷題【34. 在排序數組中查找元素的第一個和最后一個位置、35. 搜索插入位置】

34. 在排序數組中查找元素的第一個和最后一個位置 自己做 解&#xff1a;二分查找 class Solution { public://二分查找int halfFind(vector<int> nums, int begin, int end, int target){if(begin > end) //找不到的情況return -1;int mid (begin end) / …

Vue3 計算屬性與監聽器

文章目錄計算屬性配置項 computedHTML 結構Vue 實例數據方法計算屬性綁定數據和方法完整代碼vue3商品加減案例監聽器配置項 watch簡單類型寫法深度監聽寫法計算屬性配置項 computed 使用 Vue 實現一個商品價格計算器&#xff0c;設置一個初始單價&#xff0c;初始數量為 1&…

Mysql如何遷移數據庫數據

文章目錄一、使用 mysqldump 工具&#xff08;最常用&#xff09;&#xff08;一&#xff09;導出數據&#xff08;二&#xff09;導出數據庫&#xff08;不含數據&#xff09;&#xff08;三&#xff09;導出指定表&#xff08;四&#xff09;導入數據二、直接拷貝文件三、使用…

為什么輸入 URL 后會顯示頁面?HTTP 協議的 “幕后操作”

&#x1f680; 瀏覽器輸入URL后&#xff0c;到底發生了什么&#xff1f;前端面試HTTP協議深度解析 今天咱們不聊八卦&#xff0c;來點硬核的——前端面試中繞不開的HTTP協議。是不是一提到“瀏覽器輸入URL后發生了什么”&#xff0c;你就開始頭大&#xff1f;別擔心&#xff0c…

內網穿透原理和部署教程

前言&#xff1a;本文介紹了內網穿透技術原理及frp工具的部署方法。由于NAT映射表是臨時且單向的&#xff0c;外網無法直接訪問內網服務。通過部署公網服務器作為中轉&#xff0c;frp實現了內網服務的穿透訪問。具體步驟包括&#xff1a;下載frp軟件包&#xff0c;詳細說明了配…

Ping32:為企業數據安全筑起銅墻鐵壁?

Ping32&#xff1a;為企業數據安全筑起銅墻鐵壁在數字經濟飛速發展的今天&#xff0c;企業數據已成為核心競爭力的重要組成部分。然而&#xff0c;數據泄露事件頻發&#xff0c;給企業帶來的損失難以估量。從商業機密外泄到客戶信息曝光&#xff0c;每一次數據安全事故都可能讓…

2025年國內iPaaS平臺精選

在過去幾年里&#xff0c;許多企業在業務系統中面臨了諸多有關集成的難題&#xff1a;系統建好了&#xff0c;數據流不動&#xff1b;接口打通了&#xff0c;流程仍卡頓&#xff1b;工具堆疊越來越多&#xff0c;但協同效率反而走低。 這并不是架構設計的問題&#xff0c;也不是…

AD繪制PCB之-板外形設計

1、通過機械層1 【Mechanical 1】繪制出板子輪廓2、選中上面繪制得輪廓先選中一條邊&#xff0c;然后按tab鍵&#xff0c;可以自動選擇這條邊閉合得線條3、按照選擇對象定義設計--->板子形狀------>按照選擇對象定義執行后得效果&#xff1a;4、根據需要設置板子四角為半…

《匯編語言:基于X86處理器》第12章 浮點數處理與指令編碼(2)

Intel X86架構數據的運算主要由通用寄存器處理&#xff0c;但浮點數例外&#xff0c;浮點數的運算由專門的FPU寄存器處理。二進制浮點數由三部分組成&#xff1a;符號&#xff0c;有效數字和階碼。這些格式都出自由IEEE組織制定的標準754-1985&#xff1a;以下是三種浮點數的格…

vue3通過按鈕實現橫向滾動、鼠標滾動橫坐標滾動

效果圖&#xff1a;可點擊左右文字進行滾動、或通過滾動鼠標 內容左右滾動<template><div class"Home"><div style"display: flex;height: 100%;align-items: center;"><div click"scrollLeft()" style"width: 80px;t…