我希望在Haskell中做一些简单的凸优化;不是太花哨,只是最小化具有一些二次约束的线性函数。我遇到了HVX,我想知道这是不是最好的包,或者有没有标准的替代方案。谢谢!
发布于 2020-07-09 20:00:19
ad
包有几个有用的例程和一两个梯度下降操作。例如:
$ cabal install --pacakge-env . --lib ad
$ ghci
> import Numeric.AD
> take 1 $ drop 10000 $ gradientDescent (\[x] -> (x-1)^2 + 3) [10]
[[1.0000000000377052]]
> conjugateGradientDescent (\[x] -> (x-1)^2 + 3) [10]
[[10.0],[1.0]]
我们看到我们正在最小化的函数,输入是一个可遍历的(在本例中是list),还有一个初始起点[10]
。这个包是optimization
包的基础,即使它不能彻底解决您的问题,它也应该提供一个良好的开端。
https://stackoverflow.com/questions/62819233
复制相似问题