Skip to content

Julia Package for reading Inventory Routing Problem data files

License

Notifications You must be signed in to change notification settings

rafaelmartinelli/InventoryRoutingProblems.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InventoryRoutingProblems.jl

Build Status

Project Status: Active – The project has reached a stable, usable state and is being actively developed.

This package reads data files for Inventory Routing Problem (IRP) instances.

Usage

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

struct InventoryRoutingProblem
    name::String                 # Instance name

    vertices::Vector{IRPVertex}  # Vertices data (see below)
    num_vehicles::Int64          # Number of vehicles
    num_periods::Int64           # Number of periods

    capacity::Int64              # Vehicles capacity
    costs::Matrix{Int64}         # Cost matrix (|V| x |V|)

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

Lower and upper bounds are from DIMACS's results (I was a bit lazy on that).

The type IRPVertex is defined as follows:

struct IRPVertex
    id::Int64              # Sequential id

    inv_init::Int64        # Initial inventory
    inv_min::Int64         # Minimum inventory
    inv_max::Int64         # Maximum inventory
    inv_cost::Float64      # Inventory cost

    demand::Int64          # Demand

    coord::Vector{Float64} # Coordinates
end

Some classical IRP instances from the literature are preloaded, following DIMACS naming. For example, to load IRP instance L_abs2n200_5_H:

irp = loadIRP("L_abs2n200_5_H")

See the full list on the DIMACS page.

The package still does not load custom IRP instances.

Installation

InventoryRoutingProblems is not a registered Julia Package...

You can install InventoryRoutingProblems through the Julia package manager.

Open Julia's interactive session (REPL) and type:

] add https://github.com/rafaelmartinelli/InventoryRoutingProblems.jl

Do not forget to ⭐star⭐ our package! 😁

Related links

Other packages

About

Julia Package for reading Inventory Routing Problem data files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages