【问题标题】:Free optimization library in C# [closed]C# 中的免费优化库 [关闭]
【发布时间】:2020-09-01 09:22:54
【问题描述】:

C#有优化库吗?

我必须在 excel 中优化一个复杂的方程,因为这个方程有几个系数。我必须根据我定义的适应度函数来优化它们。所以我想知道是否有这样一个库可以满足我的需要?

【问题讨论】:

  • 你可以看看 Excel Solver。
  • Excel Solver,它只与 Excel 绑定吗?
  • 为什么不提出建设性的问题?谁能重新打开它?

标签: c# mathematical-optimization


【解决方案1】:

这里有一些免费和开源的 c# 实现

  • Nelder Mead Simplex implementation [Alternate Link]
  • Numerical 提供多种算法,包括:
    • 染色体管理器
    • 基因优化器
    • 爬山优化器
    • 最大化点
    • 最大化 PointFactoy
    • 最大化向量
    • 最小化点
    • 最小化点工厂
    • 最小化向量
    • 多变量通用优化器
    • 多变量优化器
    • 一个变量函数优化器
    • 优化括号查找器
    • 优化点
    • 优化点工厂
    • 优化向量
    • 单纯形优化器
    • 向量染色体管理器
    • 向量遗传优化器
    • 矢量投影函数
  • DNAnalytics
    • 作为纯托管解决方案和英特尔非托管代码的精简包装器完成。
    • 正在合并到MathNetNumerics

更多信息请访问list

请注意,优化器经常受益于更极端的代码(或程序集)优化,这在纯托管 c# 中是不可能实现的。如果严重的速度是一个问题,那么针对像 NAG 或 MOSEK 这样的非托管实现可能会提供显着的好处,而不是让非托管 API 可访问数据的麻烦(例如固定托管缓冲区或使用内存映射文件)

【讨论】:

  • Nelder Mead Simplex 实现的链接似乎已损坏...
  • @RUser4512 添加了同一作者的类似 Google 代码链接(显然)
【解决方案2】:

一个选项是Microsoft Solver Foundation,还有一个express edition

【讨论】:

  • 我发现 MSF 的一个方面是您必须使用它们的表达式构造来定义适应度函数。如果您有一个现有的复杂适应度函数,则可能难以使用 MSF 构造来表达它。
  • 是否有指向低于 3.1 的旧版本的链接?它只支持.NET Framework 4.0,我需要3.5。
【解决方案3】:

似乎确实有许多不同的 C# 优化库。然而,This 似乎是最受欢迎的。

他们确实提供了试用版,因此您可以在购买前验证它是否适用于您的特定情况。

【讨论】:

    【解决方案4】:

    Microsoft Solver Foundation 支持任何 .NET 语言,包括 C#,并且 express 版本是免费的(受某些限制)

    http://code.msdn.microsoft.com/solverfoundation

    【讨论】:

    • 你有旧版本的链接吗?唯一可用的版本 3.1 适用于 .NET Framework 4.0,我需要 .NET Framework 3.5 版本。
    猜你喜欢
    • 2010-09-13
    • 1970-01-01
    • 2012-01-21
    • 2010-11-06
    • 1970-01-01
    • 2021-10-14
    • 2012-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多