NSGA-III 的 MATLAB 实现:参考点引导的多目标优化代码解析
简介这是一份可在 MATLAB 中直接运行的 NSGA-III 多目标进化算法代码面向需要处理多目标优化问题、熟悉遗传算法但希望快速获得可复现基线的研究人员与高年级学生。资源实现了参考点生成、非支配排序、模拟二进制交叉与多项式变异、种群归一化、关联参考点等完整流程并附测试函数与运行脚本使用者可按自身目标函数修改 MOP2.m 或主函数即可接入自己的优化场景。压缩包共 19 个文件以 15 个 .m 源文件为主辅以 2 个 txt 说明文件和 2 个 url 快捷链接目录中 main.m、nsga3.m、SortAndSelectPopulation.m 等模块分层清晰便于逐段阅读与二次开发。整体仅 15KB轻量易下载已有 1302 人学习。配套代码保留了 YARPIZ 来源信息适合作为学习 NSGA-III 内部机制、调试多目标算法或搭建实验对比基线的入门模板。1. 从一堆帕累托解里挑答案NSGA-III 的 MATLAB 实现到底解决了什么做过多目标优化的人都有这种体验目标一多NSGA-II 的拥挤距离就开始失灵解集在三维以上的目标空间里分布很散甚至挤成一团。某次我在实验室处理一个四目标的风电调度问题优化出来的解要么集中在极端位置要么分布极不均匀工程上根本没法用。后来换上 NSGA-III 的实现代码借助参考点引导选择压力解集的均匀性和收敛性肉眼可见地变好。这份 MATLAB 代码就是把 NSGA-III 完整落地从种群初始化、非支配排序、参考点生成到基因操作和精英保留整套流程一条龙跑通适合做科研对比、课程设计、工程预研的算法基准。整个实现思路非常务实它把 NSGA-III 的每一个环节都拆成了独立函数改目标函数、改决策变量维度、换约束条件基本只动一个文件。比那些把所有逻辑塞进一个 main 脚本的代码好维护得多。接下来我把这套代码从结构、核心实现到运行调试全部拆开讲一遍。2. NSGA-III 核心模块拆解非支配排序、参考点与小生境选择2.1 为什么多用目标下 NSGA-II 会失效NSGA-III 的关键改动在哪传统 NSGA-II 在高维目标空间里效果差的核心原因是它基于拥挤距离来维持解集多样性。拥挤距离衡量的是同一前沿面上相邻解之间的曼哈顿距离目标维数超过三个以后解的密度急剧下降距离计算很难真实反映空间分布解集很快失去多样性。NSGA-III 的替代方案是用一组分布均匀的参考点来引导搜索。参考点分布在归一化后的超平面上选择时优先保留距离参考点最近的解让解集主动覆盖整个帕累托前沿。这份代码实现的就是这条思路。我拿到代码后第一件事是数文件发现作者把算法拆得很干净主脚本负责流程编排其它的像 reference points 生成、归一化、非支配排序、选择操作都是独立函数这对于需要把算法嵌入自己项目里的场景来说非常友好。代码里参考点用 Das-Das 方法生成在三维以上目标空间里分布相当均匀这是 NSGA-III 实现里最关键的几何结构。2.2 主循环流程每一代发生了什么打开主文件可以看到整体流程是 NSGA-III 标准的精英保留框架。以下是精简后的核心逻辑兼容 MATLAB R2016b 之后的所有常用版本%% NSGA-III 主循环核心片段 for gen 1:maxGen % 1. 通过交叉变异生成子代种群 offspring GAoperator(population, pc, pm, etaC, etaM, lowerBound, upperBound); % 2. 父代子代合并规模翻倍 combined [population; offspring]; % 3. 对合并种群做非支配排序得到前沿面集合 fronts nondominatedSort(combined); % 4. 从排序结果里挑选下一代种群参考点参与选择 population selectNextGeneration(combined, fronts, N, zmin, zmax, refPoints); end第 2 步到第 4 步是 NSGA-III 和 NSGA-II 产生实质差异的地方。selectNextGeneration 函数内部首先做非支配排序然后按前沿面顺序填充下一代。如果填到某一层时超过种群规模就需要从小生境选择逻辑里取舍计算个体到参考点的垂直距离优先保留距离最近的个体。每个前沿面一层层检查下去直到填满整个种群。配合主循环归一化计算也很关键。每次迭代都会根据当前种群的目标值重新计算理想点 zmin 和极值点再把目标空间映射到 [0,1] 区间。特别留意如果目标函数量纲差异大比如第一个目标是成本百万级、第二个目标是排放几十级归一化做不好参考点会失去意义。这份代码的归一化逻辑写成独立函数实测对量纲差异的容忍度很好。2.3 参考点生成决定解集分布均匀性的地基参考点生成是 NSGA-III 实现里最容易被忽略的模块。如果参考点本身分布不均匀后面所有的小生境选择都是白搭。常见的生成方式是边界交叉构造法在单位超平面上均匀取点。代码里用的是组合数划分的思路。function [refPoints, N] generateReferencePoints(M, H) % M: 目标空间维度 % H: 每个目标方向上的划分份数 % 返回参考点集合以及参考点总数 N N nchoosek(H M - 1, M - 1); % 组合数决定参考点总数 refPoints zeros(N, M); % 递归构造各维度的坐标组合保证每个参考点在超平面上均匀分布 refPoints recursiveCombination(H, M, 1); refPoints refPoints / H; % 归一化到 [0,1] 区间 endH 的取值直接影响参考点规模。三维目标下 H10 能得到 66 个参考点H20 就是 231 个。种群规模 N 最好和参考点数量接近否则小生境选择时资源分配容易失衡。实践里一个比较稳的经验是先算好预期参考点数量再决定种群规模避免出现个别参考点完全没有解对应的情况。实际跑代码时我习惯把参考点分布可视化出来验证生成是否正确。三维情况下用 plot3 看一下点在超平面上的分布如果出现聚集或稀疏区域先检查 H 的参数设置再检查递归函数有没有越界这是最有效的排查路径。3. 跑通 NSGA-III 代码从安装到输出的完整流程3.1 运行环境与文件结构这套代码的依赖非常克制纯 MATLAB 编写没有调用额外的工具箱。我用 MATLAB R2021a 跑过也在 R2019b 上验证过行为完全一致。如果你用的是 GNU Octave大部分函数也能直接复用但需要注意个别语法差异尤其是字符串处理和匿名函数的部分需要微调。拿到代码包后建议先按下面的结构建立工作目录nsga3-matlab/ ├── main.m # 主入口参数配置、调用算法、输出结果 ├── GAoperator.m # 交叉与变异操作模拟二进制交叉 多项式变异 ├── selectNextGeneration.m # 精英保留 参考点引导选择 ├── generateReferencePoints.m # 生成均匀分布的参考点 ├── nondominatedSort.m # 非支配排序返回前沿面分层 ├── normalization.m # 目标空间自适应归一化 ├── problemDef.m # 目标函数与约束定义修改这个文件适配你的问题 └── plotResults.m # 绘制帕累托前沿与迭代收敛曲线第一次运行时把当前目录切到 nsga3-matlab然后在命令行执行 main。这里有个关键事项MATLAB 对当前工作目录下的函数搜索是基于路径的如果你把代码随意放到了某个很深层的路径下强烈建议先 addpath 把目录加入搜索路径。我的习惯是直接用 cd 切目录免得路径配置出问题。3.2 主脚本参数配置每个参数的意义和调法main.m 里的参数配置是整个代码的入口。我先贴出核心参数段再看每一项的实际作用。%% NSGA-III 参数配置 clear; clc; addpath(genpath(pwd)); % 将当前目录及其子目录加入搜索路径 % 问题定义 M 3; % 目标函数个数 D 10; % 决策变量个数 lowerBound zeros(1, D); % 决策变量下界 upperBound ones(1, D); % 决策变量上界 % NSGA-III 参数设置 H 10; % 参考点划分份数影响参考点数量 maxGen 200; % 最大迭代代数 pc 1.0; % 交叉概率 pm 1/D; % 变异概率常见做法设为决策变量数的倒数 etaC 20; % 交叉分布指数控制子代与父代的相似度 etaM 20; % 变异分布指数 % 初始化种群并执行 NSGA-III [population, history] nsga3_main(M, D, lowerBound, upperBound, H, maxGen, pc, pm, etaC, etaM);H 和 M 的组合决定了参考点数量而参考点数量最好和种群规模 N 挂钩。默认配置 H10、M3 时参考点有 66 个代码内部会自动把初始种群规模设置为 66 左右。交叉概率 pc 设为 1.0 是 NSGA 系列论文里的常见设置意味着所有个体都参与交叉变异概率 pm 设为 1/D 保证平均每个个体每个决策变量有大约一次变异机会。etaC 和 etaM 两个参数控制生成的子代与父代的差异程度。值越大子代越接近父代搜索越保守值越小子代越偏离父代探索能力越强。一般先用 20 跑一轮如果收敛太慢可以调低到 10 左右如果解集震荡不收敛就往大调到 30。3.3 修改问题定义把你自己的目标函数接进来代码包里预留了 problemDef.m 文件作为问题定义入口这也是日常使用中改得最多的文件。第一件事是把它里面的目标函数替换成你自己的模型。下面给出一个典型的两目标测试问题 DTLZ2 的修改示例。%% problemDef.m - 适配你自己的优化问题 function [f, g, h] problemDef(x) % x: 决策变量行向量 % f: 目标函数值行向量需与 M 维度匹配 % g: 不等式约束值没有约束就返回空矩阵 % h: 等式约束值没有约束就返回空矩阵 % 示例DTLZ2 问题的目标函数计算 n length(x); M 3; g sum((x(M:end) - 0.5).^2); f zeros(1, M); for i 1:M f(i) (1 g) * prod(cos(0.5 * pi * x(1:M-i))); if i 1 f(i) f(i) * sin(0.5 * pi * x(M-i1)); end end h []; % 无等式约束 g_ineq []; % 无不等式约束 end这个文件返回三个值f 是目标函数向量g 和 h 分别是不等式约束和等式约束。如果你的问题有约束比如 g(x) 0 形式的约束就把约束值放进 g 返回代码内部会按 NSGA-III 的约束支配规则处理。我第一次接入实际问题时在约束处理上绕了点弯路后面在避坑章节细说。换好问题定义后还需要同步检查 main.m 里的 M、D、lowerBound、upperBound 是否匹配四个值任何一个对不上代码就会报维度错误。我的做法是把 problemDef.m 的设计变量读出来写一个小脚本自动生成上下界省得手动输入出错。3.4 结果输出与可视化main 脚本运行结束后代码会生成两个核心输出最终种群的目标函数值矩阵 F以及每一代的迭代历史记录。默认情况下 plotResults.m 会画出帕累托前沿的散点图同时也支持把每一代的最优目标值变化曲线画出来。下面是我调试时常用的脚本片段。%% 结果可视化与指标输出 % 提取最终种群目标值 finalObj population.objectives; % 每行一个个体每列一个目标 % 绘制三维帕累托前沿 figure; scatter3(finalObj(:,1), finalObj(:,2), finalObj(:,3), 20, filled); xlabel(f1); ylabel(f2); zlabel(f3); title(NSGA-III 帕累托前沿); % 计算并输出超体积指标需要自行实现 % HV calculateHypervolume(finalObj, refPoint); % disp([Hypervolume , num2str(HV)]);结果显示可以直观看出解集是否均匀覆盖了帕累托前沿。如果解的分布有明显空洞优先检查参考点数量是否匹配种群规模再检查 H 的设置是否合理。超体积指标没有现成实现的话可以用现成的 MATLAB 文件交换中心代码也可以自己写个网格积分版本准确性足够做对比实验。4. 避坑指南NSGA-III 代码运行中的 5 个常见问题4.1 问题一参考点数量与种群规模不匹配导致选择压力失衡现象运行结果解集明显偏向某个区域前沿面覆盖极差甚至部分参考点对应的区域完全没有解。原因NSGA-III 每一次的小生境选择都要将个体与最近的参考点关联。参考点有 66 个种群却只有 40那么每轮至少有 26 个参考点没有任何个体纳米关联最终帕累托前沿上就会出现大片空洞反过来参考点太少而种群很大同一个参考点附近堆了太多个体多样性也会下降。解决修改 generateReferencePoints 的参数 H或者直接在 main 里将种群规模设为参考点数量的整数倍。我一般的做法是先算 N nchoosek(HM-1, M-1)再把初始种群规模对齐到这个数字。4.2 问题二目标函数量纲差异过大导致归一化失效现象三维以上目标优化结果里某个目标方向上的解几乎不变或者参考点关联结果全部集中在某个目标附近。原因NSGA-III 每代都做自适应归一化但如果某个目标的值域远大于其他目标极值点计算会失真归一化后的坐标分布严重倾斜。我之前做成本加排放的双目标成本量级是百万、排放量级是几十没做预处理直接跑结果解集在排放方向上非常单薄。解决在 problemDef.m 中对每个目标做线性缩放或者手工指定 zmin 和 zmax 的初始值。更简单的做法是给每个目标乘一个数量级修正系数统一到相近的数值范围再用代码自带的归一化做自适应调整。4.3 问题三约束处理不当导致可行解被误杀现象约束优化下最终解集全是不可行解或者算法一直在可行域边界外徘徊。原因NSGA-III 代码中约束支配原则要求可行解优先于不可行解但如果约束函数的返回值没有按正确的格式传入或者约束值没有被正确判定是否满足条件算法就会错误判断支配关系。我在某个工程调度问题里把等式约束误写成了不等式约束结果算法把几乎可行的解全排除了。解决回看 problemDef.m 中 g 和 h 的返回逻辑。不等式约束返回 g(x) 的实际值代码内部判断是否小于 0等式约束需要先改写成 |h(x) - target| - epsilon 0 的形式再放入 g 或 h 中处理不能直接返回 h(x) 的原始值。4.4 问题四高维目标下参考点数量爆炸现象目标数量达到 6 到 8 个时H 稍微设大一点参考点数量就成千上万运行时间和内存占用呈指数级增长。原因参考点数量由组合数 nchoosek(HM-1, M-1) 决定。目标数多一维H 不变的情况下组合数会快速膨胀。比如 H5、M8 时参考点数达到几百甚至上千每一代每个个体都要计算到所有参考点的距离计算成本非常可观。解决目标维度高时把 H 调小到 3 或 4。如果有部分目标之间存在较强的相关性可以考虑先用主成分分析降维减少目标数目之后再跑 NSGA-III。这个方法我实测可以显著提速。4.5 问题五随机种子未固定导致实验结果无法复现现象同一组参数连续跑两次得到的帕累托前沿差异很大实验数据没法用到论文或者报告里。原因MATLAB 的随机数生成器默认情况下每次启动状态不同遗传算法本身又依赖随机初始化、随机交叉和随机变异种子不同结果自然不同。解决在 main.m 开头加上 rng(固定整数) 的语句比如 rng(42) 或者 rng(2024)。固定种子之后同一台机器上每次运行结果完全一致。如果要统计多次运行的平均表现就用不同的种子循环跑二十次取超体积或 IGD 指标的平均值和标准差。5. 二次开发实战接入自定义优化问题和评价指标的技巧5.1 把 NSGA-III 从测试问题迁移到实际工程模型代码迁移的核心操作集中在 problemDef.m 和 main.m。多数人直接把工程模型的计算函数嵌进 problemDef.m 的 f 计算部分这种方式对快速验证可行但代码结构会随着模型复杂而混乱。我一般会专门建一个 simulationModel.m 文件接收决策变量、返回目标值problemDef.m 只做调用和格式转换。%% problemDef.m 中调用外部仿真模型的写法 function [f, g, h] problemDef(x) % 调用外部仿真模型返回原始目标向量 [cost, emission, reliability] simulationModel(x); % 目标向量组装按 main 中定义的 M 顺序 f [cost, emission, reliability]; % 定义约束示例成本不超过 10000 g cost - 10000; h []; % 无等式约束 end这样做的好处是模型代码和优化算法彻底解耦。修改模型内部逻辑时完全不影响 NSGA-III 主循环反过来调整参考点策略或者种群规模时也不需要碰模型代码。代码包里还有个隐藏的强大功能就是可以自由切换测试问题problemDef.m 里多留几个分支跑 DTLZ 系列还是 ZDT 系列只改一行代码。5.2 增加性能指标监控超体积和 IGD 的计算接入做研究和写论文时一定需要输出量化指标超体积 HV 和反向世代距离 IGD 是 NSGA-III 实验中最常用的两个。我建议在主循环里增加每代的指标记录而不是等算法跑完只算最终解这样可以看到收敛曲线。%% 主循环中加入 HV 和 IGD 监控 % 初始化指标记录数组 hvHistory zeros(maxGen, 1); igdHistory zeros(maxGen, 1); for gen 1:maxGen % ... ... 原有的 NSGA-III 迭代逻辑 % 计算这一代种群的超体积参考点取所有目标的最大值 refPoint max(population.objectives) * 1.2; hvHistory(gen) calculateHypervolume(population.objectives, refPoint); % 如果有真实帕累托前沿 PFtrue可以计算 IGD if ~isempty(PFtrue) igdHistory(gen) calculateIGD(population.objectives, PFtrue); end endcalculateHypervolume 的实现可以用蒙特卡洛采样或精确计算二维三维用精确计算高维用近似方法。IGD 需要提供真实前沿测试问题可以网上找现成数据工程问题就用一次高精度跑的参考前沿来替代。把这两个指标的迭代曲线画出来审稿人和导师都能一眼看出算法收敛行为。5.3 混合策略改造把拥挤距离重新加回选择机制我在一个六目标问题里发现纯参考点选择虽然分布均匀但局部搜索的精细度不如拥挤距离。于是把两种多样性机制做了混合前三层前沿用小生境选择后面层用拥挤距离排序。这样做的好处是增加局部稀疏区域的搜索压力同时保持全局分布的均匀。改造点在 selectNextGeneration.m 中核心逻辑是在填充每一层前沿时根据层号切换策略。需要注意这里只能处理每一层内部个体间的相似性问题。一旦切换了选择策略参考点关联部分仍然要保留否则整个 NSGA-III 的特点就丢了。实际效果在四目标以上的问题上提升明显值得一试。对这套代码的使用我经历过的最大心态变化是从把它当成一个黑匣子调用到真正理解每一行选择逻辑对应的论文公式。从拿到代码到现在每次动手改造前都强制自己把参考点生成和选择函数重新读一遍慢慢就养成了习惯。如果你正卡在多目标优化某个环节希望这篇拆解能帮上忙。本文还有配套的精品资源点击获取

