Apache Commons が提供する Java 最適化ライブラリを使用して、制約付きの非線形 267 次元最適化問題を解決しようとしています。
解読の3日後、これは私が持っているものです:
public class optimize2 {
public static void main(String []args){
double[] point = {1.,2.};
double[] cost = {3., 2.};
MultivariateFunction function = new MultivariateFunction() {
public double value(double[] point) {
double x = point[0];
double y = point[1];
return x * y;
}
};
MultivariateOptimizer optimize = new BOBYQAOptimizer(5);
optimize.optimize(
new MaxEval(200),
GoalType.MAXIMIZE,
new InitialGuess(point),
new ObjectiveFunction(function),
new LinearConstraint(cost, Relationship.EQ, 30));
}
}
何らかの理由で、optimize.optimize() がヌル ポインター エラーをスローしています。たぶん私はばかげているだけですが、これを機能させる方法がわかりません。
エラーは次のとおりです。
org.apache.commons.math3.optim.nonlinear の org.apache.commons.math3.optim.nonlinear.scalar.noderiv.BOBYQAOptimizer.setup(BOBYQAOptimizer.java:2401) でのスレッド "main" java.lang.NullPointerException での例外.scalar.noderiv.BOBYQAOptimizer.doOptimize(BOBYQAOptimizer.java:236) at org.apache.commons.math3.optim.nonlinear.scalar.noderiv.BOBYQAOptimizer.doOptimize(BOBYQAOptimizer.java:49) at org.apache.commons.math3 .optim.BaseOptimizer.optimize(BaseOptimizer.java:143) org.apache.commons.math3.optim.BaseMultivariateOptimizer.optimize(BaseMultivariateOptimizer.java:66) org.apache.commons.math3.optim.nonlinear.scalar.MultivariateOptimizer .optimize(MultivariateOptimizer.java:64) で Test.Code.optimize2.main(optimize2.java:39)