MATLAB: Which solver I can use to solve a non linear problem with 36000 variables and 24000 constraints

fminconnon-linear solver

I should solve a problem with multiple variables ( about 36000, due to the use of 4 different indices) and 24000 constraints (equalities and inequalities,only few are non-linear constraints).I adopted fmincon solver but it goes to overflow. Is there any fitting solver for my problem?

Best Answer

  • If you have nonlinear constraints, then fmincon is what you should use. To deal with the large size of the problem, you should be using sparse matrices for your linear equality and inequality constraints. You should also use GradObj and GradConstr options to provide your own analytical gradient calculations. Same thing with any Hessian calculations that the algorithm requires. The default finite difference derivative calculations will be very time consuming in light of the number of variables that you have.