Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Cplex和PythonDocplex的结果不同_Python_Cplex_Docplex - Fatal编程技术网

为什么Cplex和PythonDocplex的结果不同

为什么Cplex和PythonDocplex的结果不同,python,cplex,docplex,Python,Cplex,Docplex,我对Cplex和PythonDocplex的结果不同。我感到困惑,不知道为什么。 这是我的代码。它们很长,因为有数据。它们的数据相同,约束相互对应。你可以直接运行它们。 因为我不能提交任何细节,我将添加一些无用的词。请理解。谢谢。 PythonDocplex: from docplex.mp.model import Model model = Model() I2 = list(i for i in range(1, 11)) # S2 = list(s for s in range(1

我对Cplex和PythonDocplex的结果不同。我感到困惑,不知道为什么。 这是我的代码。它们很长,因为有数据。它们的数据相同,约束相互对应。你可以直接运行它们。 因为我不能提交任何细节,我将添加一些无用的词。请理解。谢谢。 PythonDocplex:

from docplex.mp.model import Model

model = Model()

I2 = list(i for i in range(1, 11))  #
S2 = list(s for s in range(1, 9))  #
T2 = list(t for t in range(1, 10))  #
B2 = list(b for b in range(1, 45))  #
K2 = list(k for k in range(0, 10))  #
model.I1 = I2
model.S1 = S2
model.T1 = T2
model.B1 = B2
model.K1 = K2
I = model.I1  #
S = model.S1  #
T = model.T1  #
B = model.B1  #
K = model.K1  #

I1 = 10
S1 = 8
T1 = 9
B1 = 44
K1 = 9

V0 = [16, 16, 15, 14, 15, 13, 15, 15, 16, 14]
h = 14
d1 =[[11,31,19,43,11,19,43,31],
[15,27,15,39,15,15,39,27],
[11,23,11,35,11,11,35,23],
[11,19,11,31,11,11,31,19],
[15,15,15,27,15,15,27,15],
[19,11,11,23,19,11,23,11],
[23,11,11,19,23,11,19,11],
[27,15,15,15,27,15,15,15],
[31,11,19,11,31,19,11,11],
[35,11,23,11,35,23,11,11]]

R = [[4,4,0,0,0,0,0,0,0],
[8,8,8,4,4,0,0,0,0],
[8,8,8,8,4,4,0,0,0],
[0,0,8,8,8,8,4,4,0],
[4,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,8,8,8,8,4,4]]

H =[[0,0,0,20,20,0,0,0,0],
[0,0,0,0,0,0,20,20,0],
[0,0,0,0,0,0,0,20,20],
[0,0,0,0,0,0,0,0,0],
[0,0,20,20,0,0,0,0,0],
[20,20,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]]

G = {1:[[0,0,0,2,2,0,0,0,0,0],
         [0,0,2,2,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0]],
      2:[[0,0,0,0,0,0,4,4,0,0],
[0,0,0,0,0,3,5,0,0,0],
[0,0,0,0,6,2,0,0,0,0],
[0,0,0,2,2,0,0,0,0,0],
[0,0,1,3,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]],
      3:[[0,0,0,0,0,0,0,4,4,0],
[0,0,0,0,0,0,6,2,0,0],
[0,0,0,0,0,5,3,0,0,0],
[0,0,0,0,2,6,0,0,0,0],
[0,0,0,1,3,0,0,0,0,0],
[0,0,2,2,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]],
      4:[[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]],
      5:[[0,0,2,2,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]],
      6:[[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]],
      7:[[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]],
      8:[[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]]
}

D = {1:[[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,3,2,2,1,0,0,0,0],
[0,4,3,2,3,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]],
      2:[[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,4,0,0,0,0,0,0,0],
[0,3,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]],
      3:[[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]],
      4:[[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]],
      5:[[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,5,1,1,3,2,0,0,0],
[0,2,4,3,1,2,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]],
      6:[[0,0,4,2,2,1,2,1,0,0],
[0,3,3,2,3,2,1,2,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]],
      7:[[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]],
      8:[[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]]
}

