5.4 二次规划问题:QP优化

type
status
slug
date
summary
tags
category
password
icon
站在天堂看地狱,人生就像情景剧;站在地狱看天堂,为谁辛苦为谁忙。 —武林外传 白展堂
🏰代码及环境配置:请参考0.2 环境配置和代码运行 | 动手学运动规划!

在运动规划算法中, QP优化是非常常见的优化问题形式, 本节我们将进行介绍.

5.4.1 QP优化定义

二次规划(Quadratic Programming)优化,是指优化问题的目标函数为二次函数, 且约束条件为线性的问题。定义如下:
  • 决策变量是
  • 目标函数: 二次函数, 矩阵并是一个对称矩阵, 向量
  • 线性约束: 矩阵 , 上下界向量确定.

5.4.2 QP优化的特点

首先我们介绍一下半正定矩阵定义:
是一个 的实对称矩阵,如果对所有的非零实向量 ,都有 ,则称 为半正定矩阵。特别地,如果 对所有非零 都成立,则称 为正定矩阵。
在QP优化问题中, 当矩阵是半正定矩阵时, 该问题是一个凸二次规划问题. 对于凸优化问题, 极值点就是全局最优解, 具有求解快速的优点.

5.4.3 求解器

在工程中, 我们经常会调用现有的求解器来完成优化问题. 这样可以专注于构造合适的优化问题来解决运动规划问题, 而不是求解优化问题本身. 这很适合初学者快速上手相关运动规划算法.
有这样几种常见的QP优化求解器:
  • OSQP
  • qpOASES
  • OOQP
其中OSQP(Operator Splitting Quadratic Program)是一个在运动规划算法中被广泛运用的求解器。它基于交替乘子法(Alternating Direction Method of Multipliers, ADMM)求解QP问题, 我们将基于OSQP求解一个简单的例子.

5.4.4 例子

我们定义了这样一个QP问题, 目标函数是二次函数, 约束条件是3个线性约束:
, 将问题整理成矩阵的形式:
将对应的矩阵整理到代码中, 就可以调用OSQP求解这个QP问题了
求解结果如下:
动手学运动规划(Motion Planning)动手学运动规划(Motion Planning)
Loading...
目录
文章列表