IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

problème de transport primal dual


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1
    Par défaut problème de transport primal dual
    Bonjour tous,

    Je cherche un code source concernant le problème de transport par primal dual (optimisation des coûts !).
    En effet, cet algorithme m'aidera à réaliser mon projet qui consiste à optimiser les attribution des modules sur les professeurs.
    voici un code sur C qui ne donne pas les résultats attendus :
    -----------------------------------------------------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    #include<stdio.h>
    #include<iostream.h>
    #include<conio.h>
     
    main()
    {
    int flag=0,flag1=0;
    int s[10],d[10],sn,eop=1,dm,a[10][10];
    int i,j,sum=0,min,x[10][10],k,fa,fb;
     
    system("clr");
    			 /* Getting The Input For the Problem*/
     
    printf("Enter the number of Supply");
    scanf("%d",&sn);
    printf("Enter the number of Demand");
    scanf("%d",&dm);
    printf("Enter the Supply Values");
    for(i=0;i<sn;i++)
    scanf("%d",&s[i]);
    printf("Enter the Demand Values");
    for(j=0;j<sn;j++)
    scanf("%d",&d[j]);
    printf("Enter the elements of the array");
    for(i=0;i<sn;i++)
     {
      for(j=0;j<dm;j++)
       {
         scanf("%d",&a[i][j]);
         }
     }
    		 /* Calculation For the Transportation */
     i=0;j=0;
     for(i=0,j=0;i<sn,j<dm;)
      {
        if(s[i]<d[j])          // Check supply less than demand
         {
          x[i][j]=a[i][j]*s[i];  // Calculate  amount * supply
          d[j]=d[j]-s[i];        // Calculate demand - supply
          i++;                  // Increment i for the deletion of the row  or column
         }
       else if(s[i]>=d[j])   //Check the supply greater than equal to demand
        {
        x[i][j]=a[i][j]*d[j];      // Calculate  amount * demand
        s[i]=s[i]-d[j];           // Calculate supply - demand
        j++;                     // Increment j for the deletion of the row or column
        }
     
      }
      /* The  Cost Matrix is Estimated here */
      printf("Given Cost Matrix is :");
       for(fa=0;fa<sn;fa++)
        {
          for(fb=0;fb<dm;fb++)
           {
    	printf("%d	",a[fa][fb]);
           }
           printf(" ");
        }
       /*  The Allocated Cost Matrix is */
     
        printf("Allocated Cost Matrix is ");
        for(fa=0;fa<sn;fa++)
         {
          for(fb=0;fb<dm;fb++)
           {
    	printf("%d	",x[fa][fb]);
    	 sum=sum+x[fa][fb];
           }
           printf("");
         }
        /* Transportation Cost Estimated and Sum is Printed*/
      printf("The Transportation cost:%d",sum);
      getch();
      }
    ----------------------------------------
    J'espère que vous pourriez m'aider. Merci !

  2. #2
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 254
    Par défaut
    Euh, sauf erreur de ma part, ton code a un problème dès le début ligne 11 :
    system ne remplacerait pas le processus courant par l'image de l'execution de la commande?

    Et sinon qu'est-ce que ton programme ne fait pas bien? Quel est le résultat attendu?

  3. #3
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par mouradmaster Voir le message
    Bonjour tous,

    Je cherche un code source concernant le problème de transport par primal dual (optimisation des coûts !).
    En effet, cet algorithme m'aidera à réaliser mon projet qui consiste à optimiser les attribution des modules sur les professeurs.
    voici un code sur C qui ne donne pas les résultats attendus :
    Peux tu nous donner un jeu de données et le résultat attendu ?


    Au passage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(s[i]<d[j])
    {
        ...
    }
    else if(s[i]>=d[j]) 
    {
        ...
    }
    Dans ce code, le second if est inutile : le else suffit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(s[i]<d[j])
    {
        ...
    }
    else if(s[i]>=d[j]) 
    {
        ...
    }

Discussions similaires

  1. Problème gestion transport de personnel
    Par badinjala dans le forum ALM
    Réponses: 1
    Dernier message: 14/03/2012, 10h24
  2. Problème de transport RO(exercice)
    Par jophar dans le forum Mathématiques
    Réponses: 1
    Dernier message: 06/11/2011, 14h04
  3. Problème sur 2 écrans (dual-screen)
    Par afrodje dans le forum Périphériques
    Réponses: 8
    Dernier message: 30/03/2009, 11h16
  4. Problèmes étranges avec le dual core
    Par sensomusic dans le forum Langage
    Réponses: 7
    Dernier message: 26/01/2008, 12h41
  5. Problème avec la table DUAL
    Par jleg dans le forum Administration
    Réponses: 23
    Dernier message: 29/05/2007, 18h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo