[en] Abstract: Many of the most recent publications in the embedded MPC field choose to use first-order algorithms as a solution to the complexity of accelerating second-order algorithms in systems with restricted computing resources. Thus, the purpose of this project consist on evaluating the response of these first order algorithms and compare their performance with second-order algorithms to have consistent criteria to design specific accelerators optimized in the development of SoCs with application to the high performance embedded MPC. To aim this objective, the first part of the text focuses on explaining a background needed to understand the approach of the optimization algorithms in the solution of a reformulated MPC problem arising from a state-space model. In this chapter, definitions such as Shift and Delta discretisation, System Variable and Dynamics Stacking, and Sparse and Dense formulation are explained. Once the related background is presented, it is analysed in detail the application to the MPC of the most current and efficient first order algorithms, making a study of the proposals published in recent years. In this section, definitions such as optimality, stopping conditions and convergence will be taken into account. After this analysis, the application of these algorithms will be adapted to different MPC formulation options where it will be evaluated their computational performance in different scenarios. Lastly, the results obtained of the previous evaluation will be compared with the performance of the second order algorithms, particularly using a simplified Interior Point which it is optimised for an embedded MPC implementation. This comparison will allow to take appropriate design decisions in the implementation of MPC in embedded systems considering aspects such as hardware simplicity, computational performance and numerical characteristics.

[es] Resumen: Muchas de las publicaciones más recientes en el campo del MPC embebido optan por utilizar algoritmos de primer orden como solución a la complejidad de la aceleración de los algoritmos de segundo orden en sistemas con recursos informáticos restringidos. Por lo tanto, el propósito de este proyecto consiste en evaluar la respuesta de estos algoritmos de primer orden y comparar su rendimiento con los algoritmos de segundo orden con la finalidad de tener criterios consistentes para diseñar aceleradores específicos optimizados en el desarrollo de SoCs con aplicación al MPC embebido de alto rendimiento. Para lograr este objetivo, la primera parte del texto se centra en explicar los antecedentes necesarios para entender el enfoque de los algoritmos de optimización en la solución de un problema de MPC reformulado que surge de un modelo en espacio de estados. En este capítulo, se explican definiciones como la discretización Shift y Delta, el apilamiento de las variables y de la dinámica del sistema, y las formulaciones densa y dispersa. Una vez presentados los antecedentes, se analiza en detalle la aplicación al MPC de los algoritmos de primer orden más actuales y eficientes, haciendo un estudio de las propuestas publicadas en los últimos años. En este apartado se tendrán en cuenta definiciones como la optimización, las condiciones de parada y la convergencia. Tras este análisis, la aplicación de estos algoritmos se adaptará a las diferentes opciones de formulación de MPC donde se evaluará su rendimiento computacional en diferentes escenarios. Por último, los resultados obtenidos de la evaluación anterior se compararán con el rendimiento de los algoritmos de segundo orden, en particular utilizando un IP simplificado que está optimizado para una implementación MPC embebida. Esta comparación permitirá tomar decisiones de diseño adecuadas en la implementación de MPC en sistemas embebidos considerando aspectos como la simplicidad del hardware, el rendimiento computacional y las características numéricas.