数据中心微网两阶段鲁棒优化规划:从灵活性建模到CCG求解
1. 这篇论文到底在解决什么问题1.1 为什么是数据中心微网先说个背景。数据中心现在已经是名副其实的耗电大户一座大型数据中心的年耗电量抵得上几万人口的小城市。以前大家做微网规划对象大多是居民区、商业楼宇或者工业园区负荷曲线相对规整可调节空间有限。但数据中心不一样它的IT负载天然具备时间和空间两个维度的迁移能力有些任务可以延迟处理有些计算可以从一台服务器搬到另一台服务器制冷系统也有一定的蓄冷和调节能力。换句话说数据中心不像传统负荷那样“硬邦邦”它的用能曲线是可以被主动塑造的。这正是这篇EI论文把数据中心和微网放在一起做规划的原因——数据中心不是被动接受电能的负载而是微网里一个巨大的灵活性资源池。我复现这篇论文的第一个感受是模型本身不算特别复杂真正的门槛在于把“灵活性”翻译成数学约束再把“规划-运行”两件事塞进同一个优化框架里。如果你只是想在Matlab里跑通一个两阶段鲁棒优化的小算例网上现成代码很多。但如果要完整复现一篇文章让它能回答“光伏装多大、储能装多大、微网总成本能压到多少”就需要把数据中心的运行约束和微网的规划变量耦合起来这部分工作量不容小觑。1.2 灵活性到底从哪里来数据中心微网里的灵活性我在复现中归纳成三类。第一类是IT负载的时间迁移。数据中心的业务器里总有一部分任务对时延不敏感比如离线数据分析、日志处理、定期备份。这类任务可以在电价低谷时段执行也可以往后推迟。数学上这就是一个总计算量守恒约束一天内必须完成的总任务量不变但允许在不同时段之间重新分配。延迟越久惩罚成本越高这个惩罚可以线性化处理也可以用分段时间的可延迟窗口约束。第二类是IT负载的空间迁移。一个微网里往往有多组机柜或者多台服务器一个时段内各区负载可以相互转移。这个在建模时可以简化成同类型服务器的总负载可以动态分配但每台服务器有最大算力上限。实际数据中心里还有虚拟机迁移、容器调度这些底层操作但规划阶段不需要做到那么细把可迁移性用约束刻画出来就够了。第三类是制冷系统的调节能力。数据中心约三分之一的电耗在制冷上空调主机和冷却塔的运行功率随IT负载和室外温度变化。有些论文会用PUE系数简化总电耗IT负载×(1PUE)。但考虑灵活性时最好引入蓄冷罐的模型制冷系统可以在电价低谷时多制冷存储在电价高峰时少开主机靠蓄冷满足冷负荷。这样一来储能设备就变成了两层结构——电储能加冷储能。灵活性资源在微网规划中的意义一句话总结基础设施投资和运行策略是耦合的。如果忽略灵活性运行成本会被高估进而导致光伏、储能装机容量配置偏大。反之如果高估灵活性比如允许无限延迟任务配置又会偏小极端天气下就会发生负荷无法满足的事故。鲁棒优化的作用就是在不确定性环境下给出一个既不激进也不过度保守的方案。1.3 两阶段鲁棒优化的基本逻辑两阶段鲁棒优化这个名字听起来吓人拆开就清楚了。第一阶段是规划阶段决策在不确定量发生之前就拍板属于“现在就要做”的决策。在这里具体指光伏装机容量、风机装机容量、储能额定容量还有可能包含燃气轮机的台数。这些设备一旦买了、安装了未来十年里没法轻易改。这类变量在数学里称为here-and-now变量。第二阶段是运行阶段决策在不确定量发生后做属于“看情况再定”。光伏出力和负荷水平先实现然后微网再决定电储能每小时的充放电功率、燃气轮机出力、冷暖负荷调节策略、是否切负荷等。这类变量称为wait-and-see变量。运行层面的策略必须满足第一阶段已经固定下来的设备容量约束。鲁棒性体现在第二阶段不是在“预测值”下优化而是在所有可能的、满足不确定性集合的场景中找那个最恶劣的场景来算成本。目标函数是投资成本最恶劣场景下的运行成本。本质上是一个“Min-Max”结构外层最小化总成本内层最大化运行成本。这个结构不能直接扔给求解器解必须通过分解算法切成主问题和子问题迭代求解一般用列与约束生成算法也就是CCG。我打个比方。你要在雨季前决定买多大的雨伞和雨靴这是第一阶段决策。你不知道今年会有几场大雨、下多大但你知道大概范围。买完之后每一天要根据天气预报决定穿不穿雨靴、要不要打伞——这是第二阶段决策。但你买装备的时候是按照“今年最糟糕的那场雨”来准备的。两阶段鲁棒规划干的就是这件事只是场景不是一个而是一个连续的不确定性集合。2. 数学模型该怎么读2.1 目标函数的结构原论文的目标函数我拆成三块看。第一块是年化投资成本。包括光伏组件、风机、储能系统如果模型里有柴油发电机或者燃气轮机也要算设备购置成本。这里有个容易忽略的点储能成本通常按容量单价加功率单价两部分计算因为电池本体和PCS变流器的价格是分开的。容量单位是kWh功率单位是kW两者单价差一个数量级。如果你复现的时候只在容量上算一次钱储能配置结果会明显失真。第二块是运行成本。包括从外部电网购电的费用、燃气轮机的燃料费用、切负荷惩罚费用、丢弃可再生能源的惩罚费用。购电电价可以设置分时电价数据中心对电价很敏感分时电价下才有动力去配置储能和光伏来实现峰谷套利。第三块是灵活性惩罚成本。IT负载延迟处理会有业务惩罚冷负荷调节超过舒适范围也会有软性惩罚。这部分在原论文里是用松弛变量实现的用来保证模型在任何不确定性实现下都有可行解。目标函数紧凑形式可以写成min(x) c_inv^T x max(u∈U) min(y) c_run^T y其中x是第一阶段投资决策u是光伏出力、负荷等不确定量y是第二阶段运行决策。min-max-min的三层结构就是两阶段鲁棒优化的骨架CCG算法把max和里层min做交互逐次逼近真实解。2.2 约束条件都是哪些设备投资约束。光伏装机容量、储能容量的上下限通常给一个候选集合比如“光伏可以选择0到2MW”也可以从离散离散几个候选方案里选。如果论文用连续变量加0-1建设变量那要额外加建设状态约束容量大于0时建设变量必须为1。功率平衡约束。这是微网模型里最朴素也最重要的一条。母线功率平衡 P_pv(t)P_wind(t)P_gas(t)P_buy(t)P_dis(t) P_load(t)P_rec(t)P_ch(t)P_sell(t)其中P_load是数据中心总负荷P_rec是制冷系统电耗P_dis和P_ch是储能放电和充电功率。充电和放电不能同时为正这个互补约束在YALMIP里可以直接用二进制变量表达但在CCG子问题涉及对偶推导时会变得麻烦。储能约束。SOC递推方程加上充放电功率上下限、SOC上下限。储能初始SOC通常设为0.5或0.2一天结束时SOC要回到初始值否则规划结果会让储能白嫖边界条件。数据中心运行约束。这是整篇文章的差异化亮点。IT负载可迁移约束每个时段数据中心需要处理的计算量不能低于某一下限同时延迟任务必须在规定时间窗口内完成。冷负荷约束制冷系统提供的冷量要大于等于服务器散热和外部传入的热量之和。蓄冷罐的SOC也有边界条件。不确定性约束。光伏出力和负荷不是确定性参数而是落在不确定性集合U内。所有约束都要保证对U内任意取值都成立这是鲁棒优化的核心要求。2.3 不确定性集合的参数复现时最纠结的一步是确定不确定性集合的形态。原论文一般会在公式里明确给出常见的是盒式集合加预算约束U{u | u_min ≤ u ≤ u_max, ∑|u_t - u_mean| / u_range ≤ Γ}预算Γ的作用是控制保守程度。Γ0时光伏和负荷全部取预测值问题退化成确定性优化Γ取到最大时每个时段都在最恶劣值上结果最保守。实际应用中Γ一般取4到12之间的整数代表整个调度周期内最多允许多少个时段的偏差同时达到极端值。这个设计很精妙它不止让模型保守程度可调还给CCG算法提供了收敛性支撑。子问题在盒式集合内部找最恶劣场景时因为有预算约束的限制最恶劣点一定出现在盒子的顶点上不会出现病态的内部极值。我复现时先把Γ设为最大值跑了一遍再逐步降下来观察光伏容量和总成本的变化曲线。这个曲线非常有价值论文里的灵敏度分析图基本就是它。注意如果Γ过大导致优化结果为空通常是因为第一阶段投资决策留下的备用容量太少这时候需要扩大储能候选容量范围或者允许切负荷惩罚力度足够大。2.4 线性化和对偶推导的关键点两阶段鲁棒最难的地方在数学处理而不是编程。子问题是max-min结构外层找最恶劣的不确定性u内层求对应u下的最小运行成本。这个结构不能直接求解常见处理路径有两条。一条是强对偶转单层内层min问题用对偶转化为max问题然后和外层max合并成一个max问题。另一条是用KKT条件把内层问题表示为互补约束再加线性化处理。第二条路径在第二阶段存在整数变量时必须使用因为对偶理论对整数变量不成立。但KKT条件引入的非线性互补约束又需要用大M法线性化这会引入大量二进制变量拖慢求解速度。我的建议是复现阶段先按连续变量处理跑通流程后再逐步引入整数变量看计算时间增长情况。原论文的算例如果规模不大用KKT加线性化是可行的算例一放大就需要考虑用场景聚合或者启发式约束削减来加速。我在实际推导中踩过一个坑储能充放电不能同时进行的约束在子问题强对偶转化之后会导致双重性问题因为内层问题多了一个非凸约束。解决办法是去掉二进制变量改成惩罚项充电功率乘以一个极小的正数让模型不倾向于同时充放电。另一种做法是用互补约束近似强制。但无论如何这部分推导必须一步步手演算清楚再上代码否则CCG迭代到某一步会出现对偶间隙突然变大甚至子问题infesible的情况。3. Matlab实现从公式到代码3.1 代码模块怎么组织我复现这类论文时不会把代码堆成一个脚本。一个失去模块化的优化代码后期改参数、换场景会非常痛苦尤其是CCG这种有迭代逻辑的算法。我的目录结构是这样主文件 main.m负责参数设置、调用迭代、输出结果参数文件 case_data.m写光伏参数、负荷曲线、分时电价、设备成本等所有数据主问题构建函数 build_MP.m输入已发现场景集合输出主问题的YALMIP模型子问题构建函数 build_SP.m输出子问题的YALMIP模型CCG主循环 cncg_solve.m负责主问题求解、子问题求解、收敛判断、场景库更新结果分析脚本 postprocess.m画图、输出经济性指标。这样做的好处是当你需要测试不同的Γ值或者不同负荷曲线时只需要改case_data.m当你想把连续变量改成整数变量时只需要动build_MP和build_SP的核心约束部分。跑一批仿真时用一个外层for循环调用cncg_solve.m就行。还有个小习惯所有YALMIP变量命名里带上阶段下标比如x_inv表示投资变量y_ope表示运行变量u_unc表示不确定量。迭代到第k轮时场景库里的每个场景对应一组运行变量命名成y_ope_scene{k}。不然主问题里场景一多变量名会乱到你自己都分不清。3.2 CCG主循环怎么写CCG的核心思想是主问题维护一个“已知最恶劣场景”的集合每次迭代往里面添加新场景然后重新优化投资决策子问题在给定投资决策下搜索尚未被覆盖的最恶劣场景并返回该场景下的运行成本和对应的u取值。主问题和子问题交替求解直到子问题给出的最恶劣场景无法再让总成本上升超过阈值。主问题的形式min c_inv^T x θ s.t. θ ≥ c_run^T y_l, 对l1,...,k A_l x B_l y_l ≤ b_l, 对l1,...,k x ∈ X其中k是当前已发现场景的数量每个场景有自己的运行变量y_l。θ是一个标量代表最恶劣场景下的运行成本。注意θ不应该等于max_g(c_run^T y_g)而是用约束θ≥每个场景的运行成本来下界逼近这样主问题是线性规划或混合整数线性规划可直接求解。子问题的形式max(u∈U) min y c_run^T y s.t. B y ≤ b - A x*x*是当前主问题求得的最优投资决策。这个max-min问题按前面说的对偶法转成max问题。求解完后最恶劣场景u_new和运行成本f_new被传回主问题如果f_new和主问题中的θ差值小于阈值就收敛了。我贴一下主循环的核心框架% 初始化: 不确定性集合取中点(或均值)作为第一个场景 u_list(:, 1) (u_max u_min) / 2; LB -inf; UB inf; k 1; while UB - LB tol k max_iter % 求解主问题, 得到 x_star, theta_star [x_star, theta_star] solve_MP(u_list); % 求解子问题, 给定 x_star, 寻找最恶劣场景 [f_new, u_new] solve_SP(x_star); % 取最优值更新上下界 LB max(LB, c_inv * x_star theta_star); UB min(UB, c_inv * x_star f_new); if UB - LB tol break; end % 场景库追加新场景 k k 1; u_list(:, k) u_new; end实际调试时我习惯把LB和UB的曲线画出来看它的收敛趋势。如果曲线像锯齿一样震荡大概率是子问题的对偶推导有问题如果收敛很慢一般是大M取值偏小或者场景库初始场景选择不好。3.3 求解器配置和收敛判据建模型我用YALMIP后端求解器用商用求解器以MILP求解效率为主。主问题因为有二进制变量储能建设和设备选型需要求解器支持MIP子问题转单层对偶问题后也是LP或MILP取决于第二阶段是否有整数变量。初始化时第一个场景用不确定集合的中点是一个比较稳的选择。也有论文建议用平均值场景差别不大。我自己更习惯用“最恶劣顶点场景”作为第一个场景来给下界一个较强的起步推动这样LB能快速上升迭代次数通常会少两三轮。不过这不是必须的用中点更安全特别是第一阶段变量很多、主问题求解压力比较大的时候。收敛判据用上下界相对间隙gap (UB - LB) / UB阈值设1e-3或者1e-4都可以。如果设到1e-6那大概率CCG会跑很多轮而且最后一两轮的改善微乎其微。工程上1e-3足够。原论文如果画了收敛曲线复现时尽量把阈值和原论文保持一致不然迭代次数的对不上会让审稿人质疑。求解器参数也要设置。MIP间隙默认0.01%就行时间限制我会设一个比较大的值。子问题的求解速度通常很快主问题随着场景数量增加会变慢如果你发现第10轮之后每轮主问题要跑10分钟就要考虑是不是场景冗余太多可以通过在线削减冗余场景来优化不过这是后话。4. 复现避坑与问题排查4.1 对偶问题不封闭这是复现过程中最典型的翻车点。子问题转单层max问题需要强对偶成立。强对偶成立的前提是内层min问题是LP且原始可行域非空有界。如果模型里有储能互补约束、0-1运行变量、非凸的电力网络约束强对偶直接失效。我见过很多复现的代码跑着跑着就报infeasible根子都在这里。排查方法很简单。第一次写代码时先跑一个确定性的小算例把不确定性固定到某个值内层min问题单独求解然后把它转成对偶max问题单独求解对比两个目标值是否相等。如果相等说明对偶封闭如果不相等说明有约束条件破坏了对偶有效性需要检查是否有整数变量、互补约束、二次项。我当时卡在对偶问题上卡了三天最后发现是储能SOC的末端值约束写成了等式导致强对偶推导时对偶变量自由出问题。解决办法是把它改成不等式加惩罚项问题立刻通了。4.2 大M参数怎么设子问题转单层后会出现很多大M惩罚项尤其是在KKT线性化或者充放电互补约束的线性化中。大M取值直接决定求解质量。M取小了约束被过度松弛可行域被错误扩展解出来是次优解甚至会把不可行场景当成可行场景M取大了数值稳定性变差求解器内部会出现大数相减的问题YALMIP在高斯消元时容易把矩阵条件数弄得很差MILP求解时间也会暴涨严重时直接崩溃。我通常用两步法确定M。第一步跑几次确定性优化记录相关变量的最大绝对值M取该值的10到100倍。第二步检查对偶变量和线性化约束中M项所占比例如果某个M项在数值上远大于其他项就尝试缩小它。这个步骤看起来繁琐但能避免你迭代了20轮之后才突然发现结果全是错的。一个实操技巧在YALMIP里把M定义成sdpvar-free参数然后在求解前用assign函数赋值不要使用symbolic的M。这样求解器的预处理阶段能正常发挥不至于让M进入符号计算流程导致性能崩坏。4.3 收敛慢、震荡、不可行三类问题各有各的特征。收敛慢的常见原因是初始场景选得差。如果第一个场景太温和主问题给出的投资决策很“小气”下一轮子问题会找到一个非常恶劣的场景让投资决策大幅修正来回震荡好几次。解决方法是把第一个场景换成某个顶点场景或者在每轮迭代之间对场景做一次聚类把相似场景合并。震荡一般出现在子问题转单层时多解的情况。子问题可能会找到多个同样恶劣的场景但返回的是某一个固定解。下一轮主问题针对这个场景优化后子问题又会跳到另一个顶点导致目标值在上界附近反复横跳。处理办法是给子问题加一个小的正则项比如在目标里减去ε倍的不确定量平方让子问题在最恶劣场景相同时倾向于选择更合理的那个。正则项系数要小到不影响目标值精度一般取1e-4到1e-6。不可行问题则要区分是主问题不可行还是子问题不可行。主问题不可行通常是第一阶段决策变量范围限制太紧储能容量上界不够或者投资预算不够子问题不可行多半是第二阶段可行域构造错误比如两个冲突约束把变量限制死了。我给每个约束都编了号一旦求解器报infeasible我可以用YALMIP的diagnostics输出直接定位到具体哪一组约束。4.4 复现结果怎么和原论文对照复现不仅仅是跑通代码最终要对得上论文的图和数据。这里有一个容易被忽略的点你复现出来的数字不可能和原论文一模一样除非他们公开了完全一样的算例数据。很多论文只给出了关键参数基准负荷曲线、光伏出力曲线这类数据往往是脱敏或者虚构的。所以正确的对照方式是看量级、看趋势、看关系而不是死磕具体数值。原论文说“考虑灵活性后总投资成本下降约8%”你这个模型复现出来如果下降幅度在5%到12%之间整体方向一致那就说明模型机制正确。如果方向反了那说明灵活性约束建反了——比如把可调负荷建成了刚性负荷。我常用的校验方法先跑一个退化模型把灵活性约束全部去掉让数据中心变成刚性负荷结果应该和传统的微网规划模型结论接近。再把灵活性约束一层层加回去观察总成本单调下降、储能容量单调变化。这条单调性曲线是检验建模是否正确的最有力工具。5. 做一个可信的应用算例5.1 算例设计与参数复现论文时我建议自己再造一套算例不要照抄原论文的。一方面避免版权问题另一方面可以检验模型是不是“只能跑出一篇论文的数据”换一套数据就崩。参考算例设计如下。微网系统包括光伏电站候选容量0到2MW风机候选容量0到1MW电储能候选容量0到2MWh功率上限0到0.5MW。数据中心额定IT负载为1.5MWPUE取1.4可延迟负载比例取20%延迟窗口为4小时。分时电价设置成峰平谷三段高峰1.2元/kWh平段0.8元/kWh低谷0.4元/kWh。光伏出力曲线用一个典型的夏季光伏形状最大光照时段出力约为额定容量的90%。外部电网购电上限设置为2MW。这样设计的好处是模型里三类典型灵活性机制都能被激活低价时段储能充电和蓄冷高价时段储能放电、延迟计算任务迁移到平价时段光伏出力高时优先消纳光伏。如果参数过于极端比如可延迟比例设到80%优化结果会变成把所有负载全塞到半夜显得不够真实也不利于展示模型价值。仿真周期一般取24小时以1小时为步长。如果有日内运行切换的细节需求可以用15分钟步长但计算量会明显增加。规划层投资决策是单年的不涉及多年递推。如果想做多年规划需要把原论文模型扩展成多阶段鲁棒优化复杂度上一个台阶不建议在复现阶段碰。5.2 对比方案怎么设计一个合格的鲁棒规划复现至少要有三组对比。第一组是鲁棒优化vs确定性优化。确定性优化把光伏出力和负荷设为预测值结果是最优但可能不可靠的状态鲁棒优化在Γ取某个中等值时的结果对比两者的投资成本和运行成本差异以及系统在不匹配场景下的表现。这是论文中最常出现的对比。第二组是不同Γ取值的灵敏度分析。Γ从0逐步增加到最大观察成本上升的斜率和容量的变化趋势。如果Γ增加但容量配置不变说明系统备用裕量充足鲁棒约束bottleneck不在容量上如果容量迅速上升说明模型对不确定性很敏感。第三组是考虑灵活性vs不考虑灵活性的对比。这是原论文的核心卖点。关闭IT负载迁移、蓄冷、储能三层灵活性后重新跑一遍规划对比总成本。很多论文里灵活性带来的成本下降主要来自储能容量的减少和购电成本的下降。我复现时还额外做了一组蒙特卡洛验证跑完CCG取得最优决策后随机生成500组不确定性场景把容量配置固定下来在每个场景下求解确定性运行问题统计失负荷概率和平均运行成本。这组实验虽然不是原论文内容但能直观展示鲁棒方案的实际保护效果对理解模型很有帮助。5.3 输出与可视化结果输出建议朝三个方向组织。经济性输出列出投资成本、运行成本、总成本三个值分方案对比输出成表格。运行成本里再细分购电成本、切负荷惩罚、弃光惩罚。这张表可以直接放进论文或者报告里也是判断模型行为是否符合预期的快速途径。容量配置输出用条形图画光伏、风机、储能、燃气轮机的容量配置不同方案之间并排对比。储能容量和储能功率要分开画因为两者反映不同的决策维度。运行状态输出挑一个具体的不确定性场景或者最恶劣场景画出24小时光伏出力、负荷曲线、储能SOC、购电功率。这张图最能看出灵活性策略的工作机制。比如你会看到在午间光伏大发时段储能充电同时IT负载适当增加把可延迟任务提前晚间光伏归零时储能放电支撑负载可延迟任务被托到低谷电价时段。这样的图一画出来模型里的每个公式都有了直观对应。我个人在实际操作中的体会是复现这类EI论文最重要的不是把代码跑出和原论文一模一样的数字而是要把模型背后的机制吃透。当你能够自己设计算例、自己调参数、自己解释每一张图背后的物理逻辑时这篇论文就算真正复现成功了。最后再分享一个小技巧把CCG迭代过程中每一轮的主问题投资决策记录下来哪怕最终结果收敛了也值得回头看看前几轮那些激进的中间方案——它们往往能告诉你在不确定性承压最大时系统会倾向于选择什么样的备用结构这是比最终结果更有价值的工程洞察。

相关新闻

decltype 与 decltype(auto) 完全指南:从类型推导到模板元编程实战

decltype 与 decltype(auto) 完全指南:从类型推导到模板元编程实战

很多写了几年代码的 C 开发者,对 decltype 的态度通常是矛盾的:平时写业务代码几乎用不到它,一写泛型代码又绕不开,而且它的行为和 auto 经常不一致,总要等到某次诡异编译错误之后,才肯老老实实去翻标准文档…

2026/10/11 22:03:48 阅读更多 →
从 Cursor 回到命令行:AI 编程工作流的 CLI 与 IDE 路线之争

从 Cursor 回到命令行:AI 编程工作流的 CLI 与 IDE 路线之争

前阵子我把大半年的主力编辑器从 Cursor 换回了纯命令行环境,身边不少人问我是不是“倒退了”。我理解这种疑惑:AI 代码编辑器已经把补全、问答、多文件改动都做进了图形界面,为什么还要跑回终端里敲命令?但恰恰是这种“路线之争”——CLI 与 IDE 各自代表的工作哲学——让我真…

2026/10/11 22:02:47 阅读更多 →
opencode工具层与服务面设计:从注册到集成的工程实践

opencode工具层与服务面设计:从注册到集成的工程实践

1. 从"能跑"到"好用":opencode 工具层到底解决了什么问题很多人第一次接触 opencode,注意力都放在"它能不能连上模型、能不能生成代码"这个层面。但真正把 opencode 用进日常开发流的人会发现,决定体验上限的从…

