% Use this editor as a MiniZinc scratch book int: nUsine; int: nDistrib; array[1..nUsine] of int: capacity; array[1..nDistrib] of int: demand; array[1..nDistrib,1..nUsine] of int: cost; array[1..nDistrib,1..nUsine] of var int: production; var int: total_cost; % Mettez ici vos contraintes constraint forall(i in 1..nUsine)(sum(j in 1..nDistrib)(production[j,i]) <= capacity[i]); constraint forall(j in 1..nDistrib)(sum(i in 1..nUsine)(production[j,i]) >= demand[j]); constraint forall(j in 1..nDistrib, i in 1..nUsine)(production[j,i] >= 0); constraint total_cost = sum(j in 1..nDistrib, i in 1..nUsine)(production[j,i] * cost[j,i]); solve minimize total_cost; output [ "total_cost: " ++ show(total_cost) ++ "\n" ++ "production:" ] ++ [ if j = 1 then "\n" else " " endif ++ show(production[j,i]) | i in 1..nUsine, j in 1..nDistrib ];