问题标签 [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 回答
487 浏览

c# - 在 SQL Server CLR 程序集中使用 Microsoft Solver Foundation

我目前正在编写自己的 CLR 存储过程,我需要使用 Microsoft Solver Foundation 的求解器。

为了能够在我的 CLR 项目中添加对 Microsft Solver Foundation 的引用,我需要将该程序集添加到我的 SQL Server 实例(源)中。所以我安装了 MS Solver Foundation Redistributable并使用以下脚本作为服务器管理员在 SQL Server 中注册它:

但是,我收到以下错误:


附加信息

CLR 版本:

SQL 服务器版本:

0 投票
1 回答
1124 浏览

vb.net - 在 Visual Basic .NET 中重现 Excel 求解器 GRG 非线性优化

我正在尝试使用 VB.NET 中的 Microsoft Solver Foundation 重新生成以下 Excel Solver GRG 非线性优化(为了本示例,数字已简化):

  1. 目标:总 Gas Rate = 100000
  2. 变量:井 1 油率
  3. 约束:0 <= 井 1 气体率 <= 1000,井 2 气体率 = 2000

这种优化受制于以下关系:

  1. 1 号井的天然气率= 1 号井的石油率 * 5
  2. 总瓦斯率= 井 1 瓦斯率 + 井 2 瓦斯率

是否可以使用 Solver Foundation 解决这样的问题?在尝试实现这一点时,我遇到的两件事是:

  1. Solver Foundation 模型似乎只有两个 GoalKind:最小值和最大值。就我而言,我正在尝试针对特定值进行优化。有没有办法做到这一点?
  2. 如何定义上述关系?我认为后者将被定义为目标定义的一部分(例如,model.AddGoal("total_gas_rate", GoalKind.[not sure what goes here], Well1PGasRate + Well2PGasRate),但是我如何定义另一个呢?

谢谢!

0 投票
1 回答
347 浏览

c# - 取消后台工作者操作

Microsoft Solver Foundation在最近的WinForms项目中使用它来解决调度问题。

我的调度方法是这样的:

有时调度过程需要很长时间(ScheduleUsingMSF() 方法我没有任何控制,需要很长时间),我使用了BackgroundWorker调用我的调度方法来防止 GUI 冻结。

当一个调度过程需要很长时间时,用户可能想取消当前的调度操作并更改他们的参数并再次运行它,所以我想为他们提供一个取消机制,所以我使用以下代码根据如何取消操作:使用后台工作者

我应该在哪里以及如何检查if ((bw.CancellationPending == true))取消Schedule()方法?

0 投票
1 回答
208 浏览

c# - 我在 Solver Foundation 模型中定义了多少项/变量/约束/非零值?

Microsoft Solver Foundation Express在我的程序中使用 eddition,Express 版本的模型大小受此链接的限制。

有什么办法可以查到多少:

  • 条款
  • 变量
  • 约束
  • 非零

我在我的模型中定义,使用代码?

0 投票
1 回答
60 浏览

mathematical-optimization - MS-Solver-Foundation:将对象的属性添加到模型中?

我是优化编程的新手。

我想为 RPG 编写一个字符计算器。

简化概述:角色具有可分配给 HP、dmg 和 def 的 statPoints。这三个之一中的每个点都会将 statPoints 减一。它可以穿不同种类的手套和短裤。那些衣服可以有套装效果。

我现在想最大化不同的东西,比如 HP 或 def。

虽然只为 statPoints 编写模型很容易,但我不知道如何包含衣服。

HP = (baseHP + gearHP) (1 + %HP/100) (1 + statPoints*0.0058) + 奖励;

将是 HP 状态的公式。

我只用 statPoints 或 Bonuses 计算 HP 没有问题,但我不知道如何从 Clothes 应用 hp, %hp。

示例: Gloves1: hp:100, def:50 ;Gloves2: hp:88,def:61;.... 等等其他衣服。还有像这样的套装效果:手套1 +短裤2:马力:30;

表示 gearHP= Gloves1.hp + Shorts2.hp + possibleSetEffect;

所以我的问题是:如果我有一个带有不同衣服的对象列表,如何将它们正确添加到我的模型中?

顺便说一句:目前我有一个“Gear”类,其中包含诸如 HP、Def、Damage 和 SetEffects 之类的衣服信息。我还有另一个类,它只包含衣服属于它的信息以及它给出的 Seteffect 的信息。我认为它朝那个方向发展:https://msdn.microsoft.com/en-us/library/ff847512%28v=vs.93%29.aspx,但它似乎与我的方法完全不同.

0 投票
1 回答
915 浏览

c# - 带/不带求解器的 C# 简单约束加权平均算法

我不知道为什么我无法使用 Microsoft Solver Foundation 解决这个看似简单的问题。

我只需要修改某些观察值的权重(数字),以确保没有一个观察值的权重百分比超过 25%。这是为了稍后使用该算法的结果计算约束加权平均值。

例如,给定 { 45, 100, 33, 500, 28 } 的 5 个权重,我希望这个算法的结果是 { 45, 53 , 33, 53 , 28 },其中 2 个数字必须是减少,使它们在新总数的 25% 阈值内(212 = 45+53+33+53+28),而其他保持不变。请注意,尽管最初,100 的第二个权重仅占总数 (706) 的 14%,但由于减少了 500 个的第四个权重,它随后推高了其他观察值的百分比,这是唯一的挑战这个。

我尝试使用 Solver 重新创建它,只是为了告诉我解决方案是“不可行的”,它只返回全 1。更新: 解决方案不需要使用 Solver,任何替代方案都是受欢迎的,只要它在处理相当数量的权重时速度很快。

对此的任何帮助将不胜感激,在此先感谢。

0 投票
2 回答
104 浏览

c# - 如何使用 C# 在指数求解器中使用决策

在我的应用程序中,我正在使用求解器。在此我创建了一个Decision运行良好的函数。但我想在函数Decision中使用函数Math.Exp。为了更好地理解,请参阅下面的源代码,

请指导我如何在Math.Exp函数中使用求解器决策。这是我的项目要求所必需的。

0 投票
1 回答
501 浏览

c# - 强制 C# SolverFoundation SimplexSolver 找到一个 int 解决方案

此处说明“定义用于优化混合整数问题的SimplexSolver分支定界搜索”。这应该意味着它找到了给定任务的整数解,但它找到了具有双精度值的精确解。

有没有办法强制它找到一个整数解决方案,或者我应该在给定的双重解决方案之上实现我自己的分支定界?

0 投票
1 回答
286 浏览

linear-programming - 使用 Microsoft Solver Foundation 解决需要数千个数据点的线性规划任务

使用 Microsoft Solver Foundation,我正在尝试解决 Ax <= b 形式的线性程序,其中 A 是包含数千个数据点的矩阵。

我知道我可以新建一个模型对象,然后使用 AddConstraint 方法以方程形式添加约束。然而,将这些方程放在一起,每个方程都包含数千个变量是不可能的。我查看了模型类,找不到只给它矩阵和其他信息的方法。

我怎样才能做到这一点?

谢谢!

0 投票
1 回答
2127 浏览

excel - 当有多个解决方案时,如何让excel求解器每次都给出相同的输出

我开发了一个 excel 宏,它在供应商站点运行求解器,在客户端运行另一个求解器。约束条件是根据用户输入动态创建的。但是,对于多个解决方案,我得到了不同的答案。

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

我能得到的是求解器约束方程根据两张纸中不同的单元格名称排序?如果我可以停止约束的排序,这可能会得到解决。怎么做? 在此处输入图像描述在此处输入图像描述

编辑 我的约束顺序相同,尽管这是解决问题的一种愚蠢方式,但即使在此之后,不同的 Excel 工作簿中的解决方案也会有所不同。 在此处输入图像描述