问题标签 [optimathsat]

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 投票
1 回答
900 浏览

python - Z3 优化,严格不等式

我遇到了一个之前提到的问题,我并没有完全得到解决方案(将替代与简化相结合)。在我的编码中,我有严格的不等式,我需要将 epsilon 设置为 0 或非常小的值。例如,我有以下简化的 Python 代码:

如何让 p 被分配最大值 1?(现在分配为 1/2。)非常感谢!

0 投票
2 回答
470 浏览

minizinc - 使用 Minizinc 进行优化 - 仅打印最佳解决方案

目前我正在仔细研究 Minizinc。Minizinc 在求解模型时会在输出窗口中显示我的模型的所有有效解。我有点困惑,因为我没有要求 minizinc 将模型作为满意度问题来解决。是否有可能只显示最佳解决方案?感谢您的回答。

最好的祝福

0 投票
1 回答
281 浏览

java - runtime.getruntime.exec 无法识别可执行文件

我正在使用 Runtime.getRuntime().exec() 方法运行“optimathsat.exe”文件。我的代码就像

运行此代码后,它在控制台中显示以下行

并在 bibi.txt 文件中显示以下错误

但是,当我将上述代码的一些行复制到一个单独的项目(只有一个类)中,并在 winCommand 变量中替换生成的命令时,它可以完美地工作。

我猜第一个项目的配置不正确,但我不知道该如何解决。

0 投票
3 回答
998 浏览

z3 - z3 控制模型返回值的偏好

问题:是否可以在 z3 中控制对模型返回值的某种偏好?

示例:给定以下命题逻辑公式,有两种可能的模型。

  • a: True, b: True, c: False (首选)
  • a: True, b: False, c: True (仍然有效,只是“第二选择”)

我想通过布尔公式/断言本身来控制 whereabare模型True应该优先于 whereacare模型True。但是考虑到b不可能True因为添加了额外的约束的情况,应该返回带有ac存在的模型。True

SMT2 公式: 这里是 SMT2 示例公式,可以通过rise4fun进行测试。

观察:我注意到实际上可以通过实际切换子句中子句的顺序来控制是否bc是否在返回的模型中。对于这个微不足道的例子,这在某种程度上是可靠的还是偶然发生的?Trueandor

0 投票
1 回答
321 浏览

minizinc - `constraint forall(i in x)( x[i] <= x[i+1] );` 无法满足的解决方案

我正在研究一个玩具问题来学习 minizinc。取一个介于 0 和 9 之间的值的数组(现在硬编码为 3 大小),并找到总和等于乘积的组合。

输出

这可以按预期工作,但是,接下来我尝试进行约束,以便值必须按顺序增加。

首先我尝试了这个:

这是不令人满意的。我在想这可能是由于i+1索引大于最后一项的数组大小。所以我在 forall 中添加了一个条件,以防止最后一项的索引超出范围:

然而,这也是不令人满意的。

我的概念理解有些不对劲。我的方法有什么问题?

0 投票
1 回答
139 浏览

z3 - Can I get a solution using "timeout" when using Optimize.minimize()?

I'm trying to minimize a variable, but z3 takes to long in order to give me a solution.

And I would like to know if it's possible to get a solution when timeout gets triggered.

If yes how can i do that?

Thx in advance!

0 投票
1 回答
65 浏览

shell - 并行化脚本外壳的一部分

我想并行化内部循环(重复)。

我已经安装了 GNU 并行并且我知道一些基础知识,但是因为循环有多个命令,我不知道如何并行化它们。

我将循环的内容转移到另一个脚本,我猜这是要走的路,但我的 3 个命令需要获取变量(tracelengthratioshortlong)并根据它们运行。任何想法如何将参数从脚本传递到下标。还是您对并行化有更好的了解?

我正在编辑这个问题,因为我使用了下面的答案,但现在我的执行时间总是 0.00,不管 file.smt2 有多大。

这是新版本的代码:

0 投票
1 回答
99 浏览

macos - shell `time` 命令并行执行的正确顺序

我需要执行下面的命令(作为脚本的一部分),但我不知道按什么顺序放置东西才能正确执行。我想要做的是将file.smt2作为 optimathsat 的输入 执行它,获取执行时间。但我希望使用所有 CPU 内核并行执行多次。

#!/bin/bash -x在文件开头添加了查看正在发生的事情,这是输出:

...从第一行,我可以看出顺序是错误的。从第 2,3 和 4 行开始,缺少语法。我怎样才能解决这个问题?

0 投票
1 回答
35 浏览

macos - 以固定顺序并行执行

我需要 results.csv 中给出的数据按顺序排列。每个作业都会打印其输入,即开头提到的 3 个变量:$tracelength$short$long$ratio,然后是该作业的相关执行时间;都在一条线上。到目前为止,我的结果看起来像这样:

我怎样才能修复订单?为什么执行时间总是0.00file.smt2是一个大文件,执行时间绝不可能是0.00

0 投票
1 回答
51 浏览

macos - 仅从命令 gtime 获取执行时间

我需要执行一个命令并获取它的执行时间。我正在使用 gtime 但输出与我想要的有点不同。

gtime 返回执行结果,然后返回执行时间。我需要将命令的输出(我需要它只是时间)存储在一个变量中,然后再使用它。有没有办法更改命令以仅获取执行时间?

所以如果我写下面的命令:

那么这是我得到的输出示例: