# Looking for open source numerical solver

I am trying to solve an optimization problem

\begin{align} &\min f(x)\\ &\text{subject to } Ax\leq b\\ &x \in R^{\sim 10000},\ b \in R^{\sim 10000} \end{align}

$A$ is somewhat sparse (usually less than 5% populated) and I can efficiently evaluate $f(x)$ and $\nabla f(x)$. The Hessian of $f(x)$ comes at prohibitive computation times. $f(x)$ is a convex, non-linear, smooth function.

I tried Matlab's built-in solver fmincon but I keep receiving memory errors even though I am running on a system with 32GB memory. The exact Matlab settings I use are

options = optimoptions(@fmincon,'GradObj', 'on','SubproblemAlgorithm', 'cg', 'Display', 'iter','Hessian',{'lbfgs',20}, 'MaxIter', 50, 'Diagnostics', 'on');
[x,fval] = fmincon(@(x)myObjFunc(x),x0,A,b,[],[],lb,[],[],options);


I would be very happy if someone could recommend a suited open source solver I could use for this problem -preferably with some Matlab interface- or even better: more elaborate settings for Matlab's fmincon to circumvent the memory issues.

I already found the tomopt package. However, this is not open source. In case I cannot find any open source alternative, I will check this out.

• Can you get a "good" initial guess for $x$? – fibonatic Mar 30 '15 at 7:04
• I can solve the problem without linear constraints $Ax \leq b$ considering only positivity on $x$ quiet efficiently. That would give a pretty good intial guess I think! – Mark Mar 30 '15 at 8:42
• Did you tried CPLEX, it can be used with MATLAB also. – p.j Mar 30 '15 at 18:34
• As far as I understand, CPLEX is only applicable for linear and quad problems. I am interesting in general non-linear functions... – Mark Mar 31 '15 at 18:55
• Are you storing $A$ in memory as a sparse matrix or as a dense matrix? If you write whos A in MATLAB, does it say that it is sparse (should be in the last column of the output)? – Juan M. Bello-Rivas Apr 3 '15 at 12:35