Python中如何使用ortools求解二次规划?
Posted
技术标签:
【中文标题】Python中如何使用ortools求解二次规划?【英文标题】:How to use ortools to solve quadratic programming in Python? 【发布时间】:2018-06-02 07:22:32 【问题描述】:例如,如何在 Python 中通过 ortools 简单地找到 (x-1)^2 的最小值?
我看了ortools的文档,但是找不到。我知道它不属于线性优化,但我在它的文档中找不到合适的类型。
【问题讨论】:
【参考方案1】:Google OR-Tools 不支持二次规划。 This page 包含它支持的列表:
Google 优化工具 (OR-Tools) 是一种快速且可移植的软件套件,用于解决组合优化问题。该套件包含:
约束规划求解器。
一个简单而统一的接口,可连接多个线性规划和混合整数规划求解器,包括 CBC、CLP、GLOP、GLPK、Gurobi、CPLEX 和 SCIP。
图算法(最短路径、最小成本流、最大流、线性求和分配)。
旅行商问题和车辆路线问题的算法。 装箱和背包算法。
以下链接阐明了混合整数规划 (MIP) 支持不包括二次 MIP (MIQP): https://github.com/google/or-tools/issues/598
您可以查看此资源以了解如何在 Python 中执行 QP: https://scaron.info/blog/quadratic-programming-in-python.html
【讨论】:
非常感谢!我知道我可以使用 cvxopt 或 scipy.optimize 进行二次规划,但我只是想尝试 ortools,但找不到合适的函数。 @Kai:ortools中没有合适的函数:不能做二次优化。 这里有一个二次方的例子:github.com/ogunheper/google-or-tools-sample/blob/… 在我写完答案后,ortools 似乎已更新为包含此功能,所以我的原始回复不再正确以上是关于Python中如何使用ortools求解二次规划?的主要内容,如果未能解决你的问题,请参考以下文章