我在Java中使用cplex,我想從另一個類 (解決後)訪問變量的值。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無法解析爲變量」出現在配置類中。 是因爲變量是在另一個類中初始化的嗎?
什麼是解決問題最優雅的方法?
我添加了一些關於程序結構的更多信息。我如何創建另一個類的實例? – Hendrik
@亨德里克 - 這有幫助。我在我的答案中添加了一些代碼,提出了幾種處理此問題的方法。 –