Reformulations in Mathematical Programming: A Computational Approach (Studies in computational intelligence)