P = {1:[[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]],
      2:[[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]],
      3:[[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]],
      4:[[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]],
      5:[[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]],
      6:[[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]],
      7:[[1,0,0,1,1,0,0,1,0],
[1,0,2,0,0,0,1,0,0],
[0,1,0,1,0,0,0,0,1],
[1,0,1,0,0,0,0,0,1],
[0,1,0,1,0,1,1,1,0],
[1,1,0,0,1,1,0,0,0],
[0,0,1,0,0,0,1,1,0],
[0,0,0,0,0,0,1,0,0],
[1,0,0,1,1,0,0,1,0],
[0,1,0,0,1,0,0,0,0]],
      8:[[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]]
}

L = {1: [[0,0,0,2,1,0,0,0,0],
[0,0,0,3,1,0,0,0,0],
[0,0,0,2,2,0,0,0,0],
[0,0,0,1,2,0,0,0,0],
[0,0,0,2,1,0,0,0,0],
[0,0,0,1,1,0,0,0,0],
[0,0,0,2,3,0,0,0,0],
[0,0,0,1,2,0,0,0,0],
[0,0,0,1,2,0,0,0,0],
[0,0,0,1,1,0,0,0,0]],
      2:[[0,0,0,0,0,0,1,0,0],
[0,0,0,0,0,0,0,1,0],
[0,0,0,0,0,0,0,1,0],
[0,0,0,0,0,0,1,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,1,0,0],
[0,0,0,0,0,0,0,1,0],
[0,0,0,0,0,0,1,0,0],
[0,0,0,0,0,0,0,1,0],
[0,0,0,0,0,0,0,0,0]],
      3:[[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]],
      4:[[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]],
      5:[[0,0,2,1,0,0,0,0,0],
[0,0,1,2,0,0,0,0,0],
[0,0,2,1,0,0,0,0,0],
[0,0,1,2,0,0,0,0,0],
[0,0,2,1,0,0,0,0,0],
[0,0,3,1,0,0,0,0,0],
[0,0,1,2,0,0,0,0,0],
[0,0,2,3,0,0,0,0,0],
[0,0,2,2,0,0,0,0,0],
[0,0,2,3,0,0,0,0,0]],
      6:[[2,2,0,0,0,0,0,0,0],
[1,3,0,0,0,0,0,0,0],
[2,2,0,0,0,0,0,0,0],
[2,2,0,0,0,0,0,0,0],
[3,2,0,0,0,0,0,0,0],
[1,2,0,0,0,0,0,0,0],
[1,2,0,0,0,0,0,0,0],
[2,2,0,0,0,0,0,0,0],
[3,2,0,0,0,0,0,0,0],
[3,1,0,0,0,0,0,0,0]],
      7:[[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]],
      8:[[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]],
}

var_list_A = [(i, s, t) for i in I for s in S for t in T]
var_list_B = [(i, t) for i in I for t in T]
var_list_C = [(i, s, t, k) for i in I for s in S for t in T for k in K]  # Variable
GA = model.integer_var_dict(var_list_C, lb=0, name='GA')  # Variable
DA = model.integer_var_dict(var_list_C, lb=0, name='DA')  # Variable
GB = model.integer_var_dict(var_list_A, lb=0, name='GB')  # Variable
DB = model.integer_var_dict(var_list_A, lb=0, name='DB')  # Variable
PA = model.integer_var_dict(var_list_A, lb=0, name='PA')  # Variable
LA = model.integer_var_dict(var_list_A, lb=0, name='LA')  # Variable
M = model.integer_var_dict(var_list_A, lb=0, name='M')  # Variable
N = model.integer_var_dict(var_list_A, lb=0, name='N')  # Variable
V = model.integer_var_dict(var_list_B, lb=0, name='V')  # Variable
var_list = [i for i in range(1, 10)]
a = model.integer_var_list(var_list, lb=0, name='a')  # Variable
b = model.integer_var_list(var_list, lb=0, name='b')  # Variable
c = model.integer_var_list(var_list, lb=0, name='c')  # Variable
d = model.integer_var_list(var_list, lb=0, name='d')  # Variable

for s in S:
    for t in T:
        model.add_constraint(R[s-1][t-1] == model.sum(GB[i, s, t] for i in I))  #

for s in S:
    for t in T:
        model.add_constraint(H[s-1][t-1] == model.sum(DB[i, s, t] for i in I))  #

