首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MOSEK,一个专注而卓越的优化求解器(一)

本文转载自微信公众号“杉数科技” MOSEK是由丹麦MOSEK ApS公司开发的一款数学优化求解器,也是公认的求解二次规划、二阶锥规划和半正定规划问题最快的求解器之一,广泛应用于金融、保险、能源等领域。...其中,丹麦MOSEK ApS公司开发的数学优化求解器MOSEK在求解二次规划、二阶锥和半正定规划等优化问题中,显示出强大的生命力。...MOSEK可以解的数学优化问题非常宽泛(如下表格所示),其中最擅长求解的是二次规划、二阶锥和半正定规划问题,在金融、保险、能源等领域均有应用。...其中,MOSEK在求解大型线性和二次规划问题方面有不俗表现;在求解锥优化的综合性能方面甚至优于绝大部分其他求解器;而作为求解半正定规划问题时最主要的商用求解器,MOSEK表现优异。 ? ?...2017年,Erling Anderson参加了在上海财大举行的国际优化研讨班,并以“用MOSEK解决锥优化”为题目发表演讲,充分展示了很多看似无关的问题,最终都可以转化为锥优化问题来求解。

7.7K30

「精挑细选」精选优化软件清单

许多实际问题都可以用这种方法建模。例如,输入可以是电机的设计参数,输出可以是功耗,或者输入可以是业务选择,输出可以是获得的利润。 ?...MATLAB -优化工具箱中的线性、整数、二次和非线性问题;多极大值、多极小值、非光滑优化问题;模型参数的估计与优化。 MIDACO是一种基于进化计算的单目标和多目标优化的轻量级软件工具。...ModelCenter—用于集成、自动化和设计优化的图形化环境。 MOSEK 线性,二次,圆锥和凸非线性,连续和整数优化。...VisSim—一种用于动态系统仿真和优化的可视化框图语言。 WORHP 一个大规模的连续非线性优化稀疏求解器。 Freeware/free for academic use ?...MINTO采用分枝定界算法求解整数规划问题;个人使用的免费软件。 MOSEK -一个大规模的优化软件。解决线性、二次、圆锥和凸非线性、连续和整数优化问题。

