#El modelo consiste en agrupar sectores a partir de su demanda y la capacidad teorica de distribucion del sector.
#Cada agrupacion se considera un cartero
set SECTOR :=1..12;
set CARTERO :=1..12;
#set SECTORE;
#set CARTEROS;
param DEMANDA {j in SECTOR} >= 0;
param CAPACIDAD {i in CARTERO} >= 0;
param COSTOS {SECTOR,CARTERO};
#X: decision de asignar o no
var X {i in CARTERO,j in SECTOR} >=0;
#Cantidad de carteros (grupos) minimos para cubrir la demanda de los sectores de distribucion
minimize Z: sum {i in CARTERO,j in SECTOR} X[i,j]*850;
#Cantidad máxima de carteros en un sector
subject to CartxSect {i in CARTERO}: sum {i in CARTERO} X[i,j]<=1;
#Cantidad máxima de sectores para un cartero
subject to SectxCart {j in SECTOR}: sum {j in SECTOR} X[i,j]<=2;
#Demanda máxima a cubrir a partir de la capacidad
subject to Balance {(i,j) in CARTERO}: sum {j in SECTOR} DEMANA[j]*X[i,j] <= CAPACIDAD[i];