La ROADEF
R.O.A.D
Événements
Prix
Publications
Plus
Forum
Connexion

Conversion d'une contrainte ecrite sous cplex en C++ using cplex

Forum 'Discussions' - Sujet créé le 10/04/2012 par YGaoua (18525 vues)


Le 10/04/2012 par YGaoua :

Bonjour,
J'ai modélisé la contrainte ci-dessous sous cplex et ça marche très bien:

//Perte de l'element de stockage
forall(t in T)
Pertes[t]==max(j in J)(Alpha[j]*Pes[t]+Beta[j]);

Pes[t],Pertes[t]: Sont des variables
Alpha[j],Beta[j]: Sont des données

Mais lorsque je l'implémente sous c++ (utilisant les librairies cplex et concert) en utilisant la fonction IloMax, je n'yarrive pas. Merci d'avance de votre aide




Le 10/04/2012 par YGaoua :

Re bonjour,

Pour ceux qui auront ce petit problème, j'ai réussis a le faire il faut modéliser la contrainte comme suit:
// Contrainte sur les pertes energétiques ES
for(t=0;t<Temps;t++){
IloExpr v(env);
for(j=0;j<Nb_Fct_Perte;j++){
model.add(Perte[t]>=Alpha[j]*Pes[t]+Beta[j]);
model.add(Perte[t]<=Alpha[j]*Pes[t]+Beta[j]+1000*(1-a[t][j]));
v +=a[t][j];
}
model.add(v==1);
v.end();
}

ou a[t][j] est une variable bool, et "j" c'est le nombre de termes dans la fonction max.
Merci comme même.







Moteur de recherche
Tous les forums


  La Société française de Recherche Opérationnelle et Aide à la Décision ROADEF est une association Loi 1901 Plus d'informations sur la ROADEF