Optimization Method

Hi everyone;
I created a musculoskeletal model containing over 190 muscles in Matlab. To verify the method, I’m going to build the same model in AMS and compare muscle activity. At the first step, I developed a smaller model containing 12 muscles in Matlab and AMS to test this approach. I used ‘quadprog’ function to solve redundancy in Matlab model and set muscle recruitment criteria to Polynomial with Power =2 in AMS. So both models should lead to the same result. But they don’t.
Results of Matlab Model (Muscle Activity):
0.241951
0.172493
0.400292
-0.000000
-0.000000
0.215915
0.241951
0.172493
0.400292
0.000000
-0.000000
0.215915

Results of AMS (Muscle Activity):
0.0872
0
0.588
0
0
0.178
0.0872
0
0.588
0
0
0.178

Interestingly, I found that both results are correct and can satisfy equilibrium constraints. But cost function of Matlab results is 0.5903 and cost function of AMS results is 0.7701!
It seems the differences come from optimization algorithms. Is there a way to make muscle activities closer? What method AMS does use to solve optimization method?

Regards;
Thanks.

Hi,

As you may know, AMS can use various muscle optimization criteria:
http://www.anybodytech.com/fileadmin/AnyBody/Docs/Tutorials/chapX_MuscleRecruitment/lesson1.html

For instance, you can use different type of optimization criteria like this in AnyBodyStudy object:
" InverseDynamics.Criterion.Type = MR_Quadratic; "

Please try with other options.

Best regards,
Moonki

Hi

We have a guy in our lab who been working with both Matlab and Anybody models. He gets the same result in AnyBody as he does when using Matlab.

So my guess is that there are some differences between the two models which you have overlooked. Looking at the results I guess the difference may be related to muscle 2 and 8, which is recruited in the matlab model but not in the AnyBody model.

See you
Morten