IBM ILOG CPLEX Studio中Pq数据集重复赋值错误调试求助
解决FPL球队选择优化模型的“Pq已被设置”错误
以下是针对该错误的排查和解决步骤:
- 排查.data文件重复定义:检查数据文件中是否存在多段对
Pq的赋值代码,比如重复的set Pq[Q] := ...语句,删除多余的定义,确保每个位置q对应的Pq只被定义一次。 - 分离模型声明与数据定义:在.mod模型文件中仅做集合声明,不要直接赋值。正确的声明方式如下:
所有set Q; # 位置集合 set Pq[Q]; # 仅声明由Q索引的球员集合,不设置具体元素Pq的具体元素定义统一放在.data文件中,比如:set Q := GK DEF MID FWD; set Pq[GK] := alisson ederson ...; set Pq[DEF] := van_dijk dias ...; ... - 检查赛季模拟的循环逻辑:如果3轮模拟是通过循环加载数据实现的,要确保每次模拟前没有重复执行
Pq的初始化代码,避免重复覆盖已定义的数据元素。 - 验证数据加载顺序:确保模型先加载集合Q的定义,再加载
Pq的定义,避免因索引集合未初始化导致的隐性重复定义问题。
内容的提问来源于stack exchange,提问作者abhinav98
相关产品推荐
相关产品推荐

