2013-02-11 89 views
0

我需要解决R中线性程序,其中变量是矩阵。使用R中的矩阵进行线性编程

更具体地说,我的优化功能看起来像这样。

最大值X(A + B)Y - X - Y,

,其中X,Y,A,B是矩阵和x,y是标量。求解X,Y,X,Y

除一堆像任何线性程序

约束是否有R中来解决此问题的方法?

我在R中检出了linprog和limsolve包。它们解决了标量的线性规划。

有没有办法做同样的矩阵R中

感谢您的帮助。

+6

你已经试过了什么?并请提供一个可重复的例子,直到您卡住的地步。 – 2013-02-11 07:03:12

+0

linprog和limsolve中存在的API似乎只接受标量。所以,这个问题基本上是否还有其他包可以在线性程序中用于矩阵。 – user2060385 2013-02-11 08:39:13

+1

最简单的可能是使用向量而不是矩阵来重写你的问题: 将所有'X'和'Y'列堆叠在一起, 也加上'x'和'y',形成一个巨大的矢量'Z', ,并用它重写目标。 但这不会有多大帮助: 你的问题不是线性的,而是二次的(你有'X'和'Y'的产物)。 'quadprog'软件包可以解决二次优化问题, ,但只有正定的 - 这个最多是正半定的。 – 2013-02-11 09:23:06

回答

0

谷歌搜索R linear programming matrices产生了一些有趣的环节,以下哪一项可能是有趣:

+0

这不处理矩阵上的线性程序。您可以将目标函数和约束的系数指定为向量和矩阵。 – user2060385 2013-02-11 09:31:13