当使用.X attribu访问变量的当前值时,Gurobi返回AttributeError错误

2024-04-27 04:11:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我在gurobi优化中有下面的代码,其中M是一个二进制变量。我正在使用.X属性访问变量的值,但当我运行代码时,会出现以下错误:

AttributeError: b"Index out of range for attribute 'X'"

如果删除.X属性,代码运行时不会出现任何错误,但对于M variable中所有元素的if语句,即使值不是“1.0”,它也会返回true。我猜它检查变量M中是否存在一个值,即使它是“0.0”,这个值也是真的。在本例中,在运行完代码后,我尝试在控制台中运行同一段代码(for loops),但没有这样的错误!。你知道吗

    for s in range(S)
        for t in range(T):
            for f in range(F):
                if M[(a,t,f)].X == 1:
                    print(M[(a,t,f)].X)

Tags: of代码inforindexif属性错误