Specifications
241
Minimize
g
0
(x
1
..x
n
)
Subject to
g
i
(x
1
..x
n
) <= 0
L
j
<= x
j
<= U
j
where g
0
is called the objective function, x
j
, j=1..n are the design variables, and g
i
, i=1..m are the
constraints. The definition of an optimization problem in AnyBody is therefore a question of appointing
independent parameters as design variables and dependent parameters as the objective function and
constraints. Please notice that m could be zero in which case we have a problem that is only constrained by
the simple bounds on the variables.
In an optimization terminology, the parameter study from the preceding lesson could be defined as:
Minimize
Metabolic energy consumption
Subject to
Saddle height within predefined limits
Saddle horizontal position within predefined limits
In fact, this is precisely what we are going to do, but before we proceed, let us briefly look at the properties
of a typical musculoskeletal objective function and how the optimization algorithm solves the problem.
The two pictures above both show the result of a parameter study. The picture on the right is the section
indicated by the magnifying glass on the left amplified by 50 times. As you can see, the seemingly smooth
objective function has a microscopic jump. In other words the function is non-smooth and in fact
discontinuous at certain points. Not all design measures have such discontinuities, but some do. The figure
also indicates that the function is smooth in between these discontinuities. Optimization algorithms are
trying to navigate on multi-dimentional hyper-surfaces with such qualities and must consequently be robust
against a certain amount of non-smoothness. The optimization algorithm in AnyBody is indeed capable of
doing this in most cases. It is a special version of a so-called feasible directions algorithm, which seeks out
the optimum in two-step loops. The two steps are:










