conmutador de modalidad paralela

Establece la modalidad de optimización paralela. Las modalidades posibles son automáticas, deterministas y oportunistas.

Finalidad

Conmutador de modalidad paralela

API Nombre de parámetro Nombre anterior a V12.6.0
C CPXPARAM_Parallel CPX_PARAM_PARALLELMODE
C++ IloCplex::Param::Parallel ParallelMode (int)
Java IloCplex.Param.Parallel ParallelMode (int)
.NET Cplex.Param.Parallel ParallelMode (int)
OPL modalidad paralela modalidad paralela
Python parameters.parallel paralelo
Interactive paralelo paralelo
Identifier 1109 1109

Descripción

Establece la modalidad de optimización paralela. Las modalidades posibles son automáticas, deterministas y oportunistas.

En este contexto determinista significa que varias ejecuciones con el mismo modelo, en los mismos valores de parámetro, en la misma plataforma reproducirán la misma ruta de soluciones y resultados. Por el contrario, oportunista implica que incluso las mínimas diferencias en temporización entre los subprocesos o en el orden en el que se ejecutan las tareas en diferentes subprocesos, pueden producir una ruta de solución diferente y, en consecuencia, diferentes temporizadores o diferentes vectores de soluciones durante la optimización ejecutada en los subprocesos paralelos. En las aplicaciones de varios subprocesos, el valor oportunista implica menos sincronización entre los subprocesos y, en consecuencia, pueden proporcionar un mejor rendimiento.

De forma predeterminada, CPLEX aplica tanto paralelismo como sea posible mientras logra resultados deterministas. Es decir, cuando ejecuta el mismo modelo dos veces en la misma plataforma con los mismos valores de parámetro, verá la misma ejecución de optimización y solución. Esta condición se conoce como la modalidad determinista.

Más posibilidades para explotar el paralelismo están disponibles si no necesita determinismo. En otras palabras, CPLEX puede encontrar más posibilidades de paralelismo si no necesita una ruta de solución invariable y precisamente el mismo vector de solución. Para utilizar todo el paralelismo disponible, necesita seleccionar la modalidad paralela oportunista. En esta modalidad, CPLEX utilizará todas las oportunidades para el paralelismo para lograr el mejor rendimiento.

Sin embargo, en modalidad oportunista, la optimización real puede diferir de ejecución en ejecución, incluido el propio tiempo de solución y la ruta recorrida en la búsqueda.

Optimización determinista y secuencial

La optimización de MIP paralela puede ser oportunista o determinista.

La optimización de barrera paralela es solo determinista.

La optimización simultánea puede ser oportunista o determinista. En ambas modalidades, cuando seis o más subprocesos están disponibles, la optimización simultánea lanza de forma predeterminada el símplex primario, el símplex dual y optimizadores de barrera. Si hay diez subprocesos disponibles para CPLEX, la optimización simultánea lanza símplex primario, símplex dual, barrera y tamizado (si el tamizado es aplicable al tipo actual del problema).

Consejo: Este parámetro de modo paralelo también se aplica a la optimización MIP paralela distribuida. Es decir, puede indicar a CPLEX que ejecute la optimización de MIP paralela distribuida de forma oportunista o determinista.

Retornos de llamadas y optimización de MIP

Si las devoluciones de llamada heredadas o genéricas se utilizan para resolver una MIP, en una optimización de MIP paralela el orden en el que se ejecutan las devoluciones de llamada de diferentes subprocesos puede ser no determinista, ni siquiera en la modalidad paralela determinista. Es responsabilidad del usuario asegurarse de que las devoluciones de llamada no realicen operaciones que puedan llevar a un comportamiento oportunista y se implementen en un modo seguro para los subprocesos.

Para obtener una descripción de las retrollamadas heredadas, consulte ' Uso de retrollamadas de optimización heredadas ' y ' Interfaz de control MIP avanzada (heredada) en ' Manual del usuario de CPLEX' .

Para una descripción de las callbacks genéricas, ver el tópico Generic callbacks en el Manual de Usuario de CPLEX.

Determinismo versus oportunismo

Este parámetro también le permite desactivar este valor predeterminado al elegir el valor -1 (menos uno). Los casos en los que sea posible que desee desactivar la búsqueda determinista incluyen situaciones en las cuales desee aprovechar posibles rendimientos más veloces de la optimización de MIP paralela determinista en varios subprocesos después de que haya confirmado que la optimización de MIP paralela determinista produjo los resultados que esperaba.

Tabla 1. Valores
Valor

Constante Simbólica

Biblioteca invocable

Constante Simbólica

Concert Technology

Significado
-1 CPX_PARALLEL_OPPORTUNISTIC Opportunistic Habilitar modalidad de búsqueda paralela oportunista
0 CPX_PARALLEL_AUTO AutoParallel Automático: permitir que CPLEX decida si invoca una búsqueda determinista u oportunista; valor predeterminado
1 CPX_PARALLEL_DETERMINISTIC Deterministic Habilitar modalidad de búsqueda paralela determinista

Ver también: ' recuento global de hilos: ' CPX_PARAM_THREADS, ' Threads