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

Algorithmes et structures de données Discussion :

Cplex Concert technology


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Par défaut Cplex Concert technology
    Salut,

    j ai implemente un programme mixte en IBM ILOG CPLEX ,mais lors de son execution il m affiche le message suivant :
    " Decison variable x[0][1] has never been used by the engine"

    J attend vos suggestions

    Merci d avance

  2. #2
    Membre expérimenté Avatar de Acrim
    Profil pro
    En recherche d'emploi
    Inscrit en
    Septembre 2010
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Septembre 2010
    Messages : 134
    Par défaut
    Le plus simple serait de voir le modèle. Es tu sûr que ta variable est contrainte ?

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par kira_safi Voir le message
    J attend vos suggestions
    Euh.. Relire le code pour trouver où ta variable doit être initialisée :

    Citation Envoyé par kira_safi Voir le message
    " Decison variable x[0][1] has never been used by the engine"

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Par défaut Mon fichier .mod
    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    tuple Node {
      int indice;
      string nom;
      };
     
    tuple Product{
      int indice;
      string nom;
      };
     
    //Ensembles  
    {Node} Suppliers = ...;
    {Node} Plants = ...;
    {Node} Customers = ...;
     
    {Product} Raw_Materials = ...;
    {Product} Intermediate_Products = ...;
    {Product} Finished_Products = ...;
     
    {int} Time_Periods = ...;
     
    {Node} Origin_Nodes = Suppliers union Plants;
    {Node} Destination_Nodes = Plants union Customers;
     
    {Product} Commodities = Raw_Materials union Intermediate_Products union Finished_Products;
    {Product} Commodities1 = Raw_Materials union Intermediate_Products;
    {Product} Commodities2 = Intermediate_Products union Finished_Products;
     
    {Node} Origin_Commodity[Commodities] = ...;
    {Node} Destination_Commodity[Commodities] = ...;
    {Node} Plant_Commodity[Commodities] = ...;
     
    {Product} Commodity_Origin[Origin_Nodes] = ...;
    {Node} Opened_Plants = ...;
    {Node} Closed_Plants = ...;
     
    //Données 
    float Demand_Customer[Time_Periods][Customers][Finished_Products] = ...;
    float Production_Max[Time_Periods][Origin_Nodes][Commodities] = ...; 
    float Production_Min[Time_Periods][Origin_Nodes][Commodities] = ...; 
    float Capacity_Max[Time_Periods][Origin_Nodes] = ...;
    float Capacity_Min[Time_Periods][Origin_Nodes] = ...;     
     
    float Number_Unit[Plants][Commodities2][Commodities] = ...;
    float Cost_Of_Selecting[Time_Periods][Origin_Nodes] = ...;
    float Cost_Of_Producing[Time_Periods][Commodities][Origin_Nodes] = ...;
    float Cost_Of_Transporting[Time_Periods][Commodities][Origin_Nodes][Destination_Nodes] = ...;
    {Product} L[Commodities1][Plants] = ...;
     
    //Les variables de décision
    dvar int+ y[Time_Periods][Origin_Nodes] in 0..1;
    dvar int+ v[Time_Periods][Commodities][Origin_Nodes] in 0..1;
    dvar float+ x[Time_Periods][Commodities][Origin_Nodes][Destination_Nodes];
     
    //Fonction objective
    dexpr float Total_Selection = sum( t in Time_Periods, o in Origin_Nodes ) Cost_Of_Selecting[t][o]*y[t][o];
    dexpr float Total_Production = sum( t in Time_Periods, k in Commodities, o in Origin_Commodity[k]) Cost_Of_Producing[t][k][o]*v[t][k][o];
    dexpr float Total_Transport = sum( t in Time_Periods, k in Commodities, o in Origin_Commodity[k], d in Destination_Commodity[k]) Cost_Of_Transporting[t][k][o][d]*x[t][k][o][d];
     
    minimize Total_Selection + Total_Production + Total_Transport;
     
    //Contraintes
    subject to {
     
      c_assign1: 
        forall (c in Customers, t in Time_Periods, f in Finished_Products) {
           sum(p in Plants) x[t][f][p][c] <= Demand_Customer[t][c][f] ;
        }
      c_assign2: 
         forall (k in Commodities1, t in Time_Periods, p in Plant_Commodity[k]) { 
            sum(o in Origin_Commodity[k]) x[t][k][o][p] - sum(j in L[k][p], d in Destination_Commodity[j]) Number_Unit[p][j][k]*x[t][j][p][d]== 0 ;
    	}
      c_assign3: 
         forall (o in Origin_Nodes, t in Time_Periods) {
            sum(k in Commodity_Origin[o], d in Destination_Commodity[k]) x[t][k][o][d] <= Capacity_Max[t][o]*y[t][o] ;
    	}
      c_assign4: 
         forall (o in Origin_Nodes, t in Time_Periods) {
            sum(k in Commodity_Origin[o], d in Destination_Commodity[k]) x[t][k][o][d] >= Capacity_Min[t][o]*y[t][o] ;
    	}
      c_assign5: 
         forall (o in Origin_Nodes, t in Time_Periods, k in Commodity_Origin[o]) {
            sum(d in Destination_Commodity[k]) x[t][k][o][d] <= Production_Max[t][o][k]*v[t][k][o] ;
    	}
      c_assign6: 
         forall (o in Origin_Nodes, t in Time_Periods, k in Commodity_Origin[o]) {
            sum(d in Destination_Commodity[k]) x[t][k][o][d] >= Production_Min[t][o][k]*v[t][k][o] ;
    	}
      c_assign7: 
         forall (o in Closed_Plants, t in Time_Periods : t < card(Time_Periods)) {
            y[t+1][o] >= y[t][o] ;	
    	}	
      c_assign8: 
         forall (o in Opened_Plants, t in Time_Periods : t < card(Time_Periods)) {
             y[t+1][o] <= y[t][o] ;
    	}
    }

  5. #5
    Membre expérimenté Avatar de Acrim
    Profil pro
    En recherche d'emploi
    Inscrit en
    Septembre 2010
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Septembre 2010
    Messages : 134
    Par défaut
    Je retire ce que j'ai dit : ce n'est pas plus simple avec le "modèle". A défaut de réponse plus précises je ne peux que te conseiller de vérifier les éléments qui t'ont été indiqué dans les réponses précédentes (et éventuellement de faire un petit effort dans la rédaction de tes demandes d'aide).

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Par défaut Quelques clarifications
    Il s'agit d'un modèle de localisation de dépôts , ci-dessous mes variables de décisions :
    la variable y[t][i] : permet de prendre une décision sur l'ouverture/fermeture d'un dépôt i à l'instant t .
    la variable v[t][i][j] : produire ou non un bien i dans le dépôt j à l'instant t .
    la variable x[t][i][j][k] : quantité transportée du bien i en provenance de dépôt j et à destination le dépôt k à l'instant t .

    Si vous avez besoin de m'expliquer plus ,n'hésitez pas

    Cordialement

  7. #7
    Membre expérimenté Avatar de Acrim
    Profil pro
    En recherche d'emploi
    Inscrit en
    Septembre 2010
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Septembre 2010
    Messages : 134
    Par défaut
    Je ne suis pas un spécialiste d'OPL mais tu peux sinon essayer de jouer avec ton ficher .dat et avec la définition de tes variables pour voir si le message persiste.

    Dans la doc la réponse est simple : "Switch off this warning using setting 'warnings'."

Discussions similaires

  1. Cplex concert variables sans valeur
    Par tanguy.L dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 28/05/2011, 14h03
  2. Cplex Ilog Concert technology
    Par ammoun84 dans le forum Autres éditeurs
    Réponses: 0
    Dernier message: 12/05/2009, 13h16
  3. technologies SOrtie TV
    Par the_edge dans le forum Composants
    Réponses: 4
    Dernier message: 05/04/2005, 12h09
  4. Choix de technologies pour mon application
    Par Franco dans le forum Java EE
    Réponses: 5
    Dernier message: 21/10/2003, 14h10

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