多目标粒子群优化(MOPSO)解决ZDT1问题

前言

提醒:
文章内容为方便作者自己后日复习与查阅而进行的书写与发布,其中引用内容都会使用链接表明出处(如有侵权问题,请及时联系)。
其中内容多为一次书写,缺少检查与订正,如有问题或其他拓展及意见建议,欢迎评论区讨论交流。

内容由AI辅助生成,仅经笔者审核整理,请甄别食用。

文章目录

  • 前言
  • matlab代码
  • 代码分析
      • 一、多目标优化的核心概念
        • 1. Pareto 支配(Dominance)
        • 2. 非支配解(Non-dominated Solution)
      • 二、ZDT1 多目标函数(测试基准)
      • 三、MOPSO 算法的核心数学模型
        • 1. 粒子状态更新(类似单目标 PSO,但目标是向量)
        • 2. 外部存档(Repository)
      • 四、代码解析
        • (1)参数设置
        • (2)粒子初始化
        • (3)外部存档初始化
        • (4)主循环(MOPSO 核心迭代)
        • (5)关键函数解析
          • ① ZDT1 函数
          • ② 支配关系判断
          • ③ 非支配筛选
          • ④ 拥挤度裁剪
      • 五、MOPSO 优化 ZDT1 的关键逻辑
      • 六、结果分析


matlab代码

clc; clear; close all;% ---------------- 参数设置 ----------------
nVar = 30;         % 决策变量个数
VarMin = 0;        % 最小值--变量范围(ZDT1 要求 x_i ∈ [0,1])
VarMax = 1;        % 最大值
MaxIt = 100;       % 最大迭代次数
nPop = 50;         % 粒子群规模
nRep = 50;         % 外部存档大小w = 0.5;           % 惯性权重
c1 = 1.5;          % 个人引导因子
c2 = 2.0;          % 群体引导因子
mu = 0.1;          % 变异概率% ---------------- 粒子结构体 ----------------
particle(nPop).Position = [];
particle(nPop).Velocity = [];
particle(nPop).Cost = [];
particle(nPop).Best.Position = [];
particle(nPop).Best.Cost = [];for i = 1:nPopparticle(i).Position = rand(1, nVar);particle(i).Velocity = zeros(1, nVar);particle(i).Cost = ZDT1(particle(i).Position);particle(i).Best.Position = particle(i).Position;particle(i).Best.Cost = particle(i).Cost;
end% ---------------- 初始化外部存档 ----------------
Rep = GetNonDominated(particle);
Rep = ReduceArchive(Rep, nRep);% ---------------- 主循环 ----------------
for it = 1:MaxItfor i = 1:nPopleader = Rep(randi(length(Rep)));% PSO更新particle(i).Velocity = w*particle(i).Velocity ...+ c1*rand(1,nVar).*(particle(i).Best.Position - particle(i).Position) ...+ c2*rand(1,nVar).*(leader.Position - particle(i).Position);particle(i).Position = particle(i).Position + particle(i).Velocity;particle(i).Position = min(max(particle(i).Position, VarMin), VarMax);% 变异if rand < muk = randi([1, nVar]);particle(i).Position(k) = rand();end% 评价目标函数particle(i).Cost = ZDT1(particle(i).Position);% 更新个体最优if Dominates(particle(i).Cost, particle(i).Best.Cost)particle(i).Best.Position = particle(i).Position;particle(i).Best.Cost = particle(i).Cost;endend% 更新外部存档Rep = [Rep, particle];Rep = GetNonDominated(Rep);Rep = ReduceArchive(Rep, nRep);% 可视化Costs = reshape([Rep.Cost], 2, [])';% 绘制理论 Pareto 前沿f1_theory = linspace(0, 1, 100);f2_theory = 1 - sqrt(f1_theory);plot(f1_theory, f2_theory, 'b-', 'LineWidth', 2); hold on;% 绘制当前粒子 Pareto 解plot(Costs(:,1), Costs(:,2), 'ro', 'MarkerSize', 5, 'MarkerFaceColor', 'r');% 图形设置title(['MOPSO 第 ' num2str(it) ' 代']);xlabel('f_1'); ylabel('f_2'); grid on;legend('理论 Pareto 前沿','MOPSO 非支配解','Location','SouthWest');axis([0 1 0 1]); drawnow; hold off;end% ---------------- 多目标函数:ZDT1 ----------------
function y = ZDT1(x)f1 = x(1);g = 1 + 9 * sum(x(2:end)) / (length(x)-1);f2 = g * (1 - sqrt(f1/g));y = [f1 f2];
end% ---------------- 支配关系判断 ----------------
function b = Dominates(x, y)b = all(x <= y) && any(x < y);
end% ---------------- 非支配筛选 ----------------
function nd = GetNonDominated(pop)n = length(pop);keep = true(1, n);for i = 1:nfor j = 1:nif i ~= j && Dominates(pop(j).Cost, pop(i).Cost)keep(i) = false;break;endendendnd = pop(keep);
end% ---------------- 拥挤度计算并裁剪 ----------------
function pop = ReduceArchive(pop, N)if length(pop) <= Nreturn;endCosts = reshape([pop.Cost], 2, [])';D = zeros(length(pop));for i = 1:length(pop)for j = i+1:length(pop)D(i,j) = norm(Costs(i,:) - Costs(j,:));D(j,i) = D(i,j);endendD(1:size(D,1)+1:end) = inf;crowd = mean(D, 2);[~, idx] = sort(crowd, 'descend');pop = pop(idx(1:N));
end

运行结果
在这里插入图片描述

以下从多目标粒子群优化(MOPSO)的数学原理出发,结合代码逐部分拆解,帮你理解 MOPSO 如何优化 ZDT1 多目标函数:


代码分析

相关引用:粒子群优化算法(Particle Swarm Optimization, PSO) 求解二维 Rastrigin 函数最小值问题

一、多目标优化的核心概念

多目标优化(MOP)需同时优化多个冲突目标,通常不存在单一最优解,而是寻找Pareto 前沿(非支配解的集合)。

1. Pareto 支配(Dominance)
  • 若解 x\mathbf{x}x 的所有目标值不差于y\mathbf{y}y,且至少一个目标值严格更优,则称 x\mathbf{x}x 支配 y\mathbf{y}y,记为 x≺y\mathbf{x} \prec \mathbf{y}xy
  • 数学定义(代码中 Dominates 函数):
    Dominates(x,y)⟺(∀i,xi≤yi)∧(∃i,xi<yi)\text{Dominates}(\mathbf{x}, \mathbf{y}) \iff \left( \forall i, x_i \leq y_i \right) \land \left( \exists i, x_i < y_i \right) Dominates(x,y)(i,xiyi)(i,xi<yi)
2. 非支配解(Non-dominated Solution)

不被任何其他解支配的解,构成Pareto 前沿(理论最优边界)。


二、ZDT1 多目标函数(测试基准)

ZDT1 是经典多目标测试函数,数学形式:
{f1(x)=x1f2(x)=g(x)⋅(1−f1(x)g(x))g(x)=1+9⋅∑i=2nxin−1\begin{cases} f_1(\mathbf{x}) = x_1 \\ f_2(\mathbf{x}) = g(\mathbf{x}) \cdot \left( 1 - \sqrt{\dfrac{f_1(\mathbf{x})}{g(\mathbf{x})}} \right) \\ g(\mathbf{x}) = 1 + 9 \cdot \dfrac{\sum_{i=2}^{n} x_i}{n-1} \end{cases} f1(x)=x1f2(x)=g(x)(1g(x)f1(x))g(x)=1+9n1i=2nxi

  • x∈[0,1]n\mathbf{x} \in [0,1]^nx[0,1]nnnn 为决策变量个数,代码中 n=30n=30n=30)。
  • 理论 Pareto 前沿:当 g(x)=1g(\mathbf{x})=1g(x)=1(即 x2=⋯=xn=0x_2=\dots=x_n=0x2==xn=0),此时 f2=1−f1f_2 = 1 - \sqrt{f_1}f2=1f1,对应代码中 f2_theory = 1 - sqrt(f1_theory)

三、MOPSO 算法的核心数学模型

MOPSO 扩展了单目标 PSO,引入外部存档(Repository保存非支配解,并通过拥挤度(Crowding Distance维护存档多样性。

1. 粒子状态更新(类似单目标 PSO,但目标是向量)

粒子速度更新公式:
vi(t+1)=w⋅vi(t)+c1⋅r1⋅(pbesti−xi(t))+c2⋅r2⋅(lbest−xi(t))\mathbf{v}_i^{(t+1)} = w \cdot \mathbf{v}_i^{(t)} + c_1 \cdot r_1 \cdot \left( \text{pbest}_i - \mathbf{x}_i^{(t)} \right) + c_2 \cdot r_2 \cdot \left( \text{lbest} - \mathbf{x}_i^{(t)} \right) vi(t+1)=wvi(t)+c1r1(pbestixi(t))+c2r2(lbestxi(t))

  • lbest\text{lbest}lbest:从外部存档中随机选的“引导粒子”(替代单目标的 gbest,保持多样性)。
2. 外部存档(Repository)
  • 保存迭代中发现的所有非支配解,是 Pareto 前沿的近似。
  • 通过拥挤度裁剪ReduceArchive)控制存档大小,避免爆炸。

四、代码解析

(1)参数设置
nVar = 30;         % 决策变量个数(ZDT1 的维度,x ∈ ℝ^30)
VarMin = 0; VarMax = 1; % 变量范围(ZDT1 要求 x_i ∈ [0,1])
MaxIt = 100;       % 最大迭代次数
nPop = 50;         % 粒子群规模
nRep = 50;         % 外部存档最大容量w = 0.5;           % 惯性权重(平衡探索与利用)
c1 = 1.5; c2 = 2.0;% 学习因子(个体/群体引导)
mu = 0.1;          % 变异概率(增加多样性)
(2)粒子初始化
particle(nPop).Position = []; % 粒子位置(决策变量)
particle(nPop).Velocity = []; % 粒子速度
particle(nPop).Cost = [];     % 目标函数值(2 维向量 [f1,f2])
particle(nPop).Best.Position = []; % 个体最优位置
particle(nPop).Best.Cost = [];     % 个体最优目标值for i = 1:nPop% 随机初始化位置:x_i ∈ [0,1]particle(i).Position = rand(1, nVar); particle(i).Velocity = zeros(1, nVar); % 速度初始化为 0% 计算目标函数(ZDT1)particle(i).Cost = ZDT1(particle(i).Position); % 个体最优初始化为当前位置particle(i).Best.Position = particle(i).Position; particle(i).Best.Cost = particle(i).Cost;
end
  • 数学对应
    位置初始化:xi∼Uniform(0,1)\mathbf{x}_i \sim \text{Uniform}(0,1)xiUniform(0,1)
    目标函数:Cost(xi)=ZDT1(xi)=[f1(xi),f2(xi)]\text{Cost}(\mathbf{x}_i) = \text{ZDT1}(\mathbf{x}_i) = [f_1(\mathbf{x}_i), f_2(\mathbf{x}_i)]Cost(xi)=ZDT1(xi)=[f1(xi),f2(xi)]
(3)外部存档初始化
% 筛选粒子群中的非支配解
Rep = GetNonDominated(particle); 
% 裁剪存档到 nRep 大小(保持多样性)
Rep = ReduceArchive(Rep, nRep); 
  • GetNonDominated:遍历所有粒子,保留不被任何其他粒子支配的解(非支配解)。
  • ReduceArchive:若存档超过 nRep,用拥挤度裁剪(保留分布均匀的解)。
(4)主循环(MOPSO 核心迭代)
for it = 1:MaxItfor i = 1:nPop% 从外部存档随机选引导粒子(lbest)leader = Rep(randi(length(Rep))); % 速度更新(PSO 公式)particle(i).Velocity = w*particle(i).Velocity ...+ c1*rand(1,nVar).*(particle(i).Best.Position - particle(i).Position) ...+ c2*rand(1,nVar).*(leader.Position - particle(i).Position);% 位置更新(限制在 [0,1] 内)particle(i).Position = particle(i).Position + particle(i).Velocity; particle(i).Position = min(max(particle(i).Position, VarMin), VarMax);% 变异(增加多样性,避免早熟收敛)if rand < muk = randi([1, nVar]); % 随机选一个维度particle(i).Position(k) = rand(); % 随机重置该维度end% 计算新位置的目标函数particle(i).Cost = ZDT1(particle(i).Position);% 更新个体最优(若新解支配历史最优)if Dominates(particle(i).Cost, particle(i).Best.Cost)particle(i).Best.Position = particle(i).Position;particle(i).Best.Cost = particle(i).Cost;endend% 更新外部存档:合并粒子群和原存档,筛选非支配解,再裁剪Rep = [Rep, particle];        % 合并Rep = GetNonDominated(Rep);   % 保留非支配解Rep = ReduceArchive(Rep, nRep); % 裁剪到 nRep 大小% 可视化(绘制理论前沿和当前非支配解)Costs = reshape([Rep.Cost], 2, [])';f1_theory = linspace(0, 1, 100);f2_theory = 1 - sqrt(f1_theory);plot(f1_theory, f2_theory, 'b-', 'LineWidth', 2); hold on;plot(Costs(:,1), Costs(:,2), 'ro', 'MarkerSize', 5, 'MarkerFaceColor', 'r');title(['MOPSO 第 ' num2str(it) ' 代']);xlabel('f_1'); ylabel('f_2'); grid on;legend('理论 Pareto 前沿','MOPSO 非支配解','Location','SouthWest');axis([0 1 0 1]); drawnow; hold off;
end
  • 核心逻辑
    1. 速度/位置更新:与单目标 PSO 类似,但用外部存档的随机粒子替代 gbest,避免过早收敛到局部前沿。
    2. 变异:随机重置粒子的一个维度,增加种群多样性。
    3. 存档维护:不断纳入新解,筛选非支配解并裁剪,保证存档是 Pareto 前沿的均匀近似。
(5)关键函数解析
① ZDT1 函数
function y = ZDT1(x)f1 = x(1); % 第一个目标:f1 = x1% 计算 g(x):1 + 9*(x2+...+xn)/(n-1)g = 1 + 9 * sum(x(2:end)) / (length(x)-1); % 第二个目标:f2 = g*(1 - sqrt(f1/g))f2 = g * (1 - sqrt(f1/g)); y = [f1 f2]; % 返回 2 维目标向量
end
  • 数学对应:严格实现 ZDT1 的公式,注意 g(x)g(\mathbf{x})g(x) 是除 x1x_1x1 外其他变量的线性组合。
② 支配关系判断
function b = Dominates(x, y)% x 支配 y 的条件:x 的所有目标 ≤ y,且至少一个 < yb = all(x <= y) && any(x < y); 
end
  • 数学对应:直接翻译 Pareto 支配的定义。
③ 非支配筛选
function nd = GetNonDominated(pop)n = length(pop);keep = true(1, n); % 标记是否保留for i = 1:nfor j = 1:n% 若存在 j 支配 i,则 i 不保留if i ~= j && Dominates(pop(j).Cost, pop(i).Cost)keep(i) = false;break;endendendnd = pop(keep); % 返回所有非支配解
end
  • 逻辑:双重循环遍历所有粒子,标记不被任何其他粒子支配的解。
④ 拥挤度裁剪
function pop = ReduceArchive(pop, N)if length(pop) <= Nreturn; % 数量不足,直接返回end% 提取所有目标值(2 维)Costs = reshape([pop.Cost], 2, [])'; % 初始化拥挤度矩阵D = zeros(length(pop)); %初始化一个用于存储目标空间中解之间距离的方阵(N*N)for i = 1:length(pop)for j = i+1:length(pop)% 计算解 i 和 j 的欧氏距离(目标空间)D(i,j) = norm(Costs(i,:) - Costs(j,:)); D(j,i) = D(i,j); % 对称矩阵endendD(1:size(D,1)+1:end) = inf; % 对角线设为无穷大(自身距离不计)crowd = mean(D, 2); % 每个解的平均距离(拥挤度:值越大,周围越空)% 按拥挤度降序排序,保留前 N 个(优先保留稀疏区域的解)[~, idx] = sort(crowd, 'descend'); %拥挤度越大越稀疏pop = pop(idx(1:N));
end

reshape(A, m, n),表示将数组 A 重塑为 m 行 n 列的矩阵(元素总数不变)
reshape([pop.Cost], 2, []),2 表示目标函数的数量(双目标),[] 表示让 MATLAB 自动计算列数(列数 = 总元素数 ÷ 行数 = 2×nPop ÷ 2 = nPop)
mean(D, 2) 的作用是计算距离矩阵 D\mathbf{D}D中每一行元素的平均值
mean(D, 2) 中的参数 2 表示按行计算均值(MATLAB 中 mean(A, dim) 表示沿第 dim 维求均值)。由于对角线元素为 ∞\infty,计算时自动排除自身(j=ij = ij=i),因此分母为 N−1N-1N1

  • 数学逻辑
    • 拥挤度:衡量解在目标空间的“稀疏程度”,距离越远(crowd 越大),说明该解周围的解越少,需要保留以维持多样性。
    • 裁剪:保留拥挤度高的解,保证 Pareto 前沿的均匀分布。

五、MOPSO 优化 ZDT1 的关键逻辑

  1. 平衡多样性与收敛性

    • 通过外部存档保存非支配解,跟踪 Pareto 前沿。
    • 通过拥挤度裁剪保证存档解分布均匀,避免陷入局部前沿。
  2. 处理多目标冲突

    • 用“支配关系”替代单目标的“适应度值”,不要求解严格优于所有其他解,而是保留“互不支配”的解集合。
  3. 应对 ZDT1 的特性

    • ZDT1 的 Pareto 前沿是连续曲线 f2=1−f1f_2 = 1 - \sqrt{f_1}f2=1f1,MOPSO 通过粒子迭代和存档维护,逐步逼近该曲线。

六、结果分析

  • 可视化:每代绘制“理论 Pareto 前沿”和“MOPSO 非支配解”,理想情况下,红色点会逐渐覆盖蓝色曲线,形成均匀分布的近似前沿。
  • 存档意义:外部存档 Rep 最终保存的非支配解,是多目标优化的“折中解集合”,可根据实际需求(如侧重 f1f_1f1f2f_2f2)选择。

代码展示了如何用 MOPSO 的数学模型优化 ZDT1 函数,以及每个步骤如何服务于“寻找 Pareto 前沿”的目标。MOPSO 的核心是群体协作 + 存档维护,适合解决多目标优化问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/90976.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/90976.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Coze Studio概览(三)--智能体管理

本文简要分析了Coze Studio中智能体管理功能&#xff0c;包括功能、架构以及核心流程。Coze Studio 智能体管理功能分析 1. 智能体管理架构概览 Coze Studio的智能体管理系统基于DDD架构&#xff0c;主要包含以下核心模块&#xff1a; 后端架构层次&#xff1a; API层 (coze): …

idea运行tomcat日志乱码问题

原因在于idea和tomcat文件编码格式不一样。可以把idea编码改成UTF-8 File | Settings | Editor | File Encodings 里面把GBK都改成UTF-8help里面 Edit Custom VM Options 添加一行-Dfile.encodingUTF-8重启idea

Javaweb - 13 - AJAX

发送请求的几种方式1. 浏览器的地址框中输入地址&#xff0c;回车2. html --> head --> scrip / linkimg 自动发送请求&#xff0c;无需手动触发3. a 标签&#xff0c;form 表单标签需要手动控制提交产生&#xff0c;且往往需要在新的页面上获得响应信息4. 运行 JS 代码…

qt常用控件-06

文章目录qt常用控件-06spinBox/doubleSpinBoxdateTimeEditdialSliderlistWIdgettableWidgettreeWidget结语很高兴和大家见面&#xff0c;给生活加点impetus&#xff01;&#xff01;开启今天的编程之路&#xff01;&#xff01; 今天我们进一步c11中常见的新增表达 作者&#…

小智源码分析——音频部分(二)

一、利用创建好的对象来调用音频服务 上周从上图的getaudiocode()方法进去感受了一下底层小智的构造如何实现。所以用一个codec来接收我们所构造的音频对象。下来是用构造好的音频对象来调用音频初始化服务Initialize&#xff0c;因为启动函数Application函数的类中有audio_ser…

菜鸟的C#学习(四)

文章目录一、格式说明符1.1、数字格式说明符&#xff08;适用于数值类型&#xff1a;int, double, decimal 等&#xff09;1. 标准数字格式2. 自定义数字格式1.2、日期时间格式说明符&#xff08;适用于 DateTime, DateTimeOffset&#xff09;1. 标准日期时间格式2. 自定义日期…

基于黑马教程——微服务架构解析(二)

本篇文章基于黑马程序员的微服务课程内容&#xff0c;结合个人学习过程中的理解与思考进行整理。本节将围绕以下几个问题展开&#xff1a;什么是网关和配置管理前面那篇文章&#xff0c;我们了解如何把一个单体的项目拆成分布式微服务项目&#xff0c;并且讲解一下各个服务之间…

Text2SQL智能问答系统开发(一)

开发一个面向企业的chatBI工作流 已完成 基础 Text2SQL 功能实现 实现用户输入自然语言问题后&#xff0c;系统能够自动生成 SQL 并执行返回结果。用户交互优化 支持用户通过补充信息对查询进行调整&#xff0c;提升易用性。模糊时间处理机制 对“最近”“近期”等模糊时间关…

Python HTML模块详解:从基础到实战

一、模块体系全景图 Python生态中处理HTML的工具可分为三大层级&#xff1a; 标准库基础层&#xff1a;html模块 html.parser第三方增强层&#xff1a;BeautifulSoup&#xff08;搭配解析器&#xff09;专业级工具层&#xff1a;lxml requests-html 二、标准库核心模块详解…

PyTorch常用Tensor形状变换函数详解

PyTorch常用Tensor形状变换函数详解 在PyTorch中&#xff0c;对张量&#xff08;Tensor&#xff09;进行形状变换是深度学习模型构建中不可或缺的一环。无论是为了匹配网络层的输入要求&#xff0c;还是为了进行数据预处理和维度调整&#xff0c;都需要灵活运用各种形状变换函数…

自主智能Agent如何重塑工作流自动化:技术、经济与未来展望

自主智能Agent的崛起与工作流自动化的范式革命2025年7月&#xff0c;当OpenAI向付费用户推出具备网页浏览和代码执行能力的ChatGPT Agent时&#xff0c;工作流自动化领域迎来了一场静默但彻底的革命。这款不再满足于简单问答的智能体&#xff0c;在一个安全的虚拟计算机环境中运…

技术架构、行业应用、工具链整合、挑战应对及未来趋势五大模块,引用多个权威来源数据与开源项目实现细节。

以下是一份关于AI技术落地的实战经验总结报告&#xff0c;结合代码示例、可视化图表与行业案例&#xff0c;内容分为技术架构、行业应用、工具链整合、挑战应对及未来趋势五大模块&#xff0c;引用多个权威来源数据与开源项目实现细节。AI技术落地实战指南&#xff1a;从架构设…

第 9 篇:神经网络初探——当AI拥有了“大脑”,世界从此不同

《人工智能AI之机器学习基石》系列⑨ 专栏核心理念: 用通俗语言讲清楚机器学习的核心原理,强调“洞察 + 技术理解 + 应用连接”,构建一个完整的、富有启发性的知识体系。

音频焦点 Android Audio Focus 进阶

旧焦点处理 示例调用链: requestAudioFocus() → propagateFocusLossFromGain_syncAf() → handleFocusLossFromGain()。 系统事件(如来电)→ 强制焦点变化 → handleFocusLossFromGain()。 函数 propagateFocusLossFromGain_syncAf 焦点持有者发生的焦点丢失通知 主要功能…

MFC UI对话框

文章目录对话框模态对话框创建销毁关闭CDialog::OnCancel()EndDialog()CDialog::DestroyWindow()非模态对话框创建销毁关闭delete this对话框 模态对话框 ​​阻塞父窗口​​&#xff0c;强制用户先处理对话框。关闭前父窗口无法响应事件。 创建 推荐&#xff1a;非指针方式…

RabbitMQ--@RabbitListener及@RabbitHandle

两者区别 在 Spring AMQP 中&#xff0c;RabbitListener 和 RabbitHandler 是处理 RabbitMQ 消息的核心注解&#xff0c;但职责和使用场景完全不同。以下从 定义、区别、场景、示例 逐层解析&#xff1a;一、核心定义1. RabbitListener作用&#xff1a;标记 方法或类 为 Ra…

【基于CKF的IMM】MATLAB例程,CV和CT两个模型下的IMM,二维,滤波使用CKF(容积卡尔曼滤波),附下载链接

本程序实现了基于交互多模型&#xff08;IMM&#xff09;容积卡尔曼滤波&#xff08;CKF&#xff09;的多模型融合定位方法&#xff0c;并与纯CV−CKFCV-CKFCV−CKF&#xff08;匀速模型&#xff09;和CT−CKFCT-CKFCT−CKF&#xff08;匀角速度转弯模型&#xff09;方法对比。…

AI资讯日报 - 2025年07月28日

AI资讯日报 | 2025年07月28日 周一 今日核心要点 精华提炼 技术突破 • 腾讯混元&#xff1a;开源发布、3D技术 • 书生Intern&#xff1a;开源发布、多模态 企业动态 • AI工具集&#xff1a;协同创作、视频生成 数据概览分类数量重点关注技术突破2 条开源发布、3D技术企业动态…

大语言模型 LLM 通过 Excel 知识库 增强日志分析,根因分析能力的技术方案(1):总体介绍

文章大纲 1. 核心目标 2. 系统总体架构 3. Google Cloud 端到端方案(含无 RAG & RAG 双模式) 3.1 无 RAG:Function-Calling 查表模式 3.2 RAG:托管式向量检索 4. 开源轻量级方案 5. 数字孪生联合验证(实验性) 6. 知识图谱增强(Neo4j) 7. 监控与持续优化(CometLLM)…

Deepseek + browser-use 轻松实现浏览器自动化

在数字化时代&#xff0c;浏览器应用广泛&#xff0c;浏览器自动化可大幅提升效率。Deepseek 是强大的智能语言模型&#xff0c;能精准解析复杂指令&#xff0c;browser - use 是专注浏览器操作的工具&#xff0c;提供丰富 API 接口&#xff0c;支持主流浏览器的各类自动化操作…