Open alexvoronov opened 6 years ago
It might still be a typo... When I increased maxiter to 10000, the assertion error f_admm < Inf
disappeared:
https://github.com/cvxgrp/miqp_admm/blob/5d9d5c8434c0bc7d4dcf3f6d2c949f4833f7f260/matlab/vehicle.m#L26
I also modified res to be 1e-4: https://github.com/cvxgrp/miqp_admm/blob/5d9d5c8434c0bc7d4dcf3f6d2c949f4833f7f260/matlab/vehicle.m#L32
Even with those modifications, I can't get the graphs to look like the ones shown in the papers at www.stanford.edu/~boyd/papers/miqp_admm.html . Is there a possibility to upload the code and parameters that give such "nice" graphs?
If you study the void inv_norms_t(csc *As, double *z)
in his C code then I think that the missing function Norms() is basically an L1 norm per row, only computed slightly differently due to his defined Compressed Sparse Column matrix.
In Matlab this can be easily computed by,
norms = sum(abs(A),2)
E = 1./norms
Unfortunately, using the solver_miqp_admm parameters mentioned in the paper for the Matlab syn example, then the results are not the same as mentioned in the paper. Worse, the assertion throws the error.
It is stated that the cvx package is needed to run the code and the "norms" function can be found there. Here is the link to the download page: http://cvxr.com/cvx/download/
In solver_miqp_admm.m there is a call to function
norms
:https://github.com/cvxgrp/miqp_admm/blob/5d9d5c8434c0bc7d4dcf3f6d2c949f4833f7f260/matlab/solver_miqp_admm.m#L83
I first thought it is a typo, but when I change it to
norm
, the code fails to compute an answer (Assertion failed f_admm < Inf
). I guess it is some special norm? Could you add this function to the repository?