Why does quadprog return different results on different machines?
Afficher commentaires plus anciens
I'm solving a quadratic program at multiple different points. I've run the program on 3 different machines, a Mac Mini running OS X 10.9 (Mavericks), a desktop running Windows 8.1 and a laptop running Windows 8.1. All machines are running MATLAB 2014a. The Mac mini and the desktop PC solve the quadratic program using quadprog quickly with no issues. The laptop however returns that the max number of iterations have been exceeded at multiple points and returns a much different, worse solution. The program is exactly the same and quadprog is called with the same options (active-set, tolerances, max iterations etc) on all machines. Literally nothing in the program is being changed between runs on different computers. Does anyone have any idea what could be causing this behavior?
Thanks, Tim
Réponses (2)
You may well have multiple solutions (or approximately so). Do they all reach similar final objective function values? What does cond(Hessian) give you? Is the Hessian even non-negative definite?
Shashank Prasanna
le 11 Juil 2014
0 votes
Did you provide the starting point yourself? If you have multiple optimums then the result will be sensitive to the starting point x0. Also as Matt J suggested, check the function value for all the machines and compare them. Relax tolerances and run again to see if you get similar results:
Use these article to diagnose:
If there don't help, can you share H,f,A,b etc?
Catégories
En savoir plus sur Quadratic Programming and Cone Programming dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!