我将Docplex与python 3.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()
错误信息:
mconflict = msol.CpoRefineConflictResult()
AttributeError:“ CpoSolveResult”对象没有属性“ CpoRefineConflictResult”
最佳答案
solve
返回SolveResult
,并且CpoRefineConflictResult
是docplex.cp.solution
中的类。因此,错误消息是正确的:SolveResult
没有属性CpoRefineConflictResult
。您期望CpoRefineConflictResult
是冲突优化程序的结果。
您可能应该通读文档多一些http://ibmdecisionoptimization.github.io/docplex-doc/cp/docplex.cp.solution.py.html
您可以在.refine_conflict()
对象上调用CpoSolver
方法以获得CpoRefineConflictResult
,如此处http://ibmdecisionoptimization.github.io/docplex-doc/cp/docplex.cp.solver.solver.py.html#detailed-description所述
如果您需要更具体的解决方案,也许可以提供一个最小的,可重复的示例。 https://stackoverflow.com/help/minimal-reproducible-example