I want to solve the following optimization problem: $$\max_{x} ~sumk(A\vec{x})$$ $$s.t ~~~ x \geq 0$$ $$~~~~~~~ \sum_i x_i =1 \quad\forall i=1,...,N$$
in which, $A$ and $x$ are matrix and vector respectively. The function $sumk(\vec{x})$ denotes sum of the $k$-largest entries in a vector $\vec{x}$.
I think, based on this paper the problem can be formulated as a min_max LP problem with a non-convex form.
I solved this problem using a general solver (e.g. matlab), but i was wondering if there is a more systematic way to solve it, and how in details?
BTW, i'm generally interested in solving the above for $sumk(f(x))$ in general, but the above simple form can be a good start for me.
If you restrict to the linear case then sum of $k$ largest entries can still be modeled as an LP. See books on convex optimization, for example exercise 5.19 in http://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf or https://docs.mosek.com/modeling-cookbook/linear.html#sum-of-largest-elements.