OSerror在使用Python中的psycipopt时发生。

huangapple go评论111阅读模式
英文:

OSerror in using psycipopt in python

问题

抱歉,以下是您提供的代码的翻译:

我想要使用pyscipopt但我一直得到这个错误OSError: [WinError 123] 文件名目录名或卷标语法不正确'C:\\Program Files\\SCIPOptSuite 8.0.3;D:\\softwares\\scip-8.0.3\\bin'

import pyscipopt

model = pyscipopt.Model()

# 设置求解器参数(可选)
model.setParam('presolving/maxrounds', 0)  # 禁用预处理以原样求解模型

# 定义变量
n = 3  # 行数
m = 4  # 列数
x = [[model.addVar(vtype='B', name=f'x_{i}_{j}') for j in
      range(m)] for i in range(n)]

z3 = 0
for i in range(n):
    for j in range(m):
        f_i = ...  # 为变量 x_i_j 定义您的目标系数 f_i

        z3 += f_i * x[i][j]
model.setObjective(z3, sense='minimize')

model.optimize()

if model.getStatus() == 'optimal':
    # 获取最优解
    solution = [[model.getVal(x[i][j]) for j in range(m)] for i in
                range(n)]
    print('最优解:')
    for i in range(n):
        for j in range(m):
            print(f'x_{i}_{j} = {solution[i][j]}')
else:
    print('未找到可行解。')

model.freeProb()

请注意,上述代码中的错误消息没有被翻译,保持原文不变。

英文:

I wanted to use pyscipopt and I keep getting this error: OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: 'C:\Program Files\SCIPOptSuite 8.0.3;D:\softwares\scip-8.0.3\bin'

`

 import pyscipopt
 

 model = pyscipopt.Model()

 # Set the solver parameters (optional)
 model.setParam('presolving/maxrounds', 0)  # Disable presolving 
 to solve the model as-is

 # Define the variables
 n = 3  # Number of rows
 m = 4  # Number of columns
 x = [[model.addVar(vtype='B', name=f'x_{i}_{j}') for j in 
 range(m)] for i in range(n)]


 z3 = 0
  for i in range(n):
     for j in range(m):
         f_i = ...  # Define your objective coefficient f_i for 
   variable x_i_j

    z3 += f_i * x[i][j]
   model.setObjective(z3, sense='minimize')

   model.optimize()


  if model.getStatus() == 'optimal':
  # Get the optimal solution
solution = [[model.getVal(x[i][j]) for j in range(m)] for i in 
  range(n)]
    print('Optimal solution:')
      for i in range(n):
          for j in range(m):
            print(f'x_{i}_{j} = {solution[i][j]}')
  else:
       print('No feasible solution found.')

   model.freeProb()
   `           

答案1

得分: 1

你需要创建一个新的Conda环境。打开一个终端(在Windows上,你可以使用cmd(命令提示符)PowerShell)或Anaconda Prompt。在终端中创建一个环境输入以下命令:

conda create --name myenv

myenv是你的环境名称,你可以随意命名,通常是与你的项目名称相关的名称。(你还可以指定要使用的Python版本,例如conda create --name myenv python=3.11。)然后,你需要激活环境以便我们可以使用它来运行你的程序:

conda activate myenv

在运行程序之前,我们需要安装PySCIPOpt,我们将使用PySCIPOpt的README中推荐的命令

conda install --channel conda-forge pyscipopt

要运行你的程序,你需要导航到包含你的程序的文件夹(OSerror在使用Python中的psycipopt时发生。OSerror在使用Python中的psycipopt时发生。),然后使用以下命令运行你的程序

python programName.py

文件名programName.py是你的程序的名称。

这是从终端运行程序的简单方法,如果你正在使用集成开发环境(IDE),那么你可以设置Anaconda与你的IDE一起使用

英文:

You need to create a new Conda environment. Open a terminal (on Windows you can use cmd (Command Prompt) or PowerShell) or Anaconda Prompt. To create an environment type in terminal:

conda create --name myenv

Name myenv is the name of your environment, you can put whatever you want, usually it is something like your project name. (You can also specify which Python version you want to use, for example conda create --name myenv python=3.11.) Then you need to activate the environment you just created so we can use it to run your program:

conda activate myenv

Before running the program we need to install package PySCIPOpt, we will use the command recommended in PySCIPOpt's README:

conda install --channel conda-forge pyscipopt

To run your program, you need to navigate to the folder (OSerror在使用Python中的psycipopt时发生。, OSerror在使用Python中的psycipopt时发生。) where your program is located and then run your program with the command:

python programName.py

Filename programName.py is the name of your program.

This is a simple way to run your program from the terminal, if you are using an IDE then you can set up Anaconda with your IDE.

huangapple
  • 本文由 发表于 2023年7月7日 02:30:49
  • 转载请务必保留本文链接:https://go.coder-hub.com/76631635.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定