复现国赛数学建模题目解法第一弹——2004年B题:电力市场的输电阻塞管理

python/C++/matlab三选二复现题目解法

 

国赛历年赛题下载地址:全国大学生数学建模竞赛 (mcm.edu.cn)


一、概括题目要求,写出大致思路

此题题目如下,截取一些关键信息:

 

 

整理一下思维导图,大概是这么一个过程 

私以为,

其中第一问线性规划

第二问设计全局思路

第三问规划得出方程

第四问单目标规划列表达式

第五问多目标规划

这是一个典型的优化问题,第二问是全局设计的灵魂

二、与相关论文思路进行比对与思路更正

参考了相关的博文和当年的优秀论文,发现自己思考不细致,也有错漏之处,在此进行说明

第一问两篇优秀博文采用的都是多元线性回归的方式,原因是数据太多,没有变量数据,可以直接通过数据拟合方程。

第二问主要就是语言表述,定下解决问题的方案,需要利用费用分摊法,或者是自己建立苏纳法

第三问是单目标规划模型,需要建立两个模型,一个是阻塞费用计算模型,一个是可消除输电阻塞的调整方案的非线性规划模型

第四问我们加入了安全裕度输电的非线性规划模型,给出安全与经济约束下的调整模型,这是一个多目标规划模型

第五问其实是对第三问第四问解法的验证与补充,为此我们需要再建立一个拉闸限电模型,防止用其他模型也找不到输电阻塞的出力分配方案

我们发掘有如下几个难点:

1.八个机组和六个各线路潮流值的关系

2.由段容量确定段价

3.由段价求出清算价

4.读懂输电阻塞规则

三、复现论文解法

matlab版:

第一问:多元线性回归

所谓多元线性回归,其实就是数据拟合之后进行统计分析。我们需要找到表一和表二数据之间的关系,因为是要求有功潮流对各发电机组出力的表达式,我们可以列6个式子,其中每个式子具有8个参数。这里我们采用regress()进行拟合。

 

 

可以看出我们两个表格都是有32个方案,方案0属于对照组,可以用它来进行验证。

我们可以把两个表格合在一起分析。y是各线路的有功潮流值,x1到x8代表8个机组,系数由这32个方案决定。下面的代码是算y1时列的,其他同理。

clc;
clear all;
data1=xlsread('2004_b1.xlsx');
x1=xlsread('2004_b1.xlsx','B3:B34');
x2=xlsread('2004_b1.xlsx','C3:C34');
x3=xlsread('2004_b1.xlsx','D3:D34');
x4=xlsread('2004_b1.xlsx','E3:E34');
x5=xlsread('2004_b1.xlsx','F3:F34');
x6=xlsread('2004_b1.xlsx','G3:G34');
x7=xlsread('2004_b1.xlsx','H3:H34');
x8=xlsread('2004_b1.xlsx','I3:I34');
y=xlsread('2004_b2.xlsx','B3:B34');
%在这里各个机组之间其实是互不影响的,所以没必要计算具有交互效应项的线性模型的回归系数(向量点乘),这里列下式子不予运行
%X1=[ones(size(x1)) x1 x2 x1.*x2];
%X2=[ones(size(x3)) x3 x4 x3.*x4];
%X3=[ones(size(x5)) x5 x6 x5.*x6];
%X4=[ones(size(x5)) x7 x8 x7.*x8];
%但各个方案之间是影响的,所以要计算它们之间的回归系数
X1=[ones(32,1),x1];
X2=[ones(32,1),x2];
X3=[ones(32,1),x3];
X4=[ones(32,1),x4];
X5=[ones(32,1),x5];
X6=[ones(32,1),x6];
X7=[ones(32,1),x7];
X8=[ones(32,1),x8];
b1=regress(y,X1);
b2=regress(y,X2);
b3=regress(y,X3);
b4=regress(y,X4);
b5=regress(y,X5);
b6=regress(y,X6);
b7=regress(y,X7);
b8=regress(y,X8);
b_1=[b1(1)+b2(1)+b3(1)+b4(1)+b5(1)+b6(1)+b7(1)+b8(1)]/8
x1fit = min(x1):32:max(x1);
x2fit = min(x2):32:max(x2);
x3fit = min(x3):32:max(x3);
x4fit = min(x4):32:max(x4);
x5fit = min(x5):32:max(x5);
x6fit = min(x6):32:max(x6);
x7fit = min(x7):32:max(x7);
x8fit = min(x8):32:max(x8);
YFIT = b_1 + b1(2)*x1fit + b2(2)*x2fit +b3(2)*x3fit + b4(2)*x4fit+b5(2)*x5fit + b6(2)*x6fit +b7(2)*x7fit + b8(2)*x8fit


