Proyecto 1 Teoría de Control
Transcripción
Proyecto 1 Teoría de Control
Proyecto 1 Teoría de Control Mateo Díaz Universidad de los Andes Colombia 1 de octubre de 2015 Agenda El problema Teoría Implementación 2/22 El problema 3/22 Introducción En este proyecto atacamos el problema de hacer que un vehículo viajando en dos dimensiones evada obstáculos. Este trabajo esta basado en la segunda aplicación del paper: “Some Applications of Polynomial Optimization in Operations Research and Real-Time Decision Making” [AM15]. 4/22 Introducción El sistema dinámico que rige al avión es el siguiente: −v sin(θ) + w . v cos(θ) ẋ = fi = ui (1) Con los controles dados por ui = −50(θ − θi ), donde los posible ángulos están son: θ1 = 0, θ2 = 20π/180, θ3 = −20π/180, θ4 = 45π/180, θ5 = −45π/180. 5/22 Introducción Sumado a esto van a haber una serie de conjuntos (obstáculos) que la ruta de nuestro avión debe evitar. Si cada cierto tiempo se puede elegir cambiar de control, la gran pregunta es: Cómo garantizar que la trayectoria escogida no va a chocar con algún obstáculo? 6/22 Teoría 7/22 Funciones Barrera Definition (Conjunto semialgebráico) Un conjunto C ⊆ Rn se dice semialgebráico si y sólo si existe un conjunto de polinomios multivariados g0 , . . . , gm tales que C = {x ∈ Rn | ∀i pi (x) ≥ 0}. Theorem Defina un sistema dado por (1) con un ui fijo y x(0) = x0 , sea x una solución. Entonces la trayectoria definida por x no pasa por los conjuntos X1 , . . . , Xm si existe una función B : R3 → R tal que, B(x0 ) ≤ 0 B(z) > 0 Ḃ(x) = h∇B, f i ≤ 0 (2) ∀i y z ∈ Xi (3) (4) 8/22 No es tan fácil Hay un pequeño inconveniente con el enunciado del teorema anterior. Dado un polinomio en n variables p : Rn → R, certificar que globalmente el polinomio es no negativo es un problema muy difícil. Es decir, el problema de decidir si p(x) ≥ 0 para todo x ∈ Rn es un problema NP-difícil [MK87]. Entonces sí es difícil certificar que algo es no negativo, intentar buscar algo no negativo es un problema muy complicado. Si encontramos un algoritmo polinomial que hiciera esto nos volveríamos millonarios y habríamos mostrado que P=NP! 9/22 Sumas de cuadrados y certificados de no negatividad Afortunadamente, hay una forma de encontrar polinomios no negativos de forma efectiva. En el año 2000, Pablo Parrilo introdujo en su tesis doctoral [Par00] las relajaciones de sumas de cuadrados, una alternativa tratable para resolver este problema. Definition (Suma de cuadrados) Se dice que un polinomio p es suma de cuadrados, si se puede escribir de la forma p(x) = k X fi 2 (x), i=0 dónde fi son polinomios. Trivialmente si sabemos que p es suma de cuadrados o SOS, por sus siglas en inglés, entonces p ≥ 0. 10/22 Sumas de cuadrados y certificados de no negatividad Theorem (Ver [Par03]) Un p(x) un polinomio multivariado en m variables de grado 2n es una suma de cuadrados si y sólo si existe una matriz simétrica semidefinida positiva Q tal que p(x) = z T Qz, (5) donde z es el vector de monomios de grado a lo sumo n. Es decir, n z = [1, x1 , x2 , . . . , xm , x1 x2 , . . . , xm ]. Para resolver este tipo de problemas existen métodos con complejidad polinomial y que han demostrado ser alternativas viables en la práctica [VB96]. 11/22 DSOS y SDSOS: Alternativas a las sumas de cuadrados Aunque los algoritmos para programación semidefinida tienen complejidad polinomial, en la práctica no escalan muy bien cuando la dimensión del tamaño crece. Amir Ali y Anirudha Majumdar introdujeron nuevas alternativas en [AM15], basadas en conos de matrices más tratables. 12/22 DSOS y SDSOS: Alternativas a las sumas de cuadrados Definition (Matriz diagonalmente dominante) Una matriz simétrica A se dice diagonalmente dominante si aii ≥ P i6=j |aij | para todo i. Denotamos por DDn al cono de matrices diagonalmente dominantes de tamaño n × n. Lemma Se puede optimizar sobre DDn usando programación lineal. 13/22 DSOS y SDSOS: Alternativas a las sumas de cuadrados Definition (Matriz diagonalmente dominante escalada) ij Sea S n el conjunto de matrices simétricas. Sean M2×2 ∈ Sn matrices con todas sus entradas cero, excepto los elementos Mii , Mij , Mji y Mjj . Entonces una matriz simétrica A se dice diagonalmente dominante escalada (SDD) si se puede escribir de la siguiente forma: X ij Mii Mij A= M2×2 , 0. Mji Mjj i6=j Denotamos por SDDn al cono de matrices diagonalmente dominantes escaladas de tamaño n × n. Lemma Se puede optimizar sobre SDDn usando programación de cono de segundo orden. 14/22 DSOS y SDSOS: Alternativas a las sumas de cuadrados Hecho importante: DDn ⊆ SDDn ⊆ Sn+ . Luego al optimizar sobre estos conos obtenemos matrices Q, que también garantizan que el polinomio x T Qx es no negativo. Además de ello, los algoritmos para LP y SOCP son mucho más rápidos. 15/22 El S-procedimiento Si bien la relación de cuadrados garantiza la positividad de un polinomio globalmente, esto no resuelve el problema para nuestro caso particular de funciones barreras. Pues en este caso sólo se exige localmente. Suponga que tenemos conjuntos X1 , . . . , Xm semialgebráicos en los que se quiere garantizar la no negativadad. Sin pérdida de generalidad sean g1 , . . . , gm los polinomios con los que se definen estos conjuntos. Sean L1 , . . . , Lm polinomios “variables” que llamaremos multiplicadores. Definamos, B̂i (z) := B(z) − Li (z)gi (z). 16/22 El S-procedimiento El siguiente teorema nos ayuda a relacionar la no negatividad local con la no negatividad global. Theorem Con el contexto dado, si se cumple que para todo i ∈ [m], B̂i Li ≥ 0 ≥ 0. Entonces B(z) ≥ 0 para cualquier z ∈ Xi . 17/22 Implementación 18/22 Como encontrar las barreras Con todo lo visto hasta ahora podemos reescribir una relación de nuestro problema original. Para que el algoritmo fuese funcional usamos un campo de visión de 90 grados hacia arriba. Dentro de este campo se escogían únicamente 2 obstáculos. Para modelar estos obstáculos definimos gi (x) := (0.02)2 − (x − c1 )2 − (y − c2 )2 . Buscamos la barrera para el control uk resolviendo, B(x0 ) = 0, B(x) − 1 − Li (x)gi (x) es SOS para i = 1, 2, −h∇B, fk i − L3 (x)h(x) − L4 (x)(0.05 − w )(0.05 + w ) es SOS, L1 , L2 , L3 y L4 son SOS. Donde h(x) := 1 − (x − x0 )2 + (y − y0 )2 + θ2 . 19/22 Ejemplos 20/22 Gracias! Preguntas? 21/22 References Farid Alizadeh and Donald Goldfarb. Second-order cone programming. Mathematical programming, 95(1):3–51, 2003. Amir Ali Ahmadi and Anirudha Majumdar. Some applications of polynomial optimization in operations research and real-time decision making. arXiv preprint arXiv:1504.06002, 2015. Ulf T Jönsson. A lecture on the s-procedure. 2001. Katta G Murty and Santosh N Kabadi. Some np-complete problems in quadratic and nonlinear programming. Mathematical programming, 39(2):117–129, 1987. Pablo A Parrilo. Structured semidefinite programs and semialgebraic geometry methods in robustness and optimization. PhD thesis, Citeseer, 2000. Pablo A Parrilo. 22/22