optimization - 求一个函数的最大值

标签 optimization math max

我需要找到函数的最大值:

a1^x1 * const1 + a2^x2 * const2 +....+ ak^xk * constk = 质量

其中 xk>0 且 xk 为整数。 ak 是常数。

约束:
a1^x1 * const1*func(x1) + a2^x2 * const2*func(x2) +....+ ak^xk * constk*func(xk) < 预算

其中 func 是一个离散函数:

func(x)
{
    switch(x)
    {
        case 1: return 423;
        case 2: return 544;
        ...
        etc
    }
}

k 可能很大(超过 1000)。 x 小于 100。
最好的方法是什么?

最佳答案

有一些技术,如 nelder-mead 优化(我相信 GSL 实现了),但大多数技术都假设某种特殊结构(即凸性或连续性)。根据函数的值,可能不存在唯一的最优值,甚至不存在正常下坡方法可以找到的最优值。

关于optimization - 求一个函数的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4902220/

相关文章:

math - float 学有问题吗?

java - 从数据文件中的一行整数中查找最大值和最小值

optimization - CUDA:同步线程

用于特定查询的 MySQL 索引

java - 预测乘法的位数

sql-server - SQL Server : left outer joins and return Y or N if a value exists

java - 如何从java 8中的对象列表中获取最大数量的所有不同元素

optimization - 你最喜欢的低级代码优化技巧是什么?

java - (Java) 存储大量具有索引属性的对象

c++ - 如何在假币算法中称重