15

C#中是否有任何优化库?

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

4

4 回答 4

13

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

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

更多可以在这个列表中找到

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

于 2009-08-01T21:50:12.400 回答
8

一种选择是Microsoft Solver Foundation,也有一个速成版

于 2009-08-01T22:20:53.040 回答
3

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

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

于 2009-07-31T08:18:56.200 回答
1

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

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

于 2010-06-03T15:19:19.910 回答