在r中使用optim最大化函数,其中一个参数是整数



我有一个函数需要最大化,它包含3个参数,其中一个是整数。

如何让optim函数知道最大化(而不是默认的最小化(。我如何让它知道一个整数中的一个参数?

如果其中一个参数是二进制或分类的,它会起作用吗?

最大值与最小值比较容易(在control参数中设置fnscale=-1(。

整数参数并不容易。这类问题被称为混合整数规划问题,大多数可用的方法只处理线性二次混合问题。从优化任务视图:

MIP(混合整数编程及其变体MILP用于LP,MIQP用于QP,90C11(:glpkAPI、lpSolve、lpSolveAPI、Rcplex、Rglpk、Rmosek、Rsymphony

(我不太熟悉这些方法。(

optim中实现的大多数方法都假设了连续的参数空间。(method="SANN"会起作用,因为你可以给它明确的更新规则-参见示例-但要让它有效工作很难。(优化任务视图中列出的大多数优化器都是用于连续优化的-全局/随机部分为混合离散/连续问题提供了最多的选项。

如果看似合理的整数范围相当小,您可以使用暴力(即,对固定整数值范围中的每个整数值的两个连续参数进行优化(;您也可以在整数上使用平分搜索。

相关内容

  • 没有找到相关文章

最新更新