【发布时间】:2012-12-04 00:58:45
【问题描述】:
我正在使用 CGAL 解决一些quadratic programming 问题。
假设我想最小化 x^2 为 x 将值从 -oo(-infinity) 到
+oo。这可以通过以下方式轻松解决:
Program qp (CGAL::SMALLER, false, 0, false, 0);
qp.set_d(0, 0, 2);
Solution s = CGAL::solve_quadratic_program(qp, ET());
结果当然会返回0。现在假设我想最大化
x^2。为此,我必须最小化-x^2。但以下 不“工作”
在 CGAL 中:
Program qp (CGAL::SMALLER, false, 0, false, 0);
qp.set_d(0, 0, -2);
Solution s = CGAL::solve_quadratic_program(qp, ET());
因为现在的矩阵 D = [-2] 不是半正定的(二次规划问题的 API “要求” D 是半正定的)。通过运行上面的sn-p,返回错误的结果0而不是-oo。
为了最大化像x^2 CGAL 中的目标函数,我应该怎么做?
【问题讨论】:
标签: linear-algebra linear-programming cgal quadratic