问题标签 [pyscipopt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
39 浏览

python - 如何在“pyscipopt”中创建变量向量?

有没有办法在构造问题时创建一批变量pysciopt?我正在构建一个整数编程问题,我当前的解决方案涉及一个循环,它addVar需要我需要的尽可能多的变量。我有数百万像素作为变量,因此多次调用函数的 Pythonic 开销是问题的主导因素。这是我的代码现在所做的:

我想做的是用类似的东西替换循环model.addVectorOfVar(n=N, pre='x', vtype='B')。这样的事情可能吗?

0 投票
1 回答
42 浏览

optimization - 在 pyscipopt 中,是否可以在我的主要优化模型中使用包含优化模型的函数?

我正在使用 Jupyter 笔记本。我尝试使用优化模型定义一个函数,它似乎在我的主模型之外工作。当我尝试在主模型中的变量上使用该函数时,起初内核死了,当我更新了 Anaconda 时,它现在似乎什么也没做。

我的功能:

我的主要型号:

0 投票
0 回答
111 浏览

python - 有没有更好的方法在 pyscipopt 中解决这个 MINLP?

我正在尝试解决以下 MINLP,基本上是试图最大化某个投资组合达到“天花板”性能的可能性。我对代码的第一次尝试如下。

编辑:数学说最大化,应该说最小化

基本 MINLP

这里的表现缓慢而笨拙,我想知道我是否在考虑这个问题完全错误。

0 投票
1 回答
23 浏览

feasibility - 如何使用 PySCIPOpt 解决仅可行性问题

我已经使用 CVXPY 和它的一些 LP 求解器来确定 A*x <= b 问题的解决方案是否可行,现在我想尝试 PySCIPOpt。我在文档中找不到这样的例子,而且我很难找出正确的语法。使用 CVXPY,代码很简单:

我认为 PySCIPOpt 不能像上面那样使用矩阵表示法,但必须将向量和矩阵视为标量变量的集合,每个变量都必须单独添加,所以我尝试了这个:

任何人都可以帮助我解决此类问题的 addCons() 中约束的正确形式,并确认询问解决方案是否可行的可接受方法是简单地将 0 作为目标传递?

0 投票
0 回答
40 浏览

jupyter-notebook - 运行 PySCIPOPT 时 Jupyter 内核死机

我在 Jupyter Lab 的笔记本中使用 PySCIPOPT 制定了一个 MINLP 问题。运行该model.optimize()方法时,内核重启,终端显示如下错误:

但是,当使用命令将计算时间限制为 0.1 秒时model.setParam('limits/time', 0.1),代码运行时内核不会死机。

在 Jupyter 之外运行代码时,没有问题。

Jupyter 和 PySCIPOPT 使用conda. 我尝试过创建新环境,重新安装所有内容,但问题仍然存在。

是什么导致我的内核死机?我也试过c.ServerApp.max_buffer_sizejupyter_lab_config.py没有任何运气的情况下增加。

0 投票
2 回答
31 浏览

python - 如何让 pyscipopt 在 macOS 上运行

我正在尝试从 SCIP 优化套件安装 pyscipopt,以便在 Python 中使用 SCIP 求解器。我已经从 SCIP 网站下载了 SCIP 优化套件。不幸的是,我的 mac 终端在尝试时返回错误:“pip install pyscipopt”。看截图

有谁知道,为什么它不起作用?

可能有人对如何在 macOS 上为 Python 运行 pyscipopt 有其他想法吗?

提前谢谢你的帮助!

0 投票
0 回答
12 浏览

scip - 在 PySCIPOpt 中将变量设置为指数的约束

我想用 Python 中的 SCIP 解决MINLP 问题,因此使用PySCIPOpt。我已经介绍了变量、目标函数并设置了约束(考虑到我的问题,尽可能地)。

在一个约束中,另一对变量的指数中有一个变量。目前,它看起来像这样(x_1, x_2, y_1, y_2, z,v都是变量):

model.addCons( x_1 * x_2 * ( (y_1/y_2)**((z-1)/z) -1 ) - v == 0 )

这会返回以下错误: NotImplementedError: exponents must be numbers

我正在阅读有关内置exp()方法的信息,但没有找到一个很好的示例来说明如何在我的特定代码中使用它。

我能想象的唯一选择是使用约束处理程序,这当然比仅仅放入exp().

有谁知道如何在 PySCIPOpt 中实现相应的约束?

提前感谢您的帮助!

0 投票
1 回答
30 浏览

python - 在 PySCIPOpt 中的同一分支和绑定树中实现多个分支规则

我想最初实现一个自定义分支规则(对于树顶部的几个节点),然后使用 Scip 实现的香草完整强分支规则(或其他一些规则,如伪成本)。这可以使用/通过扩展 PySCIPOpt 来实现吗?

我想知道是什么导致了这种行为。是否需要多次调用分支才能执行强分支?

0 投票
0 回答
14 浏览

python - writeBestSol 方法在 pyscipopt 中不起作用

我想得到一个优化问题的解决方案,并用它来热启动另一个问题。

这会导致以下错误。任何想法如何解决这个问题?

OSError: [Errno 9] 错误的文件描述符