我使用Docplex和Python3.7来实现约束编程。当这是不可行的,我怎样才能继续列出这些限制是冲突的根源?你知道吗
mdl.export_as_cpo(out="/home/..../MCP3.lp")
msol = mdl.solve(FailLimit=700000, TimeLimit=1600)
DInfos= msol.get_solver_infos()
mconflict=msol.CpoRefineConflictResult()
mconflict.get_all_member_constraints()
错误消息: McConflict公司=msol.cporefine冲突结果() AttributeError:“CpoSolveResult”对象没有属性“CpoRefineConflictResult”
solve
返回一个SolveResult
,CpoRefineConflictResult
是docplex.cp.solution
中的一个类。因此,错误消息是正确的:SolveResult
没有属性CpoRefineConflictResult
。您希望CpoRefineConflictResult
是冲突细化器的结果。你知道吗您可能应该进一步阅读文档http://ibmdecisionoptimization.github.io/docplex-doc/cp/docplex.cp.solution.py.html
您可以对
CpoSolver
对象调用.refine_conflict()
方法来获得CpoRefineConflictResult
,如这里所述http://ibmdecisionoptimization.github.io/docplex-doc/cp/docplex.cp.solver.solver.py.html#detailed-description如果你需要一个更具体的解决方案,也许你可以提供一个最小的,可重复的例子。https://stackoverflow.com/help/minimal-reproducible-example
我补充说:
之后,如果模型不可行,我将添加这些行:
相关问题 更多 >
编程相关推荐