Problem formulations and solvers in linear SVM: a review