An Efficient Algorithm for Shakedown Analysis Based on Equality Constrained Sequential Quadratic Programming