Quantcast
Viewing all articles
Browse latest Browse all 130

fmincon help wanted

I am trying to solve an optimization problem with 1000-60000 variables. My objective function is smooth and of general nonlinear form. I can efficiently calculate the gradient of my objective function, calculating the Hessian would be associated with prohibitive computational overhead. I would like to work with up to ~10^5 linear constraints and my optimization variables should all be >=0.

http://de.mathworks.com/help/optim/ug/choosing-a-solver.html suggests to use fmincon for such a problem, however, we quickly run into memory issues with the ldl factorization if we include a lot of linear constraints.

The code I am running is

%bounds
lb = zeros(n,1);
ub = inf * ones(n,1);

%options for fmincon
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);

Could anybody advise on better settings to solve such a problem with matlab or are these huge problems still beyond managable with matlab?

BTW We already specify A using a sparse matrix.

Thanks a lot for your help! Mark

Viewing all articles
Browse latest Browse all 130

Trending Articles