Optimal Oblivious Routing In Polynomial Time