Benders策略使用Java和opl

3
我正在使用Java解决一个数学模型,但是在尝试调用Benders策略时,我不断收到以下错误信息:
异常线程 "main" java.lang.IllegalArgumentException: 没有与值1501匹配的枚举类ilog.cplex.cppimpl.IloCplex $ IntParam
在ilog.cplex.cppimpl.IloCplex.java中的1974行。 在ilog.opl.IloCplex.setParam(IloCplex.java:5640)。
这是我的Java代码(我正在使用CPLEX 12.8和库oplall.jar)的一部分:
import ilog.concert.IloException;
import ilog.concert.IloIntMap;
import ilog.concert.IloIntSet;
import ilog.concert.IloSymbolSet;
import ilog.opl.IloCplex;
import ilog.opl.IloOplDataSource;
import ilog.opl.IloOplErrorHandler;
import ilog.opl.IloOplFactory;
import ilog.opl.IloOplModel;
import ilog.opl.IloOplModelDefinition;
import ilog.opl.IloOplModelSource;
import ilog.opl.IloOplSettings;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.PrintWriter;

...

            IloOplFactory.setDebugMode(false);
            IloOplFactory oplF = new IloOplFactory();
            IloOplModelSource source = oplF.createOplModelSource("Model.mod");
            IloOplDataSource dataSource = oplF.createOplDataSource("Instance.dat");
            IloOplErrorHandler handler = oplF.createOplErrorHandler();
            IloOplSettings settings = oplF.createOplSettings(handler);
            IloOplModelDefinition def = oplF.createOplModelDefinition(source, settings);
            IloCplex cplex = new IloCplex();
            IloOplModel opl = oplF.createOplModel(def, cplex);
            opl.addDataSource(dataSource);

            cplex.setParam(IloCplex.IntParam.Benders.Strategy, 3);

            opl.generate();
            cplex.solve();
            cplex.end();
1个回答

1

这里有一个类似的问题

在 model.mod 文件中,你可以写:

execute { cplex.bendersstrategy=3; }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接