for s in S:
    for t in T:
        for k in K:
            if k <= T1-t:
                model.add_constraint(G[s][t-1][k-1] == model.sum(GA[i, s, t, k] for i in I))  #

for s in S:
    for t in T:
        for k in K:
            if k <= T1-t:
                model.add_constraint(D[s][t-1][k-1] == model.sum(DA[i, s, t, k] for i in I))  #

for s in S:
    for i in I:
        for t in T:
            model.add_constraint(GB[i, s, t] == model.sum(GA[i, s, t, k] for k in K if k <= T1-t) + M[i, s, t])  #

for s in S:
    for i in I:
        for t in T:
            model.add_constraint(DB[i, s, t] == model.sum(DA[i, s, t, k] for k in K if k <= T1-t) + N[i, s, t])  #

for s in S:
    for i in I:
        for t in T:
            model.add_constraint(PA[i, s, t] == model.sum(DA[i, s, t-k, k] for k in K if 0 < k < t)+P[s][i-1][t-1])  #

for s in S:
    for i in I:
        for t in T:
            model.add_constraint(LA[i, s, t] == model.sum(GA[i, s, t-k, k] for k in K if 0 < k < t)+L[s][i-1][t-1])  #

for i in I:
    for t in T:
        model.add_constraint(model.sum(DB[i, s, t]+LA[i, s, t] for s in S) >= a[t-1])  #

for i in I:
    for t in T:
        model.add_constraint(model.sum(DB[i, s, t]+LA[i, s, t] for s in S) <= b[t-1])  #

for i in I:
    for t in T:
        model.add_constraint(model.sum(GB[i, s, t]+PA[i, s, t] for s in S) >= c[t-1])  #

for i in I:
    for t in T:
        model.add_constraint(model.sum(GB[i, s, t]+PA[i, s, t] for s in S) <= d[t-1])  #

for i in I:
    for t in T:
        model.add_constraint(model.sum(DB[i, s, t]+LA[i, s, t] for s in S) <= h)  #

for i in I:
    for t in T:
        model.add_constraint(model.sum(GB[i, s, t]+PA[i, s, t] for s in S) <= h)  #

for i in I:
    for t in T:
        if t == 1:
            model.add_constraint(V[i, t] ==
                                 model.sum(GB[i, s, t]+DB[i, s, t]-PA[i, s, t]-LA[i, s, t] for s in S)+V0[i-1])  #
        if t >= 2:
            model.add_constraint(V[i, t] ==
                                 model.sum(GB[i, s, t]+DB[i, s, t]-PA[i, s, t]-LA[i, s, t] for s in S)+V[i, t-1])  #

for i in I:
    for t in T:
        model.add_constraint(V[i, t] <= B1)  #

for t in T:
    model.add_constraint(b[t-1] <= h)  #
for t in T:
    model.add_constraint(d[t-1] <= h)  #

#choose one of them(fc1,fc2)
fc1 = model.sum(b[t-1] - a[t-1] for t in T) + model.sum(d[t-1] - c[t-1] for t in T)
# fc2 = model.sum((DB[i, s, t] + GB[i, s, t]) * d1[i-1][s-1] for i in I for s in S for t in T)
model.minimize(fc1)

sol = model.solve(clean_before_solve=True, log_output=True)
print(sol.solve_details)
print(sol)

首先,一个精确性:您询问的是模型的两个版本之间的差异,一个是用OPL编写的,另一个是用pythondocplex编写的,因此您的文章也应该标记为“OPL”

为了从OPL和DOcplex获得相同的结果,必须检查以下几点:

  • 确保使用相同的平台,即机器/操作系统/操作系统版本(例如Windows 10)
  • 确保使用相同版本的Cplex(例如12.10)
  • 确保以相同的顺序声明变量和约束:不同的顺序可能会导致不同的结果
  • 确保使用相同的Cplex参数(例如时间限制、mip强调等)

如果以上各点都正常,但您仍然得到不同的结果,请将模型从OPL和DOcplex导出为LP格式,并检查两个LP文件是否相同。

