simplexe

simplexe - Java - Programmation

Marsh Posté le 29-01-2008 à 15:27:03    

:hello: la méthode simplexe est une méthode de résolution pour les systèmes linéaires je veux la manipuler en JAVA mais j'ai trouver des problèmes dans quelques étapes et je veux votre aide svp

Reply

Marsh Posté le 29-01-2008 à 15:27:03   

Reply

Marsh Posté le 29-01-2008 à 15:27:21    

et avec moins de détails, c'ets possible ?

Reply

Marsh Posté le 29-01-2008 à 15:45:46    

de quelles details vous parlez

Reply

Marsh Posté le 29-01-2008 à 15:56:15    

Le code de l'appel à la méthode pour commencer. Et pis la méthode proprement dite, si tu l'as.

Reply

Marsh Posté le 29-01-2008 à 15:59:17    

j'ai pas compris

Reply

Marsh Posté le 29-01-2008 à 16:37:01    

le code source....you dope !

Reply

Marsh Posté le 29-01-2008 à 16:50:07    

tu commence a nous les casser menu avec tes topic $$$
 
2 hier et encore 2 aujourd'hui ca commence a bien faire...

Reply

Marsh Posté le 31-01-2008 à 11:45:06    

j'ai déclaré mes matrices M,I et mes vecteurs Z,B
le probleme posé est que j'ai fait la fonction de min (le pivotage) mais j'ai trouvé des problemes

 

elmo-edit : balises code ! c'est la dernière fois que je te le rappelle...

Code :
  1. System.out.println("\t\t\n//*afficher le min du (Z-C)*//" );
  2. for(int j=1;j<=Z.length;j++)
  3. {
  4. int ind=j;
  5. int petit=Z[j];
  6. for(int i=1;i<Z.length;i++)
  7. {
  8. if(petit>Z[i])
  9. {
  10.     petit=Z[i];
  11.     ind=i;
  12. }    
  13. }    
  14.                                 
  15. System.out.println("le minimum est="+(petit)+"" );
  16. System.out.println("x"+(ind)+" entre dans la base" );
  17.  
  18. System.out.println("\t\t\n utilisation de la ligne pivot" );
  19. int piv[]=new int [m];
  20. for(int j=0;j<m;j++){
  21.     piv[j]=B[j]/A[ind][j];
  22. }
  23. System.out.println("\t\t\n//*afficher le min du piv[j]*//" );
  24. for(int i=1;i<m-1;i++)
  25. {
  26. int indice=i;
  27. int min=piv[i];
  28. for(int j=1;j<piv.length;j++)
  29. {
  30. if(min>piv[j])
  31. {
  32.     min=piv[j];
  33.     indice=j;
  34. }    
  35. }    
  36. }                                
  37. System.out.println(" le pivot est="+(min)+"" );
  38. System.out.println("\t\t\n s"+(indice)+" sort de la base" );
  39.  
  40. for(int i=0;i<n;i++){
  41.     A[i][indice]=A[i][indice]/min;
  42.    I[i][indice]=I[i][indice]/min;
  43.    B[j]=B[j]/min;
  44. }
  45. for(inti=0;i<n;i++){
  46.     for(intj=0;j<m;j++){
  47.         A[i][j]=A[i][j]-(A[i][ind]*A[i][indice]);
  48.         I[i][j]=I[i][j]-(A[i][ind]*I[i][indice]);
  49.         B[j]=B[j]-(A[i][ind]*B[i][indice]);
  50.     }
  51. }
  52. for(int i=0;i<n;i++){
  53.         Z[i]=Z[i]-(Z[ind]*A[i][indice]);
  54. }
  55. for(int i=n+1;i<m;i++){
  56.         Z[i]=Z[i]-(Z[ind]*I[i][indice]);
  57. }    
  58. int max=0;
  59. max=max-(Z[ind]*B[j]);
  60. }
  61.  
  62. }


Message cité 1 fois
Message édité par Elmoricq le 31-01-2008 à 13:47:16
Reply

Marsh Posté le 31-01-2008 à 13:25:50    

mes yeux :cry: !!!!


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 31-01-2008 à 15:17:25    

oui vous etes raison mais maintenant tout est claire..
merci elmo  
attendez..
 [:cerveau skyzor]


---------------
don't give up
Reply

Marsh Posté le 31-01-2008 à 15:17:25   

Reply

Marsh Posté le 31-01-2008 à 15:46:57    

mamitou a écrit :

j'ai déclaré mes matrices M,I et mes vecteurs Z,B
le probleme posé est que j'ai fait la fonction de min (le pivotage) mais j'ai trouvé des problemes
 
(...)


 
 
quel genre les problèmes ?


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 31-01-2008 à 15:57:27    

encore en train de   refléchir... [:potemkin]  [:potemkin]  [:potemkin]  [:potemkin]  [:potemkin]  [:potemkin]  [:potemkin]  [:potemkin]  [:potemkin]


Message édité par tsunade sama le 31-01-2008 à 15:58:53

---------------
don't give up
Reply

Marsh Posté le 01-02-2008 à 17:49:20    

le problème est le choix de la valeur minimale pour déterminer le pivot: la méthode va oublier de traiter des pivots s'il y a des valeurs égales puisqu'elle veut absolument des pivots strictement croissants (en plus elle recherche ces pivots en reprenant tout depuis le début, y compris les pivots précédents). Je ne suis pas certain que ça marche de la façon attendue (mais je n'ai pas envie d'analyser trop loin l'algo indiqué).
En plus, la recherche du pivot minimum (qui intervient pour minimiser les erreurs cumulatives d'approximation) devrait considérer les valeurs absolues (car les autres colonnes échangées peuvent devenir négatives très facilement), et traiter le cas du zéro si toutes les valeurs restantes snot nulles, il n'y a plus de solution possible, et on aura une belle division par zéro...)


Message édité par verdy_p le 01-02-2008 à 17:55:24
Reply

Sujets relatifs:

Leave a Replay

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