在Java中使用JaCop来优化函数



我正在尝试使用 Java 中的 JaCoP 库进行优化,但我在翻译函数时遇到了一些麻烦。

我有一堆变量,比如:x1 到 xn,我有一个函数使用它们来输出最大似然估计器(尽管它可能只是使用这些参数的任何函数)。

我知道如何对变量设置约束,例如 x1+。+xn <C(常量)。我无法弄清楚的是如何获得最大化我上述函数的解决方案,例如将>x1 到 xn 其中 max(a_function(x1,..,xn))。

我现在不发布任何代码,因为我唯一能做的就是对我的初始变量设置简单的约束,如此处所述。当我对 JaCoP 越来越好时,我会更新这个问题。

如果有人能就如何设置这样的条件向我提供正确的方向,将不胜感激。

谢谢

[编辑]

好吧,我作弊了...由于我之前在我的 Java 项目中安装了 Rcaller,我将使用 R 来计算具有约束的最大似然模型。我被JaCop打败了。R使用起来更直观(从数学角度来看),并且由于Rcaller与Java"交谈"得很好,我对结果相当满意。

它隐藏得很好,但有一个包含成本函数的示例。

所以IIUIC你需要类似的东西

IntVar cost = new IntVar(store, "cost", 0, 1000); 
net.setCostVariable(cost);

如果您没有成本变量,只需创建它并使用约束来确保cost == a_function(x1,..,xn)。如果您想最大化,请翻转标志。

相关内容

  • 没有找到相关文章

最新更新