Specifications

92
This result is much different from the one we had before. The value of 1.0e+3 completely dominates the
criterion, so here we are actually minimizing the sum of muscle activities. This has the effect of recruiting a
minimum set of muscles and only those that are best suited at each position. This is known not to be correct
because the muscles are not collaborating. So what is RecruitmentLpPenalty good for anyway? Well, the
clean min/max criterion with e1 = 0 sometimes can cause unrealistic fluctuations of submaximal muscles
between time steps. In those cases, small values of RecruitmentLpPenalty, say 1.0e-6 or 1.0e-5 can
regularize the problem numerically. In this simple case, it makes no difference. If you keep increasing
RecruitmentLpPenalty to, say, 1.0e-3, it will begin to make a difference on the submaximal muscles, and
this is a sign that you may have increased it too much.
Quadratic muscle recruitment
As long as the solution algorithm is linear, the value of e2 will make no difference. The algorithm is specified
by the variable RecruitmentSolver, and the linear options are
RecruitmentSolver = MinMaxSimplex;
RecruitmentSolver = MinMaxOOSolSimplex;
These algorithms are very similar in nature and are really just different implementations of the same
technology. For very large and complex problems one algorithm may outperform the other, and this is why
both are available in the system.
However, there is also a third algorithm available, and it differs radically from the two former:
RecruitmentSolver = MinMaxOOSolQP;
As the name indicates, this algorithm is quadratic, and it permits inclusion of quadratic terms and thereby