Similar to the model, the optimization experiment is a common base for more specialized optimization experiments. The latter represent particular implementations of various optimization algorithms which can be integrated into SIESTA via a generic communication interface. Although this interface is not customizable at the user-level, there is a well defined communication protocol for asynchronous communication between the optimization tool -- running as separate processes of the operating system -- and SIESTA's internal abstraction of the optimization tool, which is available to the user as optimization experiment. It is important to note that the communication protocol is asynchronous, which means that multiple evaluations of the model may be requested simultaneously, and the parallel evaluation mechanisms of the model can be utilized. Hence, we obtain an optimization environment which achieves ultimate levels of computation efficiency and we are able to carry out rigorous large scale optimization, which would otherwise be impossible due to excessive amounts of elapsed time required by sequential evaluation of the model.
The open interface accounts for the fact that a lot of optimization tools exist, each of them having strengths and weaknesses. By means of the open interface a particular existing implementation of an optimization algorithm can be integrated with low effort. This guarantees that any progress which is made in the field of optimization can instantaneously be shared by SIESTA and its user community.
At the moment of this writing there exist two implementations of optimization tools which have been integrated, namely DONOPT [60,85], and LMMIN [60] which are used for global optimization purposes, and for inverse modeling tasks, respectively.