Active-Set Methods For Quadratic Programming