问题标签 [solver]

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 回答
2296 浏览

javascript - Javascript:求解方程组

我正在使用维基百科上的“更接近的近似值”制作露点计算器。

如果用户输入任何两个变量,我希望能够计算露点。

有没有一种简单的方法可以做到这一点,而不是使用大量的 if 语句?

更具体地说:如果我想使用湿球温度而不是相对湿度怎么办?我是否必须创建一个新函数或使用 if 语句来排除一组变量?

目前我正在使用温度和相对湿度:

0 投票
4 回答
122172 浏览

r - R解决:系统完全是奇异的

我正在解决简单的优化问题。该数据集有 26 列和 3000 多行。源代码看起来像

一切都很完美 - 但我想在更短的时间内做同样的事情(只有 261 行),并且求解函数写入以下错误:

这很奇怪,因为当我对一些随机数做同样的事情时:

根本没有发生错误。有人可以解释一下问题出在哪里以及如何治疗。非常感谢,亚历克斯

0 投票
1 回答
1221 浏览

math - 如何求解符号非线性矢量方程?(Matlab 或其他)

我试图找到这个符号非线性向量方程的解决方案:

其中 P, V0, V1, V2, P0, P1, P2 是已知的 3d 向量。

我试图在 Matlab 中这样做:

我明白了

我开始不知道如何解决它,这不是我尝试的第一个数学包。

有趣的是,这个方程有一个简单的几何解释。如果您想象点 P0-P2 是三角形的顶点,V0-V2 大致是顶点法线并且点 P 位于三角形上方,那么对于包含点 P 的三角形满足该等式,它的三个顶点位于三条射线(V *t+P),共享相同的参数 t 值。a、b 和 (1-ab) 成为点 P 的重心坐标。

因此,如果情况不是退化的,那么 t 应该只有一个定义明确的解。

0 投票
1 回答
1433 浏览

c# - 如何使用 Solver Foundation 来简化决策矩阵

苦苦挣扎了一段时间,希望在这里寻求一些建议。首先,决策矩阵是这样的:

条件 1 -> 条件 2 -> 决定

假设: 1. 我们只考虑上述序列(“->”)。2. 条件 1 和 2 中的所有可能选项都只是“是”和“否”。

简化的标准是,如果在最后一个条件的所有可能选项下都做出相同的决定,那么在相同的 last-1 条件下可以省略最后一个条件。IE

对于决定“继续”*,

条件 1 -> 条件 2 -> 决定

我最初的想法是在这部分(*)中应用求解器基础,而其他部分由传统编程处理,如 for 循环和递归。在这种情况下,最终答案应该是

条件 1 -> 条件 2 -> 决定

我陷入的是以下逻辑的实现:

决策和目标:从集合*中,选择最小的索引i(即选择一个代表要简化的关键的案例)。

约束:选择条件 1 等于已决定案例的条件 1 的案例,然后检查所有选择的案例中是否所有可能的选项都出现在条件 2 中。

一旦我们得到决定,即 0,我们就知道条件 1 为“是”的情况可以省略条件 2。

看到任何人都可以提供帮助。谢谢。

0 投票
1 回答
2321 浏览

python - 通过 com 从 Python 调用 Excel 宏/Excel Solver

我在 2007 xlsm 文件中有一个宏,当调用它时,它会创建一个求解器配置(目标、约束等)并在没有任何用户交互的情况下执行求解。从 Excel 手动运行时,这工作正常。

我现在想通过 com 从 Python 编写脚本。但是,当 Python 代码调用求解器宏时:

它失败了:

foob​​ar.xlsm 无法解决,错误信息:模型错误。请验证所有单元格和约束条件是否有效。

如果我在调用时在我的 Python 环境中设置断点,Run()然后从 Excel 手动运行宏,它可以正常工作,因此求解器配置不会出错。

错误消息列在求解器网站上,但我认为它不适用,因为工作表可以手动解决。

此页面表明通过 com 调用时尚未设置求解器环境。但是,添加

由于我的求解器宏的第一行导致更通用:

那么正确的做法是什么?


编辑:

我将其隔离为一个可重现的测试用例:

Python代码:

Excel 文件:http ://dl.dropbox.com/u/3142953/testsolver.xlsm (您可以在禁用宏的情况下打开它并检查简单的子组件module1以验证它是否安全)。

0 投票
1 回答
938 浏览

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

SMTLib2 指令(get-info all-statistics)显示几个数字,例如

为了测试不同的公理化和编码,我想知道这些数字中的哪些适合声明一个 Z3 运行比另一个更好/更有效。

从名字猜我会说num. qa. inst- 量词实例化的数量 - 是一个很好的指标(更低=更好),但其他呢?

0 投票
4 回答
59173 浏览

java - Java Sudoku Generator(最简单的解决方案)

在我在这里看到的最后一个问题中: 数独 - 区域测试 我问如何检查 3x3 区域并且有人能够给我一个令人满意的答案(尽管它涉及到很多修补才能让它按照我想要的方式工作,因为他们没有'没有提到 table_t 类是什么。)

我完成了这个项目并且能够创建一个数独生成器,但感觉就像是做作的。而且我觉得我采取了一种非常蛮力的方法来生成谜题,从而使事情变得过于复杂。

本质上,我的目标是创建一个 9x9 网格,其中包含 9-3x3 区域。每行/列/区域只能使用数字 1-9 一次。

我解决这个问题的方法是使用二维数组随机放置数字,一次 3 行。一旦 3 行完成,它将检查 3 行、3 个区域和每个垂直列直到第 3 个位置。当它遍历它时,它会做同样的事情,直到数组被填充,但由于我用 rand 填充,并且多次检查每一行/列/区域,感觉非常低效。

除了二维数组之外,是否有一种“更简单”的方法可以使用任何类型的数据构造来执行此操作?有没有一种更简单的方法来检查每个 3x3 区域,这可能与更好地检查垂直或水平一致?从计算的角度来看,我看不出有太多方法可以在不显着增加代码大小的情况下更有效地完成它。

0 投票
2 回答
2828 浏览

vba - VBA:SolverAdd忽略约束

我正在尝试为宏的每次运行设置求解器,但它似乎忽略了一些约束,但由于某种原因并非全部。

它只是忽略范围 Range("n3", Range("n3").End(xlDown)) 和 Range("k3", Range("k3").End(xlDown)) 的约束

任何帮助,将不胜感激。

谢谢!

0 投票
1 回答
23105 浏览

excel - 使用 VBA 将约束添加到求解器工具

我正在尝试向我的 excel VBA 求解器解决方案添加一些新的约束,并且在运行代码时遇到了一些奇怪的行为。我想为最小化问题执行以下操作并且遇到了一些麻烦:

正在调整的两个杠杆必须 <= 35%,但是当我添加约束时:

当想法是尽可能低时,他们会自动将自己设置为 35%。如果没有这个约束,对于我要验证的问题,单元格确实将自己设置为低于 35%,所以我知道最佳解决方案低于 35%。

另外我想知道是否有办法确保 a) 单元格以 5% 的增量进行优化,并且结束值不包括小数。即 10.00% 而不是 10.23%

很抱歉这个冗长的问题,我很感激我得到的任何帮助。

这是完整的代码:

0 投票
2 回答
1809 浏览

r - 带不等式约束的优化

我正在尝试optim()在 R 中使用以下等式求解 lambda:

λ/sigma^2 - ln(λ/sigma^2) = 1 + 1/Q

受约束:

λ > sigma^2。

我不确定如何在 R 中进行设置。

我也对替代优化程序持开放态度,尽管该等式似乎是凸的,因此optim应该是一个不错的选择。

谢谢!