2026/10/11 22:02:47 阅读更多 →

最新新闻

PgQue 监控实战:5 个必须告警的队列健康指标 + 如何揪出卡住的消费者

PgQue 监控实战:5 个必须告警的队列健康指标 + 如何揪出卡住的消费者

【免费下载链接】PgQue PgQue – Zero-bloat Postgres queue built on top of on battle-proven Skypes PgQ. One SQL file to install, pg_cron to tick https://pgque.dev 项目地址: https://gitcode.com/gh_mirrors/pg/PgQue 点击查看 免费下载 PgQue 是一个零膨…

2026/10/11 22:49:35 阅读更多 →
农行银企直联全链路实战:从密钥申请到转账对账的Java避坑指南

农行银企直联全链路实战:从密钥申请到转账对账的Java避坑指南

简介:这份资源面向使用 Java 对接农业银行银企直联的开发者,聚焦企业财务系统与银行系统之间的电子数据交换场景,帮助解决转账、余额查询、支付等业务自动化处理中的接口开发与安全控制问题。压缩包共 20 个文件,约 23KB&#xff…

2026/10/11 22:49:35 阅读更多 →
从需求到建库:工厂物资管理数据库系统设计实战

从需求到建库:工厂物资管理数据库系统设计实战

简介:《工厂物资管理数据库系统》是一份面向高校数据库课程设计、毕业设计及物资管理项目初学者的完整设计报告。文档围绕工厂物资采购、入库、领用、库存盘点与报废处理全流程,按设计任务说明、需求分析、概念模型设计、逻辑模型设计、物理模型设计和数…

2026/10/11 22:49:35 阅读更多 →
Java实现人体姿态识别与动作评分:ONNX Runtime与DTW实战指南

Java实现人体姿态识别与动作评分:ONNX Runtime与DTW实战指南

简介:基于Java的人体姿态识别与动作评分系统,以动态捕捉画面中人体关键点为入口,在双侧肩、肘、髋、膝八个关节处同步生成角度数据,并融合姿态评估、实时语音提示和训练后多维分析,可服务于运动康复、体态矫正等专业场…

2026/10/11 22:49:35 阅读更多 →
从多智能体到提示注入:awesome-ai-agent-papers 5大核心分类全解析

从多智能体到提示注入:awesome-ai-agent-papers 5大核心分类全解析

【免费下载链接】awesome-ai-agent-papers A curated collection of AI agent research papers released in 2026, covering agent engineering, memory, evaluation, workflows, and autonomous systems. 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-ai-…

2026/10/11 22:49:35 阅读更多 →
Vscode插件推荐——智能切换输入法(Smart IME)与TaoToken配置实践

Vscode插件推荐——智能切换输入法(Smart IME)与TaoToken配置实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 22:48:31 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →