A mixed-integer linear programming approach to the reduction of genome-scale metabolic networks