cvxgrp / miqp_admm

ADMM for Mixed-Integer Quadratic Programming
41 stars 19 forks source link

Assertion failed #1

Open ma-wahab opened 6 years ago

ma-wahab commented 6 years ago

Hey

I tried running the codes in the example but I am always getting assertion failed. I have also edited the variables to their values which have been used in the paper, but I am not able to solve the problem.

Any help in this regard would be much appreciated.

With Best Regards, Muhammad Abdul Wahab

alexvoronov commented 6 years ago

I have noticed that increasing maxiter to something like 100000 helps to remove the error for assertion assert(f_admm < Inf). You can try plotting norm(A * x - b) for each of the iterations to diagnose this error and the convergence. Here is the code:

xs = solver_miqp_admm( ... ); % original solver call here
norm_i = nan(1, size(xs,2));
for i = 1:size(xs,2)
    x = xs(:,i);
    norm_i(i) = norm(A * x - b);
end
semilogy(norm_i/norm(A), '.')
yputter commented 6 years ago

@alexvoronov But isn't increasing the maxiter to 100000 resulting in enormous computation times and therefore kind of missing the whole point of the algorithm?