gurobipy 库 报错 'utf-8' codec can't decode byte 0xb8 in position 45: invalid start byte

问题相关代码,
from gurobipy import *
import numpy as np

# Constant creation
f = [400, 414, 326]  # ???????????y?????   400*y0+414*y1+326*y2+18*z0+25*z1+20*z2+sita
a = [18, 25, 20]     # ???????????z?????
C = [[22, 33, 24],   # ?????????????? -22*x[0,0]-33*x[0,1]-24*x[0,2]
     [33, 23, 30],   # -33*x[1,0]-23*x[1,1]-30*x[1,2]
     [20, 25, 27], ] # -20*x[2,0]-25*x[2,1]-27*x[2,2]
D = [206 + 40, 274 + 40, 220 + 40]
dl = [206, 274, 220]
du = [40, 40, 40]
k = 0  # Iterative counting

# Create model
MP = Model()  # Master-problem
SP = Model()  # Sub-problem(KKT)
SDSP = Model()  # Sub-problem (strong duality)
# Construction of Master-problem
# addVars
y = MP.addVars(len(f), lb=0, ub=1, obj=f, vtype=GRB.INTEGER, name='y')  # Gurobi??????addVar()??????????????
z = MP.addVars(len(a), lb=0, obj=a, vtype=GRB.CONTINUOUS, name='z')     # addvars()????????????
g = MP.addVars(3, lb=0, ub=1.0, name='g')
sita = MP.addVar(obj=1.0,vtype=GRB.CONTINUOUS, name='sita')

# addConstrs
Column1 = MP.addConstrs((z[i] <= 800 * y[i] for i in range(3)), name='column1')
Column4 = MP.addConstr(quicksum(z[i] for i in range(3)) >= 772, name='z')
Column5 = MP.addConstr(quicksum(g[i] for i in range(2)) <= 1.2, name='column5')
Column6 = MP.addConstr(quicksum(g[i] for i in range(3)) <= 1.8, name='column6')

MP.write("MP.lp")  # model print and visual inspection model,can open it with Notepad++
MP.optimize()  # Solve Model
LB = MP.objval  # get optimum value of model
print('sita==',sita)

运行结果及报错内容
Traceback (most recent call last):
  File "D:/anaconda/python/PyCharm Community Edition 2020.2/cx/鲁棒GITHUB/1.CCGRO-toy-case-master/MP.py", line 18, in <module>
    MP = Model()  # Master-problem
  File "src\gurobipy\env.pxi", line 67, in gurobipy.Env.__init__
  File "src\gurobipy\gurobi.pxi", line 32, in gurobipy.gurobi._getdefaultenv
  File "src\gurobipy\env.pxi", line 67, in gurobipy.Env.__init__
  File "src\gurobipy\exception.pxi", line 20, in gurobipy.GurobiError.__init__
  File "src\gurobipy\extern.pxi", line 19, in gurobipy.__bytestostring
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb8 in position 45: invalid start byte

Process finished with exit code 1

我的解答思路和尝试过的方法

尝试过更改目录文件名为英文,,换用不同的解码方式,,均失败。

开头加上
# encoding: utf-8
或者
import sys
sys.setdefaultencoding('utf-8')
并且保存你的py文件的时候选择utf8编码


我遇到相同的问题 已经解决了
我发现是因为换了个新电脑没有激活gurobi在本台计算机上的license导致的
您可以查看一下是否激活了本台计算机的gurobi的license,或者license过期

解决了吗,我和报错的你一模一样,