算出的拟合式子为:

y1=159.4155+0.0735x1+0.0133x2+0.0448x3+0.1148x4-0.0491x5+0.108x6+0.1687x7-0.0243x8

y2=140.8116-0.0714x1+0.1168x2-0.0082x3+0.0301x4+0.0845x5-0.1427x6-0.0016x7+0.0966x8

 另外四个式子也是这么列出来的

我发现算出的结果其实比方案0的值大,比如说方案0中,线路1的值是160,但我们算出来的总结果是200。对照示例论文中的式子发现是b_1值偏差比较大,但我也没想到解决方式,因为理应来说b1(1)到b8(1)的值都比120大,但我发现示例论文的b_1值居然才110多,所以一直没想懂哪出现了问题,欢迎评论区指正

算出的结果与方案0结果比较:

方案0:

算出的结果:

通道数(潮流值)123456
算出的结果200.2359  204.0222142.6112  140.0648 -156.7545 -162.9327145.2540  150.3254138.7074  136.4516183.3939  188.6894

 


之后还会补充文章继续复现,敬请期待

 

  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
本文利用单目标和多目标优化模型,利用多元线性回归分析,给出了各线路上有功潮流关于各发电机组出力的近似表达式;通过引入阻塞费用补偿价格因子,给出了阻塞费用计算公式;按照安全性、经济性目标,建立了输电阻塞管理的规划数学模型;对利用MATLAB优化工具箱求解的结果进行了分析与检验,验证了所建模型及所提算清的正确性和有效性根据题目中给出的电网结构及下一时段的负荷需求设计了一个安全、经济的各机组出力分配预案。<br>按照电力市场规则和输电阻塞管理原则,建立了求下一时段各机组的出力分配预案模型、计算各机组当前出力下各线路上对应的有功潮流模型,同时公平地考虑了序内容量与序外容量部分的经济补偿—— 输电阻塞费用并建立了此费用的计算模型,针对这三个模型分另Ij用数学软件Matlab6.5、Lingo8.O编写了计算程序.<br> 我们根据题目中给出的0—32组实验数据,运用Matlab软件进行了线性拟合,得出了各线路上有功潮流关于各发电机组出力的近似表达式。同时,利用0方案进行验证,得到了较好的效果。然后综合考察在输电阻塞发生时,对序内容量不能出力的部分和报价高于清算价的序外容量出力部分利益,根据经济常识,都以各自报价的100%进行赔偿。<br> 根据题目提供的下一时段的负荷需求,用表上作业法的方式,按照电力市场规则给出下一时段的预报方案,接着,利用1中拟合函数计算各线路上的有功潮流,判断发生输电阻塞,并且阻塞无法完全消除,只能尽量减小,并利用程序重新调整预案,使阻塞率尽量小,阻塞费用也尽可能减少。<br>最后,对模型的优缺点进行分析,提出了模型进一步改进的方向。<br>
在2023数学建模国赛中,进行数据处理是解决问的一个重要环节。在数据处理阶段,需要考虑数据的准确性和完备性,并通过适当的数学方法和算法来处理数据,以得到有意义的结果。引用[1]提到评价数学模型的一个重要因素是数据的准确性和完备性,因此在数据处理中,需要确保数据的质量。 对于数据处理的具体方法,可以根据实际问的特点和需求来选择。例如,可以使用统计分析方法对数据进行整理、清洗和预处理,以去除异常值或缺失值,并提取出有用的特征。同时,可以运用数学建模中常用的数学方法和算法,如回归分析、聚类分析、时间序列分析等,对数据进行分析和建模。 另外,在数据处理过程中,还可以运用编程技术来实现自动化处理和分析。引用提到,在数学建模国赛中,时间非常紧张,因此编程技术的运用可以提高数据处理的效率和准确性。通过编程,可以编写程序来处理大量的数据,并进行计算、模型构建和结果分析。这样可以节省时间,同时提高数据处理的可靠性和复现性。 总之,在2023数学建模国赛的数据处理过程中,需要综合考虑数据的准确性和完备性,选择合适的数学方法和算法,并结合编程技术来实现高效、可靠、准确的数据处理。这样才能有效地解决实际问,并给出有意义的解决方案。引用再次强调了这一点,指出数学建模的评价并不在于模型用了怎样的数学方法,而在于它能否有效地解决实际问,并在求解过程中给出高效、可靠、准确的解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值