Pointer Control Algorithm

The Pointer technique derives its name from the Pointer dog. Even though Pointer dogs are all genetically similar, they can have specialized skills. Some can “point” out drugs, while others can “point” out where a victim is buried under an avalanche. These special skills are passed down from generation to generation.

The following figure illustrates the control algorithm.



The Pointer technique consists of a complementary set of optimization algorithms. Currently, the Pointer technique uses linear simplex, sequential quadratic programming (SQP), downhill simplex, and genetic algorithms. All have control parameters (such as initial step sizes) that need to be set properly to operate efficiently. This process, illustrated in the above figure, is called optimizer training. The inputs to the process are the design variables, constraints, and the search objective, with the total time available for the search and any previous experience in terms of the selection and right settings of the optimizers.

The Pointer control algorithm varies the optimizer settings in such a way that either:

  • The best answer is found in the shortest time. In this case the optimizers are configured such that the maximum rate of improvement of the objective function is achieved from a single starting position.
  • The most experience is gained. The optimizer settings are selected in such a way that the highest optimizer robustness is achieved for a given optimization time. The robustness is defined as the mean harmonic error of the best objective function (ever found) normalized by the local optimum for a set of random starting vectors. This approach is an order of magnitude slower than merely finding the best answer, but the experience gained will allow you to solve similar classes of problems in the shortest possible time.

Usually, it is not possible to identify the problem topology in such a way that you can select the proper algorithms and settings. A real-life example is shown in the following figure. The topology is that of the drag of an airfoil computed by Computational Fluid Dynamics (CFD) as a function of its shape. Previously, the user (from experience) assumed that the drag was a smooth function of the geometry. From the starting point, a small step was selected to calculate the gradients accurately. Because the topology of the drag had surface waves, the steepest downhill slope was considered to be along this wave. If you had picked a larger step size, you would have concluded that the direction normal to the waves has the “relevant” steepest downhill slope.



The waves are not caused by the physics of the problem (drag), but by numeric interference of converging loops inside the numeric code that calculates the drag. Almost all simulation codes that use partial differential equations exhibit such behavior. The spikes in this plot represent code-failures, another difficult topological feature not inherent in real physics.

A dozen approaches were identified to correct pathological topologies and find the correct relevant search direction. These pathological topologies are created by the type of numeric algorithm used in the simulation code, not by the specific design problem the simulation code addresses. Therefore, the solution that the Pointer technique presents is valid over a wide range of topologies.