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.