我将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,并且CpoRefineConflictResultdocplex.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

10-06 01:41