Hello I got errors in my latency constraint section and function section where it says "CPLEX cannot extract expression" below i attached the code , can anyone help me, Thankss !!
This is my code :
// définir les intervalles
range T=1..3 ;
range A=1..7 ;
range H=1..12 ;
range S=1..9 ;
range C=1..350 ;
range S1=1..9 ;
range S2=1..9;
// définir les données externes
int Ns=...; // capacité de production
int Ms=...; // capacité du pt de stockage
int nbrepdtsstock=...; // nombre des produits par pt de stockage
//définir les variables de décision
dvar float Ca[A][T][H] in 0..infinity;// Cadence de production du produit p à la date et à l'unité u
dvar float l[A][S][H] in 0..infinity ;// Niveau d'inventaire du produit p à la date t et au point de stockage s
dvar float xACS in 0..infinity; // nombre de tonnes d'ACS produites par l'atelier sulfurique
dvar float yACP29 in 0..infinity; // nombre de tonnes d'ACP29% produites par l'atelier phosphorique
dvar float zACP54 in 0..infinity;// nombre de tonnes d'ACP54% produites par l'atelier phosphorique
dvar float w in 0..infinity; // nombre de tonnes d'engrais produits par l'atelier des engrais
dvar float F[T][S1][S2][H] in 0..infinity; // Flux de transfert du stock s1 au stock s2 du produit p à la date t
dvar float d[C][A] in 0..infinity; // demande du client c du produit p par mois
dvar boolean v [A][T][H] in 0..1;// l'unité u des engrais produit le type p à la date t
dvar boolean h [T][S][H] in 0..1; // le produit p existe au point de stockage s à la date t
// définir la fonction objective
maximize sum (p in T, u in A, t in H) (Ca[p][u][t]) ;
// Définir les contraintes
subject to
{
// Somme des cadences de production des produits d'une unité <= la capacité de production
forall ( t in H, u in A)
{
sum(p in T) (Ca[t][u][p]) <= Ns;
}
// Somme des inventaires des produits d'un point de stockage <= la capacité du point de stockage
forall ( t in H, s in S)
{
sum(p in T) (l[p][s][t]) <= Ms;
}
// Pas 2 produits le même jour t pour la même unité u
forall ( t in H, u in A)
{
sum(p in T) (v[t][u][p]) <= 1;
}
// Stock non mixte : Limitation du nombre de produits par stock
forall ( t in H, s in S)
{
sum(p in T) (h[t][s][p]) <=nbrepdtsstock ;
}
// Conservation des flux
forall ( t in H, u in A , p in T , s1 in S1 , s2 in S2 , s in S : s1!=s2)
{
(l[t ][p][s]) == sum(p in T) (Ca[t][u][p]) + sum(p in T) (F[t][p][s1][s2] )+(l[t-1][p][s]);
}
// Demande stisfaite à 100%
forall(p in T)
{
sum (t in H , u in A )(Ca[t][u][p] ) >= sum (c in C , p in T) (d[c] [p]) ;
}
// Recette
w==xACS+2*yACP29 ;
}
------------------------------
Younes Liaakobi
------------------------------
#GlobalAIandDataScience#GlobalDataScience