Python 3.x 在python中从doopl获取结果

Python 3.x 在python中从doopl获取结果,python-3.x,cplex,docplex,doopl,Python 3.x,Cplex,Docplex,Doopl,嗨,我正在python中使用doOPL 下面是我代码的一部分 with create_opl_model(model="phase0.mod",data="prob1.dat") as opl: # tuple can be a list of tuples, a pandas dataframe... # Generate the problem and solve it. start_time = time.time()

嗨,我正在python中使用doOPL

下面是我代码的一部分

with create_opl_model(model="phase0.mod",data="prob1.dat") as opl:
    # tuple can be a list of tuples, a pandas dataframe...
    # Generate the problem and solve it.
    start_time = time.time()
    opl.mute()
    opl.run()
    print("obj:",opl.objective_value,", time:",(time.time() - start_time))
运行它之后,我想检查决策变量x的结果

opl.get_表('x')

但是说期望tupleset x被通过是行不通的

我期待您的帮助。

我认为
get_table()
只适用于您在后期处理中显式创建的表(即元组集)。因此,您必须在后期处理中创建此表

考虑以下示例定义
x

range I = 1..2;
range J = 1..4;
dvar float+ x[I][J];
在后处理中,您可以

tuple R {
  int i;
  int j;
  float val;
}
{R} xResult = { <i,j,x[i][j]> | i in I, j in J };
元组R{
int i;
int j;
浮动增值税;
}
{R} xResult={i in i,j in j};

这样你就可以
opl.get_table('xResult')
在这个表中,你应该有所有的三元组
(i,j,x[i][j])

你刚刚救了我的命!我真的很感激!