我在 Java 中使用 cplex,我想从另一个类访问变量的值(解决后)。
我的程序配置类应该打印变量 p15[i][j][q] 如下所示:
import [...]
public class Ausführung {
public static void main(String[] args) throws IOException {
try{
String filename = "[...]
Data data = new Data(filename);
IloCplex cplex = new IloCplex();
IloNumVar[][][] w = new IloIntVar[n][n][n];
MainTSP.buildModel(cplex, data, w);
if(cplex.solve()){
for(int q=0; q< data.distance1.length-1; q++){
for(int ii=0; ii<data.distance1.length; ii++){
for(int j=0; j<data.distance1.length; j++){
if(cplex.getValue(p15[i][j][q]) >= 1) System.out.println("p15");
}
}
}
cplex.end();
}
[...]
}
}
该变量在我的主程序类中初始化,如下所示:
public class MainTSP {
static void buildModel(IloMPModeler model, Data data, IloNumVar[][][] w) throws IloException{
IloNumVar[][][] p15 = new IloIntVar[n][n][n];
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
for(int q=0; q<n; q++){
p15[i][j][q] = model.intVar(lb, ub);
}
}
}
[...]
不幸的是,错误消息:“p15 无法解析为变量”出现在配置类中。那是因为变量是在另一个类中初始化的吗?
解决问题的最优雅的方法是什么?