Python纸浆递归错误

Python纸浆递归错误,python,pandas,linear-programming,pulp,Python,Pandas,Linear Programming,Pulp,我正在处理纸浆库的LP问题,我有一些奇怪的问题,我自己无法解释。我有将近100个变量和约束,我想把它放在我的模型中,但我不能。它告诉我 RecursionError: maximum recursion depth exceeded in comparison 首先,我尝试在for循环中解析它: for cent_artic in df_demand['REQUIRED']: display(df_offers[df_offers['REQUIRED']==cent_artic])

我正在处理纸浆库的LP问题,我有一些奇怪的问题,我自己无法解释。我有将近100个变量和约束,我想把它放在我的模型中,但我不能。它告诉我

RecursionError: maximum recursion depth exceeded in comparison
首先,我尝试在for循环中解析它:

for cent_artic in df_demand['REQUIRED']:
    display(df_offers[df_offers['REQUIRED']==cent_artic])
    lista = list(df_ofertas1[df_ofertas1['REQUERIDO']==cent_artic]['OFERTADO'])
    display(lista)
    prob += lpSum(lista) >= cent_artic_dict[cent_artic], "Restriccion para cent_artic "+cent_artic 
递归错误出现了

我尝试只对问题传递一个限制:

prob += lpSum(['c-1_a-2757_p-13','c-1_a-2757_p-12','c-1_a-2757_p-188']) >= cent_artic_dict['c-1_a-2757']
这是一样的。我不明白为什么Python告诉我一个递归错误,如果我尝试只传递一个等式

cent_artic_dict = {'c-5_a-17372_p-188': var_c_5_a_17372_p_188,
                   'c-179_a-2757_p-188': var_c_179_a_2757_p_188,
                   'c-18_a-17372_p-188': var_c_18_a_17372_p_188,
                   'c-26_a-2757_p-18': var_c_26_a_2757_p_18,
                   'c-41_a-2757_p-18': var_c_41_a_2757_p_18,
                   'c-156_a-2757_p-188': var_c_156_a_2757_p_188,
                   'c-24_a-17372_p-188': var_c_24_a_17372_p_188, 
                   ...
                  }
现在,df_提供的数据帧的形状为(89,6)。起初是(89,21)

有人能解释一下我为什么会有递归错误吗?多谢各位


我看到了另一个问题,但没有答案,只有一个建议

我不知道你在做什么,但我可以指出这一点

prob += lpSum(['c-1_a-2757_p-13','c-1_a-2757_p-12','c-1_a-2757_p-188']) >= cent_artic_dict['c-1_a-2757']

无效,因为
lpSum
需要
LpVariables
not strings的列表

我遇到了类似的问题,并且得到了相同的递归错误


对我来说,我有一个数据类型问题,我的约束值存储为字符串而不是数字!这相当于原始问题中的
cent_artic_dict['c-1\u a-2757']
中的值。一旦我的右手边限制是一个数字,我就可以走了。根据评论,我认为克拉克努多可能也面临着类似的情况。

没错。正确,谢谢。但我不知道这是不是全部。我会努力找到它的。我有变量和te值的问题。现在就像prob+=lpSum(LpVariable.dicts(“var”)、['c-1_-a-2757_-p-13'、'c-1_-a-2757_-p-12'、'c-1_-a-2757_-p-188'],cat='Integer')>=cent_-artic-dict['c-1_-a-2757'],其中cent_-artic={'c-1_-a-2757':var_-c-1_-a-2757}cent-artic=dict,按需求解变量(cat='0')。谢谢现在,如何结束此主题?:)我也有同样的问题,我在下面发现了这个命令。当步骤3200导致另一个错误时。也许这是问题的线索。命令:sys.setrecursionlimit(3300)错误:“进程已完成,退出代码为-1073741571(0xC00000FD)”