Mixed-integer programming approaches for some non-convex and combinatorial optimization problems