相关新闻

内置修改器1.67版版本匹配与安装排错指南

内置修改器1.67版版本匹配与安装排错指南

简介:GTA5中文内置修改器1.67版本是为GTA5线下单机玩家制作的游戏插件,由3DM-DJ小良汉化,支持2023年10月更新的1.67/3028版游戏,提供简体与繁体两套界面,具备一键刷车、武器获取、传送、保镖雇佣等常用功能&#xff0c…

2026/10/16 10:42:49 阅读更多 →
C#面向对象:Person类、Student类继承与构造函数全解析

C#面向对象:Person类、Student类继承与构造函数全解析

1. 面向对象的第一步:从Person类的设计说起很多人学C#敲的第一段面向对象代码,就是从定义人类Person开始的。这个题目看着简单,但背后其实藏着一堆值得掰扯清楚的细节——构造函数怎么写、字段和属性有什么区别、继承之后构造函数怎么联动。我…

2026/10/16 10:41:46 阅读更多 →
Tailwind CSS组件库v6.23:纯CSS驱动的62个可复用UI模块

Tailwind CSS组件库v6.23:纯CSS驱动的62个可复用UI模块

简介:本资源是 Tailwind CSS 6.23 版本的完整组件实践包,面向前端开发者、UI 工程师及响应式项目快速搭建者,解决传统 CSS 开发效率低、定制难、响应式适配繁琐等痛点。压缩包含 2007 个文件,主体为 1304 个 HTML 示例页&#xff…

