
凸优化
文章平均质量分 64
gophae
这个作者很懒,什么都没留下…
展开
-
如何使用OSQP-Eigen
更多的关于Eigen的学习参考更多的关于OSQP的学习参考我们在github上找到了使用eigen库封装起来的OSQP库,比原来的OSQP写代码时更好用一些。我们对照mathworks对quadprog的例子解释对库的使用一个标准的QP问题可以以如下的标准形式进行描述:注意这里面的写法不同的书本有些不同的表达:H , f 有时候也被写成 P, q.接下来给出几个典型的不同约束的二次规划形式:1,具有线性约束的二次规划matlab的调用方法是:H = [1 -1; -1 2]; f =原创 2021-03-23 15:12:28 · 12711 阅读 · 10 评论 -
使用QP方法解基于五次多项式形式的cost function minimization问题
我们在这里使用二次规划(QP)的方法解一个五次多项式形式的曲线的cost function minimization的问题。二次规划的标准形式如下:在之前的讨论的五次多项式的方法中,我们在采用空间上依旧有时间T信息,在这里时间T没有办法放进来,因此只适用于求解空间曲线,或者时间国定曲线的问题。标准的无阶多项式及其一阶导数,二阶导数的表达式如下:代价函数cost function中,我们只考虑横向偏移,以及jerk的大小:(当然我们还可以把比如横向速度和加速度考虑进来)那么写成矩阵形式为:对原创 2021-02-07 18:21:01 · 5667 阅读 · 1 评论 -
庞特里亚金最小值原理求解能耗最小化的时间最优OBVP问题
本文依据论文A computationally efficient motion primitive for quadrocopter trajectory generation中所述的方法,整理出其中对OBVP问题的求解方法。所谓的OBVP即为optimal boundary value problem。OBVP是特殊的BVP问题,最简单的BVP问题就是state sampled lattice planning,这其实也是一种lattice planner方法。常见的例子比如:给定初始位置和终点位置,原创 2020-08-10 20:54:38 · 10674 阅读 · 11 评论 -
等式与不等式约束的序列二次规划(SQP)
最后介绍同时有等式约束和不等式约束的SQP解法。这里面的解法比之前的稍微复杂一点,用到了line search method以及BFGS下降。使用line search是为了增加搜索的鲁棒性,确保在任意的初始点都可以最后收敛到局部最优或者全局最优点。使用BFGS的作用是简化hessian的计算量。解如下问题:跟之前一样,这个问题的kkt条件为:依旧是要找到x,lamda, mu的增量,是的下一步的位置能够逼近kkt条件。以上的KKT条件离散化后改写为:这个KKT条件的源问题就是如下的QP问题原创 2020-07-30 18:08:24 · 6667 阅读 · 3 评论 -
不等式约束的序列二次规划(SQP)
讲完等式约束的SQP,接下来就是不等式约束的SQP,其实两者的算法是完全没有区别的,唯一的就是因为引入了不等式约束,再推导上面就会去考虑近似KKT条件,从这个角度进行思考。解当前的问题就是解这个问题的对偶问题,两者在对偶间隙为0的时候取到最优点,取得的最优点满足KKT条件。接下来就是SQP with inequality constraints的推导,解如下的问题:离散化后,我们现在要做的就是在第K步的x_k和mu_k的基础上,找到一个方向,使得x_k+1和mu_k+1能够逼近下面的kkt条件:离原创 2020-07-30 16:31:20 · 4851 阅读 · 1 评论 -
等式约束的序列二次规划(SQP)
我们还是以陆吾生的Practical optimization algorithms and engineering applications第15章作为模板进行整理,讲的是真的清楚,对其中比较简洁的推导部分我手写了一部分方便初学者理解。这一节先介绍只有等式约束的SQP问题的解法。形如下式:根据一阶必要条件,我们知道在取得最优点的时候,拉格朗日函数取得0。假设我们在K步获得的x和lamda接近最优解,那么下一个k+1布需要做的就是找到delta x, delta lamda使得新的x, lamda原创 2020-07-29 10:49:45 · 2974 阅读 · 0 评论