Bonsoir,
J'ouvre ce topic car je me demande s'il est possible, à partir d'une série de nombres réels positifs, de trouver une partie des nombres de cette série de manière à ce que leur somme vaille un nombre déterminé, sachant que ce nombre déterminé est bien somme de nombres de cette série.
Merci si vous avez une idée; je peux être plus précis s'il le faut.
Bonjour,
S'il y a n nombres réels positifs, le nombre de sous ensembles est 2n. Chaque sous ensemble est une combinaison. Ainsi le nombre de sous ensembles ayant p nombres est .
La recherche de la bonne combinaison peut se faire en parcourant un arbre (ayant 2[sup][/sup] branches)...
Maintenant s'il s'agit d'optimiser les calculs pour éviter d'avoir faire des additions inutiles, il faut sans doute commencer par ordonner les nombres de la série.
Merci pour ta réponse
A propos d'optimisation des calculs, c'est à peu près ce que je cherche à faire oui, et j'ai justement ordonnée les nombres pour cela.
Pour l'arbre, il m'est peut-être utile, mais comment l'utiliser ? Que placer à la racine de l'arbre et ensuite ?
La série (S) de nombres est la suivante, ordonnée :
Elle comporte 29 nombres et on cherche une sous-série (S') telle qu'elle comporte n nombres dont leur somme vaut 608.92. Si cela peut aider, la somme des nombres de S vaut 1338.45.
Bonjour,
J'ai fait des recherches exhaustives. Sauf erreur, il n'est pas possible d'arriver à 608.92.
Le montant le plus proche est 608.86, qu'on obtient de 4 manières essentiellement différentes :
24.99 + 25 + 25.99 + 25.99 + 35.99 + 47.98 + 73.48 + 73.49 + 82.97 + 89 + 103.98 = 608.86
24.99 + 24.99 + 25 + 25.99 + 35.99 + 48.98 + 73.48 + 73.49 + 82.97 + 89 + 103.98 = 608.86
19.99 + 25 + 25.99 + 29.99 + 35.99 + 48.98 + 73.48 + 73.49 + 82.97 + 89 + 103.98 = 608.86
17.99 + 24.99 + 25 + 25.99 + 25.99 + 29.99 + 35.99 + 73.48 + 73.49 + 82.97 + 89 + 103.98 = 608.86
Bonjour
C'est un cas particulier du problème dit "du sac à dos", qui est un grand classique des problèmes d'optimisation en algorithmique.
Ici, ça correspond au cas où le poids de chaque objet est égal à sa valeur, et où on veut un ensemble d'objet de poids exactement égal au poids donné (on fait donc tourner l'algo, et on vérifie à la fin si la solution trouvée est de poids exactement égal).
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :