优化 – 查找函数的最大值

我需要找到最大的功能:

a1 ^ x1 * const1 a2 ^ x2 * const2 …. ak ^ xk * constk = qaulity

其中xk> 0且xk是整数. ak是不变的.

约束:
a1 ^ x1 * const1 * func(x1)a2 ^ x2 * const2 * func(x2)…. ak ^ xk * constk * func(xk)

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

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

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

点赞