11 votos

Centro analítico del politopo convexo

Tengo un politopo convexo definido por $Ax \leq b$. Quiero saber cómo encontrar el "centro analítico" de mi politopo convexo, porque mi objetivo es muestrear del politopo usando métodos de Monte Carlo de cadenas de Markov (MCMC), y mezcla mejor si comienzo desde el centro analítico.

Una forma de encontrar el "centro" sería encontrar todos los vértices de mi politopo convexo y luego tomar un promedio de todos los vértices. Sin embargo, el número de vértices escala combinatoriamente con la dimensión de mi politopo, y en términos de tiempo de ejecución, este no es un enfoque factible.

Me pregunto si hay alguna otra buena definición de "centro analítico" de mi politopo convexo definido por $Ax \leq b$. También estoy buscando algoritmos que sean computacionalmente viables.

0 votos

¿Cuál es tu definición de "centro analítico"? Hay varias posibles definiciones para un "centro" de un politopo convexo, incluyendo el promedio de los vértices así como el centro de masa literal expresado en términos de integrales sobre el politopo. Además, incluso con una buena definición de "centro", todavía es posible que tu politopo sea, en términos vagos, "largo y delgado", en cuyo caso el MCMC estándar aún tardará en mezclarse porque seguirás chocando con los lados del politopo. Tal vez realmente no importa dónde empieces, al menos asintóticamente.

0 votos

@user2566092 ¡Muchas gracias por tu respuesta! Actualmente estoy usando un paseo Dikin, y según algunos de los documentos que he leído, si comienzo en un "centro analítico" se mezcla fuertemente en tiempo polinómico. ¿Tal vez tienes una idea de cuál podría ser este centro? ¡Gracias!

0 votos

@AndyYao, ¿esto ayuda: [Kojima1998][1] Hablan sobre encontrar el centro analítico minimizando la función de potencial logarítmico (es decir, -sum_log(Ax-b)). [1]: theory.stanford.edu/~megiddo/pdf/kmm4fin.pdf

4voto

Alt Puntos 2230

Creo que tu mejor opción es formular tu problema como un programa lineal que encuentra el centro de Chebyshev de un politopo.

Al encontrar el centro de Chebyshev del politopo, intentas encontrar la esfera hipergrande que se ajusta dentro del casco convexo de los vértices. Y, el centro de esta esfera hiperpuede ser definido como el centro de tu politopo.

Echa un vistazo a diapositiva 4-19 aquí:

http://stanford.edu/class/ee364a/lectures/problems.pdf

Este problema es sorprendentemente interesante, porque puede ser convertido en un simple programa lineal, el cual puede ser resuelto eficientemente.

Nótese que esta solución no es necesariamente única, y en particular si el politopo es "delgado", entonces "el centro" será menos significativo. (Es decir, es posible que desees agregar restricciones adicionales al programa de optimización, o cambiar el objetivo para tener en cuenta eso también.)

Espero que esto te ayude.

3voto

Mathieu B Puntos 121

La respuesta actual no está abordando la pregunta original. El centro analítico del politopo se define para un politopo $a_i^T x\leq b_i \,\,\forall i\,$ como el punto que minimiza la suma de las barreras logarítmicas de las restricciones:

$$\hat{x} = \text{arg}\min_x -\sum_{i} \log \left( b_i - a_i^T x \right)$$

Encontrar el centro analítico es más complejo que encontrar el centro de Chebyshev (es un problema de optimización no lineal convexo) pero produce resultados más robustos. Se ha utilizado en la literatura para la optimización discreta como el centro de referencia del conjunto factible.

Tiene una conexión con los métodos de punto interior, este es el punto donde comienza el camino central.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X