谢谢您的帮助。但我不知道如何从DOcplex将模型导出为LP格式。您能告诉我详细信息吗?很抱歉打扰您。请使用
model.export\u as\u LP(路径,basename)
;路径默认值是临时目录,使用“.”在当前目录中写入,basename默认值是模型名。例如:
model.export_as_lp(path=”,basename='my_model')
将在当前目录中写入
mymodel.lp
。还有
lp_string
属性用于访问具有lp表示的字符串。
range I = 1..10;
range S = 1..8;
range T = 1..9;
range B = 1..44;
range K = 0..9;
int T1 = 9;//
int B1 = 44;//
int h = 14;//
int V0[I]=...;//
float d1[I][S]=...;//
int R[S][T]=...;//
int H[S][T]=...;//
int G[S][T][K];//
int G1[T][K]=...;//
int G2[T][K]=...;//
int G3[T][K]=...;//
int G4[T][K]=...;//
int G5[T][K]=...;//
int G6[T][K]=...;//
int G7[T][K]=...;//
int G8[T][K]=...;//
int D[S][T][K];//
int D1[T][K]=...;//
int D2[T][K]=...;//
int D3[T][K]=...;//
int D4[T][K]=...;//
int D5[T][K]=...;//
int D6[T][K]=...;//
int D7[T][K]=...;//
int D8[T][K]=...;//
int P[I][S][T];//
int P1[I][T]=...;//
int P2[I][T]=...;//
int P3[I][T]=...;//
int P4[I][T]=...;//
int P5[I][T]=...;//
int P6[I][T]=...;//
int P7[I][T]=...;//
int P8[I][T]=...;//
int L[I][S][T];//
int L1[I][T]=...;//
int L2[I][T]=...;//
int L3[I][T]=...;//
int L4[I][T]=...;//
int L5[I][T]=...;//
int L6[I][T]=...;//
int L7[I][T]=...;//
int L8[I][T]=...;//
execute {
  for(var i in I)
      {
        for( var s in S)
        {
          for(var t in T)
          {
            for(var k in K)
            {
             if(s=1)
             G[s][t][k]=G1[t][k];
             D[s][t][k]=D1[t][k];
             P[i][s][t]=P1[i][t];
             L[i][s][t]=L1[i][t];
             if(s=2)
             G[s][t][k]=G2[t][k];
             D[s][t][k]=D2[t][k];
             P[i][s][t]=P2[i][t];
             L[i][s][t]=L2[i][t];
             if(s=3)
             G[s][t][k]=G3[t][k];
             D[s][t][k]=D3[t][k];
             P[i][s][t]=P3[i][t];
             L[i][s][t]=L3[i][t];
             if(s=4)
             G[s][t][k]=G4[t][k];
             D[s][t][k]=D4[t][k];
             P[i][s][t]=P4[i][t];
             L[i][s][t]=L4[i][t];
             if(s=5)
             G[s][t][k]=G5[t][k];
             D[s][t][k]=D5[t][k];
             P[i][s][t]=P5[i][t];
             L[i][s][t]=L5[i][t];
             if(s=6)
             G[s][t][k]=G6[t][k];
             D[s][t][k]=D6[t][k];
             P[i][s][t]=P6[i][t];
             L[i][s][t]=L6[i][t];
             if(s=7)
             G[s][t][k]=G7[t][k];
             D[s][t][k]=D7[t][k];
             P[i][s][t]=P7[i][t];
             L[i][s][t]=L7[i][t];
             if(s=8)
             G[s][t][k]=G8[t][k];
             D[s][t][k]=D8[t][k];
             P[i][s][t]=P8[i][t];
             L[i][s][t]=L8[i][t];
           }
         }
       }
     }
   }                                                                                                         
dvar int+ GA[I][S][T][K];//Variable
dvar int+ GB[I][S][T];//Variable
dvar int+ DA[I][S][T][K];//Variable
dvar int+ DB[I][S][T];//Variable
dvar int+ PA[I][S][T];//Variable
dvar int+ LA[I][S][T];//Variable
dvar int+ M[I][S][T];//Variable
dvar int+ N[I][S][T];//Variable
dvar int+ V[I][T];//Variable
dvar int+ a[T];//Variable
dvar int+ b[T];//Variable
dvar int+ c[T];//Variable
dvar int+ d[T];//Variable
//choose one of them(fc1,fc2)
dvar float+ fc1;
//dvar float+ fc2;                                                                                                      
minimize fc1;
//minimize fc2;

