Learn R Programming

edesign (version 1.0-13)

greedy: Greedy algorithm for maximum entropy sampling

Description

Starting point is a network $A[F]$ with $nf$ points. Now one has to select $ns$ points of a set of candidate sites to augment the existing network. The aim of maximum entropy sampling is to select a feasible D-optimal design that maximizes the logarithm of the determinant of all principal submatrices of $A$ arising by this expansion.

It is not possible to construct a completely new network, that means $nf>0$. Use the dual greedy heuristic for this purpose.

This greedy algorithm starts with the submatrix $A[F]$ and selects the best candidate of each of the stages $(1..ns)$ to expand this matrix.

Usage

greedy(A, nf, ns, etol=0, mattest=TRUE)

Arguments

A
Spatial covariance matrix $A$.
nf
Number of stations are forced into every feasible solution.
ns
Number of stations have to be added to the existing network.
etol
Tolerance for checking positve definiteness (default 0)
mattest
Toggles testing matrix A for symmetry and positive definiteness (default T)

Value

A object of class monet containing the following elements:
S
Vector containing the indices of the added sites in the solution or 0 for the other sites.
det
Determinant of the principal submatrix indexed by the solution.

Details

$A[F]$ denotes the principal submatrix of $A$ having rows and columns indexed by $1..nf$.

References

Ko, Lee, Queyranne, An exact algorithm for maximum entropy sampling, Operations Research 43 (1995), 684-691.

Gebhardt, C.: Bayessche Methoden in der geostatistischen Versuchsplanung. PhD Thesis, Univ. Klagenfurt, Austria, 2003

O.P. Baume, A. Gebhardt, C. Gebhardt, G.B.M. Heuvelink and J. Pilz: Network optimization algorithms and scenarios in the context of automatic mapping. Computers & Geosciences 37 (2011) 3, 289-294

See Also

greedy, dualgreedy, maxentropy

Examples

Run this code
x <- c(0.97900601,0.82658702,0.53105628,0.91420190,0.35304969,
       0.14768239,0.58000004,0.60690101,0.36289026,0.82022147,
       0.95290664,0.07928365,0.04833764,0.55631735,0.06427738,
       0.31216689,0.43851418,0.34433556,0.77699357,0.84097327)
y <- c(0.36545512,0.72144122,0.95688671,0.25422154,0.48199229,
       0.43874199,0.90166634,0.60898628,0.82634713,0.29670695,
       0.86879093,0.45277452,0.09386800,0.04788365,0.20557817,
       0.61149264,0.94643855,0.78219937,0.53946353,0.70946842)
A <- outer(x, x, "-")^2 + outer(y, y, "-")^2
A <- (2 - A)/10
diag(A) <- 0
diag(A) <- 1/20 + apply(A, 2, sum)

greedy(A,5,5)

Run the code above in your browser using DataLab