Global solutions to factorable nonlinear optimization problems using separable programming techniques