The Synaps Pointer Optimization Engine
The Synaps Pointer Optimization Engine
Pointer’s Performance on Bench- bar under tension (wire). The weight of the truss
mark Problems structure is therefore a discontinuous function of
the locations of the joints.
Pointer has been tested on a variety of problems,
from classic ‘hard’ problems such as traveling The optimization task was to minimize the
salesman, to the design of the hull shape for a weight of the truss in 30 minutes. In 1993
hydrofoil. Mathias Hadenfeld completed the task of
optimizing the truss from a random starting point
[5]. Hadenfeld was an expert user of
However, any optimization problem can usually
optimization. He was free to tweak and restart
be solved when the right answer is already
the solution until he felt that no more progress
known and the starting point ‘tweaked’. This
could be made, but he could not change the
comparison will therefore focus on the added
starting point. His results are shown in Figure 5
value of Pointer versus the already good set of
(blue symbols). On average he had more success
core algorithms.
with the genetic algorithm than the downhill
simplex method, and the gradient method failed
Although many problems have been solved with
completely. On average his answers were 15%
Pointer, we pick a truss optimization problem
away from the known optimum due to the
because it represents a typical design problem in
difficult topology of the problem.
mechanical or aerospace engineering [5]. Figure
3 shows a truss as it supports a series of point
In 1999 the same problem was given to 13
loads. The bridge is supported at the right edge
groups of up to 7-15 professional engineers.
and free at the left edge. It has six joints whose
They were given Pointer and its graphical user
positions are chosen by the optimizer so as to
interface displaying the truss. They were asked
minimize the weight or cost subject to a given set
to minimize the weight without using the
of loads. The weight is computed by determining
optimization. They had to manually input the
the minimum bar dimensions that can support the
joint coordinates and run the analysis to see
applied load
whether an improvement was made. Since an
analysis could be done in less than a second, 30
The problem is hard because, as the joints
minutes was ample time to complete the task.
locations move with respect to each other, the
The number of iterations was between 10 and 30.
loads on the bars change from compression to
In our experience this also represents the average
tension and back. A bar under compression has
number of industrial product design iterations.
to be much thicker (thin-walled cylinder) than a
The groups of engineers came up with vastly We also compared Pointer versus a dozen high
different answers. Some were more than twice as quality optimizers on standard benchmark tests. The
heavy as the best solution. However, some came up test we used was devised by Dr. Sandgren [6] to
with solutions that were within 5% of the right represent a wide variety of hard optimization
answer. It is interesting to note that they only problems in all fields of mathematics and
achieved these results through the use of the engineering. Though the problems are hard, they
graphical representation of the truss. In a were typically not as hard as the once we experience
subsequent test without the graphics, no engineer working with clients.
came within 20% of the optimizer’s best answer.
Figure 6 shows the result of the test. Nevertheless,
Next, Pointer was given the control over the core maybe not surprisingly, Pointer performed
optimizers (red symbol). Just like the expert, exceedingly well on the test. It was the only code
Pointer required less function calls to find the capable of solving all the problems. This is all the
answer with genetic algorithm than with the more impressive considering that the same standard
downhill simplex algorithm. But with its standard settings were used for all the test cases and that there
settings, which allow the optimal use of all was no expert intervention in the process. In terms
algorithms, Pointer was able to consistently get the of speed it is usually comparable to the best codes
right answer from any starting point with just 1000 for each of the specific problems. The ‘best’
function calls (<1 minute). benchmark results were provided by Dr. Egorov [7]
the author of IOSO. Other codes in the comparison
Even though the group of experts got very different were IOSO [7], NLPQL [1], DONLP [8] and
answers when solving the problem manually, all MOST [9].
achieved the correct answer when using Pointer
under its standard settings.
Expert Expert
manual W/optimizer
Figure 6 - Performance of Pointer as compared to the fastest algorithm (used by an expert) known
for each test problems.
References
1. Schittkowski, K., “NLPQL: A Fortran
subroutine for solving constrained
nonlinear programming problems”,
Annals of Operations Research, Vol.5,
485-500, 1985.