C# 中的免费优化库
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/1211201/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Free Optimization Library in C#
提问by Graviton
Is there any optimization library in C#?
C#中是否有任何优化库?
I have to optimize a complicated equation in excel, for this equation there are a few coefficients. And I have to optimize them according to a fitness function that I define. So I wonder whether there is such a library that does what I need?
我必须在excel中优化一个复杂的方程,对于这个方程有几个系数。我必须根据我定义的适应度函数优化它们。所以我想知道是否有这样一个库可以满足我的需求?
采纳答案by ShuggyCoUk
Here are a few free and open source c# implementrions
这里有一些免费和开源的 c# 实现
- Nelder Mead Simplex implementation[Alternate Link]
- Numericalprovides a variety of algorithms including:
- Chromosome Manager
- Genetic Optimizer
- Hill Climbing Optimizer
- Maximizing Point
- Maximizing PointFactoy
- Maximizing Vector
- Minimizing Point
- Minimizing Point Factory
- Minimizing Vector
- Multi Variable General Optimizer
- Multi Variable Optimizer
- One Variable Function Optimizer
- Optimizing Bracket Finder
- Optimizing Point
- Optimizing Point Factory
- Optimizing Vector
- Simplex Optimizer
- Vector Chromosome Manager
- Vector Genetic Optimizer
- Vector Projected Function
- DNAnalytics
- Done as both a pure managed solution and as a thin wrapper over the Intel unmanaged code.
- is being merged into MathNetNumerics
- Nelder Mead Simplex 实现[替代链接]
- Numerical提供了多种算法,包括:
- 染色体管理器
- 基因优化器
- 爬山优化器
- 最大化点
- 最大化 PointFactoy
- 最大化向量
- 最小化点
- 最小化点工厂
- 最小化向量
- 多变量通用优化器
- 多变量优化器
- 一个变量函数优化器
- 优化括号查找器
- 优化点
- 优化点工厂
- 优化向量
- 单纯形优化器
- 载体染色体管理器
- 载体遗传优化器
- 矢量投影函数
- DNA分析
- 作为纯托管解决方案和英特尔非托管代码的瘦包装器完成。
- 正在合并到MathNetNumerics
More can be found at this list
可以在此列表中找到更多信息
Note that optimizers frequently benefit from the more extreme code (or assembly) optimizations that are not really possible in pure managed c#. IF serious speed is a concern then targeting an unmanaged implementation like NAG or MOSEK may well provide significant benefits that outweigh the hassle of making the data accessible to the unmanaged API (pinning the managed buffer or using memory mapped files for example)
请注意,优化器经常受益于更极端的代码(或程序集)优化,而这在纯托管 C# 中是不可能的。如果严重的速度是一个问题,那么针对 NAG 或 MOSEK 等非托管实现可能会提供显着的好处,超过使非托管 API 可访问数据的麻烦(例如,固定托管缓冲区或使用内存映射文件)
回答by Dustin Hoffman
回答by jeroenh
One option is Microsoft Solver Foundation, also has an express edition
一种选择是Microsoft Solver Foundation,也有速成版
回答by Nigel
Microsoft Solver Foundation supports any .NET language including C# and the express version is free (subject to some limitations)
Microsoft Solver Foundation 支持任何 .NET 语言,包括 C#,并且 express 版本是免费的(受一些限制)