This package reads data files in cflp format for Capacitated Facility Location Problem (CFLP) instances.


The type used by the package is FacilityLocationProblem, defined as follows:

struct FacilityLocationProblem
    name::String                 # Instance name

    capacities::Vector{Int64}    # Facilities capacities
    demands::Vector{Int64}       # Customers demands
    fixed_costs::Vector{Float64} # Fixed costs to open facilities
    costs::Matrix{Float64}       # Costs to assign facilities to customers

    lb::Float64                  # Lower bound (-Inf if not known)
    ub::Float64                  # Upper bound ( Inf if not known)

Some classical CFLP instances from the literature are preloaded. For example, to load CFLP instance cap41:

data = loadFacilityLocationProblem(:cap41)

See the full list.

Optionally, it is possible to set the facilities' capacity (mandatory for instances capa, capb, and capc):

data = loadFacilityLocationProblem(:capa, 8000)

This package also loads custom CFLP instances (following ORLib format):

data = loadFacilityLocationProblem("/path/to/your/CFLP/instance.txt", optional_facilities_capacity)


FacilityLocationProblems is a registered Julia Package (yay!). You can install FacilityLocationProblems through the Julia package manager. Open Julia's interactive session (REPL) and type:

] add FacilityLocationProblems
    Modules = [FacilityLocationProblems]