问题标签 [ms-solver-foundation]
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.
ms-solver-foundation - 求解查普曼-理查兹方程
我需要找到一种方法来解决具有 3 个参数的 Chapman-Richards。方程是
F=a(1-EXP(-bt)) power c
这是一个非线性问题。目标是最小化误差,约束是 3 个变量必须 >= 0.0001。我们当前的实现使用 Excel 和 Solver 插件(GRG 非线性方法)。但是现在,我们需要在不使用 Excel 的情况下实现这一切。
我的问题是: 1. 是否可以使用 MS Solver Foundation 来解决这个问题?我已经阅读了一些文档并了解 MS Solver Foundation 使用 Nelder Mead Solver 或混合局部搜索求解器来解决非线性问题。有谁知道我的特定问题是否可以使用这些方法解决?而且,结果是否与使用 Excel 的 Solver 插件的 GRG 非线性方法相同?
如果没有,是否可以实现Excel Solver的GRG非线性方法?
还有其他方法可以实现吗?
感谢您提前回复。卡尔
附录:对不起,我忘了说 t 是时间变量。a、b 和 c 是求解器可以更改的参数。
asp.net - Microsoft Solver Foundation - 从不返回值
我需要将使用求解器插件的 excel 电子表格移植到 ASP.NET c# 站点,我使用的是 Solver Foundation 3.1 无济于事。
该方程是迭代的,需要满足两个条件才能确定两个决策值。
电子表格上的两个决策值设置为 1
那么目标是在满足以下条件时找到Formula1的MAX:
所有公式都使用 Ng 和 Nv,点击求解更改 Ng 和 Nv 以满足每个方程,它需要电子表格上 22 次迭代的平均值。
我在 c# 中实现了它,如下所示:
我已经用了 3 天了,但仍然没有取得任何进展,求解器只是加载然后消失,从不超时,不返回值等。我的代码中有什么根本错误吗?
任何帮助表示赞赏!
c# - Microsoft Solver Foundation 模运算符
我正在尝试通过执行以下操作向我的求解器基础添加一个基本约束:
我收到一个编译错误,提示“运算符 '%' 不能应用于 'Microsoft.SolverFoundation.Services.Decision' 和 'Microsoft.SolverFoundation.Services.Decision' 类型的操作数”。
这是有道理的,因为许多运算符不受支持。但是,许多不受支持的运算符(sin、cos、tan 等)可用作 Model 类的特定方法,如下所示:
如果我将“Sum”替换为“Mod”,则没有可用的方法。
关于如何在 Solver Foundation 中执行模运算的任何想法?根据此处的文档,它是受支持的。
我将开始使用反射器来挖掘代码,但我想我也会在这里发布它。如果我找到解决方案,我将更新我的问题以包含答案。
mathematical-optimization - C# 中的 Solver Foundation 比 Excel 的求解器有更大的错误
我开始在 WPF/C# 应用程序中使用 Solver Foundation,它应该替换解决线性问题的 Excel 工作表,如下所示:
- 混合 A:(20% A + 70% B + 10% C)
- 混合 B:(35% A + 65% C)
- 混合 C:(10% A + 80% B + 10% D)
我需要多少每种混合物才能尽可能接近(15% A + 70% B + 10% C + 5% D)。
非常简单,即使对于 Excel。所以...我在 OML 字符串中创建了这个模型,并使用 Solver Foundation 对其进行求解,但结果与我在 Excel 中得到的结果不同,并且在每种情况下,我得到的二次误差在 Solver Foundation 结果中都更大(在 Excel 表中检查)。
有什么方法可以配置求解器以获得与 Excel 中相同的结果?如果您需要查看 OML,请询问,我会更新问题。
c# - Solver Foundation 和 .NET GAC
我使用微软求解器基础制作了一个应用程序,它很棒。但我的问题是我的客户没有安装微软求解器基础,所以当运行程序时,他们得到了这个错误:
无法加载文件或程序集“Microsoft.Solver.Foundation, Version=3.0.2.10889, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或其依赖项之一。该系统找不到指定的文件。
我认为是因为它已安装到 GAC 中,但我可以在客户端机器上执行此操作,有什么解决方法吗?
也许我只能使用 dll?
asp.net - Microsoft Solver Foundation:将循环中的决策变量添加到约束
我正在尝试在 Visual Studio 2010 中使用带有 VB.NET 的 Microsoft Solver Foundation 创建一个优化模型。基本上,我列出了我需要雇用的 3 种类型的员工(调酒师、服务员和女招待),每种员工的工资和性能评级。我为每个潜在员工创建了一个决策变量。它设置为 0 表示不雇用决定,1 表示雇用决定。
当我尝试计算员工的总成本、总绩效得分或每种员工的总和时,我收到一个错误,指出我的决策变量还没有值。
有没有一种更简单的方法来添加这些约束(可能在循环中),而无需在每个约束中单独列出整个员工数据库的每个决策变量?
这是我正在使用的代码。
c# - 求解器基础单纯形求解需要大量时间
尝试使用 Solver 基础解决以下问题:
给定:范围:{x | x from double} 和点:{(x,y) | x,y 来自双}
查找分段线性函数 - { (a,b) | a,b 来自 double} 其中:
- 绘制的线性线位于范围的 x 之间。
- 涵盖所有要点。
- 图表下方的最小区域。
示例:范围:{1, 2, 3} ,点 {(1,40), (1.5,40), (2.5,70)}
我的解决方案:
使用 Simplex 最小化以下问题:
foreach 我范围添加:
来自 i 范围内的点的 foreach 点添加约束
然后添加目标:
并得到解决方案:
该解决方案有效地给了我一个正确的答案,但对于简单的情况需要很多时间,它需要 130 毫秒。你能告诉我我做错了什么吗?我在哪里可以优化?Simplex 方法是否适合这种情况?我们是否有比 SolverFoundation 更好的软件解决方案进行优化。
c# - Microsoft Solver Foundation UnsolvableModelException
我正在尝试使用 Microsoft Solver Foundation 解决 LP(网络问题)。我的代码在 C# 中。我收到以下错误: UnsolvableModelException 未处理。求解器在求解模型时抛出异常。 但是当我在较小的网络上解决同样的问题时,我没有收到这个错误。那么错误是因为约束和变量的数量太大而出现的吗?错误的原因是什么?
提前致谢。
ms-solver-foundation - Microsoft Solver Foundation:企业版
在哪里可以下载 Microsoft Solver Foundation 的企业版?我能够在线获得速成版,但它对变量和约束的数量有限制。我想用企业版解决大型LP。
algorithm - 使用 F# 在 Microsoft Solver 中添加约束
我正在使用 Microsoft Solver Foundation 和 F# 实现图形着色问题的解决方案。最近我发现了这段文档:
它解释了如何使用 C# 实现这一点。我试图翻译这个,但添加约束存在问题。在 C# 中,这很简单:
然而,对 F# 的文字翻译不起作用:
过了一会儿,我在 Term 类中找到了一个函数,可以用它来代替:
但是,使用这个“Term.op_Inequality”非常不方便。有没有办法更好地解决我的问题?