gpt4 book ai didi

c#-4.0 - C# 中有没有直接的方法来优化数学函数或最小化表达式中的参数?

转载 作者:行者123 更新时间:2023-11-30 08:51:48 26 4
gpt4 key购买 nike

我正在尝试用 C# 实现一种算法,其中包含一些数学函数,例如:

最小化 a ||xu( i ) - Σj aj( i ) bj ||2 + β || a( i ) ||1

但我不确定 C# 中是否有任何直接的优化方法,并且我在论坛中找不到任何内容,或者您​​可以提供任何建议来解决 C# 中的此优化问题!?

最佳答案

有多种具有 C# 绑定(bind)的求解器可能适合您的问题,例如:

  • MS Solver Foundation是 Microsoft 的数学优化平台,为各种问题提供求解器,包括无约束和约束最小二乘法。付出了一些努力来深入研究 API,但作为返回,导数会自动计算等等。
  • ALGLIB提供了大量不同的优化器,可在 C# 中找到。 .
  • 上面阿里的评论中提到了IPOPT。我开发了与IPOPT的C#绑定(bind),可以下载here 。我当然有偏见,但我个人认为 API 相当简单。如果您使用csipopt,则需要手动提供导数。 (实际上还有一个库,其中包含 csipopt 并提供自动导数计算,Funclib。)
  • COBYLA2(如果有非线性约束)和 BOBYQA(如果有约束或无约束)是 Michael Powell 开发的无导数直接搜索方法。我已将这些求解器移植到 C#,100% 托管代码。 C# COBYLA2 项目可用 here ,并且 C# BOBYQA 项目可用 here .

关于c#-4.0 - C# 中有没有直接的方法来优化数学函数或最小化表达式中的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12120306/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com