Contenido

# Opciones de algoritmos para Solver

## Algoritmo evolutivo DEPS

DEPS se compone de dos algoritmos independientes: evolución diferencial y optimización de cúmulo de partículas. Ambos son adecuados para resolver problemas numéricos tales como la optimización no lineal, y se complementan mutuamente en el sentido de que uno compensa las deficiencias del otro.

Configuración | Descripción
--- | ---
Tasa de cambio de agente | Especifica la probabilidad de que un individuo elija la estrategia de Evolución Diferencial.
Considerar variables como no negativas | Marque para forzar que las variables sean solo positivas.
DE:Probabilidad de cruce | Define la probabilidad de que el individuo se combine con el mejor punto global. Si no se utiliza el cruce, el punto se ensambla a partir de la propia memoria del individuo.
DE: factor de escala | Durante el cruce, el factor de escala decide la «velocidad» de movimiento.
Ciclos de aprendizaje | Define el número de iteraciones que debe tomar el algoritmo. En cada iteración, todos los individuos hacen una conjetura sobre la mejor solución y comparten sus conocimientos.
PS: constante cognitiva | Establece la importancia de la memoria propia (en particular, el punto mejor alcanzado hasta el momento).
PS: Coeficiente de constricción | Define la velocidad a la que las partículas/individuos se mueven unos hacia otros.
PS: probabilidad de mutación | Define la probabilidad de que, en lugar de mover un componente de la partícula hacia el mejor punto, se elija aleatoriamente un valor nuevo del intervalo válido para esa variable.
PS: constante social | Establece la importancia del mejor punto global entre todas las partículas/individuos.
Mostrar estado detallado de Solver | Si se activa, durante el proceso de resolución aparece un diálogo adicional que ofrece información sobre el progreso actual, el nivel de estancamiento y la mejor solución conocida hasta el momento, así como la posibilidad de detener o reanudar el Solver.
Tamaño de cúmulo | Define el número de personas que participarán en el proceso de aprendizaje. Cada individuo encuentra sus propias soluciones y contribuye al conocimiento general.
Límite de estancamiento | Si este número de individuos encuentra soluciones dentro de un intervalo cercano, se detiene la iteración y se elige el mejor de estos valores como óptimo.
Tolerancia al estancamiento | Define el intervalo para considerar «similares» dos soluciones.

Usar el comparador ACR

Si se desactiva (valor predeterminado), se utiliza el comparador BCH. Este compara dos individuos analizando primero sus violaciones de restricciones y, solo si estas son iguales, calcula su solución actual.

Si se activa, se utiliza el comparador ACR. Este compara dos individuos en función de la iteración actual y evalúa su calidad basándose en el conocimiento de las peores soluciones conocidas de las bibliotecas (en lo que respecta a sus violaciones de restricciones).

Utilizar punto inicial aleatorio | Cuando esté activado, la biblioteca simplemente se llena con puntos elegidos al azar. Si se desactiva, los valores presentes actualmente (tal como los proporciona el usuario) se insertan en la biblioteca como punto de referencia.
Suposición de límites variables | Si está activado (de manera predeterminada lo está), el algoritmo intenta encontrar límites de variables teniendo en cuenta los valores iniciales.
Umbral de límites variables | Al estimar los límites de las variables, este umbral especifica cómo se desplazan los valores iniciales para construir los límites. Para ver un ejemplo de cómo se calculan estos valores, consulte el Manual en el wiki.

## Optimización Cognitiva Social algoritmo evolutivo

La optimización cognitiva social tiene en cuenta el comportamiento humano de aprender y compartir información. Cada individuo tiene acceso a una biblioteca común con conocimientos compartidos entre todos los individuos.

Configuración | Descripción
--- | ---
Considerar variables como no negativas | Marque para forzar que las variables sean solo positivas.
Ciclos de aprendizaje | Define el número de iteraciones que debe tomar el algoritmo. En cada iteración, todos los individuos hacen una conjetura sobre la mejor solución y comparten sus conocimientos.
Mostrar estado detallado de Solver | Si se activa, durante el proceso de resolución aparece un diálogo adicional que ofrece información sobre el progreso actual, el nivel de estancamiento y la mejor solución conocida hasta el momento, así como la posibilidad de detener o reanudar el Solver.
Tamaño de biblioteca | Define la cantidad de información a almacenar en la biblioteca pública. Cada individuo almacena conocimiento allí y pide información.
Tamaño de cúmulo | Define el número de personas que participarán en el proceso de aprendizaje. Cada individuo encuentra sus propias soluciones y contribuye al conocimiento general.
Límite de estancamiento | Si este número de individuos encuentra soluciones dentro de un intervalo cercano, se detiene la iteración y se elige el mejor de estos valores como óptimo.
Tolerancia al estancamiento | Define el intervalo para considerar «similares» dos soluciones.

Usar el comparador ACR

Si se desactiva (valor predeterminado), se utiliza el comparador BCH. Este compara dos individuos analizando primero sus violaciones de restricciones y, solo si estas son iguales, calcula su solución actual.

Si se activa, se utiliza el comparador ACR. Este compara dos individuos en función de la iteración actual y evalúa su calidad basándose en el conocimiento de las peores soluciones conocidas de las bibliotecas (en lo que respecta a sus violaciones de restricciones).

Suposición de límites variables | Si está activado (de manera predeterminada lo está), el algoritmo intenta encontrar límites de variables teniendo en cuenta los valores iniciales.
Umbral de límites variables | Al estimar los límites de las variables, este umbral especifica cómo se desplazan los valores iniciales para construir los límites. Para ver un ejemplo de cómo se calculan estos valores, consulte el Manual en el wiki.

## Solver lineal de LibreOffice y Solver lineal CoinMP

Configuración | Descripción
--- | ---
Considerar variables como enteros | Marque para forzar que las variables sean solo números enteros.
Considerar variables como no negativas | Marque para forzar que las variables sean solo positivas.
Nivel épsilon | Nivel de épsilon. Los valores válidos se comprenden entre 0 (muy ajustado) y 3 (muy flexible). Épsilon es la tolerancia para redondear los valores a cero.
Limite la profundidad de ramificación y límite | Especifica la profundidad máxima de bifurcación y límite. Un valor positivo significa que la profundidad es absoluta. Un valor negativo significa un límite de profundidad relativo de rama y límite.
Límite de tiempo del Solver | Establece el tiempo máximo para que el algoritmo converja a una solución

## Solver no lineal de cúmulos de LibreOffice (experimental)

Configuración | Descripción
--- | ---
Considerar variables como enteros | Marque para forzar que las variables sean solo números enteros.
Considerar variables como no negativas | Marque para forzar que las variables sean solo positivas.
Límite de tiempo del Solver | Establece el tiempo máximo para que el algoritmo converja a una solución
Algoritmo de cúmulo | Establezca el algoritmo de cúmulo. 0 para evolución diferencial y 1 para optimización de cúmulo de partículas. El valor predeterminado es 0.

Temas relacionados

Opciones de Solver

Solver

Página del wiki sobre Solver no lineales y sus algoritmos

Guía de referencia de lp_resolver en sourceforge.net