Out of memory in GP

I have enter an out-of-memory problem in using GP when the number of CVX variables is 2M+1 with M=25, while it is okay when M=16.

Here follows the error message:

Successive approximation method to be employed.
SDPT3 will be called several times to refine the solution.
Original size: 51505 variables, 34278 equality constraints
15775 exponentials add 126200 variables, 78875 equality constraints

Cones | Errors |
Mov/Act | Centering Exp cone Poly cone | Status
??? Error using ==> reshape
Out of memory. Type HELP MEMORY for your options.

Error in ==> cvx_sdpt3>solve at 261
Avec{end}{end+1} = reshape( ( str_3 * str_2 ) * reshape( At(ti,:), nt, nv * m ), nt2 * nv, m );

Error in ==> cvxprob.solve at 245
[ x, status, tprec, iters2, y, z ] = shim.solve( [ At, Anew2 ], [ b ; bnew ], c, cones, true, prec, solv.settings );

Error in ==> cvx_end at 79
solve( prob );

Error in ==> My_code at 110

My OS os win7 64bits with 8GB DDR3 RAM.

I have no idea how to deal with it. Could anybody help?


I’m afraid the problem is simply too big for CVX. Furthermore, GPs and other models using the successive approximation method are solved using an experimental approach that turns them into even larger problems. I’m afraid there is no solution here for you; you will need to use a different solver.

If you have a license for MOSEK, they provide a direct interface to a GP solver that employs a different, more efficient algorithm. Consult the MOSEK users’ guide for details.

Thanks for your kind response!