Mobile Edge Cloud (MEC) has been introduced with the aim of reducing the response time of mobile applications by allowing them to perform their computation at the edge of the network. In this dissertation, we develop novel stochastic programming methods for solving the application placement problem in edge computing that take into account several important nondeterministic parameters of the edge computing system. We model the application placement problem in edge computing systems as a multi-stage stochastic program. The stochastic programming approach allows us to take the dynamics of the location of users into account when making placement decisions. This is a significant issue in the design of efficient application placement methods in edge computing systems.
We design a parallel Sample Average Approximation (SAA)-based algorithm to estimate the expected value of the recourse function in the multi-stage model, and propose a greedy algorithm to solve the integer optimization problem that needs to be solved in each of the phases of the proposed SAA-based parallel algorithm. This allows solving the placement problem in a reasonable amount of time by exploiting the huge computing power of te current multi-core computer systems. We also model the problem of energy-aware application placement in edge computing systems as a multi-stage stochastic program, where the objective is to maximize the QoS of the system while taking into account the limited energy budget of the edge servers. To solve the problem, we design a parallel SAA algorithm, and conduct an extensive experimental analysis to evaluate the performance of the proposed algorithm using real-world trace data for the mobility of users. We also propose a risk-based optimization method based on chance-constrained programming for ap- plication placement in MEC systems, where the objective is to maximize the total QoS of the system. In this model the resource requirements of applications is assumed to be a nondeterministic parameter. We use SAA to solve the chance-constrained program, and develop a learning-based algorithm to solve the SAA model.