问题标签 [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.

0 投票
1 回答
93 浏览

casting - 来自 MS Solver Foundation 的 Domain.IntegerRange 使用 F#

我一直在使用 F# 使用 MS Solver,我需要将域定义为一系列整数。我了解到有一个函数:Domain.IntegerRange,它接受两个 Rational 类型的参数。

在 C# 中使用整数而不是 Rationals 没有问题:http: //msdn.microsoft.com/en-us/library/ff826356 (v=vs.93).aspx?cs-save-lang=1&cs-lang=csharp#代码片段 1

但是,在 F# 中,不接受这种隐式转换。应该如何实施呢?我试图以某种方式基于 int 创建 Rational,但没有这样做。

0 投票
1 回答
233 浏览

c# - C# SolverFoundation 找到最大长度组合

我有一个括号列表,我需要找到它们的组合,最多 4 个括号,最适合某个长度。

这些是我的括号,例如,我需要找出最接近的这些组合,而不超过 120 英寸。

我试图找出 SolverFoundation 库,但我不是数学专业的,对此几乎没有经验......使用 Excel Solver 和 Simplex LP 求解方法,解决方案是 1 30.28" 支架,1 42.09" 支架,和1 46.77" 支架,结果为 119.14"

0 投票
1 回答
637 浏览

matlab - 将 MATLAB 稀疏过滤移植到 F# 时,我应该使用什么求解器来替换 minFunc

我有以下要移植到 F#的稀疏过滤 MATLAB 代码。我知道 MATLAB 的 F# Type Provider 但不能在这里使用它,因为它会创建对 MATLAB 的依赖(我可以用它来测试)

我了解大部分 MATLAB 代码,但我不确定minFunc.Net 中 MATLAB 的等价物是什么。我相信我想要其中之一Microsoft.SolverFoundation.Solvers根据 MA​​TLAB 的网站

... minFunc 的默认参数调用准牛顿策略,其中使用 Shanno-Phua 缩放的有限内存 BFGS 更新来计算步长方向,并使用包围线搜索满足强 Wolfe 条件的点计算步长方向。在线搜索中,(受保护的)三次插值用于生成试验值,并且该方法在目标函数进入参数不产生实值输出的区域的迭代中切换到 Armijo 回溯线搜索

鉴于上述信息,任何人都可以确认Microsoft.SolverFoundation.Solvers.CompactQuasiNewtonModel是正确的方法吗?

此外,将上述代码移植到 F# 时是否还有其他明显的“陷阱”?(此类端口的新手)

0 投票
1 回答
620 浏览

c# - 将 Math.Pow 与 Microsoft Solver Foundation 一起使用

我正在做一个简单的求解器练习,我正在努力使用Math.Pow.

为什么我不能Math.Pow(error1, 2)在以下几行中使用?

它给出了一个错误:

错误 3 参数 1:无法从“Microsoft.SolverFoundation.Services.Term”转换为“double”

相关代码:

0 投票
1 回答
1081 浏览

c# - Microsoft Solver Foundation - 如何使用函数作为约束?

我正在尝试使用 C# 中的 Microsoft Solver Foundation 找到问题的解决方案,但在设置我需要的所有约束时遇到了麻烦。我的基本模型是我有一个托架列表,我需要加载每个托架,以使所有托架的总数最大化。我目前正在这样做

我真正想做的是添加某个函数返回 true 的约束。该功能将是这样的

但我不知道如何创建要传递给此函数的托架列表。我想做类似的事情,但是当我说 ToDouble 或 GetDouble 时,这会一直抛出异常。

谁能建议如何做到这一点?谢谢!

0 投票
0 回答
1034 浏览

c# - Microsoft Solver Foundation 无法解决 Excel 求解器解决的问题

我有一个带有约束的非线性优化问题。我用 Excel Solver (GRG) 解决了它,但是当我尝试将它翻译成 C# 时,Microsoft Solver Foundation它得到了solution.Quality = SolverQuality.Unknown.

问题是这样的:我对它们中的每一个都有一些决定和限制(上限和下限)。还有另外两个约束(这是有问题的约束):

  • 决策的总和需要为 1 (100%)
  • (MMULT(TRANSPOSE(Decision-Array),MMULT(Tabel-with-values,Decision-Array)))^0.5需要等于另一个值

目标是sum(Decision * value)。我是这样由 Microsoft Solver Foundation 编写的:

这些是我在上面的代码中使用的函数:

有人有解决方案吗?

0 投票
2 回答
2350 浏览

c# - 方法作为 Microsoft Solver Foundation 中的目标函数?

下面是一个典型的 MSF 优化公式:

是否可以使用单独的方法而不是像“5 * xs + 20 * xl”这样的语句作为目标函数?例如,像下面这样的方法?如何?

0 投票
0 回答
853 浏览

c# - 在 Microsoft Solver Foundation Services (SFS) 中使用目标函数

使用较低级别的 Solver 编程(MS Solver Foundation Solvers),可以将目标函数分配给优化模型,如下所示来自 Rosenbrock 示例:

在 Solver Foundation Services (SFS) 编程中,是否可以将目标函数分配给更高级别的优化模型?

如果可以在此级别使用目标函数,我想继续使用更高级别的 SFS。

0 投票
1 回答
285 浏览

c# - 求解器基础,奇怪的行为

如果我按原样运行此代码,Solver Foundation 会正确计算七个值,每个值都等于 2。

当我取消注释model.AddConstraint("constraint", x[0] + x[1] + x[2] == 2)时,最后的值只包含三个值:0、1 和 1。为什么它不包含其余值?

这是怎么回事?

0 投票
0 回答
162 浏览

c# - 微软求解器基础约束逻辑错误

这是我想作为约束添加到 Microsoft 求解器基础的公式。

SumTermBuilder在这段代码中使用了这个类,但是求解器给了我错误的结果,并且这段代码没有编译错误。为什么我得到错误的结果?

代码: