AYAhmed Yazıcı
← All projects

Case 09 / Combinatorial optimization

Where should facilities open, and who should they serve?

A GRASP-initialized Tabu Search for the single-source capacitated facility location problem, combining fast feasible construction with neighborhood search and explicit capacity checks.

  1. 01 / INPUTDemand and capacityCustomers, facilities, fixed and assignment costs
  2. 02 / BUILDGRASP startsRandomized candidate lists and feasibility repair
  3. 03 / IMPROVETabu movesReassign customers; open or close facilities
  4. 04 / CHECKCost and gapFeasibility plus LP lower-bound comparison
Evaluated instances
351, 55, and 63 customers
Capacity violation
0for every reported best solution
Instance 1 gap
4.30%above its LP relaxation bound
01 / THE PROBLEM

One customer, one open facility.

The model must decide which facilities to open and assign every customer to exactly one of them. Opening a facility has a fixed cost; serving a customer from it has an assignment cost. Customer demand consumes limited facility capacity.

The objective is to minimize opening cost plus assignment cost, while keeping every assignment single-source, linked to an open facility, and within capacity. Those interacting decisions make a feasible, low-cost configuration hard to find by simple rules alone.

02 / SEARCH DESIGN

Construct broadly, then search locally.

GRASP initialization

The construction phase scores facilities using fixed cost per unit of capacity and average assignment cost. A restricted candidate list introduces controlled randomness. Facilities are opened until total capacity can cover demand, then customers are assigned and a repair step resolves capacity conflicts.

Two levels of Tabu Search

One neighborhood moves individual customers between open facilities when capacity permits. The other changes the facility set: opening a new site and moving a useful group of customers, or closing a site and reassigning its customers feasibly.

Tabu tenure discourages immediate reversals. An aspiration rule accepts a tabu move if it improves the global best; a move-frequency penalty helps diversify the search after stagnation. The repository also includes an LP-relaxation lower bound and a binary MIP comparator for instances that can be solved exactly within the configured limit.

03 / RECORDED RESULTS

Three instances, feasible assignments.

The documented experiment uses seed 103 and five GRASP constructions per instance. Tabu Search refines each feasible construction; the table reports the best result for each sheet.

InstanceFacilities / customersBest GRASPBest after TabuLP boundGap
151 / 511,6321,2081,158.22044.30%
255 / 558,6557,6787,220.18386.34%
363 / 6311,24010,6959,908.56007.94%

The best solutions open 10, 16, and 21 facilities, respectively. All three have zero reported capacity violation. The repository can also generate convergence charts showing improvement across search iterations.

04 / INTERPRETATION

What the gap says.

An LP relaxation is a lower bound, not a feasible integer solution. A 4.30% gap means the heuristic's feasible cost is 4.30% above that bound; it does not prove that the heuristic is 4.30% from the true optimum.

Scope. The reported experiment is tied to these three workbook instances and this random seed. Broader algorithm comparisons would need repeated seeds, runtime reporting, and additional instance families.