CPLEX 求解器日志文件信息解读

对于 CPLEX 在其中找到整数可行解(即,新现任解)的任何节点,CPLEX 会在最左侧的列中记录一个星号 (*)。

在Node一列中,它记录了节点号。

在Left,它记录尚待探索的节点数。

在下一列 Objective 中,CPLEX 记录节点的目标值或探查该节点的原因。 (如果节点中某个子问题的解不可行,或者节点的目标函数值比分支裁剪的分界值更差,或者节点的线性规划松弛提供了整数解,那么将对该节点进行探查。) 对于那些报告 CPLEX 已通过主探试找到新现任解的行,此列将保留为空。 节点号后面的加号 (+) 用于区分这样的行。

在IInf 的列中,CPLEX 记录了整数不可行变量和特殊有序集的数目。 如果未找到解,那么标题为 Best Integer 的列为空;否则,它将记录目前为止找到的最优整数解的目标值。

在Cuts/Best Bound 的列记录可实现的最优目标函数值。 如果此列中显示 Cuts 一词,那么意味着已生成各种割平面;如果显示特定割平面名称,那么意味着仅生成了该类割平面。

在ItCnt 的列记录用于对子问题进行求解的算法的累积迭代计数。 在找到解之前,标注为 Gap 的列将为空。 如果找到了解,那么将列显相对差距值:如果值小于 999.99,那么将列显该值;否则,将列显连字符。 差距的计算方法如下:

(best integer - best node) * objsen / (abs (best integer) + 1e-10)

因此,列显的差距值可能并非总是平稳变动。 需要特别说明的是,每次找到新的最优整数解时,可能会有显著的改善。 此外,如果调用了解池填充过程,那么在找到最优解并证明其最优后,列显的差距值可能会变为负数。

改信息引自cplex 帮助文档,祥见 进度报告:解释节点日志 - IBM 文档

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要在Pyomo中使用CPLEX求解,你需要先安装CPLEX软件,并配置Pyomo以使用CPLEX求解。下面是安装CPLEX求解的一般步骤: 1. 下载CPLEX软件:访问IBM的官方网站,下载适用于你的操作系统的CPLEX软件。请确保下载与你的操作系统和Python版本兼容的版本。 2. 安装CPLEX软件:按照官方文档提供的说明,运行安装程序,并按照向导中的步骤完成安装过程。确保选择适用于Python的安装选项。 3. 配置环境变量:在安装完成后,你需要将CPLEX的安装路径添加到系统的环境变量中。具体步骤取决于你使用的操作系统。在Windows上,你可以在“控制面板”中找到“系统”>“高级系统设置”>“环境变量”来进行配置。 4. 安装CPLEX Python API:CPLEX提供了Python API,允许Pyomo与CPLEX求解进行交互。你可以使用pip命令来安装CPLEX Python API。在终端或命令提示符中运行以下命令: ``` pip install cplex ``` 这将安装CPLEX Python API,并使其可用于Pyomo。 5. 配置Pyomo以使用CPLEX求解:在Pyomo代码中,你需要指定使用CPLEX求解。在创建Pyomo求解对象时,可以指定使用CPLEX求解。例如: ```python from pyomo.environ import * model = ConcreteModel() # 定义模型和变量 # 创建求解对象并指定CPLEX求解 solver = SolverFactory('cplex') # 求解模型 solver.solve(model) ``` 请注意,如果你在安装CPLEX软件时选择了默认安装路径,Pyomo通常能够自动找到CPLEX求解。 安装和配置CPLEX求解可能会因操作系统和软件版本而有所不同。建议参考IBM的官方文档和支持资源,以获得关于安装和配置CPLEX求解的详细说明。 希望这个回答对你有帮助!如果你还有其他问题,请随时提问。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值