Some variants of the Vehicle Routing Problem (VRP) consider static as well as dynamic customers (nodes). This function takes a Network and dynamises it, i. e., it adds dynamic arrival times to the customers via a Poisson process.

dynamise(x, n.dynamic = NULL, dyn.customers.ratio = NULL,
  arrival.limit)

Arguments

x

[Network]
Network.

n.dynamic

[integer(1) | NULL] Number of nodes, which should become dynamic. Ignored if dyn.customers.ratio is not NULL.

dyn.customers.ratio

[numeric(1) | NULL] Ratio of dynamic nodes. If this is set to a numeric value in (0, 1), the parameter n.dynamic is ignored.

arrival.limit

[numeric(1)]
Maximal arrival time.

Value

[Network] Modified network (now has an additional list element 'arrival.times') and the ratio of dynamic customers as an attribute.

See also

Examples

x = generateClusteredNetwork(n.points = 100L, n.cluster = 4L, upper = 100, n.depots = 2L)
x = dynamise(x, dyn.customers.ratio = 0.3, arrival.limit = 400)
print(x)
#> Clustered 2-dimensional network.
#> Name:               CLUSTERED_n_100_cl_4_d_2_ap65kFERJY
#> Comment(s):         cl=4
#> Edge weight type:   EUC_2D
#> Number of nodes:    100
#> Number of clusters: 4
#> Number of depots:   2
#> Head of coordinate matrix:
#>         x1        x2 types membership
#> 1 54.89175 74.388696 depot          0
#> 2 85.08845  7.247307 depot          0
#> 3 48.81000 23.860000  node          1
#> 4 38.47000 22.310000  node          1
#> 5 31.58000 34.370000  node          1
#> ...