In Model Predictive Control (MPC) an optimal control problem has to be solved at each sampling instant. The objective of this thesis is to derive efficient methods to solve the MPC optimization problem. The approach is based on ideas from Interior Point (IP) optimization methods and Riccati recursions. The MPC problem considered here has a quadratic objective and constraints which can be both linear and quadratic. The key to an efficient implementation is to rewrite the optimization problem as a Second Order Cone Program (SOCP). To solve the SOCP a feasible primal-dual IP method is employed. By using a feasible IP method it is possible to determine when the problem is feasible or not by formalizing the search for strictly feasible initial points as a primal-dual IP problem. There are several different ways to rewrite the optimization problem as an SOCP. However, done carefully, it is possible to use very efficient scalings as well as Riccati recursions for computing the search directions. The use of Riccati recursions makes the computational complexity growat most quadratically with the time horizon, compared to cubically for more standard implementations.