
1. 赛题背景与核心挑战解析又到了一年一度的电工杯数学建模竞赛2022年的A、B两道赛题可以说是把“理论联系实际”和“开放创新”这两个特点玩到了极致。对于参加过或者准备参加建模竞赛的同学来说这两道题绝对算得上是“硬骨头”啃下来能学到不少东西。我当年带学生备赛拿到题目后也是反复琢磨了很久今天就把我当时的思路拆解、分析过程以及一些关键的建模技巧和避坑点系统地分享出来。这不仅仅是给个答案更重要的是想让大家理解面对一个复杂的实际问题如何一步步抽丝剥茧把现实问题转化为数学模型再选择合适的工具去求解。无论你是初次参赛的新手还是想提升建模能力的老手相信这篇深度复盘都能给你带来启发。2022年电工杯的A题和B题风格迥异考察的侧重点也不同。A题通常偏向工程应用与优化数据可能比较规整但物理背景或工程逻辑复杂B题则更偏向数据分析、预测或评价数据可能更“脏”需要更强的数据清洗和挖掘能力。我们拿到题目后第一步绝不是急着去建模型而是要把题目彻底“读透”。这个“读透”包括明确题目到底要我们解决什么问题是预测、优化、评价还是分类、题目给了哪些已知条件数据、背景描述、约束、问题的边界在哪里哪些因素必须考虑哪些可以简化忽略。很多队伍一开始就栽在这里模型建得天花乱坠最后发现根本没答到点子上。2. A题“高比例风电电力系统储能运行及容量配置优化”思路拆解我们先来看A题。从标题就能看出这是一个典型的能源电力系统优化问题结合了“高比例风电”、“储能运行”和“容量配置优化”三个关键词。这实际上是一个多阶段、多目标的规划与运行协同优化问题。风电具有间歇性和波动性大规模接入电网后会给系统的功率平衡带来巨大挑战。储能系统如电池可以“削峰填谷”平滑风电出力提高电网的消纳能力和运行稳定性。题目核心就是给定一个包含风电、常规机组和储能系统的电力系统在满足各种运行约束如功率平衡、机组爬坡、储能充放电的前提下如何优化储能的运行策略什么时候充电、什么时候放电、充放多少以及储能的容量配置需要建多大的储能电站使得系统的总成本可能是投资成本运行成本最低或者综合效益最高。2.1 问题一系统运行模拟与基础分析通常第一问是基础要求我们在给定的储能容量和初始运行策略下对系统进行一段时期比如24小时或一周的运行模拟。这一步的目的是验证模型基础的正确性并分析当前策略下系统存在的问题。建模核心构建电力系统时序运行模拟模型。决策变量每个时间点t如1小时为一个时段常规机组i的出力P_g(i,t)风电场的实际出力P_w(t)可能小于预测值储能系统的充放电功率P_ch(t)充电为正、P_dis(t)放电为正以及储能系统的荷电状态SOC t。目标函数最小化总运行成本。总成本 常规机组发电成本通常是出力的二次函数 风电弃风惩罚成本预测风电-实际风电 系统功率缺额惩罚成本如果负荷无法满足。约束条件功率平衡约束对于每个时间t常规机组出力 风电实际出力 储能放电功率 - 储能充电功率 负荷需求。这是最核心的等式约束。常规机组约束出力上下限、爬坡速率相邻时段出力变化限制。风电场约束实际出力不能超过预测值即存在弃风可能。储能系统约束充放电功率上下限0 P_ch(t) P_ch_max 0 P_dis(t) P_dis_max。充放电不能同时进行这通常引入一个0-1变量u(t)来表示状态1充电0放电并添加约束 P_ch(t) u(t)*M P_dis(t) (1-u(t))*MM为一个很大的数。荷电状态SOC动态SOC(t1) SOC(t) (η_ch * P_ch(t) - P_dis(t)/η_dis) * Δt / E_rated。其中η_ch和η_dis为充放电效率E_rated为额定容量题目给定。SOC必须在最小值和最大值之间如20%~90%。周期首尾SOC相等如果模拟一个周期SOC(0) SOC(T)。求解与结果分析 这是一个混合整数线性规划MILP问题因为引入了0-1变量u(t)可以使用Gurobi、CPLEX或MATLAB的intlinprog求解。求解后你会得到一套运行方案。分析的重点应该是绘制时序图将负荷曲线、风电预测曲线、风电实际消纳曲线、常规机组出力曲线、储能SOC曲线画在一张图上。这是最直观的分析工具。关键指标计算计算总运行成本、弃风量/弃风率、储能系统的充放电次数和深度。问题诊断从图中可以看出在风电大发而负荷低的时段是否发生了大量弃风在负荷高峰而风电不足时储能是否及时放电常规机组的爬坡是否频繁且剧烈这些现象都指向当前储能配置或策略的不足为第二问的优化指明方向。注意第一问的模型是后续所有问题的基础。务必确保其正确性。一个常见的坑是单位混淆功率MW和能量MWh要区分清楚Δt时间间隔必须参与计算。2.2 问题二储能运行策略优化在第一问的基础上第二问通常要求我们优化储能的运行策略即控制P_ch(t)和P_dis(t)以提升系统经济性或其他指标如降低弃风率。建模核心将第一问的模型作为基础但储能的运行不再固定而是作为优化变量。目标函数和约束与第一问基本相同。本质上这就是一个更完整的优化模型决策变量包含了储能的动作。求解思路 这仍然是一个MILP问题。直接调用求解器即可。但这里有一个重要的技巧和潜在的坑如果时间尺度较长如一周168个时段引入的0-1变量u(t)会很多168个可能导致求解速度变慢甚至无法在比赛时间内得到最优解。应对策略松弛整数约束可以先尝试将u(t)松弛为[0,1]之间的连续变量求解线性规划LP问题。如果求得的解恰好是整数很多情况下由于目标函数和约束的结构解会自动满足整数性那就完美了。如果不是再考虑用MILP求解。简化充放电逻辑可以考虑更简单的储能模型比如用一个变量P_ess(t)表示储能的净出力放电为正充电为负然后约束其上下限为[-P_ch_max, P_dis_max]。这样避免了整数变量但需要额外处理充放电效率不对称的问题充电效率η_ch和放电效率η_dis不同。一个常用的近似方法是取平均效率或者构造一个等效的“往返效率”。利用问题特性对于这类“能量型”储能如电池其核心作用是能量时移。可以思考在什么情况下充电最划算电价低或弃风时。什么情况下放电最划算电价高或功率缺额时。可以基于这种思想设计启发式规则如“低储高发”虽然不如优化模型精确但速度快可以作为初始解或验证用。优化后的结果应与第一问的结果进行对比分析。用数据说话总成本降低了多少弃风率下降了多少通过对比时序图清晰地展示优化后的策略是如何更智能地利用储能来平滑净负荷负荷-风电的。2.3 问题三储能容量配置优化这是A题的难点和亮点从“运行优化”上升到了“规划优化”。我们需要同时决定储能系统的功率容量P_rated单位MW和能量容量E_rated单位MWh以及在其全生命周期内的运行策略。建模核心这是一个两阶段或双层优化问题。上层是容量配置决策P_rated, E_rated下层是在给定容量下最优的运行策略对应问题二。目标是最小化全生命周期总成本包括储能投资成本与P_rated和E_rated相关和系统多年的运行成本。这是一个非常复杂的模型直接构建单层MILP模型会极其庞大容量变量是连续的运行变量是离散且多时段的。竞赛中通常采用以下简化方法典型日/场景法选取多个具有代表性的日运行场景如大风日、小风日、高负荷日、低负荷日而不是模拟全年8760小时。认为全年的运行成本可以由这些典型日的成本加权求和得到。这大大降低了模型规模。迭代搜索法这是更实用、更容易实现的思路。既然容量配置P,E是我们要找的我们可以假设一组P,E然后调用问题二的模型运行优化计算该容量下的最优运行成本。遍历一个合理的P,E组合范围找到使得总成本投资成本运行成本最小的那个组合。步骤 a. 确定储能功率和能量容量的搜索范围例如P从10MW到100MW步长10MWE从40MWh到400MWh步长40MWh。 b. 对于每一组P_i, E_j将其代入问题二的运行优化模型求解得到该容量下的最小年运行成本C_op(P_i, E_j)。 c. 计算总成本C_total(P_i, E_j) 投资成本(P_i, E_j) C_op(P_i, E_j)。投资成本通常可以简化为C_inv a * P b * E其中a和b是单位功率和单位能量的投资成本系数。 d. 在所有遍历的组合中找到使C_total最小的P*, E*。灵敏度分析与经济性评价得到最优配置后需要分析其经济性。计算投资回收期、净现值NPV或内部收益率IRR等指标。同时可以做灵敏度分析比如当风电预测误差增大、当储能投资成本下降时最优配置会如何变化这能体现你思考的深度。核心技巧在写论文时对于第三问一定要清晰地画出你的求解框架流程图。例如“确定容量搜索空间 - 对于每个容量组合 - 调用运行优化子模型 - 计算总成本 - 比较得到最优解”。这能让评委一眼看清你的逻辑。同时容量搜索的步长选择要合理太粗可能错过最优解太细计算时间太长。可以先用大步长粗搜在最优解附近用小步长精搜。3. B题“5G网络环境下超密集网络中的无人机位置与通信优化”思路拆解B题转向了通信网络领域结合了5G、超密集网络UDN和无人机UAV这几个前沿概念。题目背景是在地面基站超密集部署和无人机组成的异构网络中我们需要优化无人机的位置可能是在三维空间中以及它和地面基站之间的通信关联、资源分配以达到某个目标比如最大化所有无人机的最小吞吐量公平性或者最大化网络总容量。3.1 问题一静态场景下的无人机部署优化第一问通常会给定一个静态场景地面基站的位置固定用户或无人机需要服务的对象分布固定要求我们为一定数量的无人机找到最佳的悬停位置。建模核心这是一个位置优化问题通常是非凸优化比较棘手。通信模型建立这是所有分析的基础。需要建立一个合理的信道模型。路径损耗无人机与基站、无人机与用户之间的链路要考虑视距LoS和非视距NLoS概率。常用的模型是3GPP或国际电信联盟ITU针对低空平台的信道模型。路径损耗PL(dB) 20log10(4πf/c) 20log10(d) η。其中f是频率c是光速d是距离η是附加损耗对于LoS和NLoS不同。信噪比SNR与速率根据发射功率、路径损耗、噪声功率计算接收信噪比SNR。然后根据香农公式近似计算可达速率 R B * log2(1SNR)其中B是带宽。优化问题建模决策变量每架无人机k的三维坐标 (x_k, y_k, h_k)。目标函数常见的有两种。一是最大化网络总速率求和二是最大化最小用户速率max-min fairness后者更能体现公平性也是竞赛中更常见的考法。约束条件无人机高度约束h_min h_k h_max法规限制。无人机水平位置约束可能在某个区域内。无人机间最小距离约束防止碰撞或干扰。每个用户关联到一个服务节点无人机或地面基站的约束。带宽或功率资源分配约束如果问题细化。求解思路 这个问题是非凸的直接求全局最优解非常困难。在数模竞赛中我们通常采用启发式算法或迭代优化算法。粒子群优化PSO非常适合这类连续空间的位置优化。将每架无人机的位置编码为粒子的一部分以适应度函数即目标函数如最小用户速率来引导粒子群搜索。需要仔细设计粒子的维度和速度更新公式。连续凸近似SCA或块坐标下降BCD这是一种更具数学性的方法。以max-min问题为例目标函数可以改写。通过引入辅助变量将非凸约束进行一阶泰勒展开凸近似从而将原问题转化为一系列凸子问题迭代求解。这种方法在论文中显得“高大上”但实现起来需要对凸优化有一定了解。K-means聚类思想的改进如果目标是让无人机去服务地面用户可以将用户位置进行聚类每个无人机的初始位置设在其服务用户簇的质心上方某个高度然后再进行微调。这可以作为一个很好的初始解。结果展示一定要画出优化前后的网络拓扑图。用不同的标记表示基站、用户、无人机用连线表示服务关联关系。用颜色深浅或标记大小表示用户速率的差异。一张好的图胜过千言万语。同时给出关键指标对比如最小速率、平均速率、速率标准差衡量公平性的提升百分比。3.2 问题二考虑动态用户或干扰的联合优化第二问会增加复杂性例如用户是移动的或者需要考虑基站和无人机之间的同频干扰。对于动态用户问题从静态优化变为动态优化。一个处理思路是分时隙优化。将时间分成多个时隙在每个时隙内认为用户位置近似不变然后针对每个时隙独立求解问题一的模型。但这样忽略了无人机移动的能耗和连续性。更优的思路是建立**模型预测控制MPC**框架在每个时隙根据当前状态和未来短期内的用户位置预测优化无人机从当前时刻开始的一段有限时间内的轨迹但只执行第一个时刻的控制指令到下一时刻再重新优化。这更贴近实际但建模和计算更复杂。对于干扰管理如果题目明确考虑干扰那么信道模型中的噪声功率就要变为“干扰加噪声功率”。干扰来自其他使用相同频段的链路。这引入了耦合使得问题更加非凸。常见的简化方法是基于信干噪比SINR的模型此时速率公式变为 R B * log2(1SINR)。干扰协调可以引入资源分配变量例如正交频分多址OFDMA让相互干扰强的链路使用不同的资源块RB从而避免干扰。这会将问题扩展为联合位置优化与资源分配问题。迭代优化固定无人机位置优化资源分配这是一个凸问题或线性规划然后固定资源分配优化无人机位置。两者交替迭代直至收敛。3.3 问题三能量约束或轨迹规划问题第三问可能会引入无人机的能量约束或者要求规划从起点到终点的完整飞行轨迹并在途中进行通信服务。能量约束模型无人机的能量消耗主要包括两部分通信能耗相对较小和飞行推进能耗。推进能耗与无人机的速度、加速度、重量等因素有关。一个广泛使用的模型是旋翼无人机的功率消耗模型功率 P P0悬停基础功率 P1诱导功率 P2寄生功率其中后两者与速度有关。有了功率模型结合时间就能计算能耗。约束是总能耗不能超过电池容量。轨迹规划问题此时决策变量从“位置点”变成了“轨迹函数”通常是离散化为一系列路径点。目标可能是在能量约束下最大化服务效能或者最小化完成任务的总时间。这变成了一个动态优化或最优控制问题。求解方法离散化优化将时间和空间离散化无人机的轨迹由一系列路径点x_t, y_t, h_t表示。这样就把连续轨迹优化变成了一个大规模但离散的优化问题仍然可以用PSO等智能算法求解但变量维数很高。基于图搜索的方法将空间划分为网格把问题转化为在图上寻找最优路径的问题可以使用A*算法、Dijkstra算法等。简化处理在数模竞赛有限的时间内一种实用的方法是先规划一条粗略的几何路径比如从起点到终点的直线或者避开障碍物的折线然后在这条路径附近优化无人机在每个路径点上的精确悬停位置和服务时间。这样就把复杂的轨迹优化分解为相对简单的“路径规划”和“位置优化”两个子问题。4. 通用备赛策略与论文写作要点无论面对A题还是B题一些通用的竞赛策略和论文写作技巧至关重要这往往决定了论文的最终档次。4.1 团队分工与时间管理分工理想的团队应具备三种能力建模思路清晰、数学好、编程算法实现、数据处理、写作逻辑表达、图表美化。比赛开始后应快速集体审题确定大致方向然后分头查阅文献、梳理模型。第二天模型和算法主体必须确定并开始实现。第三天集中写作、调试、生成结果。时间第一天晚上务必完成问题一的建模与求解。第二天完成问题二和问题三的核心模型。第三天全天用于写作、完善、做灵敏度分析、打磨摘要。4.2 模型求解的“降维打击”电工杯的题目往往有“最优解”。不要只满足于用智能算法如PSO、GA求出一个“还行”的解。对于A题这类混合整数规划应优先尝试使用专业的优化求解器Gurobi、CPLEX。对于B题的非凸问题如果用了智能算法一定要多次运行取最好结果并报告算法的收敛曲线以证明解的稳定性。可以尝试用不同算法如PSO和SA分别求解对比结果这能体现工作的全面性。4.3 论文写作的灵魂可视化与对比分析图比表好表比文字好尽可能将结果可视化。时序对比图、拓扑网络图、三维位置图、收敛曲线图、 Pareto前沿图如果有多目标、灵敏度分析柱状图……这些都是极大的加分项。对比分析每一个优化后的结果都必须和优化前或基准方案进行量化对比。“提升了多少”、“降低了多少”要用百分比和数据说话。设立合理的对比基准如无储能方案、均匀部署方案是体现模型价值的关键。4.4 摘要和模型检验摘要这是论文的门面决定评委的第一印象。摘要必须独立成篇包含针对每个问题用了什么方法、建立了什么模型、得到了什么关键结果用数据。最后用一两句总结全文亮点。避免在摘要中出现公式和图表引用。模型检验这是区分优秀论文和普通论文的关键。你的模型结果合理吗可以通过以下方式检验灵敏度分析改变模型中的某个关键参数如风电预测误差、储能成本、信道衰落因子观察结果的变化趋势是否符合物理或经济直觉。例如储能成本下降最优配置容量应该增加。极端情况测试将模型推到极端条件如风电为零、负荷极高看模型能否给出合理的解如所有常规机组满发储能放空。简化模型对比如果可能建立一个高度简化的模型如忽略某些约束其最优解应该与你复杂模型在相应简化条件下的解趋势一致。4.5 必须避免的坑模型与问题脱节这是最致命的错误。一定要反复问自己我建的模型其决策变量、目标函数、约束条件是否完全对应了题目所问有没有漏掉题目中隐含的条件算法描述不清如果你用了智能算法不能只说“我们采用了粒子群算法”必须详细说明在你的问题中粒子位置如何编码适应度函数如何设计关键参数种群大小、迭代次数、惯性权重是如何设置的为什么这样设置结果分析空洞只说“结果良好”、“效率提升”却没有具体数据支撑。每一个结论都必须有对应的图表或数据作为依据。格式混乱公式编号不连续、图表没有标题和编号、参考文献引用不规范。这些细节会严重影响评委的阅读体验给人不专业的印象。电工杯的题目综合性很强它考察的不仅仅是数学和编程能力更是将实际问题抽象化、逻辑化、并清晰表达出来的综合能力。希望这份基于2022年赛题的思路拆解能帮助你建立起应对这类复杂建模问题的系统性思维。记住没有唯一的“标准答案”只有逻辑更严谨、考虑更周全、呈现更清晰的“更好答案”。在比赛中大胆假设小心求证把你团队的思考过程完整地、有说服力地展示出来就是成功的关键。