OSQP求解凸优化问题的步骤及实例

OSQP是一种求解QP问题的数值优化软件,以下简单介绍OSQP软件的使用方法
在这里插入图片描述

一、 概述

首先是凸优化问题的定义以及两种典型的特例(线性规划与二次规划),如下图所示。

这里不介绍QP问题的拓展形式如SOCP等
在这里插入图片描述
OSQP软件的核心是ADMM算法

Ø交替方向乘子法(Alternating Direction Method of Multipliers,ADMM)是一种求解优化问题的计算框架, 适用于求解分布式凸优化问题

如果仅仅是简单的使用,不需要了解ADMM算法,但是如果调试OSQP软件的参数,就需要深入了解ADMM算法
在这里插入图片描述

二、OSQP-Eigen核心代码

在这里插入图片描述
以下主要介绍三个重要的头文件:
Data类:对C语言OSQP中的OSQPData(struct)进行包装
Setting类:对C语言OSQP中的OSQPSetting(struct)进行包装
Solver类:对C语言OSQP中的OSQPWorkspace(struct)进行包装

(1)Data类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)Setting类
在这里插入图片描述
(3)Solver类
在这里插入图片描述

三、求解过程

OSQP求解过程为6步曲

(1)创建求解器Solver的实例

(2)设置Setting参数

(3)设置Data参数

(4)初始化求解器Solver

(5)求解优化问题

(6)提取最优解

在这里插入图片描述

四、实例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值