【发布时间】:2021-05-31 15:37:58
【问题描述】:
当我在 docplex 中创建 mp 模型时,我可以检查解决方案是否可行,并可以显示不可行解决方案的未满足约束:
from docplex.cp.model import CpoModel
from docplex.mp.model import Model
mp_model = Model('MP')
mp_x = mp_model.integer_var(0, 10, "x")
mp_model.add_constraint(mp_x <= 5)
mp_model.add_constraint(mp_x <= 2)
possible_mp_solution = mp_model.new_solution()
possible_mp_solution.add_var_value(mp_x,3)
print(possible_mp_solution.find_unsatisfied_constraints(mp_model))
CP 是否可能相同(或类似的东西)?我知道您可以创建解决方案以将其用作起点,但我正在寻找一种方法来获取有关可能解决方案的信息。
cp_model = CpoModel(name='CP')
cp_x = cp_model.integer_var(0, 10, "x")
cp_model.add_constraint(cp_x <= 5)
cp_model.add_constraint(cp_x <= 2)
possible_cp_solution = cp_model.create_empty_solution()
possible_cp_solution.set_value(cp_x,3)
# does not exist
# print(possible_cp_solution.find_unsatisfied_constraints(cp_model))
【问题讨论】:
标签: constraint-programming docplex