基于改进MOPSO的微电网多目标优化调度方法与实践
1. 项目概述微电网优化调度到底在解决什么先说结论这个项目做的是利用改进的多目标粒子群优化算法MOPSO对一个包含光伏、风电、储能、柴油发电机和负荷的微电网系统进行日前经济调度在满足供电可靠性的前提下同时优化运行成本、污染物排放和电压偏差三个相互冲突的目标最终产出一组Pareto非劣解集供调度员根据当时实际情况挑选最合适的运行方案。可能光看标题还觉得抽象我换个说法。微电网你可以理解成一个小型的电力自给系统它自己发电、自己用电必要时还能和大电网买卖电。但这套系统有个麻烦——光伏和风电出力看天吃饭负荷侧又是随时波动的而储能电池又有充放电次数寿命限制柴油机启动烧油还冒烟。所有这些因素纠缠在一起调度员如果靠经验拍脑袋决定“今天光伏发多少、储能充多少、柴油机开几台”很难做到既省钱又环保还保证电压稳定。所以这个方向的核心工作就变成一件事把调度问题写成数学优化模型再用算法在可行解空间里搜出一批综合表现够好的运行方案。用户拿到这些方案根据当天更看重经济性还是环保性来做最终决策。这个过程就是微电网能量管理系统EMS的决策内核也是学术界和工业界都在啃的硬骨头。我当初做这个题目的时候第一反应是“这不就是加个多目标嘛粒子群改成多目标版不就行了”。真动手才发现坑全在细节里。多目标不是把三个目标加权求和就完事它牵扯到Pareto支配关系、非劣解集的维护、拥挤距离的计算、外部存档的更新策略还有算法收敛性和多样性之间的拉扯。这里面每一步都直接影响最终调度方案的可用性。这篇博文就是我基于完整跑通一遍的真实经验写的总结。内容包括数学模型的完整推导、MOPSO算法的选型和改进思路、约束处理技巧、仿真算例的设计、参数整定的心路历程以及一堆踩过的坑和解决办法。适合刚开始接触微电网优化调度、或者想用智能优化算法做电力系统课题的读者参考也能给已经上手调代码的人一些排坑思路。2. 方案选型为什么锁定“多目标粒子群”这条路2.1 微电网调度的天生多目标性任何一个实际的电力系统优化问题几乎都不可能是单一目标的。拿微电网来说如果只盯运行成本最小化调度结果大概率是让柴油机满发、储能尽量少动、完全忽略污染物排放。如果只盯排放最小化结果又可能倾向多用储能和可再生能源、少开柴油机但成本和电压质量就可能失控。所以在项目设计阶段就要想清楚一个问题到底是用加权和把多个目标揉成一个还是用真正意义上的多目标优化加权和法子表面上简单权重一设单目标求解器直接跑。但它的致命伤在于权重很难定而且不同的权重组合只会得到凸Pareto前沿上的解非凸区域里的优秀方案根本搜不到。另外微电网运行场景变化频繁前一天最合适的权重第二天可能就不适用了每次都要重新调权重工程上太麻烦。反倒是真正意义上的多目标算法一次运行就能同时返回几十个互不支配的候选方案让决策者去挑。这种思路更符合实际调度场景不同时段、不同天气、不同电价政策下侧重点本来就不一样。所以这个项目从一开始就决定采用多目标优化的建模思路用Pareto支配概念来指导搜索方向。2.2 为什么选粒子群而不选别的算法确定了多目标路数之后接下来就是选具体算法。当前主流的候选有NSGA-II非支配排序遗传算法、MOPSO、多目标差分进化算法MODE、多目标模拟退火等。各有各的长处但我的这次实践综合下来MOPSO在微电网调度问题上优势相当明显。实现成本低粒子群的核心流程就三个步骤——更新速度、更新位置、评估适应度代码比遗传算法的一堆交叉变异算子简单得多对于要同时建模和调参的项目来说省下来的是实打实的开发时间。参数少且语义明确粒子群主要就是惯性权重和学习因子调试起来比遗传算法的交叉率、变异率、锦标赛规模直观很多哪个参数往哪个方向调效果基本能预料到。收敛速度快粒子群本身没有选择、交叉的复杂操作粒子始终朝个体最优和群体最优方向飞在前中期收敛速度非常快对实时性有一定要求的场景更友好。记忆机制天然合适粒子群每个粒子保留着自己的历史最优位置这个“记忆”在多目标问题的动态变化场景下比较有优势不会因为一次评估不好就彻底丢失好解。当然MOPSO也不是没有短板。最典型的就是容易早熟收敛尤其在决策变量多、搜索空间大的问题上群体的多样性会很快下降。另一个麻烦就是多目标场景下需要对外部存档的规模做限制避免非劣解数量爆炸还需要定期做变异操作来把粒子踢出局部最优区。这些坑项目后期都会遇到后面我会专门展开讲。2.3 整体架构从目标函数到决策支持整个项目的代码架构按照我跑通后的经验建议分成五个相对独立的模块后期调试和维护都会省力很多数据模块负责读取和处理负荷曲线、光伏出力预测、风电出力预测、分时电价、储能初始SOC、柴油机参数等基础数据。模型模块建立目标函数和各约束条件的数学表达式负责把粒子的位置向量解码成完整的调度计划。算法模块实现多目标粒子群算法的核心流程包括种群初始化、速度位置更新、Pareto支配关系判断、外部存档管理、拥挤距离计算、自适应变异等。仿真模块跑完算法之后把结果还原成功率分配曲线、储能SOC曲线、各类成本和排放数值供分析用。决策模块从Pareto前沿里挑选最优折中解用模糊隶属度原理计算每个解的满意度供决策者参考。这个架构的好处在于算法模块是通用的换一个测试问题只需要替换模型模块和数据模块就行。我当时先在一组标准测试函数上调试通算法再替换成微电网模型整个开发节奏顺畅很多不至于一上来就被一堆问题同时卡住。3. 数学建模把一个调度问题写清楚3.1 决策变量设计一个粒子代表什么模型再复杂落到算法层面其实就一个问题粒子在搜索空间里的位置向量代表什么我设计的调度周期是一天24小时单位调度间隔1小时所以每个粒子的位置就是一个72维的向量。前24维是储能系统每个小时的输出功率中间24维是柴油发电机每小时的输出功率最后24维是微电网与大电网之间的交换功率。为了贴合实际这里统一做了一下符号约定储能放电为正、充电为负微电网从大电网购电为正、售电为负。为什么不把光伏和风电的出力也编码进决策变量原因很现实在“并网运行模式”下光伏和风电都是优先消纳的可再生能源它们的出力曲线直接由预测数据给定不需要调度算法再去优化。强行把它们加进决策变量不仅会增大搜索难度还会解出一些违背“优先消纳”原则的离谱解。这个取舍经验做类似项目的同学可以直接抄作业。进一步说把储能、柴油机、交换功率三个决策解耦有一个好处三个变量的维度分别对应三个实际物理设备的调度计划后续看结果分析的时候非常直观。某个时段储能充多了、柴油机发少了导致电压越限一查就能定位到具体哪条决策变量出了问题。3.2 目标函数到底怎么设目标函数是核心中的核心这里我设了三个目标分别代表经济性、环保性和电能质量。逐个拆开说。运行成本最小化。总运行成本等于柴油机的燃料成本加上运维成本再加上从大电网购电的费用减去向大电网售电的收入还要算上储能充放电的损耗成本。柴油机燃料成本一般用二次函数描述也就是功率的二次项加一次项再加常数项。运维成本按各单元输出功率的线性比例估算。购售电费用直接按分时电价乘以交换功率算。储能损耗成本我按充放电功率的线性关系估算精度完全够用。污染物排放最小化。排放来源主要是柴油发电机燃烧柴油产生的CO₂、SO₂、NOₓ以及从大电网购电所对应的等效排放。每种污染物的排放因子不一样处理方式是按“等效CO₂排放量”折算。如果两套方案的NOₓ排放差异很大但CO₂差不多把不同类型排放等价算成单一数值决策阶段会更直观。电压偏差最小化。微电网规模小、线路阻抗相对大一旦出现某些时段有功功率局部不平衡电压偏差就容易超限。做潮流计算对于优化算法迭代来说太重了所以工程上常用灵敏度近似的做法先算出各节点电压对节点注入功率的灵敏度系数再把灵敏度系数近似当作常数把电压偏差表达成决策变量的线性函数。精度略降但计算速度提升几个数量级。三个目标在量纲和数值范围上差异很大成本是万元量级排放是公斤或吨量级电压偏差是标幺值的百分位量级。这就要在算法内部做目标归一化不然排放目标基本就是摆设。3.3 约束条件这些坑一个都不能漏约束条件处理是微电网调度里最容易翻车的部分漏掉一个关键约束解出来的“最优方案”根本没法实际运行。下面按类别说清楚。功率平衡约束。任意时刻光伏出力、风电出力、柴油机出力、储能放电功率、购电功率加在一起必须等于负荷加上储能充电功率和售电功率。这是硬约束中的硬约束不平衡就意味着系统频率波动直接导致解不可行。我采用的做法是把功率不平衡量作为惩罚项加到目标函数里同时设置一个特别大的惩罚系数确保最终解基本满足平衡。设备出力上下限约束。柴油机有最小技术出力和最大出力限制储能受到充放电功率上限约束交换功率受到联络线容量的限制。这些约束在粒子初始化时就能考虑一部分比如随机生成的初始位置直接限制在设备出力范围内相当于缩小搜索空间比全部丢给惩罚项处理效率高得多。储能SOC约束。储能SOC必须保持在上下限之间同时调度周期结束时的SOC要回到初始值附近保证储能能进入下一天的循环调度。这个约束是典型的动态约束因为SOC是所有之前时段充放电功率的累积结果要判断最后一个小时SOC是否回到允许区间必须一路算下来才行。爬坡率约束。柴油机输出功率在每个调度时段之间的变化速率必须控制在额定爬坡率以内。这个约束最容易出现在粒子群更新之后产生突变解时粒子一下从满发变成最小出力爬坡速率直接超限。我当时的处理办法是在解码粒子位置后用一段修正逻辑把超限的爬坡量压平保证柴油机的调度曲线具备实际可行性。旋转备用约束。系统必须保有一定比例的备用容量来应对光伏风电波动和负荷预测误差。算作总容量的固定比例比如5%到10%具体比例根据系统规模和可靠性要求动态配置。4. 算法实现多目标粒子群的完整流程与关键改进4.1 从单目标PSO到多目标PSO的跨越传统单目标粒子群的核心公式是速度和位置的迭代更新。每个粒子有速度和位置两个属性每一次迭代都根据个体历史最优位置pbest和群体最优位置gbest来更新速度再按新速度更新位置。到了多目标场景第一个难题就是“群体最优gbest到底选谁”。单目标情况下全局只有一个最优值大家朝它飞就行。多目标情况下非劣解有一大群每个非劣解都可以当gbest候选人。选不同的gbest粒子会被拉向Pareto前沿的不同区域直接影响最终解的分布均匀性。我采用的方案是维护一个外部存档里面存放当前找到的所有非劣解。对于每一个粒子从外部存档里随机选一个非劣解作为该粒子的gbest。随机选择的好处是让不同粒子飞向Pareto前沿的不同方向保持解的多样性。后来还做了一个小改进从存档里选gbest时这些解的拥挤距离越大被选中的概率越高这样稀疏区域的解更容易被当作引导者前沿分布会明显更均匀。惯性权重和学习因子这两个参数也很关键。惯性权重我采用了线性递减策略从0.9线性降到0.4前期保证全局搜索能力后期增强局部开发能力。学习因子c1和c2都固定为2左右经过实验发现这个组合在这类问题上的综合表现最稳。4.2 外部存档与拥挤距离机制的细节外部存档是整个算法中数据结构和更新逻辑最复杂的地方。每次迭代结束后把当前种群中所有非劣解与存档中的解合并剔除被支配的解再确保新解加进去后不超容量上限。标准MOPSO的存档更新过程很简单但实测下来还得配合拥挤距离排序才有用。每个非劣解计算它在目标空间中的拥挤距离距离越大说明它周围越稀疏对保持多样性越有价值。当存档容量超出上限时按拥挤距离从小到大删优先删掉密集区那些代表性不强的解保留稀疏区的解。计算拥挤距离前需要对目标值做归一化不然不同目标的数值范围差异太大算出来的距离完全失真。我曾踩过这个坑当时用原始目标值算拥挤距离结果电压偏差目标范围特别小拥挤距离全被成本目标带偏导致Pareto前沿在电压偏差方向上的分布严重不均。改成功归一化之后再跑前沿形状马上就正常了。4.3 自适应变异策略摆脱早熟收敛粒子群算法的通病是早熟收敛多目标版本也一样。迭代后期粒子全部聚集在某个局部Pareto前沿附近外部存档很久都不更新算法基本停滞。这个时候用变异算子效果立竿见影。每只粒子更新完位置后有一定概率对这个位置做一次扰动比如随机挑几个维度的变量重新在取值范围内随机赋值或者加一个高斯分布的微小扰动。但变异概率不能是固定的。迭代早期粒子多样性足够变异概率设太高反而破坏了粒子向最优方向飞行的节奏迭代后期粒子趋同变异概率太小又起不到摆脱局部最优的作用。所以这里做了自适应的设计概率随迭代次数逐渐增大同时在外部存档连续多代不更新时立刻提高变异概率强制部分粒子跳出当前区域搜索。实测下来变异概率从0.05到0.5之间动态浮动效果比固定0.1好很多。特别是算例里光伏出力有明显午间峰的情况下固定变异概率的算法很容易陷入“只优化午后时段、完全忽略夜间”的局部解区域自适应变异能让粒子在夜间时段附近也有足够的探索行为。5. 算例设计与仿真验证结果是怎么跑出来的5.1 测试算例的构建算法可靠性和模型正确性必须通过具体算例来验证。我设计的微电网系统包含光伏发电单元、风力发电单元、储能系统、柴油发电机以及与大电网的联络线。负荷曲线采用典型夏日的日负荷数据光伏出力曲线对应晴天条件下的中午高峰风电出力曲线对应夜间的强风时段这样正好制造出“白天靠光伏、夜间靠风电”的互补格局调度方案的分目标冲突也更明显。分时电价的数据按当地实际情况设置峰电价、平电价、谷电价按三段式分布储能就会自动选择在谷电时段充电、峰电时段放电这个现象如果算法实现正确在最终Pareto解里应该能明显看到。柴油机参数按常用的典型机组特性取值比如额定功率、空载燃料消耗系数和爬坡率都参考同类机组的常见规格设置。为了防止算法一次运行结果被偶然性带偏每个配置都重复跑30次统计最优值、平均值和标准差。算法参数层面种群规模60最大迭代次数200外部存档容量100。这个配置在计算耗时和解质量之间的平衡比较好。5.2 仿真流程图中的关键节点整个算法的流程从初始化开始生成一组满足边界约束的随机粒子然后对粒子解码并计算目标函数筛选出初始非劣解填入外部存档。迭代的主体逻辑是更新粒子速度位置解码新粒子位置判断约束是否满足计算新目标值更新个体历史最优再更新外部存档如此循环直到达到最大迭代次数。迭代停止条件要额外说一句。固定迭代次数虽然简单但存在“已经收敛还在空转”或“还没收敛就停了”这两种尴尬情况。我的改进是引入“早停机制”如果存档连续30代没有更新就认为算法已经收敛提前终止迭代。这样既省计算时间又避免了迭代后期的无效空转。5.3 仿真结果展示Pareto前沿到底长什么样把仿真结果画成三维散点图横轴是运行成本纵轴是污染排放竖轴是电压偏差能直观看到Pareto前沿是一块三维曲面。每一个点对应一组完整的24小时调度方案点与点之间互相不支配改任何一个目标的表现必然牺牲至少一个其他目标。很典型的观察是压缩成本时排放量上升因为成本最优解更倾向于多用便宜的柴油机而排放最优的解会尽量多用电网电和储能可电网电的等效排放因子比柴油机低一些但如果储能和电网容量不够就得依赖出力波动更大的光伏风电电压偏差变大。这种目标间的矛盾关系在Pareto前沿上呈现出的就是一个倒角形状的曲面。再具体看一组极端方案。最小成本方案大概长这样柴油机在早晚高峰时段满发储能根据峰谷电价灵活套利夜间谷电从电网买电给储能充电。最小排放方案则让柴油机基本处于最小出力状态尽量用光伏和风电储能承担削峰填谷职责。这两个方案的对比能明显看出来决策者对环保的重视程度不同就会选择完全不同的调度策略。5.4 模糊隶属度怎么从Pareto前沿挑出“最终答案”跑出一堆非劣解只是第一步实际调度中总得拿出一个具体方案去执行。这时候就需要一种“从中挑一个”的机制。我用的是模糊隶属度方法。对每一个目标把所有的Pareto解在该目标上的取值做归一化构造一个隶属度函数值越大表示该方案在这个目标上表现越好。综合隶属度就是所有目标隶属度的加权平均。权重的确定方式可以灵活处理如果不强调任何偏好就直接平分权重如果当天电价高对经济性更敏感就加大成本目标的权重。但这里有一个重要的实践心得模糊隶属度挑出的“最优折中解”只是一个参考最终调度方案应该由用户结合实际情况判断。我的程序在输出折中解的同时也会把Pareto前沿的边界解和贴近边界的几个备选方案一起导出尽量充分给调度人员留出选择空间。6. 参数整定那些让结果“肉眼可见变好”的调整6.1 惯性权重和变异概率的调参记录做智能化算法的人都知道参数整定很大程度上就是“经验活加统计活”。我跑了一批网格搜索式的对比实验记录不同参数组合下的算法表现。这里把有意思的几张表放出来说说。惯性权重策略收敛代数存档更新率前沿分布均匀性固定0.590代后停滞低差大量解聚集在中部固定0.9几乎看不到收敛中差解比较分散但没形状0.9线性降到0.470代收敛高好分布在三个方向上0.95动态调整到0.3565代收敛高最好边缘和稀疏区也有解变异概率的实验结果也很有意思。固定变异概率0.1时前期搜索效率高但后期解多样性不足自适应变异0.05到0.5加上存档停滞阈值触发机制之后Pareto前沿在目标空间的覆盖范围明显加大且没有明显牺牲收敛速度。6.2 种群规模和存档容量的边界在哪种群规模太小比如20迭代成果很差Pareto前沿只有稀稀拉拉十几个点无法覆盖整个边界。但种群规模大过头比如400求解耗时翻好几倍解质量却提升非常有限。60到100这个范围在这个问题尺度下性价比最高。存档容量同样有类似规律容量50和容量100对最终解集完整度的影响挺明显但容量200相比100的改善已经很小了。做类似项目的时候建议先多跑几组小规模实验找到该问题下的容量拐点再上正式算例。6.3 三个目标归一化容易被忽视的关键细节这个问题值得再强调一次。三个目标的数量级差异太大如果不做归一化拥挤距离计算中数值小的目标几乎不起作用而Pareto支配关系本身虽然不受量纲影响但在计算拥挤距离时的量纲影响就太大了。我的做法是每次迭代计算目标函数值之后把所有粒子的目标值映射到0到1的区间用归一化后的值参与拥挤距离计算和存档修剪。改动只有几行代码但对前沿分布质量的影响却是决定性的。7. 项目复盘踩过的坑和对你下一步的建议7.1 我这轮跑下来最大的几个教训别一开始就上真实数据。真实负荷、光伏、风电数据噪声大、变化多算法哪里错了很难定位。我的建议是先构造理想化的平滑数据比如正弦型负荷曲线、单峰光伏曲线验证算法逻辑正确之后再换真实数据。约束不能全靠惩罚项。惩罚项权重设置不当会导致目标函数值被污染算法在可行和不可行区域之间摇摆不定。更可靠的做法是硬约束直接在粒子更新时处理软约束才用惩罚项。代码层面一定要做模块化。我做过的另一个教训是前期图省事把所有逻辑揉在一个脚本里后期换算法参数、调模型公式的时候非常痛苦改一处崩三处。把数据、模型、算法、分析分开之后开发和调试效率直线上升。多目标算法必须做重复实验。单次运行的结果说明不了任何问题多次重复实验统计才是判断算法优劣的正确姿势。这一条对学术研究还是工程验证都通用。7.2 后续方向还能怎么扩展这次项目做完之后如果想继续深入至少有几个方向是顺理成章的。不确定性建模。光伏风电预测误差大确定性调度结果第二天可能根本没法执行。可以考虑用场景法或鲁棒优化来刻画不确定性把“预测多少用多少”升级成“波动多大都能扛得住”。在线滚动优化。日前调度加日内滚动修正的架构更接近实际能量管理系统的运行方式。未来配合负荷和新能源的超短期预测可以做实时调度版本。多微电网互联调度。单个微电网优化完了多个微电网之间互相支援、互相交易的场景其实更贴近未来配电网的形态。这种分布式优化问题的建模复杂度成倍增加但也更有研究价值。算法深层改进。现在的MOPSO在求解大规模问题上仍然存在收敛性和多样性的平衡问题。引入小生境技术、混合局部搜索策略、或者其他进化算法的算子有机会让前沿质量进一步提升。按我自己的经验这些扩展方向每一个都值得单独开一轮项目来啃。但前提是先把这篇文章里的基础逻辑吃透把仿真平台调顺再去碰更复杂的形态。微电网优化调度这个方向内容密度大、坑深既然决定入坑就把地基打牢后面跑起来会轻松很多。

