minimize sum( p in Products , o in Cities , d in Cities ) Cost[p][o][d] * Trans[p][o][d];
subject to { forall( p in Products , o in Cities ) ctSupply: sum( d in Cities ) Trans[p][o][d] == Supply[p][o]; forall( p in Products , d in Cities ) ctDemand: sum( o in Cities ) Trans[p][o][d] == Demand[p][d]; forall( o , d in Cities ) ctCapacity: sum( p in Products ) Trans[p][o][d] <= Capacity; }