cplex Python API v12.8中的PWL约束

时间:2019-08-14 00:21:47

标签: python cplex

当我尝试在Python中使用分段线性(PWL)函数时,将问题类型设置为cplex.Cplex.problem_type.LP之后,当我将模型写到文件中时,PWL cpnstraint(或函数)就会消失。但是,如果我将问题类型指定为cplex.Cplex.problem_type.MILP,则表示没有解决方案,尽管LP中存在解决方案。所以我想问问是否有人以前遇到过这个问题以及如何解决

1 个答案:

答案 0 :(得分:1)

您描述的行为是预期的。 PWL约束被认为是MILP建模对象。当您将问题类型更改为LP时,将删除MILP建模对象。鉴于LP可行,这听起来像是您的PWL约束引入了冲突,或者PWL的定义有问题。

求解MILP时得到的解决方案状态代码到底是什么?也就是说,Cplex.solution.get_status()的值是多少?引擎日志包含什么?这些可能会给您一些有用的信息。

如果尚未找到,请参见《 CPLEX用户手册》中有关分段线性约束here的章节。另请参阅安装CPLEX时随附的transport.py示例。