Class TransportDemand

  • All Implemented Interfaces:
    Serializable

    public class TransportDemand
    extends Object
    implements Serializable
    Demand the between terminals in an operating area (region) and other terminals.

    Copyright (c) 2013-2020 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
    BSD-style license. See OpenTrafficSim License.

    Based on software from the IDVV project, which is Copyright (c) 2013 Rijkswaterstaat - Dienst Water, Verkeer en Leefomgeving and licensed without restrictions to Delft University of Technology, including the right to sub-license sources and derived products to third parties.

    $LastChangedDate: 2015-07-24 02:58:59 +0200 (Fri, 24 Jul 2015) $, @version $Revision: 1147 $, by $Author: averbraeck $, initial version Nov 6, 2016
    Author:
    Alexander Verbraeck
    See Also:
    Serialized Form
    • Constructor Detail

      • TransportDemand

        public TransportDemand​(DEVSSimulatorInterface.TimeDoubleUnit simulator,
                               Region operatingArea)
        Parameters:
        simulator - DEVSSimulatorInterface.TimeDoubleUnit; the simulator for scheduling the demand
        operatingArea - Region; the region for which this demand holds
    • Method Detail

      • getOperatingArea

        public final Region getOperatingArea()
        Returns:
        the operatingArea
      • addDemand

        public final void addDemand​(TransportDemand.DemandCell demandCell)
        add a cell to the demandmap.
        Parameters:
        demandCell - DemandCell; the cell to add
      • addDemand

        public final void addDemand​(Terminal terminalFrom,
                                    Terminal terminalTo,
                                    int numberAnnual,
                                    double fraction20ft,
                                    double fractionEmpty,
                                    Map<Company,​Double> fractionOwners)
        add a cell to the demandmap.
        Parameters:
        terminalFrom - Terminal; origin terminal
        terminalTo - Terminal; destination terminal
        numberAnnual - int; annual number of containers per year
        fraction20ft - double; fraction of 20 ft containers (rest is 40 ft)
        fractionEmpty - double; fraction of empty containers (rest is full)
        fractionOwners - Map<Company,Double>; map of owners with fraction (adding up to 1.0) indicating who owns the containers
      • getDemand

        public final TransportDemand.DemandCell getDemand​(Terminal terminalFrom,
                                                          Terminal terminalTo)
        Parameters:
        terminalFrom - Terminal; origin terminal
        terminalTo - Terminal; destination terminal
        Returns:
        the demand between two terminals.
      • getDemandMapFrom

        public final Map<Terminal,​TransportDemand.DemandCell> getDemandMapFrom​(Terminal terminalFrom)
        Parameters:
        terminalFrom - Terminal; origin terminal
        Returns:
        the map of demands originating at a terminal.
      • getDemandMapTo

        public final Map<Terminal,​TransportDemand.DemandCell> getDemandMapTo​(Terminal terminalTo)
        Parameters:
        terminalTo - Terminal; destination terminal
        Returns:
        the map of demands for a destination terminal.
      • getDemandSetFrom

        public final Set<TransportDemand.DemandCell> getDemandSetFrom​(Terminal terminalFrom)
        Parameters:
        terminalFrom - Terminal; origin terminal
        Returns:
        the demands originating at a terminal as a set.
      • getDemandSetTo

        public final Set<TransportDemand.DemandCell> getDemandSetTo​(Terminal terminalTo)
        Parameters:
        terminalTo - Terminal; destination terminal
        Returns:
        the demands for a destination terminal as a set.