La conception d'un algorithme: pouvez-vous fournir une solution aux multiples problème de sac-à-dos?
Je suis à la recherche d'un code pseudo-solution à ce qui est effectivement le Plusieurs Problème De Sac-À-Dos (optimisation de la déclaration est à mi-chemin en bas de la page). Je pense ce problème est NP Complet, donc la solution n'a pas besoin d'être optimale, plutôt, si elle est assez efficace et facilement mises en œuvre et qui serait la bonne.
Le problème est: est-ce
- J'ai de nombreux éléments de travail, et chacun prend un autre (mais fixe et connu) montant de temps pour terminer.
- J'ai besoin de diviser ces éléments de travail en groupes, de façon à avoir le plus petit nombre de groupes (dans l'idéal), chaque groupe de postes de travail en prenant pas plus d'un total de seuil - dire 1 heure.
Je suis flexible sur le seuil, il ne faut pas être appliqué de manière rigide, mais devrait être proche. Mon idée était de répartir les éléments de travail dans des bacs où chaque cellule représente 90% du seuil de 80%, 70% et ainsi de suite. Je pourrait alors correspondre à des éléments qui prennent 90% de ceux qui prennent 10%, et ainsi de suite.
Toutes les meilleures idées?
ouais j'ai fait, j'ai du mal à donner un sens à des déclarations comme 1w e - e ð ðñ | y e ðñ ò ñ e ð ó
ok, ça ne fonctionne pas, mais vous voyez l'idée
OriginalL'auteur MalcomTucker | 2010-03-06
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin http://www.or.deis.unibo.it/knapsack.html, chapitre 6.6 "Plusieurs knapscack problème Approximative des algorithmes". Il est de la pseudo-code (Pascal style) dans le texte et Fortran implémentations (oui, c'est un vieux livre) dans un fichier ZIP.
OriginalL'auteur AVB
Autant que je sache, le problème est NP complet (Wikipedia confirme), donc il n'y a probablement pas beaucoup de sens pour tenter de le résoudre exactement.
Cependant, un certain nombre d'approches pourrait être assez bon pour vous: gourmand, algorithmes génétiques, simuler recuit...gourmand est probablement le plus simple à mettre en œuvre:
...vous voyez l'idée.
OriginalL'auteur Tomislav Nakic-Alfirevic