For practical use the optimizer must be integrated in a simulation environment. In the SIESTA framework the optimize module handles the interaction between the optimizer and the simulation environment. This module and the optimizer protocol which defines the bidirectional communication interface for the evaluation requests and the result are described in Section 4.5.3 and in Section 4.7 respectively.