2 votos

Optimización de la solución de un sistema indeterminado

Dada una $3 \times 4$ matriz $M$ con la siguiente estructura,

$$M = \left(\begin{array}{cccc}a & b & 0 &0\\ c & d &e & f\\ 0 & 0 & g & h\end{array}\right),$$

Mi objetivo es optimizar la posición de 4 puntos $\mathbf{P_k}$ en $\mathbb{R}^2$ tal que

$$M \left(\begin{array}{c}P_{1x} \\ P_{2x} \\ P_{3x} \\ P_{4x}\end{array}\right) = \left(\begin{array}{c}A_x\\ B_x \\ C_x\end{array}\right)$$

et

$$M \left(\begin{array}{c}P_{1y} \\ P_{2y} \\ P_{3y} \\ P_{4y}\end{array}\right) = \left(\begin{array}{c}A_y\\ B_y \\ C_y\end{array}\right),$$

donde $\mathbf{P_k}$ tiene coordenadas $(P_{kx},P_{ky})$ y $\mathbf{A}$ , $\mathbf{B}$ et $\mathbf{C}$ son valores conocidos, por supuesto también en $\mathbb{R}^2$ .

En forma vectorial, el sistema puede escribirse como

$$M \left(\begin{array}{c}\mathbf{P_1} \\ \mathbf{P_2} \\ \mathbf{P_3} \\ \mathbf{P_4}\end{array}\right) = \left(\begin{array}{c}\mathbf{A}\\ \mathbf{B} \\ \mathbf{C}\end{array}\right).$$

Claramente, el sistema está subdeterminado con 4 incógnitas y sólo 3 ecuaciones. En general, el rango de $M$ es $\mathcal{R}(M) = 3$ (es una suposición que puedo hacer dentro del contexto del problema, omitiré los detalles), por lo tanto el núcleo de $M$ es unidimensional, es decir $\mathcal{N}(M) = 1$ .

Ahora, además de $M$ Me gustaría que los puntos $\mathbf{P_k}$ para estar juntos. Es una condición un poco vaga, pero tal vez pueda establecer que la distancia sumada (al cuadrado) entre todos los puntos esté dentro de un cierto rango, digamos

$$m < \|\mathbf{P_1}-\mathbf{P_2}\|_2 + \|\mathbf{P_2}-\mathbf{P_3}\|_2 + \|\mathbf{P_3}-\mathbf{P_4}\|_2 + \|\mathbf{P_4}-\mathbf{P_1}\|_2 < n,$$

con $m,n \in \mathbb{R}$ indicando el alcance. En otras palabras, no quiero necesariamente minimizar esta distancia sumada (al cuadrado) - por ejemplo, que todos los puntos se solapen, dando como resultado una distancia sumada (al cuadrado) de $0$ no es aceptable (por lo que $m > 0$ ).

Estoy un poco perdido con respecto a encontrar un método adecuado para abordar este problema. La programación cuadrática parece probable, quizá reformular el problema utilizando las condiciones KKT... Cualquier sugerencia o referencia será bienvenida.

Además, dado que el problema es de naturaleza geométrica (puntos en $\mathbb{R}^2$ ), me preguntaba cómo visualizar el espacio de soluciones posibles. Dado que $\mathcal{N}(M) = 1$ básicamente buscamos la posición (en cierto sentido) óptima en una línea incrustada en $\mathbb{R}^4$ (tanto para $x$ et $y$ individualmente, supongo, ya que aún nos queda un grado de libertad vectorial).

2voto

Mark L. Stone Puntos 290

Una posible formulación es un Problema de Cono de Segundo Orden (SOCP), que puede introducirse y resolverse fácilmente en un sistema de optimización convexa, como CVX (MATLAB) o CVXPY (Python). Esta formulación minimiza la distancia máxima entre sus puntos, sujeto a satisfacer sus igualdades lineales.

El objetivo es minimizar t. Las restricciones son:

sus igualdades lineales

norma(P1 - P2) $\le t$

norma(P1 - P3) $\le t$

norma(P1 - P4) $\le t$

norma(P2 - P3) $\le t$

norma(P2 - P4) $\le t$

norma(P3 - P4) $\le t$

Las variables de optimización (decisión) son t, P1, P2, P3, P4.

BTW, en su discusión, la única manera m puede = 0 es si P1 = P2 = P3 = P4 es una solución factible (satisface sus igualdades lineales).

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