doGridMutation: Grid mutation

Description Usage Arguments Value See Also

View source: R/mutator.grid.R

Description

This mutation operator is designed to introduce a partial grid structure into to point of a given Euclidean problem instance. This is achieved by generating a random box of width and height w, h \in [box.min, box.max] and placing it at random within the boundaries [0, 1]^2. All points Q \subseteq P inside the box are affected by the mutation. Point set Q is replaced by a quadratic grid of points Q' with g = \lfloor √{|Q|} \rfloor rows and columns respectively. Note that if g^2 < |Q| we ignore |Q| - g random points of Q, i.e., these points are not touched. Subsequent, optional steps involve rotation and noise addition: with probability p.rot Q' is rotated by a random angle alpha \in [0, π/2] and with probability p.jitter all points in Q are perturbed by additive Gaussian noise with mean (0,0) and standard deviation jitter.sd in each dimension.

Usage

1
2
doGridMutation(coords, box.min = 0.1, box.max = 0.3, p.rot = 0,
  p.jitter = 0, jitter.sd = 0, ...)

Arguments

coords

[matrix]
An n times 2 matrix of point coordinates in [0, 1]^2.

box.min

[numeric(1)]
Minimum for sampled box width and height respectively. Default is 0.1.

box.max

[numeric(1)]
Maximum for sampled box width and height respectively. Default is 0.3.

p.rot

[numeric(1)]
Probability of rotation, i.e, that mutated points are subject to rotation. Default is 0, i.e., no rotation.

p.jitter

[numeric(1)]
Probability to add Gaussian noise to mutated points. Default is 0, i.e., no Gaussian noise at all.

jitter.sd

[numeric(1)]
Standard deviation for Gaussian noise. Defaults to 0.1. Note that this parameter has an effect only if p.jitter is greater zero.

...

[any]
Currently not used.

Value

[matrix] Mutated coordinates.

See Also

build

Other mutation operators: doAxisProjectionMutation, doClusterMutation, doCompressionMutation, doExpansionMutation, doExplosionMutation, doImplosionMutation, doLinearProjectionMutation, doNormalMutation, doRotationMutation, doUniformMutation


jakobbossek/tspgen documentation built on July 3, 2021, 12:01 p.m.