August 14, 2015
Parallelization in pSeven: Optimizer Batch Mode
An optimization problem consists in finding the best design from all admissible designs.
Quality of a design is estimated by one or several objectives and admissibility is defined by constraints. In engineering optimization, it is assumed that designs can be easily constructed but testing them against constrains and evaluating objectives take time, because such evaluations may be carried out by a sophisticated 'black-box'.
Due to technical impossibly to investigate all admissible designs methods for solving optimization problems are usually considered as sequential processes, in which a new promising design to evaluate is constructed, basing on information collected on previous steps.
However, some of optimization methods may predict a whole set of new points that need to be evaluated. This actuality may happen in much more cases that seems. For optimization techniques that are available in pSeven a set of designs is generated by:
- gradient based methods when regular or irregular numerical derivatives are used;
- in surrogate based optimization (SBO);
- in robust design optimization to sample uncertainties.
In all these cases optimizer constructs a poll of points that can be passed to 'blackbox' for evaluation.
From user’s point of view to handle points one by one is usually simpler than to organize processing of a queue of points. But on the other side knowledge in advance a set of points that need to be evaluated may allow allocating computational resources more efficiently.
Because of this duality optimizer in pSeven supports two types of modes: normal mode and batch one, which can be easily switched in optimizer block settings.
Batch mode is useful when parallelization of the 'blackbox' work is attainable since it may reduce overall computation time multiple times.
By Alexis Pospelov, Senior Researcher, DATADVANCE