This document discusses optimal virtual machine placement across multiple cloud providers. It presents an optimal virtual machine placement (OVMP) algorithm that minimizes costs by optimally reserving resources in advance and allocating virtual machines among cloud providers. The algorithm uses stochastic integer programming to account for uncertainty in demand and prices. It was evaluated using numerical studies and simulations, showing it can reduce costs compared to other approaches under different conditions.