5.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    大规模稀疏线性规划求解思路梳理

    这个需求是一个大规模稀疏线性规划问题,接下来本文将就上述需求描述如何加速求解。 0. 方案调研:Mosek 线性规划问题的求解快慢,既与迭代收敛速度有关,又和每轮迭代更新的速度有关。...通过调研,首先将Primal-dual和Mosek作为候选的求解方法 锅逗逗:内点法初探——线性规划标准形式下的求解思路 对比求解相同线性规划问题两种方法的收敛情况 上图显示了在10^4求解变量规模上...最终基于Mosek方法来求解线性规划问题。 1. 化解约束方程 问题 Mosek方法要求将输入的约束化为标准型: 在需求中只包含不等式约束,目标变量x的取值范围为x>=0,且存在x=0的情况。...(LU分解)速度更快且可并行化求解。...Felix Zhang:稀疏矩阵的分解和图(3):用十以内的加减乘除来看Multifrontal方法 7.

    1.7K10

    干货 | 运筹学、数学规划、离散优化求解器大PK,总有一款适合你

    支持模型: 该优化引擎用来求解线性规划(LP)、二次规划(QP)、带约束的二次规划(QCQP)、二阶锥规划(SOCP)等四类基本问题,以及相应的混合整数规划(MIP)问题。...支持模型: Gurobi 可以解决的数学问题: l 线性问题(Linear problems) l 二次型目标问题(Quadratic problems) l 混合整数线性和二次型问题(Mixed...MOSEK MOSEK提供了特定解决线性编程、混合整数编程以及其它非线性转换优化问题。...更为可贵的是,yalmip真正实现了建模和算法二者的分离,它提供了一种统一的、简单的建模语言,针对所有的规划问题,都可以用这种统一的方式建模; 至于用哪种求解算法,你只需要通过一次简单的参数配置指定就可以了...商业求解器最有名的有四个,美国IBM的CPLEX,Gurobi,英国的Xpress,三家的线性和整数规划求解器基本上从速度和稳定性一直稳居世界前三,丹麦的MOSEK在二次规划和锥优化优势明显。

    26.3K71

    内点法初探——线性规划标准形式下的求解思路

    代入可得(为了方便,我们用t乘目标函数考虑等价问题) 在上述目标中引入Lagrange乘子构建对偶问题有: 对应的KKT条件为 利用Newton Step可以有 整理可得 其中 ....通常通过消去 来求解方程,从第一个等式可得 带入第二个方程得 综上,使用barrier method求解标准形的线性规划问题的步骤可以整理如下: step1: 初始化 和可行点 step2...综上,使用primal dual求解标准形的线性规划问题的步骤可以整理如下: step1: 初始化 ,定义 ,定义参数 step2: 定义 ,计算 step3: 确定步长s,更新...原问题的对偶问题可以表示为 原问题的最优性条件表示为 原问题和对偶问题的对偶间隔为 引入两个非负变量 ,化简齐次模型得到HLF模型 显然,0解是一个合理但是没什么用的解。...求解HLF模型需要满足以下5个条件: 对应残差为 搜索更新方向为 写成方程组形式 代入 和 得 定义 通过求解 和 来计算 综上,使用mosek求解标准形的线性规划问题的步骤可以整理如下

    86610

    演讲 | 运筹学专家叶荫宇:在物流、零售与金融行业,优化算法如何改变决策方式?

    整体来说,所谓优化,是满足一定的约束条件下,使某一个函数最大。怎么把一个问题变成这个优化问题,就需要建模。一般是从建模到求解,再到决策,这就需要一套算法来求解。...在这个里面,把实际问题变成数学问题,变成优化问题,然后来求解。什么叫大数据,有很多不同的解释。...在统计中,二次的X的平方通常描述的是变化量,通常需要波动不太大,这就是简单的这个二次函数,实际上要解的也就是二次规划,常见的软件Barra、Axioma、ITG、Mosek。...现在,华尔街搞风险控制的都是用二次模型,用的求解器也就使用的 Mosek 。那么在交易过程当中,你的算法你的求解器比别人家快一些,我个人认为高频交易的竞赛也就是算法速度的竞赛。...反而是比较定制化的,用中国化来讲比较实用主义一些。不一定追求理论上的完美,有一个统一的算法,所以这点上,我觉得反过来,AI 对运筹学会有很大的促进,什么问题需要什么样的算法,本身需要学习的过程。

    2K81

    组合优化神器:Riskfolio-Lib(附代码)

    前言 组合优化是量化投资策略实施过程中非常重要的步骤,组合优化的过程是结合不同的投资目标及风险约束给出最优组合权重的过程。在数学上,它是一个凸优化的求解问题。...业界常用的凸优化的求解工具包有CVXPY及CVXOPT。但这两款工具包并不是专门针对投资组合优化的,在求解过程中还需要将组合优化的问题转化为对应的优化问题。...部分example还需要MOSEK求解器,推荐使用conda进行安装: conda install -c mosek mosek 介绍 Riskfolio-Lib支持多种组合优化模型,从最基础的均值方差模型...(Mean-Variance)、风险平价模型(Risk Parity)、Black-Litterman模型到基于机器学习的层次化聚类模型(Hierarchical Clustering)都有完整的支持。...均值方差组合优化 我们以最简单的均值-方差组合优化介绍Riskfolio的使用方法,首先使用是准备数据,我们用yfinance获取数据: import numpy as np import pandas

    5K30

    简单易学的机器学习算法——线性可分支持向量机

    一、线性可分支持向量机的概念     线性可分支持向量机是用于求解线性可分问题的分类问题。...则上述的优化问题就可以转化为: 可以将上述的最大化问题转化为最小化问题: 这样的问题是一个凸二次规划的问题。...: 再通过拉格朗日函数的对偶性,将上述的极小极大问题转换成一个极大极小问题: 此时,我们先求  将拉格朗日函数 分别对 和 求偏导,并令其为0,则为 可得: 将上面两个等式带入拉格朗日函数 ,得 再求...: 2、计算原始问题的最优解: 3、求分离超平面: 分类决策平面: 四、实验的仿真     我们通过二次规划来求解上述的带约束的优化问题,对于一个实例:(选自:《统计学习方法》)正例点为 , ,负例点为...,用二次规划来求解 H = X*X'; f = [-1;-1;-1]; A = Y; b = 0; lb = zeros(3,1); % 调用二次规划的函数 [x,fval,exitflag,output

    82150

    拓端tecdat|R语言投资组合优化求解器:条件约束最优化、非线性规划求解

    二次规划 (QP) 可以方便地解决以下形式的QP 最小化:约束: # 设置问题: # minimize -(0 5 0) %*% x + 1/2 x^T x# subject to...用于凸问题、MIP和非凸问题 ROI包为处理R中的优化问题提供了一个框架。它使用面向对象的方法来定义和解决R中的各种优化任务,这些任务可以来自不同的问题类别(例如,线性、二次、非线性规划问题)。...它允许用户用自然的数学语法来制定凸优化问题,而不是大多数求解器所要求的限制性标准形式。通过使用具有已知数学特性的函数库,结合常数、变量和参数来指定目标和约束条件集。现在让我们看看几个例子。...用CVXR来做 result <- solve(prob)str(result) 我们现在可以很容易地添加一个限制条件来解决非负的LS。...然而,如果问题不属于任何类别,那么就必须使用非线性优化的一般求解器。在这个意义上,如果一个局部的解决方案就够了,那么可以用许多求解器的包。

    1.4K20

    简单易学的机器学习算法——线性可分支持向量机

    一、线性可分支持向量机的概念     线性可分支持向量机是用于求解线性可分问题的分类问题。对于给定的线性可分训练数据集,通过间隔最大化构造相应的凸二次优化问题可以得到分离超平面: ?...可以将上述的最大化问题转化为最小化问题: ? ? 这样的问题是一个凸二次规划的问题。在线性可分情况下,训练数据集的样本点中的分离超平面距离最近的样本点的事例称为支持向量,即满足: ?...再通过拉格朗日函数的对偶性,将上述的极小极大问题转换成一个极大极小问题: ? 此时,我们先求 ? :     将拉格朗日函数 ? 分别对 ? 和 ? 求偏导,并令其为0,则为 ? ? 可得: ? ?...四、实验的仿真     我们通过二次规划来求解上述的带约束的优化问题,对于一个实例:(选自:《统计学习方法》)正例点为 ? , ? ,负例点为 ? ,图像为: ?...,用二次规划来求解 H = X*X'; f = [-1;-1;-1]; A = Y; b = 0; lb = zeros(3,1); % 调用二次规划的函数 [x,fval,exitflag,output

    1.6K30

    【技术分享】非负最小二乘

    spark中的非负正则化最小二乘法并不是wiki中介绍的NNLS的实现,而是做了相应的优化。它使用改进投影梯度法结合共轭梯度法来求解非负最小二乘。...把极小化这类函数的问题称为最小二乘问题。...1.2 线性最小二乘问题   在公式(1.1)中,假设 math.1.3.png   其中,p是n维列向量,bi是实数,这样我们可以用矩阵的形式表示(1.1)式。...在$x^{(k)}$时,将函数$f_{i}(x)$线性化,从而将非线性最小二乘转换为线性最小二乘问题, 用(1.6)中的公式求解极小点$x^{(k+1)}$ ,把它作为非线性最小二乘问题解的第k+1次近似...令   上式右端是$f_{i}(x)$在$x^{(k)}$处展开的一阶泰勒级数多项式。令  用∅(x)近似F(x),从而用∅(x)的极小点作为目标函数F(x)的极小点的估计。

    3.9K30

    理解梯度下降法

    SIGAI-AI学习交流群的目标是为学习者提供一个AI技术交流与分享的平台。 导言 最优化问题在机器学习中有非常重要的地位,很多机器学习算法最后都归结为求解最优化问题。...最优化问题 最优化问题是求解函数极值的问题,包括极大值和极小值。...相信所有的读者对这个问题都不陌生,在初中时我们就学会了求解二次函数的极值(抛物线的顶点),高中时学习了幂函数,指数函数,对数函数,三角函数,反三角函数等各种类型的函数,求函数极值的题更是频频出现。...这样,只要函数的可导的,我们就可以用这个万能的方法解决问题,幸运的是,在实际应用中我们遇到的函数基本上都是可导的。...在机器学习之类的实际应用中,我们一般将最优化问题统一表述为求解函数的极小值问题,即: ? 其中x称为优化变量,f称为目标函数。极大值问题可以转换成极小值问题来求解,只需要将目标函数加上负号即可: ?

    88510

    译 | 在R中使用quadprog包求解二次规划

    CDA作者库凝聚原创力量,只做更有价值的分享。 概述 本文将探究一个被称为二次规划的优化问题,这是一种特殊形式的非线性约束优化问题。...二次规划在许多领域都有运用,比如投资组合优化、求解支持向量机(SVM)分类问题等。在R中求解二次规划有许多包,这次,我们将讨论一下quadprog包。...在我们开始讲解案例之前,我们将先简短地介绍一下二次规划的机理。 什么是二次规划 对于一个二次规划问题,首先要考虑的就是一个二次目标函数: ? 示例一: 目标函数 ?...化为标准型 想要用quadprog包求解二次规划,我们需要同时转化我们的目标函数和约束条件为矩阵形式。这里是官方文档的说明: ?...具体实现 quadprog包默认是求解极小值问题的,所以,我们的约束条件默认的形式也就是AX>=bvec。通常我们需要把一些原来是求极大值的问题或者<=约束通过乘以负号来转化。

    1.7K90

    LASSO回归与L1正则化 西瓜书「建议收藏」

    简化优化问题 这里若通过梯度下降法对f(x)进行最小化,则每一步下降迭代实际上等价于最小化二次函数f(x),从而推广到我们最上面的优化目标,类似的可以得到每一步的迭代公式: 令 则我们可以先计算...z,再求解优化问题: 5)求解 令xi为x的第i个分量,将上式展开可以看到没有xixj(x≠j)的项,即x的各分量互不影响,所以优化目标有闭式解.这里对于上述优化问题求解需要用到Soft Thresholding...展开目标函数: 从而优化问题变为求解N个独立的函数: 这是我们常见的二次函数,对其求导: 令导数为0: 看到两边都有x,所以我们要对上述情况进行讨论: A.z>λ/2时 假设 x<0 ,...综合以上三种情况: 3)对应西瓜书的L1正则化与LASSO回归 这里的解对应的优化问题是: 而我们PGD优化的问题是: 对上式同乘2/L不影响极值点位置的选取,所以我们的PGD优化问题变成: 带入综合三种情况的到的最终解...: 西瓜书上11.14也就得证了~ 总结: 终于看完了西瓜书11章特征选择与稀疏学习,发现从头至尾都在提到用LASSO解决问题,所以就结合第六章的正则化和之前的模型评价,对正则化范数以及LASSO重新认识了一下

    66440

    凸优化(A)——坐标下降法,对偶上升法,再看增强拉格朗日法

    总体来说坐标下降法相比较其它方法而言,还是有一定优势的。 ? 当然了这个问题可以用坐标下降法求解,也是因为它本身就是一个凸且光滑的问题。...{i = 1}^ n \xi_i 那么如果说 ,那么它的对偶问题可以写成 考虑求解此对偶问题的算法。...https://www.bilibili.com/video/BV1ZK4y1b7Xt/ 这里所采用的是序列最小化算法(Sequential Minimal Optimization, SMO),这个算法主要用在对偶问题这种二次问题上...这里的思路很有趣,即每一次挑选不满足互补松弛条件的两个变量 ,然后固定其它变量为常数,这样的话可以把问题变成一个在一条线段上求解一个二次函数的极小值问题。...当然了很多时候的问题虽然不是二次问题,但是可以通过一些变换来把它转成二次问题。不过这就是非常精细的,需要具体问题具体分析的内容,我们这里也就不详谈了。 这个算法其实还有一些其它的延伸。

    1.4K10

    【数学建模】【优化算法】:【MATLAB】从【一维搜索】到】非线性方程】求解的综合解析

    ,由于 linprog 求解的是最小化问题,所以取负。...它利用目标函数的一阶和二阶导数信息,通过在当前点处近似目标函数为二次函数,逐步逼近函数的极小值。牛顿法因其快速收敛和高精度,常用于高精度问题求解。...二次规划问题可以通过各种优化算法求解,如内点法和信赖域法。该方法在处理具有二次目标函数的优化问题中具有高效性和精度。 优势: 精度高: 利用二次函数的性质,提高求解精度。...总结: 二次规划通过利用二次目标函数的性质,能够高效地求解具有线性约束的优化问题。在投资组合优化竞赛中,利用二次规划可以找到最优的投资组合,以最大化收益和最小化风险。...天线设计优化 已知数据: 假设我们需要设计一个天线,使其在特定频段内的性能最佳化。天线性能可以用一个函数 P(x) 表示,设计变量 x 需要满足某些约束条件。

    19810

    优化算法——牛顿法(Newton Method)

    处的一阶导数(梯度)和二阶导数(Hessen矩阵)对目标函数进行二次函数近似,然后把二次模型的极小点作为新的迭代点,并不断重复这一过程,直至求得满足精度的近似极小值。...二、基本牛顿法 1、基本牛顿法的原理     基本牛顿法是一种是用导数的算法,它每一步的迭代方向都是沿着当前点函数值下降的方向。     我们主要集中讨论在一维的情形,对于一个需要求解的优化函数 ?...,求函数的极值的问题可以转化为求导函数 ? 。对函数 ? 进行泰勒展开到二阶,得到 ? 对上式求导并令其为0,则为 ? 即得到 ? 这就是牛顿法的更新公式。 2、基本牛顿法的流程 给定终止误差值 ?...x变量 * @return 二次导函数的值 */ public double getTwoDerivative(double x) { return 2; } /** * 利用牛顿法求解...x变量 * @return 二次导函数的值 */ public double getTwoDerivative(double x) { return 2; } /** * 利用牛顿法求解

    30.2K93
    领券