2016-02-09 2 views
0

Я использую Gurobi из Python. Для этого сегмента кода:(Python, Gurobi) TypeError: ожидаемая строка или объект Unicode, список найден

Xlij = {}  
    for i in self.init.getNodes() - self.init.getActiveNodes(): 
     for l in self.init.getL(): 
      for j in self.init.getNeighbors(i, l): 
       Xlij[l,i,j] = model.addVar(vtype=GRB.BINARY, name=["X"+str((l,i,j))]) 

Я получаю эту ошибку:

File "C:\Python27\My sim\Solutiongrb.py", line 34, in run 
vars[l,i,j] = model.addVar(vtype=GRB.BINARY, name=["X"+str((l,i,j))]) 
File "model.pxi", line 2038, in gurobipy.Model.addVar (../../src/python/gurobipy.c:63880) 
TypeError: expected string or Unicode object, list found 

Хотя тот же синтаксис isused в примерах Gurobi document страницу 475. Любое объяснение? Благодаря!

ответ

0
["X"+str((l,i,j))] 

- это список с одним строковым элементом. Вероятно, вы хотите просто "X"+str((l,i,j))

+0

Да, в этом была проблема. Я забыл скобки при преобразовании cplex в модель gurobi. Спасибо @Stefan! – Betty

Смежные вопросы