You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Python Xpress求解的计算时间及相关统计信息?

获取Xpress求解关键指标的方法

不需要解析冗长日志,Xpress的Python API提供了直接提取计算时间、内存、线程数的方法,完全符合你想要的简洁调用需求,具体操作如下:

1. 求解时间

求解完成后,通过getAttrib方法获取总耗时:

solve_time = xpress_problem.getAttrib('solvetime')

返回值以秒为单位,代表从求解启动到结束的总时长。

2. 内存使用信息

  • 获取求解过程中占用的内存:
used_memory = xpress_problem.getAttrib('memused')

单位为MB,对应求解器运行时实际使用的内存量。

  • 获取系统总可用内存:
total_memory = xpress_problem.getAttrib('totalmem')

同样以MB为单位,返回当前系统的总可用内存数值。

3. 线程数信息

获取求解时实际启用的线程数量:

thread_count = xpress_problem.getAttrib('threads')

如果需要手动设置线程数,可在求解前调用xpress_problem.setControl('threads', N)(N为目标线程数)。

完整示例代码

import xpress as xp

# 构建问题(示例)
prob = xp.problem()
x = xp.var()
prob.addVariable(x)
prob.addConstraint(x >= 0)
prob.setObjective(x)

# 执行求解
prob.solve()

# 提取关键指标
solve_time = prob.getAttrib('solvetime')
used_mem = prob.getAttrib('memused')
total_mem = prob.getAttrib('totalmem')
threads = prob.getAttrib('threads')

# 输出结果
print(f"求解耗时: {solve_time:.2f} 秒")
print(f"占用内存: {used_mem} MB")
print(f"总可用内存: {total_mem} MB")
print(f"使用线程数: {threads}")

这些方法直接从求解器内部状态读取数据,无需处理日志中的冗余信息,调用方式简洁高效。

内容的提问来源于stack exchange,提问作者jbuddy_13

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 00:10:51