Searching Solver for a convex seperable Integer programm

35 Views Asked by At

I have given a problem of the form $\min \sum_{j=1}^n f_j(x_j)$, s.t. $\sum_{j=1}^n g_j(x_j) \leq b$. Both the $g_j$ and $f_j$ are convex functions and $x_j$ are integer, so its a convex seperable Integer programm.

Are there any solvers for this problem (preferably R or matlab, but ill take anything)?

Ive been googling but the only solution I found so far would be to transform the problem to a 0-1 knapsack problem and use an R solver. That would work, but I'd prefer a general solution without transforming the problem by hand first, because i have several problems of this type.

1

There are 1 best solutions below

1
On BEST ANSWER

If the range of $x_j$ is limited, you can formulate the problems in terms of binary variables $y_{jk}$, where $y_{jk}=1$ if $x_j=k$. The problem is then: $$\min_{y \in\{0,1\}^{n\times K}} \left\{ \sum_j \sum_k y_{jk} f_j(k) \mid \sum_j \sum_k y_{jk} g_j(k) \leq b, \sum_k y_{jk}=1 \right\}$$ The advantage of separability carries over, so I expect the relaxation to be efficiently solvable.