I believe this may be the same issue I was asking about here).
I think you can solve get_gmax_CVX
analytically. Isn’t it something like the following? Take k=floor(alpha)
and p=alpha-k
. Then
(1 - p) * sum_largest(f, k) + p * sum_largest(f, k + 1)
Since 0\le p<1, this is convex. The idea is that if alpha
were an integer (must be less than length(f)
), then your function would be simply the sum of the largest k
elements of f
. Haven’t checked that this is right, but something along these lines may work.