相关新闻

二分查找为何一写就挂?Hot 100六道题吃透边界条件与区间不变量

二分查找为何一写就挂?Hot 100六道题吃透边界条件与区间不变量

1. 二分查找为什么总是"看着简单,一写就挂"刷过LeetCode的朋友大多有过这种尴尬:翻开题解觉得二分查找就那几行,思路清清楚楚,可一旦自己在编辑器里动手,不是死循环就是返回错位置,左调右调十分钟…

2026/10/12 8:34:08 阅读更多 →
SpringBoot高校勤工俭学管理系统:从业务设计到答辩的全栈实战解析

SpringBoot高校勤工俭学管理系统:从业务设计到答辩的全栈实战解析

每年毕业设计选题季,SpringBoot 高校勤工俭学管理系统这类题目几乎都会出现在各高校选题库里。表面看它只是一个普通的“管理系统”,但真正动手做起来,岗位发布、学生申请、用工审核、考勤签到、工资结算这一整条业务线,会让不少人…

2026/10/12 8:34:08 阅读更多 →
非科班零基础学编程:从普通本科到IT工程师的实战路线与避坑指南

非科班零基础学编程:从普通本科到IT工程师的实战路线与避坑指南

先说明,我不是什么名校毕业的天才程序员。我的起点是淮北理工,一所普通得不能再普通的本科院校,专业还是和计算机八竿子打不着的方向。但就是从这个起点出发,我一步步把自己折腾进了IT行业,现在回头看,这一…

