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

Pymoo调用minimize时报错'int object is not callable'问题求助

Pymoo调用minimize报TypeError: 'int' object is not callable排查思路
  • 排查终止条件传参格式
    你当前直接传('n_gen', 20000)作为终止条件的写法仅支持pymoo 0.4.x及更早版本,0.5.x之后的版本要求必须传入终止条件类实例,旧写法会被解析为普通参数,触发类型错误。
    修正代码示例:
    from pymoo.termination import get_termination
    
    res = minimize(
        problem,
        algorithm,
        termination=get_termination("n_gen", 20000),
        seed=1
    )
    
  • 排查minimize函数导入来源
    确认你导入的是pymoo的minimize,而非scipy等其他库的同名函数。scipy.optimize.minimize的参数规则和pymoo完全不同,传入pymoo的problem、algorithm等参数会直接触发类型错误。正确导入语句:
    from pymoo.optimize import minimize
    
  • 排查参数传入顺序
    如果你使用的pymoo版本和参考示例的版本不一致,minimize的参数顺序可能发生变更,建议所有非必选参数都显式指定参数名,避免位置传参错位——比如误把终止条件传入了需要回调函数的参数位,就会把元组内的整数识别为需要调用的函数触发报错。
  • 排查自定义Problem类初始化逻辑
    检查MyProblem的__init__方法中,是否有本该赋值为函数/可调用对象的属性被误赋值为整数,比如目标函数列表、约束函数列表是否混入了整数值。
  • 版本兼容性验证
    如果上述修改都无效,可以尝试将pymoo版本降级到0.4.2,验证是否是版本迭代带来的API不兼容问题:
    pip install pymoo==0.4.2
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 03:51:03