2026/10/16 10:41:46 阅读更多 →

最新新闻

Java老兵AI Agent转型实战:无需Python的工程化落地指南

Java老兵AI Agent转型实战:无需Python的工程化落地指南

1. 一个Java老兵的AI Agent转型之路1.1 为什么我决定从Java转向AI Agent写了十三年代码,Spring全家桶闭着眼睛都能搭出一套微服务架构,JVM调优参数比自家WiFi密码还熟。但去年开始,身边越来越多项目开始提“智能体”“Agent”“自动化决策”这…

2026/10/16 13:26:52 阅读更多 →
17个Deeplink动作速查表:用Shortcuts、Alfred和Raycast一句话控制Itsyhome

17个Deeplink动作速查表:用Shortcuts、Alfred和Raycast一句话控制Itsyhome

【免费下载链接】itsyhome-macos A native macOS menu bar app for controlling your smart home devices. 项目地址: https://gitcode.com/gh_mirrors/it/itsyhome-macos 点击查看 免费下载 Itsyhome 是一款原生的 macOS 菜单栏智能家居 App,支持控制 …

2026/10/16 13:26:52 阅读更多 →
Spring AI扩展包停更不用慌:Java开发者的大模型迁移与破局

Spring AI扩展包停更不用慌:Java开发者的大模型迁移与破局

