distsummin {orloca.es} | R Documentation |
distsummin en el paquete orloca
Description
Resuelve el problema de localización min-sum para un objeto dado de la clase loca.p
.
Uso
distsummin(o, x=0, y=0, lp=numeric(0), max.iter=100, eps=1.e-3, verbose=FALSE, algorithm="Weiszfeld", ...)
Argumentos
- o
Un objeto de la clase
loca.p
.- x
La coordenada x del punto inicial.
- y
La coordenada y del punto inicial.
- lp
Si se proporciona, la norma
l_p
se usa en vez de la norma euclídea.- max.iter
Número máximo de iteraciones permitido.
- eps
La norma del gradiente en la regla de parada.
- verbose
Si es TRUE la función proporciona salida detallada.
- algorithm
El algoritmo a utilizar. En esta versión del paquete los valores válidos son: "gradient" o "g" para el método basado en gradiente, "search" o "s" para el método de búsqueda local, "ucminf" o "u" para usar optimizar usando ucminf del paquete ucminf, y "weiszfeld" o "w" para el método de Weiszfeld o cualquier otro método válido para la función optim, ahora "Nelder-Mead", "BFGS", "CG", "L-BFGS-B", "SANN". "weiszfeld" es el valor por defecto.
- ...
Otras opciones para los algoritmos de optimización.
Detalles
Los algoritmos de Weiszfeld y gradiente incluyen un test de optimalidad para los puntos de demanda. El algoritmo de Weiszfeld también implementa un test de convergencia lenta y un procedimiento acelerador.
Si p < 1
entonces l_p
no es una norma, por tanto,
sólo p \ge 1
es válido.
l_2
es la norma euclídea, cuando p=2
distsumlpmin
es igual a distsuml2min
. Pero los
cálculos involucrados en la primera forma son mucho
mayores.
max.iter en el algoritmo SANN es el número de evaluaciones de la función objetivo, por lo que este método requiere de valores grandes de max.iter para alcanzar el óptimo.
La función zsummin está marcada como obsoleta y será borrada de nuevas versiones del paquete.
Valor
distsummin
devuelve un vector con las coordenadas del punto solución.
Véase también
Véase
Vease también orloca.es-package
, loca.p
y distsum
.
Examples
# Un objeto loca.p sin pesos
loca <- new("loca.p", x = c(-1, 1, 1, -1), y = c(-1, -1, 1, 1))
# Calcula el minimo
sol <- distsummin(loca)
# Muestra el resultado
sol
# Evaluacion de la funcion objetivo en el punto solucion
distsum(loca, sol[1], sol[2])