2026/10/12 8:34:08 阅读更多 →

最新新闻

architecture-decision-record 实战:用 ADR 记录“选 PostgreSQL 还是 MySQL“的数据库选型决策

architecture-decision-record 实战:用 ADR 记录“选 PostgreSQL 还是 MySQL“的数据库选型决策

【免费下载链接】architecture-decision-record Architecture decision record (ADR) examples for software planning, IT leadership, and template documentation 项目地址: https://gitcode.com/gh_mirrors/ar/architecture-decision-record 点击查看 免费下载 …

2026/10/13 1:44:13 阅读更多 →
rust-bindgen 位域(Bitfield)使用指南:理解 `__BindgenBitfieldUnit` 与 getter/setter 机制

rust-bindgen 位域(Bitfield)使用指南:理解 `__BindgenBitfieldUnit` 与 getter/setter 机制

【免费下载链接】rust-bindgen Automatically generates Rust FFI bindings to C (and some C) libraries. 项目地址: https://gitcode.com/gh_mirrors/ru/rust-bindgen 点击查看 免费下载 Rust 语言本身不支持 C/C 中的位域(bitfield)语法&…

2026/10/13 1:44:13 阅读更多 →
Grafana Mimir DNS 服务发现:用 dns+、dnssrv+ 与 dnssrvnoa+ 前缀动态解析后端服务地址

