This document reviews several optimization methods that can be applied to control a microgrid, taking into account both technical and economical criteria. A microgrid control system must supply the inner energy demand, minimizing the cost and maximizing the quality of service, considering its own energy resources – which are usually based on renewable energy- and the grid constraints. To evaluate which method best suits to manage a microgrid, instead of addressing the whole problem, the subproblem of scheduling loads is considered. The first section describes the problem of managing a microgrid, globally, and then focuses on the scheduling load problem that turns to be an NP-hard problem. The next sections discuss a set of optimization methodologies considered likely to solve this problem. For each methodology, after a brief description, an explanation on how to apply the method to the considered problem is presented. The list of methods discussed includes: greedy search, simulated annealing algorithm, particle swarm optimization, ant colony optimization, Monte Carlo tree search, A* search, dynamic programming,  integer linear programming and minimum cost network flow . The last section summarizes the advantages and disadvantages for each method and compares the performance of most methods on a test sample. The conclusion of the study is that the Simulated Annealing algorithm and Ant Colony optimization show the best performance with a basic tuning process. However, with a fine tuning process, better results might be expected with other methodologies such as Particle Swarm Optimization, as described in literature.