Every time a new optimization algorithm or a new simulator must be introduced a new class should be derived from the main classes.
As examples, the class for the HSPICE simulator is derived as:
and the class for the Powell optimization algorithm
(§4.2.3.2, page
) is derived as:
Basically, both the classes should provide only the method Run(...)
(with different parameters, of course), that performs the real simulation
or the real optimization algorithm.