前阵子社区里都在议论某个国产 Spring AI 扩展包停更的事,说实话,刚看到这个消息的时候我也愣了一下。这个扩展包一度被看作 Java 接入大模型最顺手的路径之一:依赖一引、配置一写,就能把对话补全、向量检索、工具调用接到 Spring…

2026/10/16 13:26:52 阅读更多 →
mingw32 gcc 2.95 旧工具链实战:环境搭建与兼容性避坑指南

mingw32 gcc 2.95 旧工具链实战:环境搭建与兼容性避坑指南

简介:一套专为Windows平台设计的轻量级开源GNU工具集,即MingW32 2.95,面向需要在Windows下编译本地C/C程序的开发者,可调用Windows API直接构建命令行或图形应用。该版本以精简和稳定著称,适合配置老旧开发环境、维护历…

2026/10/16 13:26:52 阅读更多 →
SpringBoot+Vue林业产品推荐系统:从推荐算法到前后端部署全解析

SpringBoot+Vue林业产品推荐系统:从推荐算法到前后端部署全解析

做毕业设计或课程设计的同学,选“SpringBootVue”这套组合的非常多,但要真正落地一个“林业产品推荐系统管理平台”这种带垂直场景的项目,光会CRUD是不够的。标题里这几样东西——Java、MySQL、前后端分离、推荐系统,再加一个林业…

2026/10/16 13:26:52 阅读更多 →
Agent上下文压缩与记忆策略指南:守住Token成本,告别对话失忆

Agent上下文压缩与记忆策略指南:守住Token成本,告别对话失忆

做Agent应用的时间越久,越会发现一个真相:真正卡住Agent上限的往往不是模型能力,而是上下文窗口。我见过太多这样的场景——一个看起来逻辑很完整的多工具Agent,跑到第8轮调用时就开始“失忆”,把用户几分钟前明确提到…

2026/10/16 13:25:49 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

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

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 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/15 0:14:36 阅读更多 →
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/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练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/15 9:49:14 阅读更多 →