问题标签 [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.
python - 如何在“pyscipopt”中创建变量向量?
有没有办法在构造问题时创建一批变量pysciopt
?我正在构建一个整数编程问题,我当前的解决方案涉及一个循环,它addVar
需要我需要的尽可能多的变量。我有数百万像素作为变量,因此多次调用函数的 Pythonic 开销是问题的主导因素。这是我的代码现在所做的:
我想做的是用类似的东西替换循环model.addVectorOfVar(n=N, pre='x', vtype='B')
。这样的事情可能吗?
optimization - 在 pyscipopt 中,是否可以在我的主要优化模型中使用包含优化模型的函数?
我正在使用 Jupyter 笔记本。我尝试使用优化模型定义一个函数,它似乎在我的主模型之外工作。当我尝试在主模型中的变量上使用该函数时,起初内核死了,当我更新了 Anaconda 时,它现在似乎什么也没做。
我的功能:
我的主要型号:
python - 有没有更好的方法在 pyscipopt 中解决这个 MINLP?
我正在尝试解决以下 MINLP,基本上是试图最大化某个投资组合达到“天花板”性能的可能性。我对代码的第一次尝试如下。
编辑:数学说最大化,应该说最小化
这里的表现缓慢而笨拙,我想知道我是否在考虑这个问题完全错误。
feasibility - 如何使用 PySCIPOpt 解决仅可行性问题
我已经使用 CVXPY 和它的一些 LP 求解器来确定 A*x <= b 问题的解决方案是否可行,现在我想尝试 PySCIPOpt。我在文档中找不到这样的例子,而且我很难找出正确的语法。使用 CVXPY,代码很简单:
我认为 PySCIPOpt 不能像上面那样使用矩阵表示法,但必须将向量和矩阵视为标量变量的集合,每个变量都必须单独添加,所以我尝试了这个:
任何人都可以帮助我解决此类问题的 addCons() 中约束的正确形式,并确认询问解决方案是否可行的可接受方法是简单地将 0 作为目标传递?
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_size
在jupyter_lab_config.py
没有任何运气的情况下增加。
python - 如何让 pyscipopt 在 macOS 上运行
我正在尝试从 SCIP 优化套件安装 pyscipopt,以便在 Python 中使用 SCIP 求解器。我已经从 SCIP 网站下载了 SCIP 优化套件。不幸的是,我的 mac 终端在尝试时返回错误:“pip install pyscipopt”。看截图
有谁知道,为什么它不起作用?
可能有人对如何在 macOS 上为 Python 运行 pyscipopt 有其他想法吗?
提前谢谢你的帮助!
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 中实现相应的约束?
提前感谢您的帮助!
python - 在 PySCIPOpt 中的同一分支和绑定树中实现多个分支规则
我想最初实现一个自定义分支规则(对于树顶部的几个节点),然后使用 Scip 实现的香草完整强分支规则(或其他一些规则,如伪成本)。这可以使用/通过扩展 PySCIPOpt 来实现吗?
我想知道是什么导致了这种行为。是否需要多次调用分支才能执行强分支?
python - writeBestSol 方法在 pyscipopt 中不起作用
我想得到一个优化问题的解决方案,并用它来热启动另一个问题。
这会导致以下错误。任何想法如何解决这个问题?
OSError: [Errno 9] 错误的文件描述符