solver相关内容

Z3:无效的有界变量

我正在尝试查看Z3(Python)中的一句话的有效性,但收到以下消息:Invalid bounded variable(s) 我在这里复制我遵循的步骤: v, a, b, c, d, e = Ints('v a b c d e') lt_1 = (v == 4) lt_2 = (v == 2) lt_3 = (v == 3) lt_4 = (v == 5) lt_5 = (v == ..
发布时间:2022-08-22 09:16:00 Python

巨蟒--优化的不等式组

我正在编写一个用Python语言编写的程序,其中的一小部分涉及优化方程/不等式系统。理想情况下,我会像在Modelica中所能做的那样,写出方程,让求解器来处理。 求解器和线性规划的操作有点超出了我的舒适区,但我还是决定尝试一下。问题是,程序的总体设计是面向对象的,并且有许多不同的组合来形成方程,以及一些非线性,所以我无法将其转化为线性规划问题(但我可能是错的)。 经过一些研究后,我发 ..
发布时间:2022-08-21 22:45:17 Python

SymPy:将符号/变量限制为区间

使用 SymPy,是否可以将符号/变量的可能值限制在某个范围内?我现在可以在定义符号时设置一些属性,例如 positive=True,但我需要更多控制,即我需要将其设置在区间 [0,1] 内.然后应该使用这个假设来求解、简化等. 解决方案 您可以将边界指定为不等式,例如 x >= lb 和 x ..
发布时间:2022-01-24 19:39:12 其他开发

布尔表达式求解器/简化器

我正在为非常大(但不复杂)的代数寻找布尔表达式求解器,例如:Boolsche Ausdrücke vereinfachen (Axiome)我想要一些代码(c++ 或 java [或库])来简化巨大的布尔表达式.我还没有发现什么.我只想做一些“简单"的转换,比如: 一个 &&〜一个->0一个 ||一个&&(b || c) ->一个 但要长得多.我现在想使用符号(a、b、c1、d1..)而不是 ..
发布时间:2022-01-19 17:52:46 Java开发

仅在 GPU 上求解小型对称正定 Ax = b

我正在尝试优化实时 3D 建模中的应用程序.应用程序的计算部分几乎完全在 CUDA 的 GPU 上运行.该应用程序需要每秒 500+ 次的小型 (6x6) 双精度对称正定线性系统 Ax = b 的求解.目前,这是通过使用 Cholesky 的基于 CPU 的高效线性代数库完成的,但需要每秒数百次从 CPU - GPU 复制数据并返回到 GPU 以及每次内核启动的开销等. 如何仅在 GPU 上 ..
发布时间:2022-01-10 15:53:54 其他开发

哪些统计数据表明 Z3 有效运行?

SMTLib2 指令 (get-info all-statistics) 显示多个数字,例如 编号.冲突:4数量传播:0(二进制:0)数量质量.安装:23 为了测试不同的公理化和编码,我想知道哪些数字适合声明一个 Z3 运行比另一个更好/更有效. 从名字猜测我会说num.质量.inst - 量词实例化的数量 - 是一个很好的指标(越低 = 越好),但其他的呢? 解决方案 量词实例 ..
发布时间:2022-01-07 23:55:34 其他开发

Matlab ode45.如何在调用时更改其中的参数?

我是 Matlab 的新手.我希望你能帮助我.我必须使用 ODE45 函数解决一个 ODE 系统.这是描述我的股票的函数. function dNdt = rateEquations(t, y)% 相应州的人口吴 = y(1);Ns = y(2);Nt = y(3);% 为了方便阅读,所有使用的常量都被删除了. 注意参数 F. %rate 方程dNs = s0 * Ng * F - Ns/ ..
发布时间:2021-12-08 15:25:00 其他开发

Matlab ode 求解器:改变状态和指定时间

我正在 t=0 处求解一组 ODE (dy/dt),所有初始条件 t=0 y_0=(0,0,0).我可以在不同时间为 y 值添加一些数字(例如,在 t=10 时,应将 y1 添加到该数字;在 t=20 时,应将 y2 添加到该数字等)并求解方程? 解决方案 按照您建议的方式(以及@macduff 说明的方式)在 ODE 中插入大的不连续性会导致精度降低和计算时间延长(尤其是使用 ode45 ..
发布时间:2021-12-08 14:37:54 其他开发

C#:在 Linux 上的 .NET Core 中引用或使用 .so 文件

我们在 .NET Framework 上有一个项目,该项目引用了 Fico Xpress 求解器 dll.所需的 dll 是 – Xprb.dll Xprbdn.dll Xprsdn.dll 由于没有可用于使用 Fico Xpress Solver 的 nuget 包,我们安装了 Fico Xpress Solver 并将这些 dll 从安装目录复制到项目文件夹内名为 lib 的本 ..
发布时间:2021-11-24 18:45:31 C#/.NET

Z3:使用 C API 寻找所有可能的解决方案

我是 Z3 求解器的新手,使用 Windows 10,VS2013 命令提示符. 我正在尝试使用 C,并且尝试使用 Z3 求解器解决以下问题. 问题集:满足的a、b、c的可能组合是什么?a + 2*b + 3*c = 7? 所以我根据Z3的C代码示例编写了以下C代码: void 示例(){Z3_context ctx = mk_context();Z3_solver s = m ..
发布时间:2021-10-04 20:42:14 其他开发

Z3 Solver Java API:意外行为

通过向求解器添加条件,我想用“solver.check()"检查是否存在解决方案.因此,我创建了一个简单的示例来为 t1 找到解决方案.我知道 t1 有一个解,即 t1 = 0.然而,解算器没有状态“满足". public static void main(String[] args) {int h_max = 7;HashMapcfg = new HashMap();cfg.put("mode ..
发布时间:2021-10-04 20:37:12 Java开发

Gecode branch() 函数的 z3 替代方案?

在像 Gecode 这样的约束求解器中,我们可以借助分支函数来控制搜索空间的探索.例如branch(home , x , INT_VAL_MIN ) 这将从变量 x 在其域中的最小可能值开始探索搜索空间并尝试找到解决方案.(有很多这样的替代方案.) 对于 z3,我们有这种内置的灵活性吗??任何可能的替代方案?? 解决方案 SMT 求解器通常不允许给出此类“提示",它们更像是黑匣子. ..
发布时间:2021-10-04 20:33:14 其他开发

量词中的非零向量

我想验证以下形式的公式: 存在 p .ForAll x != 0 .f(x,p)>0 一个实现(不起作用)如下: def f0(x0, x1, x, y):返回 x1 ** 2 * y + x0 ** 2 * xs = 求解器()x0, x1 = Reals('x0 x1')p0, p1 = Reals('p0 p1')s.add(存在([p0, p1],ForAll([x0, x1],f0 ..
发布时间:2021-10-04 20:32:37 其他开发

z3 解数

如何使用 z3 计算解的数量?例如,我想证明对于任何 n,方程组有 2 个解 {x^2 == 1, y_1 == 1, ..., y_n == 1}.以下代码显示了给定 n 的可满足性,这不是我想要的(我想要任意 n 的解决方案的数量). #!/usr/bin/env python从 z3 导入 *# 将方程 { x_1^2 == 1, x_2 == 1, ... x_n == 1 } 添加到 ..
发布时间:2021-10-04 20:31:07 Python

JS中的数独求解器

我正在尝试编写一种可以解决数独的算法.现在,我的代码可以工作,直到 supplyGrid 没有数字为止.当它发生时,它应该返回并尝试另一个号码,对吗?老实说,我不知道如何做到这一点. var grid = [[0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, ..
发布时间:2021-09-01 18:52:46 前端开发

Python中的多元根查找

使用excel求解器,很容易找到这个方程的解(x和y的最佳值): (x*14.80461) + (y * -4.9233) + (10*0.4803) ≈ 0 但是,我不知道如何在 Python 中执行此操作.现有的 scipy 优化库函数,如 fsolve() 或 leastsq() 似乎只适用于一个变量......(我可能只是不知道如何使用它们)...... 有什么建议吗? ..
发布时间:2021-07-16 21:04:40 Python

如何设置 Pyomo 求解器超时?

如何设置 Pyomo solve() 方法的超时时间?更具体地说,告诉pyomo,在x秒后,返回当前找到的最优解? 解决方案 所以我能够通过 pyomo 文档找到答案,我认为分享会有所帮助. 设置 Pyomo solve() 方法的超时时间: solver.solve(model, timelimit=5) 然而,如果求解器没有终止,这将抛出 pyutilib.common._e ..
发布时间:2021-06-24 18:45:44 Python