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))
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
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.