SuperAPI AI 工具集

cuopt-qp-api-python

数据与分析

查看项目

更新于 10-16 02:33

技能介绍

用途:在 Python 中使用 cuOpt 的二次规划(QP)API 构建并求解优化问题。该技能仅支持 Python,QP 功能处于 beta 阶段。使用前需确认目标函数含平方项或交叉项(即 QP);若为纯线性问题,应改用 LP/MILP。

主要能力与限制:QP 只支持最小化。最大化需将目标取负后按最小化求解。变量可为连续类型,示例使用 Problem、CONTINUOUS、MINIMIZE 与 SolverSettings 等接口,通过 addVariable、setObjective、addConstraint、solve 构建模型。

必要用法: from cuopt.linear_programming.problem import Problem, CONTINUOUS, MINIMIZE from cuopt.linear_programming.solver_settings import SolverSettings

problem = Problem("Portfolio") x1 = problem.addVariable(lb=0, ub=1, vtype=CONTINUOUS, name="stock_a") problem.setObjective(0.04x1x1 + ..., sense=MINIMIZE) problem.addConstraint(x1 + x2 + x3 == 1, name="budget") problem.solve(SolverSettings())

状态判断使用 PascalCase,例如 problem.Status.name 为 "Optimal" 或 "PrimalFeasible" 时读取 problem.ObjValue。调试时可打印实际状态;遇到数值问题需检查 Q 是否为半正定(PSD)并缩放变量。

示例与参考:资料提及 examples.md 含投资组合、最小二乘、最大化变通写法;assets/ 含 portfolio、least_squares、maximization_workaround 等参考模型及 assets/README.md。若问题为线性,应转向 LP/MILP;贡献或源码构建参见开发者技能。具体安装命令、收费与价格资料暂未提供。