In this lecture we discuss the basic ideas regarding fast multigrid solutions of optimization problems governed by large systems. We give a short review of the essential multigrid concepts and discuss their adaption to the solution of optimization problems. We discuss the necessity of using adjoint variables (Lagrange multipliers) for defining proper coarse grid minimization problem that accelerate the fine grid minimization process. A central issue is the design of relaxation schemes for optimization problem which have the smoothing property. We discuss and its role in fast solvers for optimization problems. Several examples demonstrating the main issues are included. We distinguish different cases of design spaces. A small dimensional design space, a moderate size design space and the infinite dimensional design space. The multigrid treatment of each of these cases is slightly different.