ACCES Multi-Objective (coexist.combiners)#

Classes for combining multiple errors into a single value to be minimised.

The evolutionary algorithm will then naturally optimise all errors at the same time. For example, the Product class will multiply all given errors (optionally “weighting” them by raising them to different powers) and minimise their product.

To combine multiple errors differently, create a new class defining the method .combine(error), which will be called with the error values found for a given simulation.

For example, a GranuDrum Digital Twin may be calibrated for two different flowing regimes at the same time; instead of doing separate ACCES runs, one for, say, 15 rpm, and one for 45 rpm, you can instead use the multi-objective functionality of ACCES to optimise both cases simultaneously.

coexist.combiners.Product([weights])

Class for combining multiple errors by multiplying them.

coexist.combiners.Sum([weights])

Class for combining errors by summing them together.

coexist.combiners.combiner(func)

Make a user-defined function a multi-objective error combiner.