问题标签 [ojalgo]

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 回答
23 浏览

ojalgo - 从 ojalgo 获得良好的次优解以进行线性优化

介绍

我正在尝试使用 ojalgo 库来生成一种解决方案,以控制放置在任意位置的推进器以生成整体请求的旋转和平移。有时请求的旋转和平移是不可能的,但我希望在这些情况下试一试。

问题

我已经创建了我设置的 ExpressionsBasedModel 的这个最小示例。

如果我请求一组可能的条件,我会得到一个很好的结果:

但如果我要求一些不太可能的事情

理想情况下,我想要一个好的次优解决方案(1,1),但它似乎放弃并返回 0.5,0.5

问题

对于不可能完全解决的问题,是否有可能获得良好的次优解决方案?

可能的问题是我想最小化表达式上的错误,但我认为它实际上最小化了值(同时试图满足约束)

0 投票
2 回答
118 浏览

java - 使用 OjAlgo 目标函数进行整数优化

我正在尝试在 Java 中使用 ojAlgo 库进行整数优化,但我无法为其提供我想要的目标函数。
我想最小化函数:(A - BX)'(A - BX),其中A是(nx 1)矩阵,B是(nxn)对角矩阵,X是(nx 1)矩阵优化变量。我希望 X 中的结果仅包含 integers 。
我能够设置一个不同的目标函数来最大化 BX 如何将其更改为 (A - BX)'(A - BX)?这是到目前为止的代码。

0 投票
1 回答
63 浏览

java - 当条件数很大并且矩阵是对称且不定的时,是否有任何 ojAlgo 求解器?

我使用 ojAlgo 来求解线性方程组。在一种情况下,我得到一个 RecoverableCondition 异常。可能是因为矩阵是病态的,所以条件数大约是1e15。

我使用 ojAlgo 来解决它,如下面的代码所示。它通常有效,但在这种情况下无效。

是否有任何其他求解器可以用于对称不定(病态)矩阵?

当前失败的大小是 18x18,但以后可能需要 1000x1000。由于它是迭代算法的一部分,因此准确性并不是非常重要。

我试图在一个自包含的示例中重现这一点,但失败了,因为它在那里工作。也许我没有得到完全相同的矩阵直到最后一位。

0 投票
0 回答
36 浏览

java - 如何在 ExpressionsBasedModel 上制定优化

我正在尝试找到加载工作站的最佳解决方案。为此,我想使用 OjAlgo 库中的“ExpressionsBasedModel”。当需要的物品位于那里并且成本较低时,应使用工作站。这已经适用于下面附加的代码。我现在想添加另一个优化。

工作站被分组为字符串。即使这会增加成本,我也希望使用尽可能少的字符串。

我该如何制定这种优化?

欢迎提出改进建议

0 投票
1 回答
22 浏览

linear-programming - 如何在 ojAlgo ExpressionBasedModel 中鼓励平衡解决方案

我有以下模型:

虽然eiek权重相同,但我得到的解决方案是:

ei == 720, ek == 0.

我更喜欢一个尽可能平衡的解决方案,(ei)。是否有某种方法可以将“尽可能平衡”的要求编码为加权表达式?ekei == 360, ek == 360

在这个具体的例子中,我已经注释掉了实际上导致我想要的行为的较低值约束。在现实生活中,模型是动态的,我可能有 5 个等权重的表达式。为了设置较低的约束,我不会知道正确的值。