set ORIG;   # origins
set DEST;   # destinations
param T>0; #Zahl der Monate

param supply {ORIG} >= 0;   # amounts available at origins
param demand {DEST} >= 0;   # amounts required at destinations

   check: sum {i in ORIG} supply[i] = sum {j in DEST} demand[j];

param cost {ORIG,DEST} >= 0;   # shipment costs per unit
var Trans {ORIG,DEST,1..T} >= 0;    # units to be shipped

minimize total_cost:
   sum {i in ORIG, j in DEST,t in 1..T} cost[i,j] * Trans[i,j,t];

subject to Supply {i in ORIG,t in 1..T}:
   sum {j in DEST} Trans[i,j,t] = supply[i];

subject to Demand {j in DEST,t in 1..T}:
   sum {i in ORIG} Trans[i,j,t] = demand[j];

subject to goForeign :
   sum {i in ORIG, j in DEST,t in 1..T} cost[i,j] * Trans[i,j,t]>=20;