Ubuntu Pyomo scip解算器错误FileNotFoundError

Ubuntu Pyomo scip解算器错误FileNotFoundError,ubuntu,pyomo,scip,Ubuntu,Pyomo,Scip,我试图在ubuntu 20.04上使用solver,但在调用solver时收到一条奇怪的错误消息: FileNotFoundError:[Errno 2]没有这样的文件或目录:'/tmp/tmpxsrkdky5.pyomo.sol' pyomo是通过pip安装的,scip是通过安装程序脚本安装在他们的电脑上的。由于依赖性问题,我无法安装.deb文件——在Ubuntu 20.04而不是18.04上。安装程序脚本安装在我的主目录的文件夹中,但我在python脚本中提供了求解器的路径 最简单的工作示例

我试图在ubuntu 20.04上使用solver,但在调用solver时收到一条奇怪的错误消息:

FileNotFoundError:[Errno 2]没有这样的文件或目录:'/tmp/tmpxsrkdky5.pyomo.sol'

pyomo
是通过
pip
安装的,
scip
是通过安装程序脚本安装在他们的电脑上的。由于依赖性问题,我无法安装
.deb
文件——在Ubuntu 20.04而不是18.04上。安装程序脚本安装在我的主目录的文件夹中,但我在python脚本中提供了求解器的路径

最简单的工作示例:

import pyomo.environ as pyo

# basic setup
Agents = list(range(10))
Values = [1, 3, 5, 3, 2, 4, 5, 6, 4, 1]
Weight = [1, 2, 3, 4, 5, 6, 4, 2, 3, 1]

# create pyo model and set variable
Dummy = pyo.ConcreteModel()
Dummy.x = pyo.Var(Agents, bounds=(0, 1))

# set objective
Dummy.obj = pyo.Objective(expr=(sum(Dummy.x[i]*Values[i] for i in Agents)))

# add a constraint
Dummy.constraint = pyo.ConstraintList()
Dummy.constraint.add(sum(Dummy.x[i]*Weight[i] for i in Agents) <= 10)

# select solver and solve problem
opt = pyo.SolverFactory('scip', executable='/path/to/solver/SCIPOptSuite-7.0.1-Linux/bin/scip')
opt.solve(Dummy)
将pyomo.environ导入为pyo
#基本设置
代理=列表(范围(10))
值=[1,3,5,3,2,4,5,6,4,1]
权重=[1,2,3,4,5,6,4,2,3,1]
#创建pyo模型并设置变量
Dummy=pyo.ConcreteModel()
Dummy.x=pyo.Var(代理,边界=(0,1))
#设定目标
Dummy.obj=pyo.Objective(expr=(sum(代理中i的Dummy.x[i]*值[i]))
#添加约束
Dummy.constraint=pyo.ConstraintList()
Dummy.constraint.add(总和(代理中i的Dummy.x[i]*权重[i])
from pyscipopt import Model, quicksum

# basic setup
Agents = list(range(10))
Values = [1, 3, 5, 3, 2, 4, 5, 6, 4, 1]
Weight = [1, 2, 3, 4, 5, 6, 4, 2, 3, 1]

#==================solve it straight with scip================================
Dummy = Model("dummy")
# vtype='C' means the variable is continuous
x = [Dummy.addVar(lb = 0, ub=1, name=("x" + str(i)), vtype='C') for i in Agents]

# set objective
Dummy.setObjective(quicksum(x[i]*Values[i] for i in Agents), sense="maximize")

# add a constraint
Dummy.addCons(quicksum(x[i]*Weight[i] for i in Agents) <= 10)

# solve problem
Dummy.optimize()
sol = Dummy.getBestSol()
print(sol)