52 votes

Meilleur solveur open source d'optimisation en nombres entiers mixtes

J'utilise CPLEX pour résoudre d'énormes modèles d'optimisation (plus de 100 000 variables) et j'aimerais maintenant voir si je peux trouver une alternative open source. Je résous des problèmes d'entiers mixtes (MILP) et CPLEX fonctionne très bien, mais il est très coûteux si nous voulons passer à l'échelle supérieure, alors je dois vraiment trouver une alternative ou commencer à écrire notre propre bibliothèque d'optimisation ad hoc (ce qui sera douloureux).

Toute suggestion/observation serait très appréciée.

1 votes

100k variables est un très gros problème ! Je pense que vous devriez vous concentrer sur une recherche plus longue pour changer la modélisation. Lpsolve et glpk ne supportent pas cette quantité de variables entières à résoudre dans un temps raisonnable.

0 votes

Comme toujours, les questions les plus utiles sont marquées d'un point de vue technique mais dans l'ensemble, cette question apporte beaucoup à la base de connaissances.

25voto

David Hanak Points 5960

J'ai personnellement trouvé GLPK meilleur (c'est-à-dire plus rapide) que LP_SOLVE. Il prend en charge différents formats de fichiers, et un autre avantage est son interface de bibliothèque, qui permet une intégration en douceur avec votre application.

23voto

dtw Points 967

Un autre soutien pour COIN-OR . Nous avons constaté que la composante d'optimisation linéaire (Clp) était très forte, et que la composante des nombres entiers mixtes (Cbc) pouvait être réglée assez bien avec une certaine analyse. Nous avons comparé avec LP-Solve et GLPK.

Pour les problèmes vraiment difficiles, il faut recourir à un solveur commercial.

15voto

user764309 Points 71

Essayez le solveur SCIP. Je l'ai utilisé pour des problèmes MILP avec plus de 300K variables avec de bonnes performances. Ses performances MILP sont bien meilleures que celles de GLPK. Gurobi a également d'excellentes performances pour les problèmes MILP (et typiquement meilleures que SCIP (mai 2011)), mais il peut être coûteux si vous n'êtes pas un utilisateur universitaire. Gurobi utilisera des multicœurs pour accélérer le solveur.

8 votes

SCIP n'est malheureusement pas un logiciel open source.

3 votes

Vous avez vraiment plus de 300 000 variables ? Combien d'entre elles avaient des contraintes entières ?

10voto

Zach Scrivena Points 15052

10voto

SplittingField Points 573

Je vous recommande de vous renseigner sur le projet COIN. COIN OU

Beaucoup de bons solveurs ici, y compris ipOPT pour les problèmes non linéaires et quelques solveurs d'entiers mixtes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X