非线性整数规划

SRK*_*RKX 6 r mathematical-optimization nonlinear-optimization

我想知道R处理非线性整数优化是否有一个包.

"基本上",我想解决以下问题:

max f(x) s.t x in (0,10) and x is integer.

我知道一些分支算法能够处理这个问题的线性版本,但在这里我的函数f()可能会更复杂.(我甚至无法确定它是形式的二次方f(x)=xQx).

我想总有蛮力解决方案来测试所有可能性,只要它们有限,但我想知道是否有更聪明的东西.

Ric*_*ron 8

我有几个选择,但它们都不是银弹,虽然看起来你的银弹正在rino项目的工作中:http://r-forge.r-project.org/projects/rino/.

由于您的功能很复杂,您可能希望使用遗传算法(即基于梯度的优化器可能不可靠).genoudrgenoud库中可以做到这一点(链接文本).如果你设置data.type.int=TRUE它应该做的伎俩.我没有使用过这个库,但是在matlab中有一些GA的经验,并且收敛的时间对设置很敏感,所以你可以很好地阅读手册页几次.

或者,如果您的函数严格凹陷(不太可能,因为您说它可能很复杂)您可以使用渐变求解器求解(例如optim),然后检查最佳周围的邻域(不能超过2 ^ n点来检查).

对不起,我无法提供更多帮助.