我有一个Cplex模型,有几个约束条件和一个解决方案池。我的一个限制是:
R_alt=[i for i in R if i not in SetAlt]
model.add_constraints((model.sum(x[i, j] for j in R2 ) == 2 for i in R_alt),"6C" )
model.add_constraints((x[i, n1-4] ==x[i, n1-2] for i in R_alt ),"7C" )
SetAlt是一组2个值,在进行约束之前将从R_alt中删除。我需要cplex为每个解决方案随机选取这2个值。换句话说,我需要cplex在解决方案池生成期间更改此约束的模型
例如,如果在一个解中R_alt=[0,1,2,3,6,7,8]上有6C,那么在另一个解中得到R_alt=[0,2,3,4,5,6,8]
以前,我使用PythonRandom选择这个SetAlt,但问题是我在所有解决方案中都使用相同的SetAlt
在https://github.com/AlexFleischerParis/zoodocplex/blob/master/zoomontecarlooptimization.py
您可能会发现一个更改约束并再次求解的示例:
相关问题 更多 >
编程相关推荐