subject to
{
fc1 == sum(t in T)(b[t]-a[t])+sum(t in T)(d[t]-c[t]);
//fc2 == sum(i in I, s in S, t in T)((DB[i][s][t]+GB[i][s][t])*d1[i][s]);
//
forall(s in S, t in T){
  R[s][t]==sum(i in I)(GB[i][s][t]);
}
//
forall(s in S, t in T){
  H[s][t]==sum(i in I)(DB[i][s][t]);
}  
//
forall(s in S, t in T, k in K:k>=0&&k<=T1-t){
  G[s][t][k]==sum(i in I)(GA[i][s][t][k]);
}
//
forall(s in S, t in T, k in K:k>=0&&k<=T1-t){
  D[s][t][k]==sum(i in I)(DA[i][s][t][k]);
}
//
forall(i in I, s in S, t in T){
  GB[i][s][t]==sum(k in K:k>=0&&k<=T1-t)(GA[i][s][t][k])+M[i][s][t];
}
//
forall(i in I, s in S, t in T){
  DB[i][s][t]==sum(k in K:k>=0&&k<=T1-t)(DA[i][s][t][k])+N[i][s][t];
} 
//
forall(i in I, s in S, t in T){
  PA[i][s][t]==sum(k in K:k>=0&&k<t)(DA[i][s][t-k][k])+P[i][s][t];
}
//
forall(i in I, s in S, t in T){
  LA[i][s][t]==sum(k in K:k>=0&&k<t)(GA[i][s][t-k][k])+L[i][s][t];
}
 //       
forall (i in I, t in T){
  sum(s in S)(DB[i][s][t]+LA[i][s][t])>=a[t];
}
//
forall (i in I, t in T){
  sum(s in S)(DB[i][s][t]+LA[i][s][t])<=b[t];
} 
//
forall (i in I, t in T){
  sum(s in S)(GB[i][s][t]+PA[i][s][t])>=c[t];
}
//
forall (i in I, t in T){
  sum(s in S)(GB[i][s][t]+PA[i][s][t])<=d[t];
}
//
forall (i in I, t in T){
  sum(s in S)(DB[i][s][t]+LA[i][s][t])<=h;
} 
// 
forall (i in I, t in T){
  sum(s in S)(GB[i][s][t]+PA[i][s][t])<=h;
}
//
forall (i in I, t in T:t>=2&&t<=T1){
V[i][t]==sum(s in S)(GB[i][s][t]+DB[i][s][t]-PA[i][s][t]-LA[i][s][t])+V[i][t-1];
}
//
forall (i in I, t in T:t==1){
V[i][1]==sum(s in S)(GB[i][s][t]+DB[i][s][t]-PA[i][s][t]-LA[i][s][t])+V0[i];
} 
//
forall (i in I, t in T){
  V[i][t]<=B1;
}
//  
forall(t in T){b[t]<=h;
}
//
forall(t in T){d[t]<=h;
}
}
V0 = [16, 16, 15, 14, 15, 13, 15, 15, 16, 14];
d1 = [[11,31,19,43,11,19,43,31],
[15,27,15,39,15,15,39,27],
[11,23,11,35,11,11,35,23],
[11,19,11,31,11,11,31,19],
[15,15,15,27,15,15,27,15],
[19,11,11,23,19,11,23,11],
[23,11,11,19,23,11,19,11],
[27,15,15,15,27,15,15,15],
[31,11,19,11,31,19,11,11],
[35,11,23,11,35,23,11,11]];
R = [[4,4,0,0,0,0,0,0,0],
[8,8,8,4,4,0,0,0,0],
[8,8,8,8,4,4,0,0,0],
[0,0,8,8,8,8,4,4,0],
[4,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,8,8,8,8,4,4]];
H = [[0,0,0,20,20,0,0,0,0],
[0,0,0,0,0,0,20,20,0],
[0,0,0,0,0,0,0,20,20],
[0,0,0,0,0,0,0,0,0],
[0,0,20,20,0,0,0,0,0],
[20,20,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]];
G1 = [[0,0,0,2,2,0,0,0,0,0],
         [0,0,2,2,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0]];
