The aim of this chapter is to introduce the different notions of the techniques used to solve the portfolio design problem. These techniques can be divided into two exact (or complete) methods and approached (or incomplete) methods. In the first part, the authors provide the exact approaches, namely linear programming and constraint programming, as well as the techniques of symmetry breaking, the modeling notions, and the different solving algorithms. The second part concerns approached methods, namely Simulated Annealing, IDWalk, Tabu Search, GWW, and Variable Neighborhood Search, including the techniques of studying the performance profiles of a method.