Grafana Mimir DNS 服务发现:用 dns+、dnssrv+ 与 dnssrvnoa+ 前缀动态解析后端服务地址

时序数据库后端数据存储可观测性云原生 【免费下载链接】mimir Grafana Mimir provides horizontally scalable, highly available, multi-tenant, long-term storage for Prometheus. 项目地址: https://gitcode.com/gh_mirrors/mimir/mimir 点击查看 免费下载 Gr…

2026/10/13 1:44:13 阅读更多 →
AFSIM 2.9源码实战:从编译到插件扩展的多域仿真框架

AFSIM 2.9源码实战:从编译到插件扩展的多域仿真框架

简介:AFSIM 2.9 是一款面向海陆空天及网络空间战场仿真的仿真引擎源码包,适用于军事训练、作战推演、武器效能评估与电子战模拟等专业场景,适合仿真开发人员、作战研究人员及军事院校师生深入研读。源码包共约2000个文件,以848个h…

2026/10/13 1:44:13 阅读更多 →
FPSSample 完整上手指南:Unity 第一人称多人射击示例项目的克隆、AssetBundle 构建与联机运行

FPSSample 完整上手指南:Unity 第一人称多人射击示例项目的克隆、AssetBundle 构建与联机运行

游戏开发示例工程 【免费下载链接】FPSSample A first person multiplayer shooter example project in Unity 项目地址: https://gitcode.com/gh_mirrors/fp/FPSSample 点击查看 免费下载 本篇技术指南以 FPSSample 官方 README 为主体,结合仓库中的编…

2026/10/13 1:44:13 阅读更多 →
SpriteJS 3D 渲染对象(RenderTarget)实战:FrameBuffer 离屏渲染、纹理回读与双缓冲复用

SpriteJS 3D 渲染对象(RenderTarget)实战:FrameBuffer 离屏渲染、纹理回读与双缓冲复用

图形学3D渲染 【免费下载链接】spritejs A cross platform high-performance graphics system. 项目地址: https://gitcode.com/gh_mirrors/sp/spritejs 点击查看 免费下载 导读:在 SpriteJS 3D 扩展中,RenderTarget 是一块可绘制的 FrameBu…

2026/10/13 1:43:13 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 21:05:09 阅读更多 →
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/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →