[Algo][Java] Optimiser la répartition d'un algo

Optimiser la répartition d'un algo [Algo][Java] - Algo - Programmation

Marsh Posté le 05-03-2005 à 01:03:18    

Je fais un projet pour lequel je dois générer des Lots.
 
Un lot contient 1..* matières, sans plafond particulier.
Toutefois, le plus grand nombre de lots se situera dans la tranche 2, puis 3, puis 1 ...
 
dans mon cycle de génération de x lots, je détermine au hasard combien le lot n contiendra de matière...
 
comment optimiser l'algorithme pour que la génération concorde à peu près avec les tranches dont g besoin ? y'a un système propre ?
 
EDIT : en lisant la doc, g trouvé nextGaussian()...c pas mal ca...si je considère que g une loi normale centrée sur 2
 
Edit2 : c bo la technologie :  
Resultats :  
Nb de 1 : 33
Nb de 2 : 33
Nb de 3 : 28
Nb de 4 : 5
Nb de 5 : 1
Nb de 6 : 0
 
ca serait un poil mieux si j'arrivais à augmenter un poil le nb de valeurs extremes


Message édité par Jubijub le 05-03-2005 à 01:40:53

---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 05-03-2005 à 01:03:18   

Reply

Marsh Posté le 05-03-2005 à 09:37:54    

je comprends pas trop là. tu cherches à résoudre un problème linéaire avec contraintes ?
 


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 05-03-2005 à 15:01:35    

je suis au regret de dire que g rien compris à ta phrase...
 
mon pb : comme je l'ai dit, je dois généré des lots de n matières...donc des lots avec 1 seule matière, avec 2, avec 3, ... , avec n .
 
Si j'utilise un random tout con, je peux aussi bien avoir plein de lots de 50 matières que de lots de 1 matières, c complètement aléatoire...hors dans la pratique, les valeurs sont plutot proche de 2 ...y'a bcp de lots de 2 ou 3 matières...
je voulais donc optimiser mon random pour retranscrire ca...
 
le petit pb étant que maintenant, c très tassé autour de 2, et g presque plus aucune grande valeur, ici 6ou plus...
 


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 05-03-2005 à 15:33:18    

nextGaussian se base sur une loi de poisson, suivie d'une loi normale (une power law), et considère un écart type de 1.
 
Tu n'as qu'à simuler toi-même son comportement, en le simplifiant si nécessaire.  
 
Essaye un bete:
MonRandom = X*(1-exp(-Y/Math.Random());
Où X est le nombre de lots, et Y la "variance".
 
Ou bien cherche Power Law et Random sur le net.
 
Ou bien regarde là pour une généralisation de ce type de problème:
http://www.itl.nist.gov/div898/han [...] da366h.htm
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed