【第六讲---非线性优化】

news2024/11/15 21:30:34

优化与优化库

优化问题

👉优化问题组成
在这里插入图片描述
优化对象+目标函数/损失函数/评价函数+约束条件

👉分类
可以分为凸优化和非凸优化
什么是凸优化呢?

  • 目标函数是凸的(有单一极值点称为是凸的)
  • 不等式约束是凸的
  • 所在的空间是凸的
  • 等式约束是仿射形式
    常见形式
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
非凸优化
在这里插入图片描述
只要不是凸的,那就是非凸

👉数据来源
批量式betch:一次性给定一批观测数据
增量式incremental:数据是随着时间逐渐采集的
难点是如何根据后面的数据调整之前的估计结果

👉优化对象
合理选择优化对象:
关于优化对象的选择,在SLAM中可以选择优化对象是位置、姿态、传感器参数等
机器人抽象量(上位机): 优化对象可以是时间多项式轨迹、推力大小方向、移动速度、转向角等
执行器底层量(下机位):优化对象可以是电机转速和舵机转角
维度削减:
👉目标函数
目标函数的选择与要处理的问题密切相关
前端路径点搜索
后端优化生成轨迹
轨迹跟踪
👉约束条件
无约束优化一般来说会比有约束优化更容易求解,我们很想把有约束优化化成无约束优化问题
我们可以把约束加在目标函数中(拉格朗日乘子法)
转换对象空间(三角换元,三角函数简化公式等)
👉问题求解

  • 数值解:求导,找极值点
  • 解析解:求梯度,找增量
    常见优化库:
  • ceres:代码开源、用于求解具有边界约束的非线性最小二乘和一般无约束优化问题。
  • g2o:代码开源、用于解决非线性最小二乘问题,特点是将优化中涉及的对象用图的形式来表示。
  • gtsam:使用因子图和贝叶斯网络作为底层计算范式而不是稀疏矩阵来优化最可能的配置
  • osqp:多位大牛联合开发,用来求解QP问题的解
  • CVX:MATLAB封装包,内嵌多种优化库
  • MOSEK:适合的问题多,学生可以免费用,无源代码,库仅支持x86
  • GLKP:快速鲁棒LP求解器,代码开源
  • OOQP:快速鲁棒QP求解器,代码开源
  • casadi:
    学习资料:
    在这里插入图片描述

非线性最小二乘问题

无约束最小二乘是优化问题
关于非线性,我们只需要将其在局部线性化就可以了,具体的求解方式,我们选择迭代求解(比较通用的方法,因为复杂问题通常是难以求出解析解的)
非线性最小二乘的求解是比较独立的模块,是解决非线性最小二乘问题的常用方法,并不是状态估计独有的。

非线性最小二乘求解方法

👉问题描述
在这里插入图片描述
解析解:fx的形式复杂,不一定能求出解析解
数值解:
在这里插入图片描述
求解数值解的关键是:各个维度加还是减,加多少or减多少
在这里插入图片描述
👉直接方法
一阶梯度下降
二阶(牛顿法):
仅使用一阶梯度作为下降方向,有时并不能很好的拟合函数的局部趋势
在这里插入图片描述
梯度下降方法过于贪心, 容易走出锯齿形路线
牛顿法中,海森矩阵H计算不易,求逆也不易

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

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

相关文章

容器和云原生(二):Docker容器化技术

目录 Docker容器的使用 Docker容器关键技术 Namespace Cgroups UnionFS Docker容器的使用 首先直观地了解docker如何安装使用,并快速启动mysql服务的,启动时候绑定主机上的3306端口,查找mysql容器的ip,使用mysql -h contain…

【脚踢数据结构】图(纯享版)

(꒪ꇴ꒪ ),Hello我是祐言QAQ我的博客主页:C/C语言,Linux基础,ARM开发板,软件配置等领域博主🌍快上🚘,一起学习,让我们成为一个强大的攻城狮!送给自己和读者的…

Pytest和Unittest测试框架的区别?

如何区分这两者,很简单unittest作为官方的测试框架,在测试方面更加基础,并且可以再次基础上进行二次开发,同时在用法上格式会更加复杂;而pytest框架作为第三方框架,方便的地方就在于使用更加灵活&#xff0…

Python Django 模型概述与应用

今天来为大家介绍 Django 框架的模型部分,模型是真实数据的简单明确的描述,它包含了储存的数据所必要的字段和行为,Django 遵循 DRY Principle 。它的目标是你只需要定义数据模型,然后其它的杂七杂八代码你都不用关心,…

龙迅LT9711 2PORT MIPI或者LVDS转TYPE-C

LT9711 1.描述: Lontium LT9711是双端口MIPI/LVDS到DP1.2转换器,内部有c型替代模式开关和PD控制器。MIPI DSI/CSI输入具有可配置的单端口或双端口,具有1个时钟通道,1个~4个数据通道,最大运行2Gbps/通道,可…

2023 年值得关注的 8 个最佳免费开发者工具

开发者工具对开发人员的重要性不言而喻,保持最新工具的更新可以显著提高你的工作效率并简化您的工作流程。随着技术的快速发展,新的开发工具不断被引入市场。今天,我们将分享 2023 年你值得关注的最新开发者工具。 1.Plaky Plaky 是一种基于…

