标签: scip

求解整数线性程序:为什么求解可解的实例的求解器是不可行的?

我正在尝试解决整数编程问题.我试过使用SCIPLPSolve

例如,给定A和B的最终值,我想在以下C#代码中求解valA:

Int32 a = 0, b = 0;
a = a*-6 + b + 0x74FA - valA;
b = b/3 + a + 0x81BE - valA;
a = a*-6 + b + 0x74FA - valA;
b = b/3 + a + 0x81BE - valA;
// a == -86561, b == -32299
Run Code Online (Sandbox Code Playgroud)

我以lp格式实现了这个整数程序(截断分区导致一些复杂化):

min: ;
+valA >= 0;
+valA < 92;
remAA_sign >= 0;
remAA_sign <= 1;
remAA <= 2;
remAA >= -2;
remAA +2 remAA_sign >= …
Run Code Online (Sandbox Code Playgroud)

mathematical-optimization cplex scip gurobi integer-programming

11
推荐指数
1
解决办法
3488
查看次数

SCIP 中线程的使用

在 SCIP 参数列表中,我看到三种类型的线程使用引用:

  • lp/threads(根据这个问题,用于求解LP的线程在使用SoPlex时并不重要)。

  • parallel/{min, max}threads(并行求解期间的线程数)。

  • concurrent/*(与并发模式下使用线程相关的参数)。

我的问题是:使用默认安装时 SCIP 中如何使用线程?这些参数与并发求解器parallel/{min, max}threads相关吗?如果我不打开并发求解器,SCIP 是否会使用可用线程来并行求解分支定界子问题?

提前致谢!

parallel-processing mathematical-optimization scip

5
推荐指数
1
解决办法
2510
查看次数

使用SCIP的CPLEX与CPLEX的速度

我是LP的新手,并且只PuLP在Python中使用过.

  1. 为什么SCIP 3.2.1 - CPLEX 12.63和之间存在速度差异CPLEX 12.6.3?SCIP是否仍然使用CPLEX进行求解?

  2. 为什么有人将SCIP与CPLEX求解器一起使用,而不是直接使用CPLEX?

在此输入图像描述

scipy cplex scip gurobi pulp

4
推荐指数
1
解决办法
1393
查看次数

使用 PySCIPOpt 设置 MIP 终止间隙

我不知道如何设置 MIP 间隙阈值,以便当原始解和对偶解之间的相对差异在某个值内时求解器将终止。我正在使用 PySCIPOpt 与 SCIP 交互。

我确信有一个简单的方法(例如,如果我使用 Gurobi 的 python 接口m.Params.MIPGap = x,它m就是模型实例在哪里)。

任何帮助是极大的赞赏!

python scip mixed-integer-programming

3
推荐指数
1
解决办法
1672
查看次数

SCIP 及分行及价格

我有一个关于 SCIP 的一般性问题。我需要使用 SCIP 作为我的问题的分支和价格框架,我用 C++ 编码,所以我使用 VRP 示例作为模板。在某些情况下,代码在分数解处停止并将其作为最佳解返回,我认为出了问题,我是否必须设置一些参数才能告诉 SCIP 寻找整数解,或者我犯了一个错误,我相信它不应该停止,而是在分数解上分支,直到达到整数解(没有任何其他负降低成本列)。我也最优地解决了子问题!有什么评论吗?!

c++ scip

2
推荐指数
1
解决办法
2480
查看次数

如何修复“pyscipopt 构建轮失败”?

我正在尝试安装 Pyscipopt 来做作业。学校网站上有安装指南,问题是它不适用于我的笔记本电脑。我必须在 Anaconda Prompt 中编写“pip install pyscipopt”,但收到错误“pyscipopt 构建轮失败”。我不知道这意味着什么或如何解决这个问题,有人可以帮助我吗?

(base) C:\Users\claire>pip install pyscipopt
Collecting pyscipopt
  Using cached https://files.pythonhosted.org/packages/a7/47/e3d5fcc37138c0eb9695d7c26e22b999c1274b06606db183c2aa36f98e5a/PySCIPOpt-2.2.0.tar.gz
Building wheels for collected packages: pyscipopt
  Building wheel for pyscipopt (setup.py) ... error
  ERROR: Complete output from command 'C:\Users\claire\Anaconda3\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\claire\\AppData\\Local\\Temp\\pip-install-zja79xrm\\pyscipopt\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\claire\AppData\Local\Temp\pip-wheel-jnmor4q4' --python-tag cp37:
  ERROR: Using include path <C:\Users\claire\AppData\Local\Temp\pip-install-zja79xrm\pyscipopt\src>.
  Using SCIP library <scip> at <C:\Users\claire\AppData\Local\Temp\pip-install-zja79xrm\pyscipopt\lib>.
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.7
  creating build\lib.win-amd64-3.7\pyscipopt
  copying src\pyscipopt\Multidict.py -> build\lib.win-amd64-3.7\pyscipopt
  copying …
Run Code Online (Sandbox Code Playgroud)

python scip anaconda

2
推荐指数
1
解决办法
1万
查看次数

SCIP 没有找到 MIQP 问题的良好解决方案,而 CPLEX 很快找到一个解决方案

我想使用 SCIP 解决具有 267 个变量 [1] 的混合整数二次规划问题。

CPLEX 可以在大约 30 秒内解决该问题,并且在不到一秒的时间内就已经找到了非常接近最优解的解决方案 [2, 3]。

不幸的是,SCIP 确实在解决这个问题上遇到了困难,即使运行了 20 多分钟也无法找到接近最佳的解决方案 [4]。

为什么是这样?CPLEX 在 MIQP 方面真的SCIP 好得多吗?我是否没有正确配置 SCIP?如何使用 SCIP 解决这个问题?

在我看来,SCIP 找到的解决方案与松弛的解决方案相去甚远。我的印象是 SCIP 首先解决松弛问题,然后尝试在此基础上找到整数解。这不正确吗?如果是的话,为什么解决方案还那么遥远?

cplex scip quadratic-programming mixed-integer-programming

2
推荐指数
1
解决办法
565
查看次数

使用 SCIP 的分支和价格

我目前正在尝试在 Windows 上的 Python 分支和价格框架中实现通用护士排班问题 (NRP)。

我尝试使用 Gurobi,但显然这是不可能的,请参阅讨论: https://support.gurobi.com/hc/en-us/community/posts/360043240312-Branch-and-price-example

我正在搜索一个关于如何在 Python 中使用 SCIP 设置分支和价格框架的小示例 - 开始。我只能找到 C 和 C++ 的例子,这是我不熟悉的语言。

python scipy scip

1
推荐指数
1
解决办法
1690
查看次数

Scip与Pyomo的接口问题

我正在尝试使用Pyomo解决非线性优化问题。最初,我尝试了Ipopt求解器,然后一切正常运行。然后,我想尝试求解器Scip尝试进行全局优化,因为Ipopt是本地求解器。但是,出现一个我无法理解的错误。

与Pyomo一起使用Scip并不是一件容易的事,但是通过Internet上的一些帮助以及一些反复试验,我可以从这里获取适用于Windows的scip可执行文件。我将可执行文件命名为scipampl并将其添加到我的PATH中。

当我运行以下命令时,Pyomo能够看到求解器,它返回True。

SolverFactory('scip').available() 
Run Code Online (Sandbox Code Playgroud)

确信自己已使一切正常,然后尝试运行代码。我将我的Solverfactory设置如下:

solver     =  'scip'               
solver_io  =  'nl'                  
opt        =   SolverFactory(solver, solver_io = solver_io)
Run Code Online (Sandbox Code Playgroud)

但令我失望的是,最终我收到以下错误消息:

[Errno 2] No such file or directory: 'C:\\Users\\NITINN~1.SIN\\AppData\\Local\\Temp\\tmpc0hzo5_7.pyomo.sol'
Run Code Online (Sandbox Code Playgroud)

我试图在互联网上了解这是什么意思,但到目前为止我还很走运。如果有人可以提出一些可能的原因,我将不胜感激。

谢谢。

python optimization ampl scip pyomo

0
推荐指数
1
解决办法
214
查看次数