Applied Energy+C论文复现:考虑泊位分配灵活性的港口综合能源系统优化调度程序代码!

程序结合了港口独特的工作属性,构建了泊位优化分配的模型,提出了考虑泊位优化和多能协同的港口综合能源运行优化模型。港口运营商根据多种能源供应的成本特性决策船舶停泊的开始/结束时间,改变港口的总负荷需求曲线。程序算例丰富、注释清晰、干货满满,可扩展性和创新性很高!下面对文章和程序做简要介绍!

程序创新点:

1)研究了港口综合能源系统内各机组的供能特性,在岸上电力技术基础上,考虑了港口泊位分配需满足的实际约束,并从物流角度出发建立了泊位分配模型。

2)建立了基于冷热电联供系统的港口综合能源系统运行优化模型,由港口向靠泊船舶供应能源。通过优化调度港口多能源供应结果,实现港口运营成本最小化。

考虑泊位优化的目的:

对海港多能系统来说,联合优化泊位分配问题和多能源供应问题之后,分别具有大量热负荷和冷负荷需求的邮轮和冷藏集装箱船就成为了具有灵活性的需求,可以实现DR。船舶在到达港口之前,除了向港口上报预计到达时间和预计停泊时长之外,还会提供船舶类型,装载量等信息,港口运营商可以获得船舶的预计负荷需求数据,从而根据多种能源供应的成本特性确定船舶停泊的开始/结束时间。港口综合能源系统可以通过优化船舶停泊顺序,调度具有大量负荷的船舶来改变港口的总负荷需求曲线。所提出的泊位分配DR可以有效降低多能源供应的成本。

泊位分配模型:

对于某一泊位来说,当其被分配给某一船舶后,在该船舶完成停泊期间所需服务之前,不能再次被分配给另一艘船,引入了一个二进制变量来表示不同时刻船舶的停泊状态。

Bk,t为0-1变量,ak为船舶上报的停靠时间;

船舶的实际停泊时长与上报的时长相同,即:

gk为船舶上报的停靠时间;

为了避免出现船舶为降低能源成本而经常性进出泊位情况的发生,需要对船舶停泊施加连续性约束,以使决策结果更贴近实际。若港口通过泊位优化安排船舶A在当前时间段开始停泊,那么船舶在执行停泊动作开始之后,在泊状态必须在其需要的停泊时长内维持不变。具体约束如下:

由于港口泊位数量有限,任一时间段在泊船舶数量不得超过泊位总数。

M为港口泊位总数。

港口的热负荷需求主要由邮轮热负荷决定,相似地,港口冷负荷需求主要与冷藏集装箱船的 制冷需求相关。详细地,每一时间段内在泊船舶的总电,热和冷负荷表示如下。

程序结果:左侧为APEN中结果,右侧为复现结果

部分程序:

%% 约束条件
%-------泊位分配优化约束------%
C=[C,sum(B,2)==g];C=[C,0<=sum(B)<=6];
for p=t:1:min((g(k)+t-1),T);C=[C,-B(k,t-1)+B(k,t)-B(k,p)<=0];
%负荷需求​
C=[C,Pves(t)==sum([Pvesc;Pvesr].*B(:,t))];​C=[C,Qhvesc(t)==sum(Qvesc.*B(1:11,t))];
C=[C,Qcvesc(t)==sum(Qvesr.*B(12:22,t))];​
%PGU约束​
C=[C,Fpgu==Ppgu/nitae];C=[C,Qre==Fpgu*nitath*nitare];​C=[C,0<=Ppgu<=Pmax(1)*upgu.*ones(1,T)];
%​PGU约束
C=[C,0<=Pgrid<=120];
%​EB约束
C=[C,QEB==PEB*nitaEB];​C=[C,0<=QEB<=Pmax(3)*uEB.*ones(1,T)];
%​AC约束  
C=[C,Qacex==Qac*COPac];​C=[C,0<=Qacex<=Pmax(4)*uAC.*ones(1,T)];
%​EC约束 
C=[C,QEC==PEC*COPec];​C=[C,0<=QEC<=Pmax(5)*uEC.*ones(1,T)];
%​TES约束
C=[C,0<=QHX<=Pmax(2).*ones(1,T)];
%充放热状态约束
C = [C, u_tdch(1,:) + u_tch(1,:) <= 1];%表示充电,放电,不充不放三种状态
%功率约束
C = [C, 0 <= p_tdch <= u_tdch*10];​C = [C, 0 <= p_tch<= u_tch*10];
%容量约束​
C = [C, E_tes(1,t+1) == E_tes(1,t) + 0.98*p_tch(1,t) - 0.98*p_tdch(1,t)]; ​
C = [C,  0.1<=E_tes(1,:)/30<=0.9];C = [C,  E_tes(1)==E_tes(72)];​
%ESS约束​%充放电状态约束
C = [C, u_dch(1,:) + u_ch(1,:) <= 1];%表示充电,放电,不充不放三种状态
%功率约束
C = [C, 0 <= p_dch <= u_dch*12];​C = [C, 0 <= p_ch<= u_ch*12];
%容量约束
​​C = [C, E_ess(1,t+1) == E_ess(1,t) + 0.85*p_ch(1,t) - 0.98*p_dch(1,t)]; 
%--------风光出力约束-----%
C = [C,0<=p_wt<=PP_wt];​C = [C,0<=p_pv<=PP_pv];
%--------功率平衡约束-----%
C = [C, Ppgu+Pgrid+p_pv+p_wt+p_dch==PEC+PEB+p_ch+Pves];
C = [C, Qre+p_tdch==QHX+Qac+p_tch];
C = [C, QHX+QEB==Qhvesc];
C = [C, Qacex+QEC==Qcvesc];

