Du côté des solveurs, cette nouvelle version apporte son lot d’améliorations de performance (mesurée notamment par les temps d’exécution et la précision des solutions), notamment pour les programmes semidéfinis positifs (le solveur par point intérieur est nettement plus stable, numériquement parlant). Ainsi, les temps de résolution sont réduits en moyenne de 40 % sur des problèmes de taille moyenne (de l’ordre de la minute de temps de calcul) et de grande taille. MOSEK trouve aussi une solution dans nettement plus de cas ; alors qu’il jouait dans la même cour que les solveurs académiques les plus avancées (SDPT3 et SeDuMi) avec sa version précédente, MOSEK 8 devient significativement plus rapide sur un grand nombre de problèmes. En termes marketing, les problèmes semidéfinis positifs deviennent accessibles dans la plupart des cas.
Le présolveur a aussi fait l’objet de quelques attentions, ce qui a fortement amélioré sa performance : en particulier, ses mises à l’échelle sont nettement plus agressives que précédemment. Il est plus efficace sur les problèmes coniques quadratiques. L’éliminateur de variables a été complètement réécrit : il est ainsi plus rapide et consomme moins de mémoire. Pour les problèmes avec des variables entières, le présolveur peut maintenant être relancé après l’addition de plans sécants, si le solveur trouve que cette opération peut être utile.
En dehors du solveur par point intérieur, le code de MOSEK a été largement nettoyé. Ainsi, deux implémentations du simplexe ont été supprimées : la version primale dans les réseaux et la version primale-duale ont été supplantés par un simplexe dual. Les fonctionnalités de priorité de branchement ont été supprimées des solveurs en nombres entiers, étant rarement utilisées.
Source : Recent Advances In The New Mosek 8 (figure), Major changes in MOSEK 8.0.