首页 > 解决方案 > 在 r 中使用 optim 最大化函数,其中参数之一是整数

问题描述

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

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

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

标签: rr-optimization

解决方案


Max vs min 很容易(fnscale=-1control参数中设置)。

整数参数并不容易。我不知道一个简单的开箱即用解决方案,希望其他人知道。

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

如果合理整数的范围相当小,您可以使用蛮力(即,针对固定整数值范围中的每一个优化两个连续参数);您还可以对整数使用二等分搜索。


推荐阅读