! Lock box location model;
! Given cash volumes in each customer region,
  fixed cost per month of a processing facility at
 each candidate facility location, 
  delivery time between customer regions and facility locations,
  and cost of capital applied to delivery times,
 decide which facility should serve each customer;

! Keywords: lockbox location, facility location, location,
            uncapacitated location;

SETS:
 LBLOC: CPM, Y;
 CUST: CASH_VOL;
 CXL( CUST, LBLOC): DLAY, X;
ENDSETS
DATA: CUST= ! The customer regions; Seattle Los_Angeles Houston Philadelphia Miami; CASH_VOL= ! Monthly cash volume in $1000; 5000 5000 5000 5000 5000; LBLOC=! The possible lock box locations; New_York Atlanta Cincinnati Denver Seattle Home_Office; CPM= ! Fixed cost/month of a lockbox at this location; 1300 975 1000 1100 2000 0; DAILY_CC= .00027; ! Daily cost of capital; ! Average mail delay between locations in days; DLAY= 4 4 3 1 2 2 !Seattle; 4 3 3 1 2 3 !Los Angeles; 3 3 3 2 3 3 !Houston; 1 2 2 3 3 3 !Philadelphia; 3 1 2 4 3 4;!Miami; ENDDATA ! Minimize monthly fixed + delay costs; MIN = FIXED_COSTS + DELAY_COSTS; FIXED_COSTS = @SUM( LBLOC(j): CPM(j)*Y(j)); DELAY_COSTS = @SUM( CXL(i,j): DLAY(i,j)*1000*CASH_VOL(i)*DAILY_CC*X(i,j)); ! Each customer region i must be assigned to some lockbox j; @FOR(CUST(i): @SUM( LBLOC(j): X(i,j)) = 1; ); ! If customer i assigned to location j, then j must be open; @FOR( CXL(i,j): X(i,j) <= Y(j); ); ! Location j is either open or closed, 1 or 0; @FOR( LBLOC(j): @BIN(Y(j)));