Petit logiciel de calcul

Discutez d'informatique ici !
fredbly
Messages: 5
Enregistré le: 29 Nov 2008, 16:27

petit logiciel de calcul

par fredbly » 13 Jan 2009, 20:43

Bonsoir, j'essai de mettre au point un petit logiciel de calcul de choix de masses. pour une masse total "x" je dispose de 5 choix de masses disponibles (3.9g;2.26g;0.87g; 0.32g;0.26g); Le résultat escompté est de définir le nombre de masses possible tout en s'approchant au plus juste du résultat et en privilégiant le nombre le plus petit de masse donc les plus grosses.
Merci de me dire si cela est possible. :marteau:



XENSECP
Habitué(e)
Messages: 6387
Enregistré le: 27 Fév 2008, 19:13

par XENSECP » 13 Jan 2009, 20:52

Hum il y a plein de façon de le voir... mais si tu veux "la combinaison qui s'approche au plus près" ca sent l'étude empirique ;)

Le plus simple a priori serait de raisonner comme quand tu es face à une balance (une vraie) ^^

fredbly
Messages: 5
Enregistré le: 29 Nov 2008, 16:27

par fredbly » 13 Jan 2009, 21:26

XENSECP a écrit:Hum il y a plein de façon de le voir... mais si tu veux "la combinaison qui s'approche au plus près" ca sent l'étude empirique ;)

Le plus simple a priori serait de raisonner comme quand tu es face à une balance (une vraie) ^^

Merci pour ta réponse, je suis arrivé à un premier résultat assez satisfaisant mais qui exclu de s'affranchir de la première masse alors qu'en utilisant les autres masses le résultat peut être juste.

XENSECP
Habitué(e)
Messages: 6387
Enregistré le: 27 Fév 2008, 19:13

par XENSECP » 13 Jan 2009, 21:27

Rien compris mais si tu as trouvé alors bon :)

fredbly
Messages: 5
Enregistré le: 29 Nov 2008, 16:27

par fredbly » 13 Jan 2009, 23:07

XENSECP a écrit:Rien compris mais si tu as trouvé alors bon :)

Désolé pour le "chinois", je ne suis pas satisfait de mon résultat: Je résume plus simplement, avec 5 masses possibles je recherche la combinaison multiple des masses qui s'approche au plus juste du résultat demandé.
Merci et bonne soirée.

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 13 Jan 2009, 23:14

Salut,

ben faut voir si tu privilégies le résultat le plus proche ou le nombre de masses.

J'ai pas les connaissances, mais je pense qu'en jetant un coup d'oeil du coté du problème du sac a dos, ca peut toujours servir.
la vie est une fête :)

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 13 Jan 2009, 23:24

Toutefois, si tu cherches juste la combinaison qui s'approche le plus du résultat demandé, on peut (sur des masses pas trop petites) faire une pile assez moche du style :

//des masses de poids différents.
//la valeur de k_i telle que le nombre max de fois qu'on ajoute une même pièce

Code: Tout sélectionner
Pour i=0..k_1
pour k=0..k_2
...
pour z=0..k_n
Si abs(Somme masse*poids-X)<abs(RES-X)//si on a un resultat plus proche
{RES=abs(Somme masse*poids-X)
Stocker VectSolutionMassPoids
}
fin pour
...
fin pour
fin pour

Bon, c'est plutot moche et léger. Après tout dépend de ce que tu veux faire. Mais inutile de suer a chercher des algo optimisés si c'est juste pour peser 50g avec trois masses
la vie est une fête :)

Patastronch
Membre Irrationnel
Messages: 1345
Enregistré le: 22 Aoû 2005, 23:53

par Patastronch » 14 Jan 2009, 01:17

Si tu as que 5 masses au maximum alors une force brute fera parfaitement l'affaire.

Par contre si tu décides que le nombre de masse puisse etre grand tu vas avoir beaucoup de mal car ton probleme est NP-Complet. Dans ce cas la inutile de chercher la combinaison exacte si le nombre de masse est trop grand et il te faudra opter pour des algorithme d'optimisation combinatoire tel qu'un branch and bound ou encore des métaheuristiques.

phryte
Membre Irrationnel
Messages: 1406
Enregistré le: 05 Juil 2008, 17:09

par phryte » 14 Jan 2009, 09:03

Bonjour.
définir le nombre de masses possible tout en s'approchant au plus juste du résultat

Tu peux faire du Monte carlo. Idem Voyageur de commerce.

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite