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

Python Docplex建模出现变量名重复警告的问题咨询

问题原因及修复方案

原因分析

变量名重复警告的核心是直接拼接数字字符串时,不同的(t,i,a)组合生成了完全相同的变量名。

举个具体的冲突场景:

  • 当t=2、i=251、a=10时,拼接后的变量名是LI225110
  • 当t=2、i=2511、a=0时,拼接后的变量名同样是LI225110

A=3时,a的取值仅为0-2(个位数),和i的数字拼接后不容易撞名;但A=11时,a会出现10这类两位数,就大概率和i的末尾数字组合出重复字符串,触发警告。

修复方法

给变量名的各个参数之间加上分隔符(比如下划线_),确保不同组合的变量名唯一。修改后的代码如下:

from docplex.mp.model import Model
model = Model(name='Logistics')

T = 3
A = 11
I = [3200, 2600, 2530]

LI = [[[model.binary_var(name=f"LI_{t}_{i}_{a}") for a in range(A)] for i in range(I[t])] for t in range(T)]

用f-string格式化变量名,通过下划线明确分隔t、i、a三个参数,每个组合的变量名都会唯一,不会再出现重复警告。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 06:33:10