python与gurobi 6.0.2 / setPWLObj的分段线性目标崩溃

时间:2015-03-04 10:58:16

标签: python crash linear piecewise gurobi

我们有一个复杂的优化问题,包括几个带整数和连续变量的二次项(使用Anaconda Python / Pycharm和Gurobi 6.0.2)。我们应用setPWLObj函数来测试二次目标组件。代码如下:

    m.addConstr(l1[t] == 1/2.0 * (hsqrt[t]+hQ[t]))
    m.addConstr(l2[t] == 1/2.0 * (hsqrt[t]-hQ[t]))
    hlx1 = linspace(-10, 10, 50)  
    hlx2 = linspace(-10, 10, 50)
    h1y1 = [0]*50
    hly2 = [0]*50

    for i in range(len(hlx1)):
        h1y1[i] = hlx1[i] * hlx1[i] * 7.348 / 1000.0
        hly2[i] = -hlx2[i] * hlx2[i] * 7.348 / 1000.0

    m.setPWLObj(l1[t], hlx1, h1y1)
    m.setPWLObj(l2[t], hlx2, hly2)

l1和l2是连续的变量。

问题表现不一致。在Mac上运行它主要提供退出代码138和139(对应于总线错误10),有时可以计算解决方案的相同问题。连续多次启动优化时尤其如此。这似乎是随机的。

在Windows计算机上,Python崩溃,或者退出代码“-1073741819”。进一步搜索此退出代码并没有真正帮助我们。

任何评论,建议和帮助都非常欢迎和赞赏。

1 个答案:

答案 0 :(得分:1)

很抱歉这么久,但我们解决了这个问题。

实际上我们发现python崩溃是由于Gurobi中的一个错误造成的。根据我们向他们提交的请求,该错误已被删除。

如果是Gurobi 6.0.3。或以上使用错误不再存在。