部分内容源自网络,侵权联系删除!

欢迎感兴趣的小伙伴关注并私信获取完整版代码,小编会不定期更新高质量的学习资料、文章和程序代码,为您的科研加油助力!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/511276.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【自然语言处理六-最重要的模型-transformer-下】

自然语言处理六-最重要的模型-transformer-下 transformer decoderMasked multi-head attentionencoder和decoder的连接部分-cross attentiondecoder的输出AT(Autoregresssive)NAT transformer decoder 今天接上一篇文章讲的encoder 自然语言处理六-最重要的模型-transformer-…

服务完善的智能组网系统?

智能组网是现代信息技术的重要组成部分&#xff0c;它通过将各种设备和计算机连接起来&#xff0c;实现高效的数据传输和远程通信。在一个全球化、高度互联的时代背景下&#xff0c;智能组网已经成为了各行各业的必需品。传统的组网方案往往面临着许多问题和挑战。为了解决这些…

用云手机进行舆情监测有什么作用?

在信息爆炸的时代&#xff0c;舆情监测成为企业和政府决策的重要工具。通过结合云手机技术&#xff0c;舆情监测系统在品牌形象维护、市场竞争、产品研发、政府管理以及市场营销等方面发挥着关键作用&#xff0c;为用户提供更智能、高效的舆情解决方案。 1. 品牌形象维护与危机…

Netty(1)nio

一. NIO 基础 non-blocking io 非阻塞 IO 1. 三大组件 1.1 Channel & Buffer channel 有一点类似于 stream&#xff0c;它就是读写数据的双向通道&#xff0c;可以从 channel 将数据读入 buffer&#xff0c;也可以将 buffer 的数据写入 channel&#xff0c;而之前的 st…

场景问题: VisualVM工具Profiler JDBC不是真实执行的SQL

1. 问题 诡异的问题表象&#xff1a; 前端反馈分页接口的Total字段一直为0 使用Visualvm中的 Profiler 注入到应用后&#xff0c;查看JDBC监控得到了分页接口执行的SQL&#xff0c;复制出来执行是55. 此时还没有注意到 IN 的范围中有一个特别的值 NULL &#x1f928; 2. 排查…

Rabbitmq消息丢失-生产者消息丢失(一)

说明&#xff1a;消息生产者在将数据发送到Mq的时候&#xff0c;可能由于网络等原因造成数据投递失败。 消息丢失大致分三种&#xff1a;这里说的是生产者消息丢失&#xff01; 分析原因&#xff1a; 1.有没有一种可能&#xff0c;我刚发送消息&#xff0c;消息还没有到交换…

06-prometheus的数据存储

一、本地存储prometheus收集的监控数据 就是将默认的存储&#xff0c;修改为“我们指定”的目录下&#xff1b; 1&#xff0c;配置systemctl启动文件 [rootprometheus-server32 ~]# vim /etc/systemd/system/prometheus-server.service [Unit] DescriptionPrometheus Server D…

第五套CCF信息学奥赛c++练习题 CSP-J认证初级组 中小学信奥赛入门组初赛考前模拟冲刺题(阅读程序题)

第五套中小学信息学奥赛CSP-J考前冲刺题 二、阅读程序题 (程序输入不超过数组或字符串定义的范围&#xff0c;判断题正确填√错误填X;除特殊说明外&#xff0c;判断题 1.5分&#xff0c;选择题3分&#xff0c;共计40分) 第一题 递归函数 1 #include<iostream> 2 usin…

使用 helm repo add istio添加了一个helm chart repo,如何查看istio的版本呢

1. 添加chart repo helm repo add istio https://istio-release.storage.googleapis.com/charts helm repo update2. 查看版本 helm search repo istio 3. 查看版本详细信息 helm show chart istio/cni 4. 查看某个chart的历史版本 helm search repo <chart-name> --…

适用于 Windows 的7大数据恢复软件解决方案

数据丢失是数字世界中令人不快的一部分&#xff0c;它会在某一时刻影响许多计算机用户。很容易意外删除一些重要文件&#xff0c;这可能会在您努力恢复它们时带来不必要的压力。幸运的是&#xff0c;数据恢复软件可以帮助恢复已删除的文件&#xff0c;即使您没有备份它们。以下…

绝地求生:小团团曝被判8年:地图语音包或将下架,公会和主播被一锅端

这两天大家都在讨论某鱼平台办卡抽奖的事情。这件事发生之后没多久&#xff0c;某鱼平台里面的大量主播在同一时间停播&#xff0c;闲游盒认为大家应该也懂的&#xff0c;这次停播就是因为这些主播也参与了办卡抽奖&#xff0c;都需要接受调查&#xff0c;在两个月左右的调查中…

关于vue创建项目以及关于eslint报错的问题

vue创建完项目以后如果报parsing error no babel config file。。。这样的错误的话&#xff0c;关闭项目&#xff0c;用vscode进入项目中打开项目就可以解决了。 1 代码保存的时候会自动将单引号报错为双引号 导致eslint报错的问题&#xff0c; 解决思路&#xff1a; 在项目根…