ExVrp.Depot (ExVrp v0.4.2)

Copy Markdown View Source

Represents a depot (distribution center) in a VRP.

Depots are locations where vehicles start and/or end their routes.

Summary

Functions

Creates a new depot.

Types

t()

@type t() :: %ExVrp.Depot{
  name: String.t(),
  reload_cost: non_neg_integer(),
  service_duration: non_neg_integer(),
  tw_early: non_neg_integer(),
  tw_late: non_neg_integer(),
  x: number(),
  y: number()
}

Functions

new(opts)

@spec new(keyword()) :: t()

Creates a new depot.

Required Options

  • :x - X coordinate
  • :y - Y coordinate

Optional Options

  • :tw_early - Earliest departure time (default: 0)
  • :tw_late - Latest return time (default: :infinity)
  • :service_duration - Time required for loading/unloading at this depot during reloads (default: 0)
  • :reload_cost - Cost incurred when a vehicle reloads at this depot (default: 0)
  • :name - Depot name for identification (default: "")

Examples

iex> ExVrp.Depot.new(x: 0, y: 0)
%ExVrp.Depot{x: 0, y: 0, ...}