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

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

在如今大数据时代的浪潮中,运筹学进一步蓬勃发展,如何将大数据转化为最优决策成为其研究的重点课题。运筹学的应用场景是在满足约束条件下能够最大化、最小化单个或多个目标,从而得出最优决策。...实现决策最优有两大关键步骤:建模,将问题通过数学形式准确有效地表达;求解,获得最优化目标函数的决策。...现实中,这么庞大的资产问题,变量复杂、数据繁多,求解也很困难。由于求解速度快、求解效果稳定(数值获取中的误差对结果影响小),MOSEK成为了很多金融机构的不二之选。 ?...现如今,没有哪一款优化求解器在分门别类地比较求解器各个维度的指标中均能胜出。MOSEK没有称霸的野心,却用了二十年的坚持成为了子领域的翘楚。这就是因专注而卓越的MOSEK。...杉数科技与MOSEK 目前的中国,随着企业,特别是金融行业,对精细高速决策的需求迅速增加,市场对MOSEK等求解器的巨大需求也在逐步觉醒,开始有很多企业,特别是基金正以各种形式使用MOSEK(在我们的下篇文章里

7.7K30

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

业界常用的凸优化的求解工具包有CVXPY及CVXOPT。但这两款工具包并不是专门针对投资组合优化的,在求解过程中还需要将组合优化的问题转化为对应的优化问题。...今天我们介绍的Riskfolio-Lib是专门针对投资组合优化的工具包,其构建于CVXPY之上(其实CVXPY也用到了CVXOPT的求解器),并于Pandas紧密结合。...但需要注意的是,在安装riskfolio-lib前,需要安装cvxpy。...部分example还需要MOSEK求解器,推荐使用conda进行安装: conda install -c mosek mosek 介绍 Riskfolio-Lib支持多种组合优化模型,从最基础的均值方差模型...,我们常常会对组合有因子暴露的约束,项目中给的例子是已知因子组合的收益,因子暴露未知,所以首先需要通过因子收益与股票收益的回归,求解每个股票的因子暴露,具体我们看代码: import numpy as

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

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

    通过调研,首先将Primal-dual和Mosek作为候选的求解方法 锅逗逗:内点法初探——线性规划标准形式下的求解思路 对比求解相同线性规划问题两种方法的收敛情况 上图显示了在10^4求解变量规模上...最终基于Mosek方法来求解线性规划问题。 1. 化解约束方程 问题 Mosek方法要求将输入的约束化为标准型: 在需求中只包含不等式约束,目标变量x的取值范围为x>=0,且存在x=0的情况。...优化 分析发现在Mosek方法涉及到的二阶导矩阵M是一个对称、正定、稀疏的方阵,可以采用共轭梯度法(Conjugate Gradient),通过直接求解线性方程组M△=-res得到△的值,共轭梯度法相较直接求解法...通过统计Mosek方法每轮迭代中求解线性方程组的难易程度发现,随着Mosek方法迭代轮数的增加,求解线性方程组越来越困难(获得解向量的迭代次数增加),后期甚至到了无法接受的上千次迭代次数。...Preconditioner求解过程比Incomplete Cholesky分解过程更容易,最终策略:在Mosek迭代初期系数矩阵条件数较低的前提下,先采用DPCG求解,待求解过程中迭代次数超过一定阈值时

    1.7K10

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

    在求解线性规划问题时,可以将上述的一般形式通过某种变化(如引入松弛变量等)转换成标准形式: 其中 本文主要讨论利用内点法求解线性规划标准形的过程。...内点法求解线性等式和不等式约束的优化问题,是通过将其简化成一系列线性等式约束问题求解。...通常通过消去 来求解方程,从第一个等式可得 带入第二个方程得 综上,使用barrier method求解标准形的线性规划问题的步骤可以整理如下: step1: 初始化 和可行点 step2...Step可得 代入 可得 进一步代入可得 依次计算 的值。...求解HLF模型需要满足以下5个条件: 对应残差为 搜索更新方向为 写成方程组形式 代入 和 得 定义 通过求解 和 来计算 综上,使用mosek求解标准形的线性规划问题的步骤可以整理如下

    86610

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

    给定一个输入和输出值之间的转换,描述一个数学函数f,优化处理生成和选择一个最佳解决方案从一些组可用的替代方案,通过系统地选择输入值在一个允许集,计算的输出功能,录音过程中发现的最好的输出值。...优化问题,在本例中是最小化问题,可以用以下方式表示 给定:一个函数f:一个{\displaystyle \to}\to R,从某个集合a到实数 搜索:A中的一个元素x0,使得f(x0)≤f(x)对于A中的所有...在连续优化中,A是欧氏空间Rn的某个子集,通常由一组约束、等式或不等式来指定,这些约束、等式或不等式是A的成员必须满足的。在组合优化中,A是离散空间的某个子集,如二进制字符串、排列或整数集。...AMPL 用于大规模线性、混合整数和非线性优化的建模语言。 ANTIGONE 一个确定性全局优化MINLP求解器。...MINTO采用分枝定界算法求解整数规划问题;个人使用的免费软件。 MOSEK -一个大规模的优化软件。解决线性、二次、圆锥和凸非线性、连续和整数优化问题。

    5.8K20

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

    Gurobi Gurobi 是由美国Gurobi公司开发的新一代大规模数学规划优化器,在 Decision Tree for Optimization Software 网站举行的第三方优化器评估中,展示出更快的优化速度和精度...2017年公布了第一版的线性规划求解器的源代码,包括了内点法求解线性规划的完整算法,这在开源求解器里是比较少见的,代码基本可以通过Netlib的问题集测试。...包括了完整的Presolve,LU分解,CrossOver等商业求解器的全流程。目前把求解变量限制在50万以下,在Netlib上测试结果跟Gurobi相比差距还不错。...例如对于MIPLIB2010测试库中具有164547个变量、328818个约束的例子MAP18,CMIP仅需847秒可求得全局最优解。 Part3 求解器大PK 目前求解器主要有开源和商业两个流派。...商业求解器最有名的有四个,美国IBM的CPLEX,Gurobi,英国的Xpress,三家的线性和整数规划求解器基本上从速度和稳定性一直稳居世界前三,丹麦的MOSEK在二次规划和锥优化优势明显。

    26.3K71

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

    没有最大值或最小值的事物是不存在的)。...在大数据时代的商务决策中,要用到计算机、信息学,包括机器学习,数据搜集,然后我们要通过机器学习做一些规律性分析,然后就是建模、决策。...所以在测不准的情况下,在决策上是不是可以做点工作,在知道测不准,可能有不同状况出现的情况下,决策是不是可以调整一下。比如说,可以保证我在期望值省时一些,但是我保证永远不会破产,防备那些恶性大事件发生。...在统计中,二次的X的平方通常描述的是变化量,通常需要波动不太大,这就是简单的这个二次函数,实际上要解的也就是二次规划,常见的软件Barra、Axioma、ITG、Mosek。...现在,华尔街搞风险控制的都是用二次模型,用的求解器也就使用的 Mosek 。那么在交易过程当中,你的算法你的求解器比别人家快一些,我个人认为高频交易的竞赛也就是算法速度的竞赛。

    2K81

    Python遗传和进化算法框架(一)Geatpy快速入门

    编写脚本实现遗传算法: 以一个非常简单的单目标优化问题为例:求f(x)=x*sin(10*pi*x)+2.0 在 x∈[-1,2] 上的最大值。...Geatpy提供了详尽的API文档,比如要查看上面代码中的”ranking”函数是干什么的,可以在python中执行 import geatpy as ga help(ga.ranking) 即可看到”...:最小化该目标;-1:最大化该目标) Dim = 30 # 初始化Dim(决策变量维数) varTypes = [0] * Dim # 初始化varTypes(决策变量的类型...calReferObjV()用来计算理论的全局最优解,这个理论最优解可以是通过计算得到的,也可以是通过导入外部文件的数据得到的,如果待求解的问题没有或尚不知道理论最优解是多少,则这个calReferObjV...pop.Phen是种群的表现型矩阵,意思是种群染色体解码后得到的表现型矩阵,它对应的即为问题类中的决策变量。Phen是一个矩阵,每一行对应种群中的一个个体的表现型。

    3.1K20

    使用Python进行优化:如何以最小的风险赚取最多的收益?

    这确实是一个模糊的概念,对不同的人可能意味着不同的事情。然而,在普遍接受的经济理论中,股票价格的变化性(波动性)(在固定的时间范围内定义)等同于风险。...一个例子问题 在本文中,我们将展示一个非常简化版本的投资组合优化问题,它可以被转换成一个LP框架,并使用简单的Python脚本来有效地解决。...因此,一个特定投资组合的收益由这些向量的内积给出,它是一个随机变量。最重要的问题是: 我们如何通过比较随机变量(对应于不同的投资组合)来选择一个“最佳”的投资组合?..., 注意CVXPY框架中使用了quad_form()和Problem()等非常有用的类。...请查看CVXPY包的示例页面(地址:https://www.cvxpy.org/examples/index.html ),了解使用该框架可以解决的优化问题的范围。

    1.6K41

    AI for Science:清华团队提出使用低维优化求解器求解高维大规模优化问题的高效方法

    摘要:在2023年7月即将召开的机器学习领域知名国际会议ICML2023中,清华大学计算机系徐华老师团队以长文的形式发表了采用低维优化求解器求解高维/大规模优化问题的最新研究成果(论文标题“GNN&GBDT-Guided...实验表明,该框架可以仅使用原问题规模30%大小的求解器解决百万级别的整数规划问题,并且在相同的运行时间下能够得到比商用优化求解器Gurobi和学术优化求解器SCIP更好的结果。...在多任务图神经网络编码阶段,首先将整数规划问题表示为二分图的形式并使用图划分算法(FENNEL)将二分图进行划分,接着使用具有半卷积结构的多任务图神经网络来学习决策变量的神经编码表示,其中损失函数将同时考虑该问题最优解值和图划分结果的度量函数...在梯度提升决策树预测阶段,使用梯度提升决策树通过神经编码结果来预测整数规划问题中对应的决策变量的最优解值,并同时生成邻域划分的指导信息。...在邻域优化阶段,大部分决策变量被固定为梯度提升决策树预测结果的舍入值,而剩余的决策变量则使用固定半径搜索来找到初始解值。

    1.1K30

    观点 | 集齐叶荫宇、蓝光辉、陈溪、李建、王子卓的大牛圆桌会,关于算法优化他们都聊了什么

    针对 AI 在大数据时代的商业决策,需要通过机器学习大量的数据,然后进行建模、决策。但决策过程,或许会用到一些很传统的优化模型和运筹学模型。...建立模型再做决策,涉及到优化的系统集成,不管是在机器学习过程中还是在决策过程中,都需要用到优化模型或者算法,那么有没有一个工具,或者黑匣子能够解决这个问题,有,我们叫做求解器。...根据问题的规模和问题的难度,求解精度的要求,可以设计不同类型的求解器,比如说中等规模的求解器,1000个到1000个变量或约束。...更大规模的求解器你需要解10的9次方的这个变量或者6次方的变量,规模非常大,然后可能我们需要有不同的这个特定方法求解,加速算法、随机梯度算法、坐标梯度下降用来求解更大规模的问题。...AI 科技评论了解到,杉数科技也自主开发了一个求解器,和 TensorFlow进行对比,在9个公开数据集上对两种求解器进行测试,比 TensorFlow 快了10倍-70倍。

    1.4K60

    ChatGPT:搞『量化投资』我是认真的!

    并温馨的提示,使用Tushare前需要申请相关的Token。 关于策略回测 我们要求ChatGPT介绍相关适用于A股市场的策略回测框架,并指定了VNPY。...ChatGPT给出的答案都是比较成熟且流行的开源回测框架。 接下来,使用vnpy实现了一个通道突破的趋势跟踪策略。...关于量化研究 如何使用风险模型进行组合优化,ChatGPT提到了常用的组合优化模型,其中也包括风险平价模型,并主动给出了使用cvxpy进行优化求解的实例代码。...使用Transformer进行股价短期预测的实例代码: 如何对两个变量的因果关系进行统计检验,ChatGPT不但给出了多种统计检验的理论,还给出了相关代码: 给出使用Optuna进行lightgbm...ChatGPT虽然无法完成复杂的策略构建并直接生成稳健的量化策略,但可以极大的提高量化研究人员获取知识的效率。 在日常研究过程中,ChatGPT可以作为我们得力的助手!

    1.1K70

    遗传算法工具箱约束怎么输入_遗传算法中怎么添加约束条件

    “套路”写在一个函数里面,而经常要变的部分:变量范围、遗传算法参数等写在这个函数外面,对于要求解的目标函数,由于在遗传进化的过程中需要进行调用目标函数进行计算,因此可以把目标函数、约束条件写在另一个函数里面...: 这里要插入讲一下“区域描述器”(见代码1中的FieldDR),它是用于描述种群染色体所表示的决策变量的一些信息,如变量范围、连续/离散性。...对于二进制编码,二进制种群的染色体具体代表决策变量的什么含义是不由染色体本身决定的,而是由解码方式决定的。因此在创建二进制种群染色体之初就要设定好译码矩阵(又称“区域描述器”)。...下面学习下如何使用Geatpy提供的进化算法框架来求解上述问题:(关于使用框架来优化的介绍可详见Geatpy教程 – Geatpy) 在这里我们可以回顾以下在本文开头提到的采用遗传算法的“套路”来编程求解问题的基本流程...Dim = 2 # 初始化Dim(决策变量维数) varTypes = [0] * Dim # 初始化varTypes(决策变量的类型,元素为0表示对应的变量是连续的;1表示是离散的) lb = [-3

    1.5K11

    理解梯度提升算法1-梯度提升算法

    然后将上面的问题转化为函数优化问题,优化变量为函数的参数。用数值优化算法如梯度下降法、牛顿法、坐标下降法求解。 在机器学习中,有一类特殊的预测函数,称为加法模型 ?...加法模型的基函数f(x;a)一般选用简单的函数,其参数为a。在梯度提升树中,这些函数是决策树,如CART。对于决策树来说,参数a为分裂变量,分裂位置,叶子节点值。...决策树的原理在之前的SIGAI公众号文章“理解决策树”中已经介绍。 最速下降法 最速下降法是梯度下降法的变种。梯度下降法的原理在SIGAI之前的公众号文章“理解梯度下降法”中已经介绍。...在牛顿法中也使用了这种技术。 梯度提升算法框架 在AdaBoost算法中,求解指数损失函数的加法模型时采用的是分阶段、逐步优化的策略。依次训练每一个弱学习器,然后将它加入到已经得到的强学习器中。...注意,这一步使用的是原本的损失函数L。接下来更新预测函数 ? 由此得到通用的梯度提升算法框架,流程如下: 初始化强学习器 ?

    2K40

    SVM笔记

    ,分别是\((0,0),(2,2),(2,0),(3,0)\),对应\(y\)中的\(label(-1,-1,1,1)\),现在用上面最优化的模型进行求解超平面,带入所有数据点,可得到如下限制条件:...可以看到决策边界不是线性的了,还是两条歪曲的曲线构成的,这就是非线性SVM的一个典型例子,它将数据映射到更高维空间,然后在高维进行线性SVM,最后映射回到原来的状态,得到复杂的决策边界————曲面形(原因在于特征转换是非线性的...好了,现在我们已经将原始问题转化成求解\(\underset{b,w}{min}(\underset{all \space \alpha_n\geq0}{max}L(w,b,\alpha))\),那我们在进行下一步地操作吧...这个时候,我们可以放低标准,容许分类器有一定的错误,像下图一样 ? 这样做的好处是使分类器准确地泛化了样本的分布,这样的SVM分类器叫软间隔SVM,那么怎样实现它呢?...于是,我们引入\(\varepsilon_n\)参数,表示错误的点离间隔边界的距离,用它替换条件中的【\(y_n\neq sign(w^Tz_n+b)\)】,这样限制条件变成了线性的,同时,最小化中的错误个数计数也被错误程度取代

    1.2K30

    CS229 课程笔记之十五:强化学习与控制

    在一个有限状态的 MDP 中,我们可以对于每个状态 写出其 的等式,这可以给出一个含有 个变量的 个线性方程,用于进行求解,变量即每个状态的未知 。...注意:在内循环第一步中值函数的求解方式如之前所述,为含有 个变量的线性方程组。 值迭代和策略迭代是求解 MDP 的标准算法,目前没有好坏之分。...例如,将模型学习和值迭代结合在一起,我们可以得出下面的算法,用于未知概率转移矩阵的 MDP 的学习: 随机初始化 重复下述过程: 在 MDP 中执行 若干次来得到样本(下一步的状态通过观察得到...:在第二步的值迭代的内循环中,每次不初始化 为 0,而初始化为上一次外循环中得到的结果。...在实际应用中,还有其他方法来估计上述值,例如:如果模拟器的形式为 ,其中 是某个决定性函数(如 ), 是 0 均值高斯噪声,则可以通过下述公式选择动作: 可以理解为令 (忽略模拟器中的噪声

    57920

    机器学习核心:优化问题基于Scipy

    因此,讨论Python生态系统中的优化包和框架是十分有意义的。 Python中有一些功能强大的包,如PuLP和CVXPY。...https://pythonhosted.org/PuLP/ https://www.cvxpy.org/ 在本文中,我们将介绍SciPy生态系统中可用的优化算法。...我们可以打印结果来获得更多有用的信息。 ? 达到最小值的值存储在result['x']变量中。 ?...假设,我们希望满足以下条件,同时达到求全局最小值的目标。 ? 注意,其中一个是不等式,另一个是等式约束。 将约束作为函数放入字典中 SciPy允许通过更通用的优化方法来处理任意约束。...使用机器学习作为功能评估器 在许多情况下,你不可能有一个完美的,封闭式的分析函数来作为优化问题的目标。

    1.2K40

    ChatGPT:搞『量化投资』我是认真的!

    并温馨的提示,使用Tushare前需要申请相关的Token。关于策略回测我们要求ChatGPT介绍相关适用于A股市场的策略回测框架,并指定了VNPY。...ChatGPT给出的答案都是比较成熟且流行的开源回测框架。接下来,使用vnpy实现了一个通道突破的趋势跟踪策略。...关于量化研究如何使用风险模型进行组合优化,ChatGPT提到了常用的组合优化模型,其中也包括风险平价模型,并主动给出了使用cvxpy进行优化求解的实例代码。...使用Transformer进行股价短期预测的实例代码:如何对两个变量的因果关系进行统计检验,ChatGPT不但给出了多种统计检验的理论,还给出了相关代码:给出使用Optuna进行lightgbm超参数优化的代码...ChatGPT虽然无法完成复杂的策略构建并直接生成稳健的量化策略,但可以极大的提高量化研究人员获取知识的效率。在日常研究过程中,ChatGPT可以作为我们得力的助手!

    1.7K80

    会议 | 数据驱动的优化理论与实践国际研讨会:算法、大数据、人工智能结合将碰撞出怎样的火花

    葛冬冬教授在本次演讲中首先描述了大数据时代我们所面临的挑战,他也细致分析了当今学术界与工业界的结合较之以往有何区别。「目前可以将实际中决策问题转化为数学模型,并用高效的优化算法求解。」...Using MOSEK 的报告,他与参会者们分享了 MOSEK 的开发经验,他们是如何应对挑战、解决问题的。...MOSEK 创始人 Erling Andersen 在短暂的茶歇之后,迎来了此次研讨会的特邀嘉宾——滴滴出行副总裁、滴滴研究院副院长叶杰平。...众所周知,在决策的时候存在不确定性,人们过去提出了很多方法,比如说基于数据等,但效果不是很好,叶荫宇教授表示,使用鲁棒优化的方法,即使在决策时存在不确定性,仍然有比较好的效果。...他为我们描述了生产和销售问题中灵活性的重大价值——在系统中增加一点点灵活性,就能带来很大的收益。作为柔性系统灵活性研究方面的专家,他为我们描述了在生产制造、销售和运输的过程中如何更好地去满足需求。

    1.1K30
    领券