2

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

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

我知道如何对变量设置约束,例如 x1+..+xn < C (常量)。我想不通的是如何获得最大化上述函数的解决方案,例如get x1 to xn where max(a_function(x1,..,xn))。

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

如果有人可以在正确的方向上推动我如何设置这样的条件,我将不胜感激。

谢谢

[编辑]

好吧,我作弊了……因为我以前在我的 Java 项目中安装了 Rcaller,所以我将使用 R 来计算我的最大似然模型与约束。我被JaCop打败了。R 使用起来更加直观(从数学角度来看),并且由于 Rcaller 与 Java 的“对话”非常好,我对结果相当满意。

4

1 回答 1

1

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

所以IIUIC你需要类似的东西

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

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

于 2013-10-15T20:07:40.633 回答