G2 = [[0,0,0,0,0,0,4,4,0,0],
[0,0,0,0,0,3,5,0,0,0],
[0,0,0,0,6,2,0,0,0,0],
[0,0,0,2,2,0,0,0,0,0],
[0,0,1,3,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]];
G3 = [[0,0,0,0,0,0,0,4,4,0],
[0,0,0,0,0,0,6,2,0,0],
[0,0,0,0,0,5,3,0,0,0],
[0,0,0,0,2,6,0,0,0,0],
[0,0,0,1,3,0,0,0,0,0],
[0,0,2,2,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]];
G4 =[[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]];
G5 = [[0,0,2,2,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]];
G6 = [[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]];
G7 =[[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]];
G8 = [[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]];
D1 = [[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,3,2,2,1,0,0,0,0],
[0,4,3,2,3,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]];
D2 = [[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,4,0,0,0,0,0,0,0],
[0,3,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]];
D3 = [[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]];
D4 = [[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]];
D5 = [[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,5,1,1,3,2,0,0,0],
[0,2,4,3,1,2,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]];
D6 = [[0,0,4,2,2,1,2,1,0,0],
[0,3,3,2,3,2,1,2,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]];
D7 = [[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]];
D8 = [[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]];
L1 = [[0,0,0,2,1,0,0,0,0],
[0,0,0,3,1,0,0,0,0],
[0,0,0,2,2,0,0,0,0],
[0,0,0,1,2,0,0,0,0],
[0,0,0,2,1,0,0,0,0],
[0,0,0,1,1,0,0,0,0],
[0,0,0,2,3,0,0,0,0],
[0,0,0,1,2,0,0,0,0],
[0,0,0,1,2,0,0,0,0],
[0,0,0,1,1,0,0,0,0]];
L2 = [[0,0,0,0,0,0,1,0,0],
[0,0,0,0,0,0,0,1,0],
[0,0,0,0,0,0,0,1,0],
[0,0,0,0,0,0,1,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,1,0,0],
[0,0,0,0,0,0,0,1,0],
[0,0,0,0,0,0,1,0,0],
[0,0,0,0,0,0,0,1,0],
[0,0,0,0,0,0,0,0,0]];
L3 = [[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]];
L4 = [[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]];
L5 = [[0,0,2,1,0,0,0,0,0],
[0,0,1,2,0,0,0,0,0],
[0,0,2,1,0,0,0,0,0],
[0,0,1,2,0,0,0,0,0],
[0,0,2,1,0,0,0,0,0],
[0,0,3,1,0,0,0,0,0],
[0,0,1,2,0,0,0,0,0],
[0,0,2,3,0,0,0,0,0],
[0,0,2,2,0,0,0,0,0],
[0,0,2,3,0,0,0,0,0]];
L6 = [[2,2,0,0,0,0,0,0,0],
[1,3,0,0,0,0,0,0,0],
[2,2,0,0,0,0,0,0,0],
[2,2,0,0,0,0,0,0,0],
[3,2,0,0,0,0,0,0,0],
[1,2,0,0,0,0,0,0,0],
[1,2,0,0,0,0,0,0,0],
[2,2,0,0,0,0,0,0,0],
[3,2,0,0,0,0,0,0,0],
[3,1,0,0,0,0,0,0,0]];
L7 = [[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]];
L8 = [[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]];
P1 = [[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]];
P2 = [[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]];
P3 = [[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]];
P4 = [[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]];
P5 = [[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]];
P6 = [[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]];
P7 =[[1,0,0,1,1,0,0,1,0],
[1,0,2,0,0,0,1,0,0],
[0,1,0,1,0,0,0,0,1],
[1,0,1,0,0,0,0,0,1],
[0,1,0,1,0,1,1,1,0],
[1,1,0,0,1,1,0,0,0],
[0,0,1,0,0,0,1,1,0],
[0,0,0,0,0,0,1,0,0],
[1,0,0,1,1,0,0,1,0],
[0,1,0,0,1,0,0,0,0]];
P8 = [[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0]];