2022年全国数学建模竞赛 A题-波浪能最大输出功率设计-赛题分析与讨论

文章目录

  • 2022年全国数学建模竞赛 A题-波浪能最大输出功率设计-赛题分析与讨论
    • 1. 2022年A题(波浪能最大输出功率设计)
    • 2. 算法讨论
      • 2.1 基本分析:阻尼问题,考虑用微分方程求解。
      • 2.2 例题:求二阶 RLC 振荡电路的数值解
      • 2.3 二阶微分方程问题的编程步骤
      • 2.4 二阶微分方程问题 Python 例程
      • 2.5 二阶方程问题 Python 例程运行结果
    • 3. 参考文献
      • [1]赖锦涛. 基于波浪能发电阵列的最优功率调度弹性控制的研究[D].深圳大学,2020.
      • [2]张增宝. 振荡浮子式波浪能发电系统捕能功率预测与多目标优化[D].山东大学,2020.
      • [3]王淑婧. 振荡浮子式波浪能发电装置的设计及功率计算分析[D].中国海洋大学,2013.

1. 2022年A题(波浪能最大输出功率设计)

A题 波浪能最大输出功率设计

随着经济和社会的发展,人类面临能源需求环境污染双重挑战,发展可再生产业已成为世界各国的共识。
波浪能作一种重要海洋可再生源,分布广泛储量丰富,具有可观的应用前景。 波浪能装置量转换效率是规模化利关键问题之一。

2. 算法讨论

2.1 基本分析:阻尼问题,考虑用微分方程求解。

参考例程:
Python小白的数学建模课-09.微分方程模型09.微分方程模型
Python小白的数学建模课-10.微分方程边值问题10.微分方程边值问题
Python小白的数学建模课-11.偏微分方程数值解法11.偏微分方程数值解法

2.2 例题:求二阶 RLC 振荡电路的数值解

高阶常微分方程,必须做变量替换,化为一阶微分方程组,再用 odeint 求数值解。

零输入响应的 RLC 振荡电路可以由如下的二阶微分方程描述:

