问题标签 [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 投票
0 回答
32 浏览

c# - 为什么没有其他人可以使用 MS SolverFoundation 命名空间运行我的程序?

我创建了一个使用 Microsoft Solver Foundation 的程序,因此包含一个

线围绕开始。

这需要将 .Net 4 框架用作目标框架。对我来说,该程序运行完美,但没有其他人可以运行它,使用相同的操作系统 (Win10),并且拥有比 .NET 4 更新的框架。我阅读了它,任何使用 Win10 的人都应该预装 .NET 4.5。

在尝试分发程序时,使用需要我设置引用的命名空间(此处为 Solver Foundation)是否需要特别小心?

我试图阅读最初不属于框架的特殊名称空间,但找不到关于这个主题的任何内容,而且我对这个开发的理论部分相当陌生。

0 投票
0 回答
351 浏览

c# - Microsoft Foundation Solver:作业车间调度问题

我刚刚开始使用求解器,但我仍然几乎不知道自己在做什么,但是:

假设我有各种各样的 JOB Shop Scheduling 问题,并且我遵循了一个教程并得到了一个可行的解决方案,现在我正在尝试对此进行扩展:

我有一组要在 X 资源(机器)上完成的任务,我想创建一个时间表,其中 a) 任务尽可能快地完成 b) 我想尽量减少这样做所需的时间,同时考虑到类型开关。

同一台机器可以做不同的处理不同类型的任务,但是在切换类型的时候,有一个1h的时间段机器需要Setup,但是我不知道怎么处理这个约束,这是我从教程中得到的.

我添加了约束来验证任务是否在交付数据之前完成(在本例中为 entrega):

它似乎可以正常工作,但现在我想考虑任务 Molde(Aka 类型),基本上,我想减少任务类型之间的切换次数以及完成此任务所需的时间。

我认为最快的方法是更改​​任务持续时间以适应切换时间,但我不知道如何/在哪里这样做。

我真的不知道所有这些求解器/优化问题,但是项目提出了这可能有用的地方,因此非常感谢任何见解/解释。

编辑:我想到了一个可能的解决方案,即添加一个约束,在两个连续的任务上强制执行该约束,如果 Molde 变量发生变化,则引入 1h 间隙,但我也不知道如何实现。

0 投票
1 回答
301 浏览

c# - 如何处理 Microsoft Solver Foundation 中已经存在的活动模型?

我用这个库来求解线方程,它适用于从这个库创建一个类对象,但是当我想重新创建对象时,它把我扔掉了:

System.InvalidOperationException:上下文中已经有一个活动模型。在Microsoft.SolverFoundation.Services.SolverContext.CreateModel ()

问题是在计算了第一个示例之后,我想更改数据并单击按钮并获取另一个示例的结果。

0 投票
1 回答
449 浏览

c# - 使用 MS Solver Foundation C# 求解非线性方程

语境

我想使用 C# 算法解决以下方程,并且不想重新发明轮子。我检查了 Math.NET,很快发现它只支持用数值方法求解线性矩阵方程。搜索我得出的结论是,使用 MS Solve Foundation,我可以编写 C# 代码来用一些数值方法求解我的方程。

问题

鉴于

a^x + b^x + c^x = 1

方程,其中 a、b、c 是给定常数,例如 0.4、0.35、0.5。不幸的是,所有 MS Solver Foundation 示例都是优化和问题求解,而不是简单的非线性方程求解,所以我什至不知道使用什么方法,什么方法完全合适,以及有哪些选项。

谁能指出我的选择是什么?

0 投票
0 回答
595 浏览

.net-core - Microsoft.Solver.Foundation .net 标准

有人知道 Microsoft.Solver.Foundation 的 .net 标准版本是否可用,或者是否将开源?

我们在后端服务中使用它,并希望将服务转换为 .net 核心,我想我们需要一个 .net 标准版本的 nuget 包。

0 投票
1 回答
91 浏览

c# - 如何在并行任务中运行 Microsoft Solver Foundation

我想在并行任务中运行 Microsoft Solver Foundation。我尝试了下面的解决方案,它抛出了一个异常“ArgumentException:exePath must be specified when not running in a Standalone exe.”。它一个接一个地运行良好,但我需要并行运行多个任务以加快进程。

这是我的求解器方法

当我尝试将它包装在多个任务中以并行运行时。

在这行代码会抛出异常

如果您需要更多信息,请告诉我。提前致谢

0 投票
0 回答
250 浏览

c# - 带有 net5 的求解器基础

实际上,我正在处理一个基于 Net Core 5.0(预览版)的项目。

我需要使用 Solver Foundation,但由于 Solver 基于 .Net Framework(它运行良好),因此不想工作。

当我尝试使用以下方法对其进行初始化时:

我收到以下错误:

一些机构可以提出解决方法?

先感谢您,

皮尔卡洛

0 投票
0 回答
21 浏览

c# - SolverFoundation InteriorPointSolver 为非常简单的 LP 问题提供了错误的解决方案

问题

我有一个需要解决线性规划 (LP) 问题的 C# 项目。我使用Microsoft.SolverFoundation.InteriorPointSolver https://docs.microsoft.com/en-us/previous-versions/visualstudio/ff525706(v=vs.93)我遇到了有时会找到不正确解决方案的问题。我尽可能地减少了样本(见下面的代码)。对于第一个块,正确的解决方案是 y = 5,但在输出中,我得到的数字非常接近 -5。然而,一个非常相似的第二个块可以正常工作。

技术细节

IDE:VisualStudio 2019 社区
项目:C# 控制台应用程序 .NET 5
Microsoft.SolverFoundation v3.1.0

假设

我认为问题在于我对solver.AddGoal最后一个参数(`bool minimize)的错误理解,因为它是前两个块之间的两个差异之一。但是块 III 和 IV 工作正常。所以我找不到原因。谢谢!

0 投票
0 回答
86 浏览

linear-programming - 为什么 Microsoft Solver Foundation 不返回解决方案?

我正在尝试使用 Microsoft Solver Foundation 解决我的线性程序,但它没有返回解决方案。它没有明确说明出了什么问题,所以我不确定发生了什么。我检查了约束,我相信它们编码正确,但也许 LP 模型本身是错误的?如果你能看看它,看看有什么问题,我会很高兴:)

我做这个是为了一个实际的任务,所以我不想分享我的代码。有关分配的信息:这是一个机器分配问题,您必须为所有患者计划两次预约。有全局参数:

  • p1 : 第一次约会的持续时间
  • p2 : 第二次约会的持续时间
  • g : 第一次和第二次约会之间的差距

每位患者需要计划的两次预约t1t2。每个患者还有个人参数:

  • 间隔I1=[r1, d1],可以计划第一次约会的时间间隔
  • x:(个人)第一次和第二次约会之间的额外差距
  • length l,第二个时间间隔的长度。I2=[t1 + p1 + g + x,t1 + p1 + g + x + l - 1]

LP型号1

0 投票
1 回答
81 浏览

c# - Microsoft Solver Foundation 对简单 ILP 给出错误答案

我想使用 Microsoft Solver Foundation 解决 C# 中的二进制线性问题。我不知道为什么我得到错误的答案。目标值应该是 41.1,但我得到 213。5 个变量的值应该是 1,其他的应该是 0。但是我得到了很多值错误的变量。

矩阵每一行的总和应该 <= 1。这是我的约束,正如您在Constraint_arr中看到的那样,我得到了正确的约束。

谢谢你的帮助。

在此处输入图像描述在此处输入图像描述

在此处输入图像描述

定义决策变量:

创建约束并将其添加到模型中:

创建目标函数:

打印答案: