nloptr 2.2.0版本发布:非线性优化库的重要更新

nloptr 2.2.0版本发布:非线性优化库的重要更新

nloptr nloptr provides an R interface to NLopt, a free/open-source library for nonlinear optimization providing a common interface to a number of different optimization routines which can handle nonlinear constraints and lower and upper bounds for the controls. nloptr 项目地址: https://gitcode.com/gh_mirrors/nl/nloptr

项目简介

nloptr是一个R语言包,它提供了对NLopt非线性优化库的接口。NLopt是一个免费/开源库,用于非线性优化问题,支持全局和局部优化算法。nloptr使得R用户能够方便地调用这些强大的优化算法来解决各种科学计算和工程问题。

版本更新亮点

nloptr 2.2.0版本主要修复了一个影响核心功能的关键bug,并对代码进行了多项改进和优化。这个版本特别值得关注的是它对nlopt 2.9.x版本的兼容性修复,这对于依赖nloptr的其他R包尤为重要。

主要更新内容

1. 兼容性修复

本次更新最关键的修复是针对nlopt 2.9.x版本的兼容性问题。具体来说:

  • 算法枚举修复:在nlopt 2.9.x版本中,NLOPT_LD_LBFGS_NOCEDAL算法被临时移除(在2.10版本中恢复),这导致了兼容性问题。新版本对此进行了适配处理。

  • 头文件处理优化:之前版本条件性地将nlopt头文件复制到inst/include目录,可能导致版本冲突。新版本改进了这一机制,确保更稳定的构建过程。

2. 构建系统改进

  • 无条件复制头文件:现在所有必要的头文件都会被复制到inst/include目录,解决了反向依赖包在LinkingTo时的链接问题。

  • CMake路径搜索修复:优化了CMake的路径搜索机制,提高了构建的可靠性。

3. 随机种子处理优化

修复了一个关于随机种子的重要问题:ranseed参数原本期望接收一个无符号长整型,但之前被作为整数传递,限制了随机种子的范围。现在改为传递双精度数并转换为长整型,显著扩展了可用的随机种子范围。

4. 测试套件增强

  • 终止条件完善:为测试用例添加了额外的终止条件,解决了两个失败的测试。

  • 测试用例修正:对test-bananatest-global-wrapper中的测试进行了修正,提高了测试的准确性和可靠性。

5. 代码质量提升

  • R API兼容性:更新了nloptr.c中的代码,确保与R API的完全兼容。

  • 代码效率优化:对核心代码进行了效率优化和格式化改进。

对用户的影响

对于直接使用nloptr的用户,这个版本提供了更稳定的优化体验,特别是在使用随机种子和特定算法时。对于开发依赖nloptr的其他R包的用户,这个版本解决了重要的兼容性问题,特别是那些需要链接到nloptr头文件的包。

构建系统更新

  • GitHub Actions工作流更新至最新版本。

  • 制品(artifact)处理动作更新至v4版本。

总结

nloptr 2.2.0是一个重要的维护版本,它解决了多个关键问题,特别是与nlopt 2.9.x版本的兼容性问题。这些改进不仅提升了nloptr本身的稳定性,也确保了依赖它的其他R包能够正常工作。对于使用非线性优化的R用户来说,升级到这个版本将获得更可靠和一致的优化体验。

nloptr nloptr provides an R interface to NLopt, a free/open-source library for nonlinear optimization providing a common interface to a number of different optimization routines which can handle nonlinear constraints and lower and upper bounds for the controls. nloptr 项目地址: https://gitcode.com/gh_mirrors/nl/nloptr

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

史跃蓉Jason

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值