{ d 2 u d t 2 + R L ∗ d u d t + 1 L C ∗ u = 0 u ( 0 ) = U 0 u ′ ( 0 ) = 0 \begin{cases} \begin{aligned} &\frac{d^2 u}{dt^2} + \frac{R}{L} * \frac{du}{dt} + \frac{1}{LC}*u = 0\\ &u(0) = U_0\\ &u'(0)= 0 \end{aligned} \end{cases} dt2d2u+LRdtdu+LC1u=0u(0)=U0u(0)=0

α = R / 2 L \alpha = R/2L α=R/2L ω 0 2 = 1 / L C \omega_0^2=1/LC ω02=1/LC,在零输入响应 u s = 0 u_s=0 us=0 时上式可以写成:

{ d 2 u d t 2 + 2 α d u d t + ω 0 2 u = 0 u ( 0 ) = U 0 u ′ ( 0 ) = 0 \begin{cases} \begin{aligned} &\frac{d^2 u}{dt^2} + 2 \alpha \frac{du}{dt} + \omega_0^2 u = 0\\ &u(0) = U_0\\ &u'(0)= 0 \end{aligned} \end{cases} dt2d2u+2αdtdu+ω02u=0u(0)=U0u(0)=0
对二阶微分方程问题,引入变量 v = d u / d t v = {du}/{dt} v=du/dt,通过变量替换就把原方程化为如下的微分方程组:

{ d u d t = v d v d t = − 2 α v − ω 0 2 u u ( 0 ) = U 0 v ( 0 ) = 0 \begin{cases} \begin{aligned} &\frac{du}{dt} = v \\ &\frac{dv}{dt} = -2\alpha v – \omega_0^2 u\\ &u(0)=U_0\\ &v(0)=0 \end{aligned} \end{cases} dtdu=vdtdv=2αvω02uu(0)=U0v(0)=0

这样就可以用上节求解微分方程组的方法来求解高阶微分方程问题。

2.3 二阶微分方程问题的编程步骤

以RLC 振荡电路为例讲解 scipy.integrate.odeint() 求解高阶常微分方程初值问题的步骤:

  1. 导入 scipy、numpy、matplotlib 包;

  2. 定义导数函数 deriv(Y, t, a, w)

    注意 odeint() 函数中定义导数函数的标准形式是 f ( y , t ) f(y,t) f(y,t) ,本问题中 y 表示向量,记为 Y = [ u , v ] Y=[u,v] Y=[u,v]

    导数定义函数 deriv(Y, t, a, w) 编程如下,其中 a, w 分别表示方程中的参数 α 、 ω \alpha、\omega αω

# 导数函数,求 Y=[u,v] 点的导数 dY/dtdef deriv(Y, t, a, w):    u, v = Y  # Y=[u,v]    dY_dt = [v, -2*a*v-w*w*u]    return dY_dt
  1. 定义初值 Y 0 = [ u 0 , v 0 ] Y_0=[u_0,v_0] Y0=[u0,v0] Y Y Y 的定义区间 [ t 0 , t ] [t_0,\ t] [t0,t]

  2. 调用 odeint() 求 Y = [ u , v ] Y=[u,v] Y=[u,v] 在定义区间 [ t 0 , t ] [t_0,\ t] [t0,t] 的数值解。

    例程中通过 args=paras 将参数 (a,w) 传递给导数函数 deriv(Y, t, a, w) 。本例要考察不同参数对结果的影响,这种参数传递方法使用非常方便。

2.4 二阶微分方程问题 Python 例程

# 3. 求解二阶微分方程初值问题(scipy.integrate.odeint)# Second ODE by scipy.integrate.odeintfrom scipy.integrate import odeint  # 导入 scipy.integrate 模块import numpy as npimport matplotlib.pyplot as plt# 导数函数,求 Y=[u,v] 点的导数 dY/dtdef deriv(Y, t, a, w):    u, v = Y  # Y=[u,v]    dY_dt = [v, -2*a*v-w*w*u]    return dY_dtt = np.arange(0, 20, 0.01)  # 创建时间点 (start,stop,step)# 设置导数函数中的参数 (a, w)paras1 = (1, 0.6)  # 过阻尼:a^2 - w^2 > 0paras2 = (1, 1)  # 临界阻尼:a^2 - w^2 = 0paras3 = (0.3, 1)  # 欠阻尼:a^2 - w^2 < 0# 调用ode对进行求解, 用两个不同的初始值 W1、W2 分别求解Y0 = (1.0, 0.0)  # 定义初值为 Y0=[u0,v0]Y1 = odeint(deriv, Y0, t, args=paras1)  # args 设置导数函数的参数Y2 = odeint(deriv, Y0, t, args=paras2)  # args 设置导数函数的参数Y3 = odeint(deriv, Y0, t, args=paras3)  # args 设置导数函数的参数# W2 = (0.0, 1.01, 0.0)  # 定义初值为 W2# track2 = odeint(lorenz, W2, t, args=paras)  # 通过 paras 传递导数函数的参数# 绘图plt.plot(t, Y1[:, 0], 'r-', label='u1(t)')plt.plot(t, Y2[:, 0], 'b-', label='u2(t)')plt.plot(t, Y3[:, 0], 'g-', label='u3(t)')plt.plot(t, Y1[:, 1], 'r:', label='v1(t)')plt.plot(t, Y2[:, 1], 'b:', label='v2(t)')plt.plot(t, Y3[:, 1], 'g:', label='v3(t)')plt.axis([0, 20, -0.8, 1.2])plt.legend(loc='best')plt.title("Second ODE by scipy.integrate.odeint")plt.show()

2.5 二阶方程问题 Python 例程运行结果

结果讨论:

RLC串联电路是典型的二阶系统,在零输入条件下根据 α \alpha α ω \omega ω 的关系,电路的输出响应存在四种情况:

  1. 过阻尼: α 2 − ω 2 > 0 \alpha^2 – \omega^2>0 α2ω2>0 ,有 2 个不相等的负实数根;
  2. 临界阻尼: α 2 − ω 2 = 0 \alpha^2 – \omega^2 = 0 α2ω2=0,有 2 个相等的负实数根;
  3. 欠阻尼: α 2 − ω 2 < 0 \alpha^2 – \omega^2 <0 α2ω2<0,有一对共轭复数根;
  4. 无阻尼: R = 0 R=0 R=0,有一对纯虚根。

例程中所选择的 3 组参数分别对应过阻尼、临界阻尼和欠阻尼的条件,微分方程的数值结果很好地体现了不同情况的相应曲线。

3. 参考文献

[1]赖锦涛. 基于波浪能发电阵列的最优功率调度弹性控制的研究[D].深圳大学,2020.

摘要:作为一种可再生能源,波浪能具有储能丰富、开发潜力大、能流密度大和开发价值高等优点,并且与许多其它形式的可再生能源相比,开发成本更低。因此,波浪能的开发对缓解甚至解决当前能源需求迅速增加的问题有着重大意义。尽管有着上述优点,波浪能的开发还是存在许多技术问题。比如,环境随机性强,难以高效进行能量捕获;同时,在海洋环境恶劣的情况下,难以有效自我保护。波浪能发电阵列(Wave-EnergyConverters Arrays)作为一种分布式发电系统,有着可拓展性强、维护方便和适应环境能力强等优点。该类系统由两类节点组成:波浪能发电单体(Wave Harvesting Device,WHD)节点和储能(Energy Storage,ES)节点。这两类节点在能量捕获与发电过程中发挥各自节点的优势。对于波浪能发电单体节点,利用最大功率跟踪控制,能够使其最大功率地捕获波浪能,提高能源的利用率;对于储能节点,设计适当的能量调度算法,能够使其平抑波浪能发电单体节点输出的随机功率,从而解决输出功率不稳定的问题。因此,针对上述问题,本文进行了如下研究:首先,为了简化波浪能发电单体的波能提取过程,选定永磁直线发电机代替波浪能发电单体作为本文的研究对象,并对其系统结构和能量捕获过程进行数学建模。其中,能量捕获过程分为两种情况进行分析:第一种情况,将波浪建模成正弦的规则波,计算规则波每时刻的最大功率后,利用AC-DC不可控整流器和Boost电路进行波浪能发电单体的最大功率跟踪控制;第二种情况,将非规则波建模成随机信号,利用模型预测技术计算相应的最大功率后,利用上述电路结构进行最大功率跟踪控制。其次,为了平抑波浪能发电单体输出的随机功率,引入储能系统,并对其进行数学建模和控制策略的研究。储能系统可以分为超级电容和双向DC-DC电路两个部分,超级电容作为能量源,用于存储和输出特定功率,而双向DC-DC电路则用作超级电容的特定功率跟踪控制。然后,研究能够最大功率输出并且平抑随机功率的最优功率调度算法。其中,为了保证每个储能节点能耗速度的一致性,构造了EDP(Economic Dispatch Problem)问题,并在此基础上,针对每个储能节点只能接收邻接节点信息的特定约束,利用分布式一致性控制理论和特征值摄动理论,设计相应的分布式最优功率调度算法,使得波浪能发电阵列中的储能节点在能耗速度保持一致的同时,输出总功率满足用户需求。最后,由于新增了网络通信层,分布式系统在通信层容易发生异常。针对这种问题,本文设计了相应的弹性控制策略。弹性控制策略分为四个步骤:置信度迭代、权重更新、隔离判断和重适应。其中,在置信度迭代过程,每个储能节点基于二阶邻接节点信息,对一阶邻接节点进行置信度迭代,其结果用以下一步的权重更新。在权重更新的同时,进行隔离判断。当发生异常节点的隔离,检测节点触发重适应,以使得波浪能发电阵列整体维持稳定。

[2]张增宝. 振荡浮子式波浪能发电系统捕能功率预测与多目标优化[D].山东大学,2020.

摘要:世界范围内能源危机、生态环境恶化以及气候变暖等问题日益严峻,各国家和地区在发展可再生能源问题上达成普遍共识,覆盖地球表面积71%的海洋中蕴含着丰富的可再生能源,是解决上述问题的重要途径。近年来,波浪能转换装置的研究发展迅速,振荡浮子式波浪能发电装置的技术相对成熟,但在产业化应用过程中,同时面临提高效率、降低制造成本等问题。本论文结合我国可再生能源发展战略以及中国近海的典型海况,以振荡浮子式波浪能发电装置为基础,研究了各设计参数对浮子捕能功率、捕能效率的影响规律,建立了功率输出预测模型,结合浮子制造成本,建立了多目标优化目标函数,以共振频域为约束,给出了中国近海典型海域不同功率等级的设计参考。本论文首先阐述研究背景与意义,介绍波浪能发电装置主要分类,对国内外提高捕能功率的主要途径进行了归纳,对比研究现状,阐述振荡浮子式波浪能发电装置的工作原理,结合研究现状并提出本论文的研究内容。然后,介绍势流理论的理论基础。通过给出控制方程及边界条件,得到规则波激励下速度势与水动力系数的求解结果,以此为基础建立浮子垂荡运动的动力学与运动学模型,得到捕能功率频域模型。基于P-M谱建立中国近海6个典型海域模型。其次,介绍基于边界元法的水动力求解软件AQWA工作原理,对其计算结果有效性进行验证,从浮子几何形状、外形尺寸、PTO阻尼的角度入手研究其对浮子捕能功率频域影响以及不规则波激励下捕能功率时域影响。再次,介绍几种主流的代理模型建立方法,采用拉丁超立方设计的样本库建立方法,阐述人工神经网络建立代理模型的工作原理,采用基于L-M算法的ANN建立了以WEC设计参数为输入捕能功率为输出的预测模型,得到中国近海海域预测功率,并对预测模型精度进行评价。最后,介绍NSGA算法的原理,以捕能功率最大化、浮子排水量及表面积最小化为目标函数,以浮子共振频率为约束建立了多目标优化模型,得到中国近海典型海域优化结果,给出不同功率等级的浮子设计参考值并进行了验证。 还原

[3]王淑婧. 振荡浮子式波浪能发电装置的设计及功率计算分析[D].中国海洋大学,2013.

摘要:波浪能是海洋能中品质比较高的一种能源,对其进行研究、开发和利用对实现能源的可持续发展、满足人类对能源的需求具有十分重要的战略意义。 本文首先分析了国内外波浪能发电技术的研究现状,并对一些常见的波浪能发电装置进行了总结,对其工作原理及优缺点进行了对比分析,在此基础上,根据我国的实际海况,设计了一种基于海洋平台的振荡浮子式波浪能发电装置,该装置的大部分零部件均处于密封的海洋平台上,可以有效地避免零部件被海水腐蚀。另外,装置采用双面齿条作为传动机构,可以较大限度地提高对波浪能的利用率。 (1)设计了一种振荡浮子式波浪能发电装置,并对其工作原理进行了分析。结构设计包括传动部件设计,海洋立柱设计以及工作平台设计,装置的大部分零部件均处在密封的海洋平台中,可以较好的避免被海水腐蚀。 (2)根据微幅波理论的相关知识,建立了波浪中水质点运动的数学模型,根据所建的数学模型对水质点的速度和加速度的运动规律进行了研究,并求出了水质点的运动轨迹方程,同时,也对波浪的压强和波能的数学表达式进行了推导分析。 (3)对垂直圆柱形浮体在波浪中的受力进行了分析,建立了浮体运动的微分方程,并采用量纲分析方法推导出了浮体的附加质量、辐射阻尼系数以及粘滞阻尼系数的数学表达式,用Matlab对不同尺寸浮体的运动微分方程进行了求解,根据求解结果对浮体结构进行了优化。 (4)利用弗汝德-克雷洛夫假定法分析了垂直圆柱形浮体所受的垂直波浪力,确定了浮体的半径、吃水深度等基本几何参数,计算了浮体的能量吸收率,并建立了发电机输出功率的数学模型,对发电机的输出功率进行了计算分析。 (5)通过动力学分析软件ADAMS对发电装置的传动部件进行了动态仿真分析,验证了理论分析的正确性,为物理样机的建立奠定了基础。