我有一个需要最大化的函数,它包含 3 个参数,其中一个是整数。
我如何让 optim 函数知道最大化(而不是默认的最小化)。以及如何让它知道整数中的参数之一?
如果其中一个参数是二进制或分类参数,它会起作用吗?
我有一个需要最大化的函数,它包含 3 个参数,其中一个是整数。
我如何让 optim 函数知道最大化(而不是默认的最小化)。以及如何让它知道整数中的参数之一?
如果其中一个参数是二进制或分类参数,它会起作用吗?
Max vs min 很容易(fnscale=-1
在control
参数中设置)。
整数参数并不容易。我不知道一个简单的开箱即用解决方案,希望其他人知道。
大多数实现的方法都optim
假设参数空间是连续的。(method="SANN"
将起作用,因为您可以为其提供明确的更新规则 - 请参阅示例 - 但要让它有效地工作是很棘手的。)优化任务视图中列出的大多数优化器都是用于持续优化 - 全局/随机部分给出混合离散/连续问题的最多选择。
如果合理整数的范围相当小,您可以使用蛮力(即,针对固定整数值范围中的每一个优化两个连续参数);您还可以对整数使用二等分搜索。