python - 仅在 docplex solve() 中打印解决方案
问题描述
使用from docplex.cp.model import CpoModel
我编写了一个 docplex 代码。模型定义如下。
mdl = CpoModel(name="HouseBuilding")
但是通过solve()函数,它最终打印了带有解决方案的不必要的输出。
msol = mdl.solve(TimeLimit=10)
我相信它正在打印下面的东西。
solve status,
solver parameters,
solver information
output log
示例输出如下。我应该如何避免打印这些信息而只打印解决方案。
! -------------------------------------------------- CP Optimizer 12.10.0.0 --
! Maximization problem - 153 variables, 123 constraints
! TimeLimit = 10
! Initial process time : 0.00s (0.00s extraction + 0.00s propagation)
! . Log search space : 330.1 (before), 330.1 (after)
! . Memory usage : 926.0 kB (before), 926.0 kB (after)
! Using parallel search with 4 workers.
! ----------------------------------------------------------------------------
! Best Branches Non-fixed W Branch decision
0 153 -
+ New bound is 385
! Using iterative diving.
! Using temporal relaxation.
0 153 1 -
+ New bound is 372
* 309 155 0.12s 1 (gap is 20.39%)
* 313 387 0.12s 1 (gap is 18.85%)
* 315 552 0.12s 1 (gap is 18.10%)
315 1000 2 1 F !presenceOf(H4-facade(Jack))
* 340 1480 0.12s 1 (gap is 9.41%)
340 2000 2 1 230 = startOf(H3-garden(Jim))
* 346 2343 0.12s 1 (gap is 7.51%)
解决方案
你只需要设置 log_output 参数来删除这个不必要的输出
msol = mdl.solve(TimeLimit=10, log_output=False)
要打印客观价值(又名解决方案):
print(msol.objective_value)
最后,如果您需要访问变量的解决方案,则必须迭代您的 Narray 变量并使用:
msol[var_name[(i, j, ... , etc. )]]))
我希望这个答案对您有所帮助,并对我的英语感到抱歉。
推荐阅读
- zend-framework - Lamians/ZF3:将 CSS 类添加到无效的表单字段
- c - 如何在 C 中链接 Wayland 头文件?
- c - Gtk.Combobox displays two columns (instead of 1), Why?
- spring-boot - Neo4j 6 Spring boot 2.4 迁移驱动会话查询
- c# - EF Core 关系映射
- plugins - 如何将 Visual Studio Code 扩展重新打包到具有自己的依赖项集的 Che-Theia 插件中
- javascript - FabricJS - 使用 4 个点(tl、tr、bl、br)创建矩形?
- thymeleaf - Thymeleaf ..如何使用 th:replace 在一个页面之间传递参数到另一个页面
- java - YT 视频同步观看后台
- angular - Angular Material中的下拉菜单问题