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

Gurobi Python API设置MemLimit内存参数报错解决方法

报错原因

MemLimit是Gurobi的环境级参数,直接调用gp.Model()创建模型时,Gurobi会自动启动默认全局环境,环境启动后这类参数就不允许修改,因此会抛出Unable to modify parameter MemLimit after environment started的错误。

正确配置流程

需要先创建未启动的空环境,在环境启动前完成参数配置,再将配置好的环境和模型关联,具体操作步骤如下:

  • 调用gp.Env(empty=True)创建未启动的空Gurobi环境
  • 在未启动的空环境上设置MemLimit等需要的环境级参数
  • 调用环境的start()方法启动配置完成的环境
  • 创建模型时将自定义环境作为入参传入,完成环境和模型的绑定

可直接运行的参考代码:

import gurobipy as gp
from gurobipy import GRB

# 初始化空环境(未启动状态)
custom_env = gp.Env(empty=True)
# 启动前设置内存上限,参数单位为字节,1e+11对应100GB内存限制
custom_env.setParam('MemLimit', 1e+11)
# 启动配置完成的环境
custom_env.start()
# 创建模型时关联自定义环境
my_model = gp.Model('myModel', env=custom_env)

注意:除MemLimit外,所有环境级参数(如许可证配置、全局日志路径、并发计算核心数上限等)都需要按照上述流程在空环境启动前设置,模型创建完成后仅支持修改模型级参数。设置MemLimit时请不要超过设备实际可用物理内存,避免触发系统内存溢出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 21:24:20