问题标签 [quadratic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
923 浏览

r - solve.QP 不能最大化正定二次函数

我有一个非常简单的二次问题,原则上应该可以通过solve.QP(quadprog)解决:

max x^2+3*y^2 subject to x>=0, y>=0, x+y <=1

问题在于将最大化变为所需的最小化,矩阵(显然)变为负定的。这不是与小特征值或舍入有关的问题。

我认为solve.QP是一个通用求解器,但尽管我努力阅读在线资料,但看起来你无法使用solve.QP在紧凑域(由线性约束定义)上最大化正定二次形式。

真的吗?

我知道我可以用其他函数解决这个问题和类似问题(constrOptim工作正常),但我希望将拉格朗日乘数连接到最大化器。

您能否提出任何方法来解决上述问题(非常有效的)solve.QP,克服其与正确定性相关的不对称限制?

0 投票
3 回答
4246 浏览

java - using math class in java

I'm trying to calculate the power of a double to calculate the Quadratic Formula

Here is the code:

Why this error?

Thanks.

0 投票
1 回答
4506 浏览

c++ - C++ 特征库 - 二次规划,固定与动态,性能

我正在研究做一些二次编程,并且已经看到了不同的库。我见过 QuadProg++ 的各种 Eigen 变体(KDE 论坛Benjamin StephensStackOverflow 帖子)。作为测试,我在 GitHub 上分叉了wingsit 的 Eigen 变体,实现编译时大小的问题,以通过模板测量性能。

我发现我在模板案例中的性能比来自wingsit 代码的动态大小(MatrixXD / VectorXD)案例更差。我知道这不是一个简单的问题,但是任何人都可以看到这可能的原因吗?

注意:我确实需要增加问题大小/迭代次数,一旦可以,我会发布。

编辑:我在 Ubuntu 12.04 上使用 GCC 4.6.3。这些是我正在使用的标志(从wingsit的代码修改):

0 投票
2 回答
1036 浏览

c++ - CGAL二次规划求解器,如何在目标函数中输入“x^4”?并在约束中?

我正在尝试最小化如下函数:

和约束,如:

CGAL::Quadratic_program中。

要在目标函数中输入“x^2”,我可以执行以下操作:

但是“x^4”呢?

要添加像“x<=a”这样的约束:

但是 "x^2 <= a" 呢?

0 投票
1 回答
2320 浏览

python - Solving an implicit quadratic system of 3 variables

I am trying to solve a system of equations that has 3 variables and a variable number of equations.

Basically, the system is between 5 and 12 equations long, and regardless of how many equations there are, I am trying to solve for 3 variables.

It looks like this:

I know A,B,C, and the whole right side. A,B,C and the right side are all arrays of length n, where n varies randomly between 5 and 12. So then we have a system of equations that changes in size. I believe I need to use numpy's lstsq function and do something like:

This however doesn't work, as we know that x,y,z are implicit, and therefore need to be taken out of P in order for this to work. Help!

0 投票
2 回答
2395 浏览

java - 尝试编写二次公式?

我是 Java 新手——我的第一个项目是构建一个计算器。

试图编写一个二次方程;虽然我没有错误,但我得到了错误的答案。

如果我替换a=1, b=4, c=4,我得到 -4 和 -4。

如果我替换a=1, b=1, c=-12,我得到 2.5 和 -4.5。

这可能只是一个数学错误,但我认为这个公式是正确的。

0 投票
1 回答
1204 浏览

linear-algebra - 使用 CGAL 最大化二次规划

我正在使用 CGAL 来解决一些二次规划问题。

假设我想最小化x^2x( -oo-infinity) 到 +oo. 这可以通过以下方式轻松解决:

结果当然会返回0。现在假设我想最大化 x^2. 为此,我必须最小化-x^2. 但是以下内容在 CGAL 中不起作用

因为现在的矩阵D = [-2]不是半正定的(二次规划问题的 API “要求” D 是半正定的)。通过运行上面的代码片段,0会返回错误的结果而不是-oo.

为了最大化像x^2CGAL 中的目标函数,我应该怎么做?

0 投票
2 回答
3122 浏览

matlab - 二次规划的问题

我正在尝试进行二次规划。我有一个亲和力矩阵A,我必须最大化某些功能x'*A*x。这基本上与特征匹配有关,即匹配点到标签

这基本上与在加权图中的主导集和二次函数的局部最大化器之间建立联系有关

受制于

为了解决这个问题,我找到了 Pavan 和 Pelillo IEEE PAMI 2007 给出的一种称为复制器方程的方法

一旦给出初始化x(1),离散复制器方程可用于获得局部解 x *

当我使用复制方程时,我得到了正确的结果。但是,当我尝试使用 matlab 的 quadprog 函数来解决它时

我没有得到正确的价值观。假设我想用 7 个标签匹配 7 个点,我定义我的亲和力矩阵,然后使用上面的。然而,使用复制器方程我得到了正确的结果。但是只使用 quadprog 并不能得到正确的结果。有什么建议么?

难道我做错了什么?

0 投票
1 回答
809 浏览

haskell - 二次筛和 n 次方

我根据维基百科页面上指定的基本算法在 Haskell 中实现了二次筛。它适用于大多数整数,但是它无法找到n次幂的数字 N 的因式分解。对于偶数幂(平方),算法循环,对于奇数幂,我找到了几个平方模 N 的平滑数(我已经测试并证实了这一点),但是每一个派生的平方同余(也经过测试和证实)只会导致一个微不足道的因素。

我有理由确定我已经实现了 Wikipedia 算法。那个版本的算法是否存在问题,阻止它处理n次幂,或者我的算法中是否存在错误?

出于某种原因,stackoverflow 在格式化我的代码时遇到问题,所以你去: http: //pastebin.com/miUxHKCh

0 投票
0 回答
534 浏览

matlab - 在具有约束的matlab中求解非凹二次函数

如何在具有约束的matlab中求解非凹二次函数。我尝试使用 quadprog 但它不起作用

我必须优化一个函数 f=x'Ax,其约束条件是 xs 的总和等于 1 和 0<=x<=1。我的函数不是凹的。所以我只需要最大化。即使全局会更好,如果我找到局部最大值也没关系。

我尝试使用 matlab 的 quadprog 函数。但是,它的结果并不是那么好。我不知道它会终止,但结果并非如此。我想要一些只会迭代次数的东西,我告诉它并给我结果

我正在尝试实现这样的东西

http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=68DD5FE71FCEB5629F1FA0F1E02CCFE8?doi=10.1.1.157.6789&rep=rep1&type=pdf

好吧,我的问题场景是我有一组点和标签。所以工作是将点与标签匹配。我用所有可能的(节点,标签)对定义了一个图。并定义一个大小的亲和矩阵(number_node_label 对,number_node_label 对)

我想最大化函数 x'Ax 与 xs 之和 = 1 的约束。所有 xs >=0 即点位于单纯形中。

对于我的亲和力矩阵

A(u,v) 其中 u 和 v 是点之一,标签对即 u=point1,label1 v=point2, label2 假设

A(u,v) = exp(-abs(||point1-point2||-||label1-label2||)) / sigma A(u,v) = 0 如果 u==v

我想要类似复制器方程的东西