One idea is to build an internal class structure in HAMON that takes the parameters from the optimisation as input, and returns the objective function value as return. This implies that the base class should define a function called "objective(p)", and which returns a list of all objective values given the list of optimisation parameters p.
The interesting thing about defining this type of class infrastructure is that the user then has the possibility of extending the base class and build arbitrarily advanced objective functions, possible with mappings of the variables p into some new set of variables q, i.e. a parametrisation. One can also build a lot of sub-functions that finally can be called by the base class function in order to compute the final objective value.
The proposed approach would generalise the "getAnalyticFunction()" functionality.
One idea is to build an internal class structure in HAMON that takes the parameters from the optimisation as input, and returns the objective function value as return. This implies that the base class should define a function called "objective(p)", and which returns a list of all objective values given the list of optimisation parameters p.
The interesting thing about defining this type of class infrastructure is that the user then has the possibility of extending the base class and build arbitrarily advanced objective functions, possible with mappings of the variables p into some new set of variables q, i.e. a parametrisation. One can also build a lot of sub-functions that finally can be called by the base class function in order to compute the final objective value.
The proposed approach would generalise the "getAnalyticFunction()" functionality.