%Données array [1..7, 1..9] of int: profit; array [1..7] of int: demande; array [1..9] of int: quantite; %Variables array [1..7, 1..9] of var int: production; %Fonction objectif var float: profit_total; constraint profit_total = sum(i in 1..7)(sum(j in 1..9)(profit[i,j]*production[i,j]*1000)); %Contraintes %Respect des quantités constraint forall(j in 1..9)(sum(i in 1..7)(production[i,j]) <= quantite[j]); %Réponse à la demande constraint forall(i in 1..7)(sum(j in 1..9)(production[i,j]) >= demande[i]); %Respect de l'espace disponible constraint sum(j in 1..9)(sum(i in 1..7)(production[i,j])) <= 2000; %Positivité des variables constraint forall(i in 1..7)(forall(j in 1..9)(production[i,j] >= 0)); solve maximize profit_total;