JVM——JDK 监控和故障处理工具总结

文章目录 JDK 命令行工具jps:查看所有 Java 进程jstat: 监视虚拟机各种运行状态信息 jinfo: 实时地查看和调整虚拟机各项参数jmap:生成堆转储快照**jhat**: 分析 heapdump 文件**jstack** :生成虚拟机当前时刻的线程快照 JDK 可视化分析工具JConsole:Java 监视与管理控制台连接…

司徒理财:8.17黄金反弹遇阻,1900现价空!

黄金趋势下跌,现在反弹遇阻,继续空!除非行情强势站上1907位置,否则还是空头下跌走势,反弹遇阻直接空!      黄金从走势上看,一直阴跌,并且在昨日加速下行!现在黄金受…

ubuntu18.04从0到1在ros上跑yolo5

ubuntu篇---ubuntu20.04安装cuda和cudnn_ubuntu安装cudann_心惠天意的博客-CSDN博客操作系统环境:Ubuntu 20.041. 安装N卡驱动首先我们需要添加源,sudo add-apt-repository ppa:graphics-drivers/ppasudo apt update然后检查可以安装的驱动版本&#xff…

华为将收取蜂窝物联网专利费,或将影响LPWAN市场发展

近日,华为正式公布了其4G和5G手机、Wi-Fi6设备和物联网产品的专利许可费率,其中包含了长距离通信技术蜂窝物联网。作为蜂窝物联网技术的先驱,华为是LTE Category NB (NB-IoT)、LTE Category M和其他4G物联网标准的主要贡献者。 在NB-IoT领域…

『论文精读』Data-efficient image Transformers(DeiT)论文解读

『论文精读』Data-efficient image Transformers(DeiT)论文解读 文章目录 一. DeiT简介二. 知识蒸馏(knowledge distillation)2.1. KLDivloss2.2. 蒸馏温度 τ \tau τ2.3. distillation in transformer 三. better hyperparameter四. data augmentation五. label smoothing参…

随机微分方程

应用随机过程|第7章 随机微分方程 见知乎:https://zhuanlan.zhihu.com/p/348366892?utm_sourceqq&utm_mediumsocial&utm_oi1315073218793488384

2023年4大收银系统软件排名(真实测评)

现在满大街的各种服装店、便利店、百货店、母婴店...... 每天都要处理大量的订单。 使用传统的人工开单记账,效率低下、客户体验差、而且容易出错,需要耗费很多时间来回对账; 聪明的零售店老板都已经开始使用收银系统软件,通过手…

线程同步条件变量

为何要线程同步 在线程互斥中外面解决了多线程访问共享资源所会造成的问题。 这篇文章主要是解决当多线程互斥后引发的新的问题:线程饥饿的问题。 什么是线程饥饿?互斥导致了多线程对临界区访问只能改变为串行,这样访问临界资源的代码只能…

手把手教你Element Plus前端导出Excel表格

目录 需求背景: 项目环境: 最终效果: 具体实现: 1、下载第三方依赖包: pnpm下载命令: npm下载命令: 2、查看是否下载成功: 3、引入需要使用的页面js中 4、编写导出表格函数…

【0基础入门Python笔记】一、python 之基础语法、基础数据类型、复合数据类型及基本操作

一、python 之基础语法、基础数据类型、复合数据类型及基本操作 基础语法规则基础数据类型数字类型(Numbers)字符串类型(String)布尔类型(Boolean) 复合数据类型List(列表)Tuple&…

【傅里叶级数与傅里叶变换】数学推导——2、[Part2:T = 2 π的周期函数的傅里叶级数展开] 及 [Part3:周期为2L的函数展开]

文章内容来自DR_CAN关于傅里叶变换的视频,本篇文章提供了一些基础知识点,比如三角函数常用的导数、三角函数换算公式等。 文章全部链接: 基础知识点 Part1:三角函数系的正交性 Part2:T2π的周期函数的傅里叶级数展开 P…

顺序程序设计

#include <iostream> #include <stdio.h>int main() {float f, c;f 64.0f;c (5.0 / 9) * (f - 32);printf("f%f \n \\c%f\n", f, c);return 0; }

poste邮件服务器搭建

关于poste poste是一款开源邮件服务软件&#xff0c;可以很方便的搭建&#xff1a;SMTP IMAP POP3 反垃圾邮件 防病毒 Web 管理 Web 电子邮件&#xff0c;支持以下特性。 SPF、DKIM、DMARC、SRS 的原生实现&#xff0c;带有简单的向导用于检测木马、病毒、恶意软件的防…

【Hyper-V】Windows11 家庭版怎么启用虚拟机Hyper-V

在电脑Windows11系统上启用虚拟机Hyper-V&#xff0c;打开 启用和关闭WIndows功能&#xff0c;找到其中一项Hyper-V&#xff0c;对于家庭版的系统用户来说&#xff0c;这个选项是没有的&#xff0c;接下来讲一讲怎么开启。 安装Hyper-V 创建一个文件名为Hyper-v.bat&#xff…