首页 > 解决方案 > 使用 python cplex 解决方案池获得独特的解决方案

问题描述

我有一个 MILP 模型,我尝试使用 cplex python API 来解决它。我需要得到不止一种解决方案。问题是当我从我的 cplex 池中获得例如 50 个解决方案时,这些解决方案非常相似。在获得这些解决方案之前,我如何才能以某种方式进行洗牌,并在不添加新约束的情况下尽可能多地获得彼此不同的解决方案?

标签: pythonpython-3.xcplexdocplex

解决方案


您可以为此使用解决方案池过滤器。使用多样性过滤器,您可以确保解决方案足够不同。然而,这些过滤器仅适用于二进制变量。

您可以在解决方案池文档解决方案池参考文档中找到更多详细信息。可以在此处此处的 C 库参考文档中找到有关过滤器函数的详细信息。

用户手册还提供了一个关于寻找使用另一种策略的不同解决方案的示例。请参阅CPLEX > CPLEX 用户手册 > 离散优化解决方案池:生成并保留多个解决方案 > 解决方案池的参数 > 示例:通过替换参数的多样化解决方案


推荐阅读