Question

Existe-t-il de bons outils pour résoudre des programmes entiers sous Linux ?

J'ai un petit problème que je souhaite calculer pour gagner du temps :D.C'est une sorte de problème de somme de sous-ensembles.J'ai une liste d'environ 20 valeurs entières et je souhaite calculer le sous-ensemble avec la plus petite somme qui satisfait un certain minimum.Vous pourriez formuler cela avec un programme entier...quelque chose comme

\sum_{i=1}^{n} w*x -> min

avec

\sum_{i=1}^{n} w*x >= c with x \in \{0,1\}

Ou existe-t-il une autre bonne façon de procéder ?

Était-ce utile?

La solution

j'essaierais soit GLPK ou SCIP.

Ils ont leur propre langage de modélisation, GLPK a GNU MathProg et SCIP a ZIMPL, vous pouvez donc facilement coder votre problème LP.

GNU MathProg a l'avantage d'être compatible avec AMPL.Ainsi, vous pouvez essayer la version étudiante d'AMPL avec CPLEX ou Gurobi avec votre modèle GNU MathProg.Gardez à l'esprit qu'AMPL, CPLEX et Gurobi sont des logiciels commerciaux.

Autres conseils

As-tu essayé de faire ça avec LibreOffice Calc Solveur?

Fondation Microsoft Solver sur Mono Framework pourrait également faire le travail à votre place si vous connaissez C#.

Essayer Lindo/Lingo.Ils ne sont pas gratuits, mais vous pouvez les essayer.

Ils vous permettent de spécifier votre problème de manière mathématique très soignée.

Vous pouvez essayer Gnu Octave - c'est un sous-ensemble de Matlab

Je voulais ajouter une option supplémentaire aux suggestions GLPK faites par @Ali.Je suggère à toute personne intéressée par la résolution de LP/IP de se pencher également sur les packages d'optimisation proposés par R Language.

Si vous connaissez et utilisez déjà R, il suffit alors de télécharger le bon package.Et même si ce n’est pas le cas, c’est un bon moyen de se familiariser avec R, qui prend vraiment son essor dans le domaine de l’analyse.

Ce vignette est un très bon moyen de savoir quels packages R sont pertinents.Pour toi, RSymphonie ou Rglpk ce sont peut-être ceux par lesquels commencer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top