I recently received tremendous help from this forum in setting up a JuMP optimization problem. I have a similar, but larger problem that I would like to attack, but it is too large to use the same methodology as previously. I’m looking for some help in properly formulating the problem and choosing the best solver. This problem is for an industrial application. If a specialized, commercial solver is required, I may be able to obtain it. Anyway, here is a summary…
The objective function to be maximized, (couched in Julia code) is
f(x) = sum(min.(A*x, bgoal))
Here size(A) == (nb, nc)
where 50 < nb < 400
, 500 < nc < 12_000
, and A
consists of only ones and zeros. Each row of A
has about 3% ones, with the rest zeros. bgoal
is a vector of positive constants. The constraints are
x .>= 0
sum(x) <= C
A*x .>= bmin
where C
is a positive constant, and bmin
is a vector of positive constants such that bmin .< bmax
.
I can handle the nondifferentiability of the min
function using a smooth approximation as discussed in my previous post. I’m hoping that someone can help couch this in terms of a standard optimization problem that is faster to solve than a general NLP, and also suggest an appropriate solver. Ideally the solution (even an approximate “good” solution) could be obtained in no more than a few minutes of computation. Thanks in advance.