approximate mpc based on machine learning and

36
Approximate MPC based on machine learning and probabilistic verification Sergio Lucia Technische Universität Berlin Einstein Center Digital Future www.iot.tu-berlin.de

Upload: others

Post on 15-May-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Approximate MPC based on machine learning and

Approximate MPC based on machine learning and probabilistic verification

Sergio Lucia

Technische Universität BerlinEinstein Center Digital Future

www.iot.tu-berlin.de

Page 2: Approximate MPC based on machine learning and

Motivation

Solving NMPC problems in real time is still challenging:• For very fast systems• On low-cost embedded hardware

Even more challenging in the case of robust NMPC

• Goal: Development of an approach that simultaneously• Obtains approximate optimal robust solutions• Has small memory footprint • Can be rapidly evaluated on an embedded device

2

Page 3: Approximate MPC based on machine learning and

Explicit MPC in the linear case

The MPC control law for LTI systems is a piecewise-affine function• Depends only on the current state (and possibly parameters)• Can be offline precomputed and stored

Each region is described by a polyhedron:

[A. Bemporad, M Morari, V. Dua, E.N. Pistikopoulos, 2002] 3

Page 4: Approximate MPC based on machine learning and

Reducing complexity of explicit MPC

• Optimal representations:• Merging of regions with same feedback law• Lattice representation

• Suboptimal approximations:• Trade-off between complexity reduction and performance• Simplicial partitions• Neural networks

[T. A. Johannsen, A. Bemporad, F. Borrelli, C. Jones, M. Morari, M. Kvanisca and others]4

Page 5: Approximate MPC based on machine learning and

Using neural networks to approximate MPC

It is an old idea: already done in 1995 for nonlinear MPC• What is new?

Common practice until recent successes in deep learning was:• Because of universal approximation theorem: use only 1 layer

What are the possible advantages of deep learning for approximating complex MPC laws?

[T. Parisini and R. Zoppoli, 1995, Akesson and Toivonen, 2006]5

Page 6: Approximate MPC based on machine learning and

Deep neural networks (DNN)

Neural network with L hidden layersand M neurons per layer

• Affine transformation

• Activation function- tanh:

- ReLU:

gl(fl) = tanh(fl) =efl � e�fl

efl � e�fl<latexit sha1_base64="4I3Lpd3wB7qiagOTAc4KuIj+ufQ=">AAACjHicbZDfa9swEMcV71eXbV26Pe5FLAy6hwS7FFYYhUJh7LGDpi3EnjnLp0RUko0ktwThP6h/zV7X/2Zy6pWl3YHgo+/dSXffopbCuji+HURPnj57/mLr5fDV6zfbb0c7785s1RiGM1bJylwUYFEKjTMnnMSL2iCoQuJ5cXnc5c+v0FhR6VO3qjFTsNCCCwYuSPnoeJHLXZ7Lz/SQpg708v7CDTCPP324t3RCA006bP9qk3slH43jabwO+hiSHsakj5N8Z5CkZcUahdoxCdbOk7h2mQfjBJPYDtPGYg3sEhY4D6hBoc38etuWfgpKSXllwtGOrtV/Ozwoa1eqCJUK3NI+zHXi/3LzxvGDzAtdNw41u/uIN5K6inbW0VIYZE6uAgAzIsxK2RKCTS4YvPGSZSCxzPwS5RW6sI9BjdesUgp0mXJQQq5K5NBI51PLe2zpxiOnSea7DbtZhsNgcvLQ0sdwtjdN4mnyY398dNDbvUU+kI9klyTkCzki38kJmRFGbsgv8pvcRtvRfvQ1OrwrjQZ9z3uyEdG3P0mPyHE=</latexit><latexit sha1_base64="4I3Lpd3wB7qiagOTAc4KuIj+ufQ=">AAACjHicbZDfa9swEMcV71eXbV26Pe5FLAy6hwS7FFYYhUJh7LGDpi3EnjnLp0RUko0ktwThP6h/zV7X/2Zy6pWl3YHgo+/dSXffopbCuji+HURPnj57/mLr5fDV6zfbb0c7785s1RiGM1bJylwUYFEKjTMnnMSL2iCoQuJ5cXnc5c+v0FhR6VO3qjFTsNCCCwYuSPnoeJHLXZ7Lz/SQpg708v7CDTCPP324t3RCA006bP9qk3slH43jabwO+hiSHsakj5N8Z5CkZcUahdoxCdbOk7h2mQfjBJPYDtPGYg3sEhY4D6hBoc38etuWfgpKSXllwtGOrtV/Ozwoa1eqCJUK3NI+zHXi/3LzxvGDzAtdNw41u/uIN5K6inbW0VIYZE6uAgAzIsxK2RKCTS4YvPGSZSCxzPwS5RW6sI9BjdesUgp0mXJQQq5K5NBI51PLe2zpxiOnSea7DbtZhsNgcvLQ0sdwtjdN4mnyY398dNDbvUU+kI9klyTkCzki38kJmRFGbsgv8pvcRtvRfvQ1OrwrjQZ9z3uyEdG3P0mPyHE=</latexit><latexit sha1_base64="4I3Lpd3wB7qiagOTAc4KuIj+ufQ=">AAACjHicbZDfa9swEMcV71eXbV26Pe5FLAy6hwS7FFYYhUJh7LGDpi3EnjnLp0RUko0ktwThP6h/zV7X/2Zy6pWl3YHgo+/dSXffopbCuji+HURPnj57/mLr5fDV6zfbb0c7785s1RiGM1bJylwUYFEKjTMnnMSL2iCoQuJ5cXnc5c+v0FhR6VO3qjFTsNCCCwYuSPnoeJHLXZ7Lz/SQpg708v7CDTCPP324t3RCA006bP9qk3slH43jabwO+hiSHsakj5N8Z5CkZcUahdoxCdbOk7h2mQfjBJPYDtPGYg3sEhY4D6hBoc38etuWfgpKSXllwtGOrtV/Ozwoa1eqCJUK3NI+zHXi/3LzxvGDzAtdNw41u/uIN5K6inbW0VIYZE6uAgAzIsxK2RKCTS4YvPGSZSCxzPwS5RW6sI9BjdesUgp0mXJQQq5K5NBI51PLe2zpxiOnSea7DbtZhsNgcvLQ0sdwtjdN4mnyY398dNDbvUU+kI9klyTkCzki38kJmRFGbsgv8pvcRtvRfvQ1OrwrjQZ9z3uyEdG3P0mPyHE=</latexit><latexit sha1_base64="RuBeFd1vxVoknAUxP6ONLtul5gQ=">AAACOXicbVHLTsMwEHR4lvDsmYtFhcSpSrjAEYkLR5Boi9RGaONsWgvbiewNqIr6A1z5KX6Bn+CGuOKUHigwkqXRrL2enU1LJR1F0Vuwsrq2vrHZ2gq3d8Ldvf2Dnb4rKiuwJwpV2LsUHCppsEeSFN6VFkGnCgfpw2VTHzyidbIwtzQtMdEwNjKXAshL1/cHnagbzcH/knhBOmyB+3YQj7JCVBoNCQXODeOopKQGS1IonIWjymEJ4gHGOPTUgEaX1HOfM37slYznhfXHEJ+rP1/UoJ2b6tTf1EAT97vWiP/VhhXl50ktTVkRGvH9UV4pTgVvhuaZtChITT0BYaX3ysUELAjy0Sx1cgIUZkk9QfWI5OexaPBJFFqDyUY5aKmmGeZQKapHLl/QGV9qchsndTNh4yUMfcbx70T/kv5pN4668U3EWuyQHbETFrMzdsGu2DXrMcEy9sxegtfgPfj43sVKsFhKmy0h+PwCzCSwQg==</latexit><latexit sha1_base64="NsnQ7zDm+8e3H7WffNtyJzkTI+Q=">AAACgXicbZFNa9wwEIa1Tj/SbZpueu1FNBTSwy52CbRQAoVcekwhmwTWrhnL410RSTbSOGUR/kH9Nbkm/ybyZhu6SQcEj97Rx8w7RaOkozi+HURbz56/eLn9avh6583u29HezpmrWytwKmpV24sCHCppcEqSFF40FkEXCs+Ly+M+f36F1snanNKywUzD3MhKCqAg5aPjea4Oqlx94kc8JTCLh01lQXj85cO+42MeaNxj91cbPyj5aD+exKvgTyFZwz5bx0m+N0jSshatRkNCgXOzJG4o82BJCoXdMG0dNiAuYY6zgAY0usyvuu34x6CUvKptWIb4Sv33hgft3FIX4aQGWrjHuV78X27WUvU189I0LaER9x9VreJU8946XkqLgtQyAAgrQ61cLCDYRMHgjZecAIVl5heorpBCPxYN/ha11mDKtAIt1bLEClpFPnXVGju+8chpkvm+w76W4TCYnDy29CmcfZ4k8ST5GbNt9p59YAcsYV/Yd/aDnbApE+wPu2Y37DbajQ6jb/fjiAbrubxjGxEd3QGpUMeD</latexit><latexit sha1_base64="NsnQ7zDm+8e3H7WffNtyJzkTI+Q=">AAACgXicbZFNa9wwEIa1Tj/SbZpueu1FNBTSwy52CbRQAoVcekwhmwTWrhnL410RSTbSOGUR/kH9Nbkm/ybyZhu6SQcEj97Rx8w7RaOkozi+HURbz56/eLn9avh6583u29HezpmrWytwKmpV24sCHCppcEqSFF40FkEXCs+Ly+M+f36F1snanNKywUzD3MhKCqAg5aPjea4Oqlx94kc8JTCLh01lQXj85cO+42MeaNxj91cbPyj5aD+exKvgTyFZwz5bx0m+N0jSshatRkNCgXOzJG4o82BJCoXdMG0dNiAuYY6zgAY0usyvuu34x6CUvKptWIb4Sv33hgft3FIX4aQGWrjHuV78X27WUvU189I0LaER9x9VreJU8946XkqLgtQyAAgrQ61cLCDYRMHgjZecAIVl5heorpBCPxYN/ha11mDKtAIt1bLEClpFPnXVGju+8chpkvm+w76W4TCYnDy29CmcfZ4k8ST5GbNt9p59YAcsYV/Yd/aDnbApE+wPu2Y37DbajQ6jb/fjiAbrubxjGxEd3QGpUMeD</latexit><latexit sha1_base64="HjjQ2zwHGXiyj3EBa5vvW8DL/Es=">AAACjHicbZDfa9swEMcV71eXbl3aPe5FLBS6hwR7DFYYhUJh7LGDpi3EnjnLp0RUko0kdwThP2h/TV/X/2Zy6pWl3YHgo+/dSXffopbCuji+HURPnj57/mLr5XD71eudN6PdvXNbNYbhjFWyMpcFWJRC48wJJ/GyNgiqkHhRXJ10+YtrNFZU+sytaswULLTggoELUj46WeTygOfyAz2iqQO9vL9wA8zjDx/uLZ3QQJMO27/a5F7JR+N4Gq+DPoakhzHp4zTfHSRpWbFGoXZMgrXzJK5d5sE4wSS2w7SxWAO7ggXOA2pQaDO/3ral+0EpKa9MONrRtfpvhwdl7UoVoVKBW9qHuU78X27eOH6YeaHrxqFmdx/xRlJX0c46WgqDzMlVAGBGhFkpW0KwyQWDN16yDCSWmV+ivEYX9jGo8SerlAJdphyUkKsSOTTS+dTyHlu68chZkvluw26W4TCYnDy09DGcf5wm8TT5Ho+PD3u7t8g78p4ckIR8JsfkGzklM8LIL3JDfpPbaCf6FH2Jju5Ko0Hf85ZsRPT1D0hPyG0=</latexit><latexit sha1_base64="4I3Lpd3wB7qiagOTAc4KuIj+ufQ=">AAACjHicbZDfa9swEMcV71eXbV26Pe5FLAy6hwS7FFYYhUJh7LGDpi3EnjnLp0RUko0ktwThP6h/zV7X/2Zy6pWl3YHgo+/dSXffopbCuji+HURPnj57/mLr5fDV6zfbb0c7785s1RiGM1bJylwUYFEKjTMnnMSL2iCoQuJ5cXnc5c+v0FhR6VO3qjFTsNCCCwYuSPnoeJHLXZ7Lz/SQpg708v7CDTCPP324t3RCA006bP9qk3slH43jabwO+hiSHsakj5N8Z5CkZcUahdoxCdbOk7h2mQfjBJPYDtPGYg3sEhY4D6hBoc38etuWfgpKSXllwtGOrtV/Ozwoa1eqCJUK3NI+zHXi/3LzxvGDzAtdNw41u/uIN5K6inbW0VIYZE6uAgAzIsxK2RKCTS4YvPGSZSCxzPwS5RW6sI9BjdesUgp0mXJQQq5K5NBI51PLe2zpxiOnSea7DbtZhsNgcvLQ0sdwtjdN4mnyY398dNDbvUU+kI9klyTkCzki38kJmRFGbsgv8pvcRtvRfvQ1OrwrjQZ9z3uyEdG3P0mPyHE=</latexit><latexit sha1_base64="4I3Lpd3wB7qiagOTAc4KuIj+ufQ=">AAACjHicbZDfa9swEMcV71eXbV26Pe5FLAy6hwS7FFYYhUJh7LGDpi3EnjnLp0RUko0ktwThP6h/zV7X/2Zy6pWl3YHgo+/dSXffopbCuji+HURPnj57/mLr5fDV6zfbb0c7785s1RiGM1bJylwUYFEKjTMnnMSL2iCoQuJ5cXnc5c+v0FhR6VO3qjFTsNCCCwYuSPnoeJHLXZ7Lz/SQpg708v7CDTCPP324t3RCA006bP9qk3slH43jabwO+hiSHsakj5N8Z5CkZcUahdoxCdbOk7h2mQfjBJPYDtPGYg3sEhY4D6hBoc38etuWfgpKSXllwtGOrtV/Ozwoa1eqCJUK3NI+zHXi/3LzxvGDzAtdNw41u/uIN5K6inbW0VIYZE6uAgAzIsxK2RKCTS4YvPGSZSCxzPwS5RW6sI9BjdesUgp0mXJQQq5K5NBI51PLe2zpxiOnSea7DbtZhsNgcvLQ0sdwtjdN4mnyY398dNDbvUU+kI9klyTkCzki38kJmRFGbsgv8pvcRtvRfvQ1OrwrjQZ9z3uyEdG3P0mPyHE=</latexit><latexit sha1_base64="4I3Lpd3wB7qiagOTAc4KuIj+ufQ=">AAACjHicbZDfa9swEMcV71eXbV26Pe5FLAy6hwS7FFYYhUJh7LGDpi3EnjnLp0RUko0ktwThP6h/zV7X/2Zy6pWl3YHgo+/dSXffopbCuji+HURPnj57/mLr5fDV6zfbb0c7785s1RiGM1bJylwUYFEKjTMnnMSL2iCoQuJ5cXnc5c+v0FhR6VO3qjFTsNCCCwYuSPnoeJHLXZ7Lz/SQpg708v7CDTCPP324t3RCA006bP9qk3slH43jabwO+hiSHsakj5N8Z5CkZcUahdoxCdbOk7h2mQfjBJPYDtPGYg3sEhY4D6hBoc38etuWfgpKSXllwtGOrtV/Ozwoa1eqCJUK3NI+zHXi/3LzxvGDzAtdNw41u/uIN5K6inbW0VIYZE6uAgAzIsxK2RKCTS4YvPGSZSCxzPwS5RW6sI9BjdesUgp0mXJQQq5K5NBI51PLe2zpxiOnSea7DbtZhsNgcvLQ0sdwtjdN4mnyY398dNDbvUU+kI9klyTkCzki38kJmRFGbsgv8pvcRtvRfvQ1OrwrjQZ9z3uyEdG3P0mPyHE=</latexit><latexit sha1_base64="4I3Lpd3wB7qiagOTAc4KuIj+ufQ=">AAACjHicbZDfa9swEMcV71eXbV26Pe5FLAy6hwS7FFYYhUJh7LGDpi3EnjnLp0RUko0ktwThP6h/zV7X/2Zy6pWl3YHgo+/dSXffopbCuji+HURPnj57/mLr5fDV6zfbb0c7785s1RiGM1bJylwUYFEKjTMnnMSL2iCoQuJ5cXnc5c+v0FhR6VO3qjFTsNCCCwYuSPnoeJHLXZ7Lz/SQpg708v7CDTCPP324t3RCA006bP9qk3slH43jabwO+hiSHsakj5N8Z5CkZcUahdoxCdbOk7h2mQfjBJPYDtPGYg3sEhY4D6hBoc38etuWfgpKSXllwtGOrtV/Ozwoa1eqCJUK3NI+zHXi/3LzxvGDzAtdNw41u/uIN5K6inbW0VIYZE6uAgAzIsxK2RKCTS4YvPGSZSCxzPwS5RW6sI9BjdesUgp0mXJQQq5K5NBI51PLe2zpxiOnSea7DbtZhsNgcvLQ0sdwtjdN4mnyY398dNDbvUU+kI9klyTkCzki38kJmRFGbsgv8pvcRtvRfvQ1OrwrjQZ9z3uyEdG3P0mPyHE=</latexit><latexit sha1_base64="4I3Lpd3wB7qiagOTAc4KuIj+ufQ=">AAACjHicbZDfa9swEMcV71eXbV26Pe5FLAy6hwS7FFYYhUJh7LGDpi3EnjnLp0RUko0ktwThP6h/zV7X/2Zy6pWl3YHgo+/dSXffopbCuji+HURPnj57/mLr5fDV6zfbb0c7785s1RiGM1bJylwUYFEKjTMnnMSL2iCoQuJ5cXnc5c+v0FhR6VO3qjFTsNCCCwYuSPnoeJHLXZ7Lz/SQpg708v7CDTCPP324t3RCA006bP9qk3slH43jabwO+hiSHsakj5N8Z5CkZcUahdoxCdbOk7h2mQfjBJPYDtPGYg3sEhY4D6hBoc38etuWfgpKSXllwtGOrtV/Ozwoa1eqCJUK3NI+zHXi/3LzxvGDzAtdNw41u/uIN5K6inbW0VIYZE6uAgAzIsxK2RKCTS4YvPGSZSCxzPwS5RW6sI9BjdesUgp0mXJQQq5K5NBI51PLe2zpxiOnSea7DbtZhsNgcvLQ0sdwtjdN4mnyY398dNDbvUU+kI9klyTkCzki38kJmRFGbsgv8pvcRtvRfvQ1OrwrjQZ9z3uyEdG3P0mPyHE=</latexit><latexit sha1_base64="4I3Lpd3wB7qiagOTAc4KuIj+ufQ=">AAACjHicbZDfa9swEMcV71eXbV26Pe5FLAy6hwS7FFYYhUJh7LGDpi3EnjnLp0RUko0ktwThP6h/zV7X/2Zy6pWl3YHgo+/dSXffopbCuji+HURPnj57/mLr5fDV6zfbb0c7785s1RiGM1bJylwUYFEKjTMnnMSL2iCoQuJ5cXnc5c+v0FhR6VO3qjFTsNCCCwYuSPnoeJHLXZ7Lz/SQpg708v7CDTCPP324t3RCA006bP9qk3slH43jabwO+hiSHsakj5N8Z5CkZcUahdoxCdbOk7h2mQfjBJPYDtPGYg3sEhY4D6hBoc38etuWfgpKSXllwtGOrtV/Ozwoa1eqCJUK3NI+zHXi/3LzxvGDzAtdNw41u/uIN5K6inbW0VIYZE6uAgAzIsxK2RKCTS4YvPGSZSCxzPwS5RW6sI9BjdesUgp0mXJQQq5K5NBI51PLe2zpxiOnSea7DbtZhsNgcvLQ0sdwtjdN4mnyY398dNDbvUU+kI9klyTkCzki38kJmRFGbsgv8pvcRtvRfvQ1OrwrjQZ9z3uyEdG3P0mPyHE=</latexit>

6

Page 7: Approximate MPC based on machine learning and

Why deep (and not shallow)?

Number of linear regions represented by a ReLU network of depth L and width M

• Exponential growth of regions w.r.t. depth• Greater expressiveness with same

amount of weights

[Montufar et al., 2014]7

Page 8: Approximate MPC based on machine learning and

Proposed approach

2: Offline training of the deepneural network

1: Generate training samples bysolving many MPC problems

mathx = f(x, u)

<latexit sha1_base64="6regc1NyKJ94QJZtnS5Ha/oByYc=">AAACWXicbVDBShxBEO0ZY1wnmqx6zKXJEjAgy4yEJJeAkEuOBlwVdoelpqfGbezuGbprVpdh/8Sr+SfxZ9KzzsHVFDQ83quqfvWySklHcfwQhBtvNt9u9bajdzu77z/09/bPXVlbgSNRqtJeZuBQSYMjkqTwsrIIOlN4kV3/avWLOVonS3NGiwpTDVdGFlIAeWra70/ykprbJf/Ji8Pbo/rLtD+Ih/Gq+GuQdGDAujqd7gWJ3yFqjYaEAufGSVxR2oAlKRQuo0ntsAJxDVc49tCARpc2K+tL/tkzOS9K658hvmKfTzSgnVvozHdqoJl7qbXk/7RxTcWPtJGmqgmNePqoqBWnkrc58FxaFKQWHoCw0nvlYgYWBPm01jY5AQrztJmhmiP5eywavBGl1mDySQFaqkWOBdSKmokrOrjka0vOkrRpL2y9RJEPOXkZ6WtwfjxM4mHy5+vg5FsXd499ZJ/YIUvYd3bCfrNTNmKCzdkdu2d/g8cwCHth9NQaBt3MAVur8OAfbZu1DQ==</latexit><latexit sha1_base64="6regc1NyKJ94QJZtnS5Ha/oByYc=">AAACWXicbVDBShxBEO0ZY1wnmqx6zKXJEjAgy4yEJJeAkEuOBlwVdoelpqfGbezuGbprVpdh/8Sr+SfxZ9KzzsHVFDQ83quqfvWySklHcfwQhBtvNt9u9bajdzu77z/09/bPXVlbgSNRqtJeZuBQSYMjkqTwsrIIOlN4kV3/avWLOVonS3NGiwpTDVdGFlIAeWra70/ykprbJf/Ji8Pbo/rLtD+Ih/Gq+GuQdGDAujqd7gWJ3yFqjYaEAufGSVxR2oAlKRQuo0ntsAJxDVc49tCARpc2K+tL/tkzOS9K658hvmKfTzSgnVvozHdqoJl7qbXk/7RxTcWPtJGmqgmNePqoqBWnkrc58FxaFKQWHoCw0nvlYgYWBPm01jY5AQrztJmhmiP5eywavBGl1mDySQFaqkWOBdSKmokrOrjka0vOkrRpL2y9RJEPOXkZ6WtwfjxM4mHy5+vg5FsXd499ZJ/YIUvYd3bCfrNTNmKCzdkdu2d/g8cwCHth9NQaBt3MAVur8OAfbZu1DQ==</latexit><latexit sha1_base64="6regc1NyKJ94QJZtnS5Ha/oByYc=">AAACWXicbVDBShxBEO0ZY1wnmqx6zKXJEjAgy4yEJJeAkEuOBlwVdoelpqfGbezuGbprVpdh/8Sr+SfxZ9KzzsHVFDQ83quqfvWySklHcfwQhBtvNt9u9bajdzu77z/09/bPXVlbgSNRqtJeZuBQSYMjkqTwsrIIOlN4kV3/avWLOVonS3NGiwpTDVdGFlIAeWra70/ykprbJf/Ji8Pbo/rLtD+Ih/Gq+GuQdGDAujqd7gWJ3yFqjYaEAufGSVxR2oAlKRQuo0ntsAJxDVc49tCARpc2K+tL/tkzOS9K658hvmKfTzSgnVvozHdqoJl7qbXk/7RxTcWPtJGmqgmNePqoqBWnkrc58FxaFKQWHoCw0nvlYgYWBPm01jY5AQrztJmhmiP5eywavBGl1mDySQFaqkWOBdSKmokrOrjka0vOkrRpL2y9RJEPOXkZ6WtwfjxM4mHy5+vg5FsXd499ZJ/YIUvYd3bCfrNTNmKCzdkdu2d/g8cwCHth9NQaBt3MAVur8OAfbZu1DQ==</latexit><latexit sha1_base64="RuBeFd1vxVoknAUxP6ONLtul5gQ=">AAACOXicbVHLTsMwEHR4lvDsmYtFhcSpSrjAEYkLR5Boi9RGaONsWgvbiewNqIr6A1z5KX6Bn+CGuOKUHigwkqXRrL2enU1LJR1F0Vuwsrq2vrHZ2gq3d8Ldvf2Dnb4rKiuwJwpV2LsUHCppsEeSFN6VFkGnCgfpw2VTHzyidbIwtzQtMdEwNjKXAshL1/cHnagbzcH/knhBOmyB+3YQj7JCVBoNCQXODeOopKQGS1IonIWjymEJ4gHGOPTUgEaX1HOfM37slYznhfXHEJ+rP1/UoJ2b6tTf1EAT97vWiP/VhhXl50ktTVkRGvH9UV4pTgVvhuaZtChITT0BYaX3ysUELAjy0Sx1cgIUZkk9QfWI5OexaPBJFFqDyUY5aKmmGeZQKapHLl/QGV9qchsndTNh4yUMfcbx70T/kv5pN4668U3EWuyQHbETFrMzdsGu2DXrMcEy9sxegtfgPfj43sVKsFhKmy0h+PwCzCSwQg==</latexit><latexit sha1_base64="VeRRbKBUFNCloUo8V4Tj80Zz/+E=">AAACTnicbVHBattAEB2pTeuqSev02svSUEghGCmX9FIo9JJjCnESsIUZrUbxkt2V2B25McJ/0mv6TyU/k5XjQ510YOHx3u7bmTdFo5XnNP0bxS9e7rx6PXiTvN3de/d+uL974evWSRrLWtfuqkBPWlkas2JNV40jNIWmy+LmR69fLsh5VdtzXjaUG7y2qlISOVCz4XBa1tzdrsQ3UR3eHrVfZsODdJSuSzwH2QYcwKbOZvtRFjxka8iy1Oj9JEsbzjt0rKSmVTJtPTUob/CaJgFaNOTzbt36SnwOTCmq2oVjWazZf190aLxfmiLcNMhz/1Tryf9pk5arr3mnbNMyWfn4UdVqwbXocxClciRZLwNA6VToVcg5OpQc0tpy8hI1lXk3J70gDvM4svRL1sagLacVGqWXJVXYau6mvtrAldgyOc/yrp+w7yVJQsjZ00ifg4vjUZaOsp8pDOAjfIJDyOAEvsMpnMEYJCzgN9zBn+g+juLB4zriaLOXD7BVcfIAowi0VA==</latexit><latexit sha1_base64="VeRRbKBUFNCloUo8V4Tj80Zz/+E=">AAACTnicbVHBattAEB2pTeuqSev02svSUEghGCmX9FIo9JJjCnESsIUZrUbxkt2V2B25McJ/0mv6TyU/k5XjQ510YOHx3u7bmTdFo5XnNP0bxS9e7rx6PXiTvN3de/d+uL974evWSRrLWtfuqkBPWlkas2JNV40jNIWmy+LmR69fLsh5VdtzXjaUG7y2qlISOVCz4XBa1tzdrsQ3UR3eHrVfZsODdJSuSzwH2QYcwKbOZvtRFjxka8iy1Oj9JEsbzjt0rKSmVTJtPTUob/CaJgFaNOTzbt36SnwOTCmq2oVjWazZf190aLxfmiLcNMhz/1Tryf9pk5arr3mnbNMyWfn4UdVqwbXocxClciRZLwNA6VToVcg5OpQc0tpy8hI1lXk3J70gDvM4svRL1sagLacVGqWXJVXYau6mvtrAldgyOc/yrp+w7yVJQsjZ00ifg4vjUZaOsp8pDOAjfIJDyOAEvsMpnMEYJCzgN9zBn+g+juLB4zriaLOXD7BVcfIAowi0VA==</latexit><latexit sha1_base64="lgns5EqoSGrtIMz3rrtu+tBCYn8=">AAACWXicbVDBTttAEF270AYX2lCOXFaNkKiEIruHtpdKSFw4gkQAKbGi8XpMVuyurd1xSmTlT3ot/4T4GdbBBwIdaaWn92Zm37ysUtJRHD8E4buNzfcfelvRx+2dT5/7u18uXVlbgSNRqtJeZ+BQSYMjkqTwurIIOlN4ld2etPrVHK2TpbmgRYWphhsjCymAPDXt9yd5Sc3dkv/mxeHdUf1t2h/Ew3hV/C1IOjBgXZ1Nd4PE7xC1RkNCgXPjJK4obcCSFAqX0aR2WIG4hRsce2hAo0ublfUlP/BMzovS+meIr9iXEw1o5xY6850aaOZeay35P21cU/ErbaSpakIjnj8qasWp5G0OPJcWBamFByCs9F65mIEFQT6ttU1OgMI8bWao5kj+HosG/4hSazD5pAAt1SLHAmpFzcQVHVzytSUXSdq0F7ZeosiHnLyO9C24/D5M4mFyHg+Of3Rx99g++8oOWcJ+smN2ys7YiAk2Z3/ZP3YfPIZB2Auj59Yw6Gb22FqFe09sW7UJ</latexit><latexit sha1_base64="6regc1NyKJ94QJZtnS5Ha/oByYc=">AAACWXicbVDBShxBEO0ZY1wnmqx6zKXJEjAgy4yEJJeAkEuOBlwVdoelpqfGbezuGbprVpdh/8Sr+SfxZ9KzzsHVFDQ83quqfvWySklHcfwQhBtvNt9u9bajdzu77z/09/bPXVlbgSNRqtJeZuBQSYMjkqTwsrIIOlN4kV3/avWLOVonS3NGiwpTDVdGFlIAeWra70/ykprbJf/Ji8Pbo/rLtD+Ih/Gq+GuQdGDAujqd7gWJ3yFqjYaEAufGSVxR2oAlKRQuo0ntsAJxDVc49tCARpc2K+tL/tkzOS9K658hvmKfTzSgnVvozHdqoJl7qbXk/7RxTcWPtJGmqgmNePqoqBWnkrc58FxaFKQWHoCw0nvlYgYWBPm01jY5AQrztJmhmiP5eywavBGl1mDySQFaqkWOBdSKmokrOrjka0vOkrRpL2y9RJEPOXkZ6WtwfjxM4mHy5+vg5FsXd499ZJ/YIUvYd3bCfrNTNmKCzdkdu2d/g8cwCHth9NQaBt3MAVur8OAfbZu1DQ==</latexit><latexit sha1_base64="6regc1NyKJ94QJZtnS5Ha/oByYc=">AAACWXicbVDBShxBEO0ZY1wnmqx6zKXJEjAgy4yEJJeAkEuOBlwVdoelpqfGbezuGbprVpdh/8Sr+SfxZ9KzzsHVFDQ83quqfvWySklHcfwQhBtvNt9u9bajdzu77z/09/bPXVlbgSNRqtJeZuBQSYMjkqTwsrIIOlN4kV3/avWLOVonS3NGiwpTDVdGFlIAeWra70/ykprbJf/Ji8Pbo/rLtD+Ih/Gq+GuQdGDAujqd7gWJ3yFqjYaEAufGSVxR2oAlKRQuo0ntsAJxDVc49tCARpc2K+tL/tkzOS9K658hvmKfTzSgnVvozHdqoJl7qbXk/7RxTcWPtJGmqgmNePqoqBWnkrc58FxaFKQWHoCw0nvlYgYWBPm01jY5AQrztJmhmiP5eywavBGl1mDySQFaqkWOBdSKmokrOrjka0vOkrRpL2y9RJEPOXkZ6WtwfjxM4mHy5+vg5FsXd499ZJ/YIUvYd3bCfrNTNmKCzdkdu2d/g8cwCHth9NQaBt3MAVur8OAfbZu1DQ==</latexit><latexit sha1_base64="6regc1NyKJ94QJZtnS5Ha/oByYc=">AAACWXicbVDBShxBEO0ZY1wnmqx6zKXJEjAgy4yEJJeAkEuOBlwVdoelpqfGbezuGbprVpdh/8Sr+SfxZ9KzzsHVFDQ83quqfvWySklHcfwQhBtvNt9u9bajdzu77z/09/bPXVlbgSNRqtJeZuBQSYMjkqTwsrIIOlN4kV3/avWLOVonS3NGiwpTDVdGFlIAeWra70/ykprbJf/Ji8Pbo/rLtD+Ih/Gq+GuQdGDAujqd7gWJ3yFqjYaEAufGSVxR2oAlKRQuo0ntsAJxDVc49tCARpc2K+tL/tkzOS9K658hvmKfTzSgnVvozHdqoJl7qbXk/7RxTcWPtJGmqgmNePqoqBWnkrc58FxaFKQWHoCw0nvlYgYWBPm01jY5AQrztJmhmiP5eywavBGl1mDySQFaqkWOBdSKmokrOrjka0vOkrRpL2y9RJEPOXkZ6WtwfjxM4mHy5+vg5FsXd499ZJ/YIUvYd3bCfrNTNmKCzdkdu2d/g8cwCHth9NQaBt3MAVur8OAfbZu1DQ==</latexit><latexit sha1_base64="6regc1NyKJ94QJZtnS5Ha/oByYc=">AAACWXicbVDBShxBEO0ZY1wnmqx6zKXJEjAgy4yEJJeAkEuOBlwVdoelpqfGbezuGbprVpdh/8Sr+SfxZ9KzzsHVFDQ83quqfvWySklHcfwQhBtvNt9u9bajdzu77z/09/bPXVlbgSNRqtJeZuBQSYMjkqTwsrIIOlN4kV3/avWLOVonS3NGiwpTDVdGFlIAeWra70/ykprbJf/Ji8Pbo/rLtD+Ih/Gq+GuQdGDAujqd7gWJ3yFqjYaEAufGSVxR2oAlKRQuo0ntsAJxDVc49tCARpc2K+tL/tkzOS9K658hvmKfTzSgnVvozHdqoJl7qbXk/7RxTcWPtJGmqgmNePqoqBWnkrc58FxaFKQWHoCw0nvlYgYWBPm01jY5AQrztJmhmiP5eywavBGl1mDySQFaqkWOBdSKmokrOrjka0vOkrRpL2y9RJEPOXkZ6WtwfjxM4mHy5+vg5FsXd499ZJ/YIUvYd3bCfrNTNmKCzdkdu2d/g8cwCHth9NQaBt3MAVur8OAfbZu1DQ==</latexit><latexit sha1_base64="6regc1NyKJ94QJZtnS5Ha/oByYc=">AAACWXicbVDBShxBEO0ZY1wnmqx6zKXJEjAgy4yEJJeAkEuOBlwVdoelpqfGbezuGbprVpdh/8Sr+SfxZ9KzzsHVFDQ83quqfvWySklHcfwQhBtvNt9u9bajdzu77z/09/bPXVlbgSNRqtJeZuBQSYMjkqTwsrIIOlN4kV3/avWLOVonS3NGiwpTDVdGFlIAeWra70/ykprbJf/Ji8Pbo/rLtD+Ih/Gq+GuQdGDAujqd7gWJ3yFqjYaEAufGSVxR2oAlKRQuo0ntsAJxDVc49tCARpc2K+tL/tkzOS9K658hvmKfTzSgnVvozHdqoJl7qbXk/7RxTcWPtJGmqgmNePqoqBWnkrc58FxaFKQWHoCw0nvlYgYWBPm01jY5AQrztJmhmiP5eywavBGl1mDySQFaqkWOBdSKmokrOrjka0vOkrRpL2y9RJEPOXkZ6WtwfjxM4mHy5+vg5FsXd499ZJ/YIUvYd3bCfrNTNmKCzdkdu2d/g8cwCHth9NQaBt3MAVur8OAfbZu1DQ==</latexit><latexit sha1_base64="6regc1NyKJ94QJZtnS5Ha/oByYc=">AAACWXicbVDBShxBEO0ZY1wnmqx6zKXJEjAgy4yEJJeAkEuOBlwVdoelpqfGbezuGbprVpdh/8Sr+SfxZ9KzzsHVFDQ83quqfvWySklHcfwQhBtvNt9u9bajdzu77z/09/bPXVlbgSNRqtJeZuBQSYMjkqTwsrIIOlN4kV3/avWLOVonS3NGiwpTDVdGFlIAeWra70/ykprbJf/Ji8Pbo/rLtD+Ih/Gq+GuQdGDAujqd7gWJ3yFqjYaEAufGSVxR2oAlKRQuo0ntsAJxDVc49tCARpc2K+tL/tkzOS9K658hvmKfTzSgnVvozHdqoJl7qbXk/7RxTcWPtJGmqgmNePqoqBWnkrc58FxaFKQWHoCw0nvlYgYWBPm01jY5AQrztJmhmiP5eywavBGl1mDySQFaqkWOBdSKmokrOrjka0vOkrRpL2y9RJEPOXkZ6WtwfjxM4mHy5+vg5FsXd499ZJ/YIUvYd3bCfrNTNmKCzdkdu2d/g8cwCHth9NQaBt3MAVur8OAfbZu1DQ==</latexit>

3: High performance implementationon low-cost embedded hardware

Place here your preferred (overcomplicated)

robust NMPC Method

(x0, u⇤0)

<latexit sha1_base64="UH+Wqa1L45ChxLxgDfU5cwHA/4A=">AAACU3icbVBNT9wwEHUCtHSBlo8jF6urSoDQKkFV6RGJS48gsYC0SVcTZ8Ja2E5kT6CraP9Gr+VP9cBv4YKz5NCFPsnS03sz45mXVUo6iqLHIFxaXnn3fvVDb2194+Onza3tS1fWVuBQlKq01xk4VNLgkCQpvK4sgs4UXmW3p61/dYfWydJc0LTCVMONkYUUQF5K9n6No0Ne/zwYR/vjzX40iObgb0nckT7rcDbeCuIkL0Wt0ZBQ4NwojipKG7AkhcJZL6kdViBu4QZHnhrQ6NJmvvSMf/FKzovS+meIz9V/OxrQzk115is10MS99lrxf96opuJ72khT1YRGvHxU1IpTydsEeC4tClJTT0BY6XflYgIWBPmcFiY5AQrztJmgukPy91g0eC9KrcHkSQFaqmmOBdSKmsQVHZ3xhSEXcdq0F7a79Ho+5Ph1pG/J5dEgjgbx+df+ybcu7lW2yz6zPRazY3bCfrAzNmSCVew3+8Megr/BUxiGyy+lYdD17LAFhBvPPFezgw==</latexit><latexit sha1_base64="UH+Wqa1L45ChxLxgDfU5cwHA/4A=">AAACU3icbVBNT9wwEHUCtHSBlo8jF6urSoDQKkFV6RGJS48gsYC0SVcTZ8Ja2E5kT6CraP9Gr+VP9cBv4YKz5NCFPsnS03sz45mXVUo6iqLHIFxaXnn3fvVDb2194+Onza3tS1fWVuBQlKq01xk4VNLgkCQpvK4sgs4UXmW3p61/dYfWydJc0LTCVMONkYUUQF5K9n6No0Ne/zwYR/vjzX40iObgb0nckT7rcDbeCuIkL0Wt0ZBQ4NwojipKG7AkhcJZL6kdViBu4QZHnhrQ6NJmvvSMf/FKzovS+meIz9V/OxrQzk115is10MS99lrxf96opuJ72khT1YRGvHxU1IpTydsEeC4tClJTT0BY6XflYgIWBPmcFiY5AQrztJmgukPy91g0eC9KrcHkSQFaqmmOBdSKmsQVHZ3xhSEXcdq0F7a79Ho+5Ph1pG/J5dEgjgbx+df+ybcu7lW2yz6zPRazY3bCfrAzNmSCVew3+8Megr/BUxiGyy+lYdD17LAFhBvPPFezgw==</latexit><latexit sha1_base64="UH+Wqa1L45ChxLxgDfU5cwHA/4A=">AAACU3icbVBNT9wwEHUCtHSBlo8jF6urSoDQKkFV6RGJS48gsYC0SVcTZ8Ja2E5kT6CraP9Gr+VP9cBv4YKz5NCFPsnS03sz45mXVUo6iqLHIFxaXnn3fvVDb2194+Onza3tS1fWVuBQlKq01xk4VNLgkCQpvK4sgs4UXmW3p61/dYfWydJc0LTCVMONkYUUQF5K9n6No0Ne/zwYR/vjzX40iObgb0nckT7rcDbeCuIkL0Wt0ZBQ4NwojipKG7AkhcJZL6kdViBu4QZHnhrQ6NJmvvSMf/FKzovS+meIz9V/OxrQzk115is10MS99lrxf96opuJ72khT1YRGvHxU1IpTydsEeC4tClJTT0BY6XflYgIWBPmcFiY5AQrztJmgukPy91g0eC9KrcHkSQFaqmmOBdSKmsQVHZ3xhSEXcdq0F7a79Ho+5Ph1pG/J5dEgjgbx+df+ybcu7lW2yz6zPRazY3bCfrAzNmSCVew3+8Megr/BUxiGyy+lYdD17LAFhBvPPFezgw==</latexit><latexit sha1_base64="UH+Wqa1L45ChxLxgDfU5cwHA/4A=">AAACU3icbVBNT9wwEHUCtHSBlo8jF6urSoDQKkFV6RGJS48gsYC0SVcTZ8Ja2E5kT6CraP9Gr+VP9cBv4YKz5NCFPsnS03sz45mXVUo6iqLHIFxaXnn3fvVDb2194+Onza3tS1fWVuBQlKq01xk4VNLgkCQpvK4sgs4UXmW3p61/dYfWydJc0LTCVMONkYUUQF5K9n6No0Ne/zwYR/vjzX40iObgb0nckT7rcDbeCuIkL0Wt0ZBQ4NwojipKG7AkhcJZL6kdViBu4QZHnhrQ6NJmvvSMf/FKzovS+meIz9V/OxrQzk115is10MS99lrxf96opuJ72khT1YRGvHxU1IpTydsEeC4tClJTT0BY6XflYgIWBPmcFiY5AQrztJmgukPy91g0eC9KrcHkSQFaqmmOBdSKmsQVHZ3xhSEXcdq0F7a79Ho+5Ph1pG/J5dEgjgbx+df+ybcu7lW2yz6zPRazY3bCfrAzNmSCVew3+8Megr/BUxiGyy+lYdD17LAFhBvPPFezgw==</latexit>

8

Page 9: Approximate MPC based on machine learning and

Increasingly popular

In many cases including strategies to have some guarantees:

• Chen et al., ACC 2018 (Projection at the output to achieve guarantees)• Hertneck et al., IEEE Control System Letters 2018 (Hoeffdings inequality)• Zhang, Bujarbaruah and Borrelli, ACC 2019 (Statistical validation)• Drgona et al., Applied Energy 2018 (application on building control)• Karg and Lucia, ECC 2018, NMPC 2018, ECC 2019 (applications, validation)

9

Page 10: Approximate MPC based on machine learning and

It works well in practice

B

[Lucia, Andersson, Brandt, Diehl and Engell. JPC 2014]10

Page 11: Approximate MPC based on machine learning and

An industrial polymerization reactor

��# = ��#,&

��' = ��',& − 𝑘*+𝑚',* −𝑝+𝑘*-𝑚'#.𝑚'

𝑚/01

��2 = 𝑘*+𝑚',* +𝑝+𝑘*-𝑚'#.𝑚'

𝑚/01

��* =1

𝑐7,*𝑚/01��&𝑐7,& 𝑇& − 𝑇* + Δ𝐻*𝑘*+𝑚',* − 𝑘:𝐴 𝑇* − 𝑇< − ��'#.𝑐7,* 𝑇* − 𝑇=:

��< = 1/(𝑐7,<𝑚<) 𝑘:𝐴 𝑇* − 𝑇< − 𝑘:𝐴 𝑇< − 𝑇A��A =

1𝑐7,#𝑚A,:#

��A,:#𝑐7# 𝑇ABC − 𝑇A + 𝑘:𝐴 𝑇< − 𝑇A

��=: =1

𝑐7,*𝑚'#.��'#.𝑐7,# 𝑇* − 𝑇=: − 𝛼 𝑇=: − 𝑇'#. +

𝑝+𝑘*-𝑚'𝑚'#.ΔH*𝑚/01

��'#. =1

𝑐7,#𝑚'#.,:#��'#.,:#𝑐7,F 𝑇'#.

BC − 𝑇'#. − 𝛼 𝑇'#. − 𝑇=:

𝑘*+ = 𝑘G𝑒I =J*.K 𝑘L+ 1 − 𝑈 + 𝑘L-𝑈

𝑘*- = 𝑘G𝑒I =J*.NO (𝑘L+ 1 − 𝑈 + 𝑘L-𝑈)

8 differential states3 control inputs2 uncertain parameters

11

Page 12: Approximate MPC based on machine learning and

Simulation results for multi-stage NMPC

Simple scenario tree• Extreme values of the uncertainty• Branch the tree only one stage

• Economic cost function12x

22x

32x

42x

52x

62x

72x

82x

92x

0x

13x

23x

33x

43x

53x

63x

73x

83x

93x

14x

24x

34x

44x

54x

64x

74x

84x

94x

12u

12u

12u

42u

52u

62u

72u

82u

92u

13u

13u

13u

43u

53u

63u

73u

83u

93u

………………………

11u

11d

21d

21u

31d

31u

41u

41d

51d51u

61d

61u71u

71d

81d

81u

91d

91u

11x

21x

31x

41x

51x

61x

71x

81x

91x

129x

229x

329x

429x

529x

629x

729x

829x

929x

130x

230x

330x

430x

530x

630x

730x

830x

930x

129u

129u

129u

429u

529u

629u

729u

829u

929u

12d

22d

32d

42d

52d

62d

72d

82d

92d

13d

23d

33d

43d

53d

63d

73d

83d

93d

129d

229d

329d

429d

529d

629d

729d

829d

929d

10u10d

20d2

0u30d3

0u40u

40d

50d50u60d

60u70u 7

0d

80d

80u

90d

90u

Simulations for different values of 𝑘 and 𝛥𝐻 (±30%)

Multi-stage NMPC

12

Page 13: Approximate MPC based on machine learning and

Proposed approach

2: Offline training of the deepneural network

1: Generate training samples bysolving many MPC problems

mathx = f(x, u)

<latexit sha1_base64="6regc1NyKJ94QJZtnS5Ha/oByYc=">AAACWXicbVDBShxBEO0ZY1wnmqx6zKXJEjAgy4yEJJeAkEuOBlwVdoelpqfGbezuGbprVpdh/8Sr+SfxZ9KzzsHVFDQ83quqfvWySklHcfwQhBtvNt9u9bajdzu77z/09/bPXVlbgSNRqtJeZuBQSYMjkqTwsrIIOlN4kV3/avWLOVonS3NGiwpTDVdGFlIAeWra70/ykprbJf/Ji8Pbo/rLtD+Ih/Gq+GuQdGDAujqd7gWJ3yFqjYaEAufGSVxR2oAlKRQuo0ntsAJxDVc49tCARpc2K+tL/tkzOS9K658hvmKfTzSgnVvozHdqoJl7qbXk/7RxTcWPtJGmqgmNePqoqBWnkrc58FxaFKQWHoCw0nvlYgYWBPm01jY5AQrztJmhmiP5eywavBGl1mDySQFaqkWOBdSKmokrOrjka0vOkrRpL2y9RJEPOXkZ6WtwfjxM4mHy5+vg5FsXd499ZJ/YIUvYd3bCfrNTNmKCzdkdu2d/g8cwCHth9NQaBt3MAVur8OAfbZu1DQ==</latexit><latexit sha1_base64="6regc1NyKJ94QJZtnS5Ha/oByYc=">AAACWXicbVDBShxBEO0ZY1wnmqx6zKXJEjAgy4yEJJeAkEuOBlwVdoelpqfGbezuGbprVpdh/8Sr+SfxZ9KzzsHVFDQ83quqfvWySklHcfwQhBtvNt9u9bajdzu77z/09/bPXVlbgSNRqtJeZuBQSYMjkqTwsrIIOlN4kV3/avWLOVonS3NGiwpTDVdGFlIAeWra70/ykprbJf/Ji8Pbo/rLtD+Ih/Gq+GuQdGDAujqd7gWJ3yFqjYaEAufGSVxR2oAlKRQuo0ntsAJxDVc49tCARpc2K+tL/tkzOS9K658hvmKfTzSgnVvozHdqoJl7qbXk/7RxTcWPtJGmqgmNePqoqBWnkrc58FxaFKQWHoCw0nvlYgYWBPm01jY5AQrztJmhmiP5eywavBGl1mDySQFaqkWOBdSKmokrOrjka0vOkrRpL2y9RJEPOXkZ6WtwfjxM4mHy5+vg5FsXd499ZJ/YIUvYd3bCfrNTNmKCzdkdu2d/g8cwCHth9NQaBt3MAVur8OAfbZu1DQ==</latexit><latexit sha1_base64="6regc1NyKJ94QJZtnS5Ha/oByYc=">AAACWXicbVDBShxBEO0ZY1wnmqx6zKXJEjAgy4yEJJeAkEuOBlwVdoelpqfGbezuGbprVpdh/8Sr+SfxZ9KzzsHVFDQ83quqfvWySklHcfwQhBtvNt9u9bajdzu77z/09/bPXVlbgSNRqtJeZuBQSYMjkqTwsrIIOlN4kV3/avWLOVonS3NGiwpTDVdGFlIAeWra70/ykprbJf/Ji8Pbo/rLtD+Ih/Gq+GuQdGDAujqd7gWJ3yFqjYaEAufGSVxR2oAlKRQuo0ntsAJxDVc49tCARpc2K+tL/tkzOS9K658hvmKfTzSgnVvozHdqoJl7qbXk/7RxTcWPtJGmqgmNePqoqBWnkrc58FxaFKQWHoCw0nvlYgYWBPm01jY5AQrztJmhmiP5eywavBGl1mDySQFaqkWOBdSKmokrOrjka0vOkrRpL2y9RJEPOXkZ6WtwfjxM4mHy5+vg5FsXd499ZJ/YIUvYd3bCfrNTNmKCzdkdu2d/g8cwCHth9NQaBt3MAVur8OAfbZu1DQ==</latexit><latexit sha1_base64="RuBeFd1vxVoknAUxP6ONLtul5gQ=">AAACOXicbVHLTsMwEHR4lvDsmYtFhcSpSrjAEYkLR5Boi9RGaONsWgvbiewNqIr6A1z5KX6Bn+CGuOKUHigwkqXRrL2enU1LJR1F0Vuwsrq2vrHZ2gq3d8Ldvf2Dnb4rKiuwJwpV2LsUHCppsEeSFN6VFkGnCgfpw2VTHzyidbIwtzQtMdEwNjKXAshL1/cHnagbzcH/knhBOmyB+3YQj7JCVBoNCQXODeOopKQGS1IonIWjymEJ4gHGOPTUgEaX1HOfM37slYznhfXHEJ+rP1/UoJ2b6tTf1EAT97vWiP/VhhXl50ktTVkRGvH9UV4pTgVvhuaZtChITT0BYaX3ysUELAjy0Sx1cgIUZkk9QfWI5OexaPBJFFqDyUY5aKmmGeZQKapHLl/QGV9qchsndTNh4yUMfcbx70T/kv5pN4668U3EWuyQHbETFrMzdsGu2DXrMcEy9sxegtfgPfj43sVKsFhKmy0h+PwCzCSwQg==</latexit><latexit sha1_base64="VeRRbKBUFNCloUo8V4Tj80Zz/+E=">AAACTnicbVHBattAEB2pTeuqSev02svSUEghGCmX9FIo9JJjCnESsIUZrUbxkt2V2B25McJ/0mv6TyU/k5XjQ510YOHx3u7bmTdFo5XnNP0bxS9e7rx6PXiTvN3de/d+uL974evWSRrLWtfuqkBPWlkas2JNV40jNIWmy+LmR69fLsh5VdtzXjaUG7y2qlISOVCz4XBa1tzdrsQ3UR3eHrVfZsODdJSuSzwH2QYcwKbOZvtRFjxka8iy1Oj9JEsbzjt0rKSmVTJtPTUob/CaJgFaNOTzbt36SnwOTCmq2oVjWazZf190aLxfmiLcNMhz/1Tryf9pk5arr3mnbNMyWfn4UdVqwbXocxClciRZLwNA6VToVcg5OpQc0tpy8hI1lXk3J70gDvM4svRL1sagLacVGqWXJVXYau6mvtrAldgyOc/yrp+w7yVJQsjZ00ifg4vjUZaOsp8pDOAjfIJDyOAEvsMpnMEYJCzgN9zBn+g+juLB4zriaLOXD7BVcfIAowi0VA==</latexit><latexit sha1_base64="VeRRbKBUFNCloUo8V4Tj80Zz/+E=">AAACTnicbVHBattAEB2pTeuqSev02svSUEghGCmX9FIo9JJjCnESsIUZrUbxkt2V2B25McJ/0mv6TyU/k5XjQ510YOHx3u7bmTdFo5XnNP0bxS9e7rx6PXiTvN3de/d+uL974evWSRrLWtfuqkBPWlkas2JNV40jNIWmy+LmR69fLsh5VdtzXjaUG7y2qlISOVCz4XBa1tzdrsQ3UR3eHrVfZsODdJSuSzwH2QYcwKbOZvtRFjxka8iy1Oj9JEsbzjt0rKSmVTJtPTUob/CaJgFaNOTzbt36SnwOTCmq2oVjWazZf190aLxfmiLcNMhz/1Tryf9pk5arr3mnbNMyWfn4UdVqwbXocxClciRZLwNA6VToVcg5OpQc0tpy8hI1lXk3J70gDvM4svRL1sagLacVGqWXJVXYau6mvtrAldgyOc/yrp+w7yVJQsjZ00ifg4vjUZaOsp8pDOAjfIJDyOAEvsMpnMEYJCzgN9zBn+g+juLB4zriaLOXD7BVcfIAowi0VA==</latexit><latexit sha1_base64="lgns5EqoSGrtIMz3rrtu+tBCYn8=">AAACWXicbVDBTttAEF270AYX2lCOXFaNkKiEIruHtpdKSFw4gkQAKbGi8XpMVuyurd1xSmTlT3ot/4T4GdbBBwIdaaWn92Zm37ysUtJRHD8E4buNzfcfelvRx+2dT5/7u18uXVlbgSNRqtJeZ+BQSYMjkqTwurIIOlN4ld2etPrVHK2TpbmgRYWphhsjCymAPDXt9yd5Sc3dkv/mxeHdUf1t2h/Ew3hV/C1IOjBgXZ1Nd4PE7xC1RkNCgXPjJK4obcCSFAqX0aR2WIG4hRsce2hAo0ublfUlP/BMzovS+meIr9iXEw1o5xY6850aaOZeay35P21cU/ErbaSpakIjnj8qasWp5G0OPJcWBamFByCs9F65mIEFQT6ttU1OgMI8bWao5kj+HosG/4hSazD5pAAt1SLHAmpFzcQVHVzytSUXSdq0F7ZeosiHnLyO9C24/D5M4mFyHg+Of3Rx99g++8oOWcJ+smN2ys7YiAk2Z3/ZP3YfPIZB2Auj59Yw6Gb22FqFe09sW7UJ</latexit><latexit sha1_base64="6regc1NyKJ94QJZtnS5Ha/oByYc=">AAACWXicbVDBShxBEO0ZY1wnmqx6zKXJEjAgy4yEJJeAkEuOBlwVdoelpqfGbezuGbprVpdh/8Sr+SfxZ9KzzsHVFDQ83quqfvWySklHcfwQhBtvNt9u9bajdzu77z/09/bPXVlbgSNRqtJeZuBQSYMjkqTwsrIIOlN4kV3/avWLOVonS3NGiwpTDVdGFlIAeWra70/ykprbJf/Ji8Pbo/rLtD+Ih/Gq+GuQdGDAujqd7gWJ3yFqjYaEAufGSVxR2oAlKRQuo0ntsAJxDVc49tCARpc2K+tL/tkzOS9K658hvmKfTzSgnVvozHdqoJl7qbXk/7RxTcWPtJGmqgmNePqoqBWnkrc58FxaFKQWHoCw0nvlYgYWBPm01jY5AQrztJmhmiP5eywavBGl1mDySQFaqkWOBdSKmokrOrjka0vOkrRpL2y9RJEPOXkZ6WtwfjxM4mHy5+vg5FsXd499ZJ/YIUvYd3bCfrNTNmKCzdkdu2d/g8cwCHth9NQaBt3MAVur8OAfbZu1DQ==</latexit><latexit sha1_base64="6regc1NyKJ94QJZtnS5Ha/oByYc=">AAACWXicbVDBShxBEO0ZY1wnmqx6zKXJEjAgy4yEJJeAkEuOBlwVdoelpqfGbezuGbprVpdh/8Sr+SfxZ9KzzsHVFDQ83quqfvWySklHcfwQhBtvNt9u9bajdzu77z/09/bPXVlbgSNRqtJeZuBQSYMjkqTwsrIIOlN4kV3/avWLOVonS3NGiwpTDVdGFlIAeWra70/ykprbJf/Ji8Pbo/rLtD+Ih/Gq+GuQdGDAujqd7gWJ3yFqjYaEAufGSVxR2oAlKRQuo0ntsAJxDVc49tCARpc2K+tL/tkzOS9K658hvmKfTzSgnVvozHdqoJl7qbXk/7RxTcWPtJGmqgmNePqoqBWnkrc58FxaFKQWHoCw0nvlYgYWBPm01jY5AQrztJmhmiP5eywavBGl1mDySQFaqkWOBdSKmokrOrjka0vOkrRpL2y9RJEPOXkZ6WtwfjxM4mHy5+vg5FsXd499ZJ/YIUvYd3bCfrNTNmKCzdkdu2d/g8cwCHth9NQaBt3MAVur8OAfbZu1DQ==</latexit><latexit sha1_base64="6regc1NyKJ94QJZtnS5Ha/oByYc=">AAACWXicbVDBShxBEO0ZY1wnmqx6zKXJEjAgy4yEJJeAkEuOBlwVdoelpqfGbezuGbprVpdh/8Sr+SfxZ9KzzsHVFDQ83quqfvWySklHcfwQhBtvNt9u9bajdzu77z/09/bPXVlbgSNRqtJeZuBQSYMjkqTwsrIIOlN4kV3/avWLOVonS3NGiwpTDVdGFlIAeWra70/ykprbJf/Ji8Pbo/rLtD+Ih/Gq+GuQdGDAujqd7gWJ3yFqjYaEAufGSVxR2oAlKRQuo0ntsAJxDVc49tCARpc2K+tL/tkzOS9K658hvmKfTzSgnVvozHdqoJl7qbXk/7RxTcWPtJGmqgmNePqoqBWnkrc58FxaFKQWHoCw0nvlYgYWBPm01jY5AQrztJmhmiP5eywavBGl1mDySQFaqkWOBdSKmokrOrjka0vOkrRpL2y9RJEPOXkZ6WtwfjxM4mHy5+vg5FsXd499ZJ/YIUvYd3bCfrNTNmKCzdkdu2d/g8cwCHth9NQaBt3MAVur8OAfbZu1DQ==</latexit><latexit sha1_base64="6regc1NyKJ94QJZtnS5Ha/oByYc=">AAACWXicbVDBShxBEO0ZY1wnmqx6zKXJEjAgy4yEJJeAkEuOBlwVdoelpqfGbezuGbprVpdh/8Sr+SfxZ9KzzsHVFDQ83quqfvWySklHcfwQhBtvNt9u9bajdzu77z/09/bPXVlbgSNRqtJeZuBQSYMjkqTwsrIIOlN4kV3/avWLOVonS3NGiwpTDVdGFlIAeWra70/ykprbJf/Ji8Pbo/rLtD+Ih/Gq+GuQdGDAujqd7gWJ3yFqjYaEAufGSVxR2oAlKRQuo0ntsAJxDVc49tCARpc2K+tL/tkzOS9K658hvmKfTzSgnVvozHdqoJl7qbXk/7RxTcWPtJGmqgmNePqoqBWnkrc58FxaFKQWHoCw0nvlYgYWBPm01jY5AQrztJmhmiP5eywavBGl1mDySQFaqkWOBdSKmokrOrjka0vOkrRpL2y9RJEPOXkZ6WtwfjxM4mHy5+vg5FsXd499ZJ/YIUvYd3bCfrNTNmKCzdkdu2d/g8cwCHth9NQaBt3MAVur8OAfbZu1DQ==</latexit><latexit sha1_base64="6regc1NyKJ94QJZtnS5Ha/oByYc=">AAACWXicbVDBShxBEO0ZY1wnmqx6zKXJEjAgy4yEJJeAkEuOBlwVdoelpqfGbezuGbprVpdh/8Sr+SfxZ9KzzsHVFDQ83quqfvWySklHcfwQhBtvNt9u9bajdzu77z/09/bPXVlbgSNRqtJeZuBQSYMjkqTwsrIIOlN4kV3/avWLOVonS3NGiwpTDVdGFlIAeWra70/ykprbJf/Ji8Pbo/rLtD+Ih/Gq+GuQdGDAujqd7gWJ3yFqjYaEAufGSVxR2oAlKRQuo0ntsAJxDVc49tCARpc2K+tL/tkzOS9K658hvmKfTzSgnVvozHdqoJl7qbXk/7RxTcWPtJGmqgmNePqoqBWnkrc58FxaFKQWHoCw0nvlYgYWBPm01jY5AQrztJmhmiP5eywavBGl1mDySQFaqkWOBdSKmokrOrjka0vOkrRpL2y9RJEPOXkZ6WtwfjxM4mHy5+vg5FsXd499ZJ/YIUvYd3bCfrNTNmKCzdkdu2d/g8cwCHth9NQaBt3MAVur8OAfbZu1DQ==</latexit><latexit sha1_base64="6regc1NyKJ94QJZtnS5Ha/oByYc=">AAACWXicbVDBShxBEO0ZY1wnmqx6zKXJEjAgy4yEJJeAkEuOBlwVdoelpqfGbezuGbprVpdh/8Sr+SfxZ9KzzsHVFDQ83quqfvWySklHcfwQhBtvNt9u9bajdzu77z/09/bPXVlbgSNRqtJeZuBQSYMjkqTwsrIIOlN4kV3/avWLOVonS3NGiwpTDVdGFlIAeWra70/ykprbJf/Ji8Pbo/rLtD+Ih/Gq+GuQdGDAujqd7gWJ3yFqjYaEAufGSVxR2oAlKRQuo0ntsAJxDVc49tCARpc2K+tL/tkzOS9K658hvmKfTzSgnVvozHdqoJl7qbXk/7RxTcWPtJGmqgmNePqoqBWnkrc58FxaFKQWHoCw0nvlYgYWBPm01jY5AQrztJmhmiP5eywavBGl1mDySQFaqkWOBdSKmokrOrjka0vOkrRpL2y9RJEPOXkZ6WtwfjxM4mHy5+vg5FsXd499ZJ/YIUvYd3bCfrNTNmKCzdkdu2d/g8cwCHth9NQaBt3MAVur8OAfbZu1DQ==</latexit>

3: High performance implementationon low-cost embedded hardware

12x

22x

32x

42x

52x

62x

72x

82x

92x

0x

13x

23x

33x

43x

53x

63x

73x

83x

93x

14x

24x

34x

44x

54x

64x

74x

84x

94x

12u

12u

12u

42u

52u

62u

72u

82u

92u

13u

13u

13u

43u

53u

63u

73u

83u

93u

………………………

11u

11d

21d

21u

31d

31u

41u

41d

51d51u

61d

61u71u

71d

81d

81u

91d

91u

11x

21x

31x

41x

51x

61x

71x

81x

91x

129x

229x

329x

429x

529x

629x

729x

829x

929x

130x

230x

330x

430x

530x

630x

730x

830x

930x

129u

129u

129u

429u

529u

629u

729u

829u

929u

12d

22d

32d

42d

52d

62d

72d

82d

92d

13d

23d

33d

43d

53d

63d

73d

83d

93d

129d

229d

329d

429d

529d

629d

729d

829d

929d

10u10d

20d2

0u30d3

0u40u

40d

50d50u60d

60u70u 7

0d

80d

80u

90d

90u

(x0, u⇤0)

<latexit sha1_base64="UH+Wqa1L45ChxLxgDfU5cwHA/4A=">AAACU3icbVBNT9wwEHUCtHSBlo8jF6urSoDQKkFV6RGJS48gsYC0SVcTZ8Ja2E5kT6CraP9Gr+VP9cBv4YKz5NCFPsnS03sz45mXVUo6iqLHIFxaXnn3fvVDb2194+Onza3tS1fWVuBQlKq01xk4VNLgkCQpvK4sgs4UXmW3p61/dYfWydJc0LTCVMONkYUUQF5K9n6No0Ne/zwYR/vjzX40iObgb0nckT7rcDbeCuIkL0Wt0ZBQ4NwojipKG7AkhcJZL6kdViBu4QZHnhrQ6NJmvvSMf/FKzovS+meIz9V/OxrQzk115is10MS99lrxf96opuJ72khT1YRGvHxU1IpTydsEeC4tClJTT0BY6XflYgIWBPmcFiY5AQrztJmgukPy91g0eC9KrcHkSQFaqmmOBdSKmsQVHZ3xhSEXcdq0F7a79Ho+5Ph1pG/J5dEgjgbx+df+ybcu7lW2yz6zPRazY3bCfrAzNmSCVew3+8Megr/BUxiGyy+lYdD17LAFhBvPPFezgw==</latexit><latexit sha1_base64="UH+Wqa1L45ChxLxgDfU5cwHA/4A=">AAACU3icbVBNT9wwEHUCtHSBlo8jF6urSoDQKkFV6RGJS48gsYC0SVcTZ8Ja2E5kT6CraP9Gr+VP9cBv4YKz5NCFPsnS03sz45mXVUo6iqLHIFxaXnn3fvVDb2194+Onza3tS1fWVuBQlKq01xk4VNLgkCQpvK4sgs4UXmW3p61/dYfWydJc0LTCVMONkYUUQF5K9n6No0Ne/zwYR/vjzX40iObgb0nckT7rcDbeCuIkL0Wt0ZBQ4NwojipKG7AkhcJZL6kdViBu4QZHnhrQ6NJmvvSMf/FKzovS+meIz9V/OxrQzk115is10MS99lrxf96opuJ72khT1YRGvHxU1IpTydsEeC4tClJTT0BY6XflYgIWBPmcFiY5AQrztJmgukPy91g0eC9KrcHkSQFaqmmOBdSKmsQVHZ3xhSEXcdq0F7a79Ho+5Ph1pG/J5dEgjgbx+df+ybcu7lW2yz6zPRazY3bCfrAzNmSCVew3+8Megr/BUxiGyy+lYdD17LAFhBvPPFezgw==</latexit><latexit sha1_base64="UH+Wqa1L45ChxLxgDfU5cwHA/4A=">AAACU3icbVBNT9wwEHUCtHSBlo8jF6urSoDQKkFV6RGJS48gsYC0SVcTZ8Ja2E5kT6CraP9Gr+VP9cBv4YKz5NCFPsnS03sz45mXVUo6iqLHIFxaXnn3fvVDb2194+Onza3tS1fWVuBQlKq01xk4VNLgkCQpvK4sgs4UXmW3p61/dYfWydJc0LTCVMONkYUUQF5K9n6No0Ne/zwYR/vjzX40iObgb0nckT7rcDbeCuIkL0Wt0ZBQ4NwojipKG7AkhcJZL6kdViBu4QZHnhrQ6NJmvvSMf/FKzovS+meIz9V/OxrQzk115is10MS99lrxf96opuJ72khT1YRGvHxU1IpTydsEeC4tClJTT0BY6XflYgIWBPmcFiY5AQrztJmgukPy91g0eC9KrcHkSQFaqmmOBdSKmsQVHZ3xhSEXcdq0F7a79Ho+5Ph1pG/J5dEgjgbx+df+ybcu7lW2yz6zPRazY3bCfrAzNmSCVew3+8Megr/BUxiGyy+lYdD17LAFhBvPPFezgw==</latexit><latexit sha1_base64="UH+Wqa1L45ChxLxgDfU5cwHA/4A=">AAACU3icbVBNT9wwEHUCtHSBlo8jF6urSoDQKkFV6RGJS48gsYC0SVcTZ8Ja2E5kT6CraP9Gr+VP9cBv4YKz5NCFPsnS03sz45mXVUo6iqLHIFxaXnn3fvVDb2194+Onza3tS1fWVuBQlKq01xk4VNLgkCQpvK4sgs4UXmW3p61/dYfWydJc0LTCVMONkYUUQF5K9n6No0Ne/zwYR/vjzX40iObgb0nckT7rcDbeCuIkL0Wt0ZBQ4NwojipKG7AkhcJZL6kdViBu4QZHnhrQ6NJmvvSMf/FKzovS+meIz9V/OxrQzk115is10MS99lrxf96opuJ72khT1YRGvHxU1IpTydsEeC4tClJTT0BY6XflYgIWBPmcFiY5AQrztJmgukPy91g0eC9KrcHkSQFaqmmOBdSKmsQVHZ3xhSEXcdq0F7a79Ho+5Ph1pG/J5dEgjgbx+df+ybcu7lW2yz6zPRazY3bCfrAzNmSCVew3+8Megr/BUxiGyy+lYdD17LAFhBvPPFezgw==</latexit>

13

Page 14: Approximate MPC based on machine learning and

Performance of deep-learning based ms-NMPC

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.885

90

95

T R [°

C]

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.880

100

120

T adia

b [°C

]

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.80

2

4

mF [k

g/h]

�104

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8Time [hours]

300

350

400

T MIN [°

C]

multi-stagedeep networkshallow network

0 0.5 1 1.5 2 2.585

90

95

T R [°

C]

0 0.5 1 1.5 2 2.580

100

120

T adia

b [°C

]

0 0.5 1 1.5 2 2.50

2

4

mF [k

g/h]

�104

0 0.5 1 1.5 2 2.5Time [hours]

300

350

400

T MIN [°

C]

Exact vs. deep vs. shallow multi-stage NMPC Deep-learning based multi-stage NMPC

14

Page 15: Approximate MPC based on machine learning and

Performance of deep-learning based ms-NMPC

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.885

90

95

T R [°

C]

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.880

100

120

T adia

b [°C

]

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.80

2

4

mF [k

g/h]

�104

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8Time [hours]

300

350

400

T MIN [°

C]

multi-stagedeep networkshallow network

0 0.5 1 1.5 2 2.585

90

95

T R [°

C]

0 0.5 1 1.5 2 2.580

100

120

T adia

b [°C

]

0 0.5 1 1.5 2 2.50

2

4

mF [k

g/h]

�104

0 0.5 1 1.5 2 2.5Time [hours]

300

350

400

T MIN [°

C]

Deep-learning based multi-stage NMPC

Average performance over random 100 batches

Exact vs. deep vs. shallow multi-stage NMPC

15

Page 16: Approximate MPC based on machine learning and

Two main advantages

Enable low-cost emb. implementation• 32 bit ARM Cortex M0+• 48 MHz with 32 kB RAM

Approx. robust NMPC:• Memory footprint: 27 kB• Evaluation time on a uC: 37 ms• Trivial code-generation (uC, FPGA)

16

Page 17: Approximate MPC based on machine learning and

Two main advantages

Enable large(r)-scale systemsProblem with 5 uncertainties• 243 scenarios• ~115,000 variables and constraints

0 0.5 1 1.5 2 2.585

90

95

T R [°

C]

0 0.5 1 1.5 2 2.50

2

4

mF [k

g/h]

�104

0 0.5 1 1.5 2 2.5Time [hours]

300

350

400

T MIN [°

C]

0 0.5 1 1.5 2 2.580

100

120

T adia

b [°C

]

Enable low-cost emb. implementation• 32 bit ARM Cortex M0+• 48 MHz with 32 kB RAM

Approx. robust NMPC:• Memory footprint: 27 kB• Evaluation time on a uC: 37 ms• Trivial code-generation (uC, FPGA)

17

Page 18: Approximate MPC based on machine learning and

Mixed-integer case: Energy management system

• You can learn a global optimal solution

18

Page 19: Approximate MPC based on machine learning and

Mixed-integer casestates inputs

[Karg and Lucia, ECC 2018]19

Page 20: Approximate MPC based on machine learning and

Robust NMPC in 1 microsecond

20

Inductor

Vitroceramic glass

Control

Powerelectronics

Pan

Induction heating is currently used in many industrial and domestic applications

Control switching frequency and duty cycle. Satisfy constraints under uncertainty

Page 21: Approximate MPC based on machine learning and

Hardware-in-the-loop implementation

Advanced approximate optimization-based control in 1 μs (on an FPGA).Easy to optimize FPGA implementation

21

Page 22: Approximate MPC based on machine learning and

Moving horizon estimation for sensor fusion

Fusing visual information and inertial sensors• Common problem in autonomous driving, robotics• Usually many assumptions to simplify online optimization (or EKF)

22

EKF

MHE

600 800 1000 1200 1400 1600 1800

time [s]

−100

0

100

position[m

]

MHE.

x

y

z

EKF

x

y

z

EKF

x

y

z

EKF

MHE

600 800 1000 1200 1400 1600 1800

time [s]

−100

0

100

position[m

]

MHE.

x

y

z

EKF

x

y

z

EKF

x

y

z

Fiedler et al., ECC 2020

Page 23: Approximate MPC based on machine learning and

Wait a minute... guarantees?

Compute the maximum approximation error

Design a controller that is robust against and iterate

23

d = maxx0

|⇡NN(x0)� ⇡MPC(x0)|<latexit sha1_base64="UpO0+fx99ALIy0UeraXKl0Wf51o=">AAACnHicbZFda9swFIYV76vzvtLtcjDEQqG7WLC70Q7GoNBdbIyWDJq0EBtzLB83opJsJDlLcP1j9mt2u13u30xOfZG0OyB4ec450jmv0lJwY4Pgb8+7c/fe/QdbD/1Hj588fdbffj4xRaUZjlkhCn2egkHBFY4ttwLPS40gU4Fn6eVRmz+boza8UKd2WWIs4ULxnDOwDiX9jxn9RCMJi6ReJEFzFZU8qSOLC1ufnDTNroNv6Ns1ejw66vBV0h8Ew2AV9LYIOzEgXYyS7d7XKCtYJVFZJsCYaRiUNq5BW84ENn5UGSyBXcIFTp1UINHE9WrLhu44ktG80O4oS1d0vaMGacxSpq5Sgp2Zm7kW/i83rWz+Ia65KiuLil0/lFeC2oK2ltGMa2RWLJ0AprmblbIZaGDWGevvrF9lGAjM4nqGYo62cUmNCn+wQkpQWZSD5GKZYQ6VsHVk8k42dGOg0zCu2x3baTa24I7pOYjG95354U2rb4vJ3jB8N9z7/n5wuN99wxZ5SV6TXRKSA3JIvpARGRNGfpJf5Df5473yPnvfvOPrUq/X9bwgG+FN/gGyq8+y</latexit>

d<latexit sha1_base64="atqb6Tk79/5uoOmMsunvLDvg1rA=">AAACYXicbVFNT+MwEHXDfkD2g8IeuVhbIe2pSlgEHJG4wI1FFJDaCE2cCbWwnciedFVF+Qdc4b9x5o/glBwoMJKlp/dm7DfPaamkoyh67AUrnz5/+bq6Fn77/uPnen9j88IVlRU4EoUq7FUKDpU0OCJJCq9Ki6BThZfp7VGrX87QOlmYc5qXmGi4MTKXAshTZxm/7g+iYbQo/h7EHRiwrk6vN3onk6wQlUZDQoFz4zgqKanBkhQKm3BSOSxB3MINjj00oNEl9cJqw7c9k/G8sP4Y4gv29UQN2rm5Tn2nBpq6t1pLfqSNK8oPklqasiI04uWhvFKcCt7uzTNpUZCaewDCSu+ViylYEOTTCbdfX+UEKMySeopqhtR40aLB/6LQGkw2yUFLNc8wh0pRPXF5Bxu+ZOg8Tup2x9bN0hbSc3YGqglDH378Nur34GJnGP8d7vzbHRzudd+wyrbYb/aHxWyfHbJjdspGTLCc3bF79tB7CtaCfrD50hr0uplfbKmCrWecz7ku</latexit>

Page 24: Approximate MPC based on machine learning and

Wait a minute... guarantees?

Compute the maximum approximation error

Design a controller that is robust against and iterate• Computing the maximum is often not possible• Probabilistic Validation

24

d = maxx0

|⇡NN(x0)� ⇡MPC(x0)|<latexit sha1_base64="UpO0+fx99ALIy0UeraXKl0Wf51o=">AAACnHicbZFda9swFIYV76vzvtLtcjDEQqG7WLC70Q7GoNBdbIyWDJq0EBtzLB83opJsJDlLcP1j9mt2u13u30xOfZG0OyB4ec450jmv0lJwY4Pgb8+7c/fe/QdbD/1Hj588fdbffj4xRaUZjlkhCn2egkHBFY4ttwLPS40gU4Fn6eVRmz+boza8UKd2WWIs4ULxnDOwDiX9jxn9RCMJi6ReJEFzFZU8qSOLC1ufnDTNroNv6Ns1ejw66vBV0h8Ew2AV9LYIOzEgXYyS7d7XKCtYJVFZJsCYaRiUNq5BW84ENn5UGSyBXcIFTp1UINHE9WrLhu44ktG80O4oS1d0vaMGacxSpq5Sgp2Zm7kW/i83rWz+Ia65KiuLil0/lFeC2oK2ltGMa2RWLJ0AprmblbIZaGDWGevvrF9lGAjM4nqGYo62cUmNCn+wQkpQWZSD5GKZYQ6VsHVk8k42dGOg0zCu2x3baTa24I7pOYjG95354U2rb4vJ3jB8N9z7/n5wuN99wxZ5SV6TXRKSA3JIvpARGRNGfpJf5Df5473yPnvfvOPrUq/X9bwgG+FN/gGyq8+y</latexit>

d<latexit sha1_base64="atqb6Tk79/5uoOmMsunvLDvg1rA=">AAACYXicbVFNT+MwEHXDfkD2g8IeuVhbIe2pSlgEHJG4wI1FFJDaCE2cCbWwnciedFVF+Qdc4b9x5o/glBwoMJKlp/dm7DfPaamkoyh67AUrnz5/+bq6Fn77/uPnen9j88IVlRU4EoUq7FUKDpU0OCJJCq9Ki6BThZfp7VGrX87QOlmYc5qXmGi4MTKXAshTZxm/7g+iYbQo/h7EHRiwrk6vN3onk6wQlUZDQoFz4zgqKanBkhQKm3BSOSxB3MINjj00oNEl9cJqw7c9k/G8sP4Y4gv29UQN2rm5Tn2nBpq6t1pLfqSNK8oPklqasiI04uWhvFKcCt7uzTNpUZCaewDCSu+ViylYEOTTCbdfX+UEKMySeopqhtR40aLB/6LQGkw2yUFLNc8wh0pRPXF5Bxu+ZOg8Tup2x9bN0hbSc3YGqglDH378Nur34GJnGP8d7vzbHRzudd+wyrbYb/aHxWyfHbJjdspGTLCc3bF79tB7CtaCfrD50hr0uplfbKmCrWecz7ku</latexit>

Page 25: Approximate MPC based on machine learning and

Wait a minute... guarantees?

Compute the maximum approximation error

Design a controller that is robust against and iterate• Computing the maximum is often not possible• Probabilistic Validation

- Hertneck et al., IEEE CSL 2018:- Based on Hoeffdings inequality and indicator (binary functions)

- Karg and Lucia, arXiv:1806.10644, (2018), ECC 2019- Based on Hoeffdings inequality and temporal logic with finite-time simulations

- Zhang et al., ACC 2019:- Based on prob. validation results (Tempo, Bai, Dabbene, 1997) to achieve primal

and dual guarantees25

d = maxx0

|⇡NN(x0)� ⇡MPC(x0)|<latexit sha1_base64="UpO0+fx99ALIy0UeraXKl0Wf51o=">AAACnHicbZFda9swFIYV76vzvtLtcjDEQqG7WLC70Q7GoNBdbIyWDJq0EBtzLB83opJsJDlLcP1j9mt2u13u30xOfZG0OyB4ec450jmv0lJwY4Pgb8+7c/fe/QdbD/1Hj588fdbffj4xRaUZjlkhCn2egkHBFY4ttwLPS40gU4Fn6eVRmz+boza8UKd2WWIs4ULxnDOwDiX9jxn9RCMJi6ReJEFzFZU8qSOLC1ufnDTNroNv6Ns1ejw66vBV0h8Ew2AV9LYIOzEgXYyS7d7XKCtYJVFZJsCYaRiUNq5BW84ENn5UGSyBXcIFTp1UINHE9WrLhu44ktG80O4oS1d0vaMGacxSpq5Sgp2Zm7kW/i83rWz+Ia65KiuLil0/lFeC2oK2ltGMa2RWLJ0AprmblbIZaGDWGevvrF9lGAjM4nqGYo62cUmNCn+wQkpQWZSD5GKZYQ6VsHVk8k42dGOg0zCu2x3baTa24I7pOYjG95354U2rb4vJ3jB8N9z7/n5wuN99wxZ5SV6TXRKSA3JIvpARGRNGfpJf5Df5473yPnvfvOPrUq/X9bwgG+FN/gGyq8+y</latexit>

d<latexit sha1_base64="atqb6Tk79/5uoOmMsunvLDvg1rA=">AAACYXicbVFNT+MwEHXDfkD2g8IeuVhbIe2pSlgEHJG4wI1FFJDaCE2cCbWwnciedFVF+Qdc4b9x5o/glBwoMJKlp/dm7DfPaamkoyh67AUrnz5/+bq6Fn77/uPnen9j88IVlRU4EoUq7FUKDpU0OCJJCq9Ki6BThZfp7VGrX87QOlmYc5qXmGi4MTKXAshTZxm/7g+iYbQo/h7EHRiwrk6vN3onk6wQlUZDQoFz4zgqKanBkhQKm3BSOSxB3MINjj00oNEl9cJqw7c9k/G8sP4Y4gv29UQN2rm5Tn2nBpq6t1pLfqSNK8oPklqasiI04uWhvFKcCt7uzTNpUZCaewDCSu+ViylYEOTTCbdfX+UEKMySeopqhtR40aLB/6LQGkw2yUFLNc8wh0pRPXF5Bxu+ZOg8Tup2x9bN0hbSc3YGqglDH378Nur34GJnGP8d7vzbHRzudd+wyrbYb/aHxWyfHbJjdspGTLCc3bF79tB7CtaCfrD50hr0uplfbKmCrWecz7ku</latexit>

Page 26: Approximate MPC based on machine learning and

Probabilistic validation with performance indicators

A general (not necessarily binary) finite-time performance indicator

Given a controller , a final simulation step and i.i.d samples

26

w(j) = {x(j)(0), x(j)(0), d(j)(0), . . . , d(j)(Nsim)}, j = 1, . . . , N,<latexit sha1_base64="10Zpnxf8hKksEobqj6vCxAFnV7Q=">AAACynicbVFda9swFFW8r877SrfHvYiFQgIh2N3YBqNQ2MsGo3TQtIXYC4p83aiVbCNdpzHCb/t/e94P2es2OTEsaXdBcDjnXN2vWSGFwSD42fHu3L13/8HOQ//R4ydPn3V3n5+avNQcxjyXuT6fMQNSZDBGgRLOCw1MzSScza4+NvrZArQReXaCVQGxYheZSAVn6KhpV1x/s/3LQU0PaGSXa9wPBkMazRnaZb3BJJtqkqP5Rx1NbYSwRGuEqutBVDvHB3p5EA4juXIeDf1ptxeMglXQ2yBsQY+0cTzd7Xx2ZXipIEMumTGTMCgwtkyj4BJqPyoNFIxfsQuYOJgxBSa2q53UdM8xCU1z7V6GdMVuZlimjKnUzDkVw7m5qTXk/7RJien72IqsKBEyvi6UlpJiTpsF00Ro4CgrBxjXwvVK+ZxpxtGdwd/b/MpwJiGJ7RzkArB2ooYMrnmuFMuSKGVKyCqBlJUSbWTSFtZ0q6GTMLbNjE03W1MIx+kFk7XfLD+8uerb4HR/FL4e7X990zt8255hh7wkr0ifhOQdOSSfyDEZE05+kF/kN/njffG0V3l2bfU6bc4LshXe97+6dt1+</latexit>

�(w;Nsim,) = �(x(0), x(0),(x(0)), d(0), x(1),(x(1)), d(1), . . . , x(Nsim)).<latexit sha1_base64="m05iGF3DTzTlhdLCRO36LMpUld0=">AAAC7nicbVHLattAFB2pr9R9xGlXpZshJmBDMFJa2kIpBLppNyWFOAlYwlyPruLBM5KYuXJshD6h2+5Kt/2lfkd/oCNblDjphYHDOec+5t5poaSlIPjt+Xfu3rv/YOdh59HjJ093u3vPzmxeGoEjkavcXEzBopIZjkiSwovCIOipwvPp/GOjny/QWJlnp7QqMNZwmclUCiBHTbrfuIuomMn+1Xv+ZVJFhEuqrNR1fcijORQFDPiHjWPZDwaH0QyIr1Er9/8xjkrWwrIfOuOWGm7UsElLcrKNabvdYDDsTLq9YBisg98GYQt6rI2TyZ732ZUTpcaMhAJrx2FQUFyBISkU1p2otFiAmMMljh3MQKONq/Xean7gmISnuXEvI75mr2dUoK1d6alzaqCZvak15P+0cUnpu7iSWVESZmLTKC0Vp5w3R+CJNChIrRwAYaSblYsZGBDkTtU5uF7KClCYxNUM1QKpdqLBDK9ErjVkSZSClmqVYAqloiqyaQtrvjXQaRhXzR+babZ+IR1nFqDqTrP88Oaqb4Ozo2H4anj09XXv+E17hh32ku2zPgvZW3bMPrETNmKC/fFeePtezy/87/4P/+fG6nttznO2Ff6vvyaI5Ts=</latexit>

<latexit sha1_base64="WwoGcNGN17YYqPTPn0blaOQnw28=">AAACZnicbVHBTtwwEPWm0NK0pdAK9dCLxQqJ0yqhlcqBAxKX9gYSyyJtIjRxJqy1thPZk61WUT6CK3xZ/6CfUWfJgYWOZOnpvRn7zXNWKekoiv4Mglcbm6/fbL0N373/sP1xZ/fTlStrK3AsSlXa6wwcKmlwTJIUXlcWQWcKJ9n8rNMnC7ROluaSlhWmGm6NLKQA8tQkmUNVQXizM4xG0ar4SxD3YMj6Or/ZHfxK8lLUGg0JBc5N46iitAFLUihsw6R2WIGYwy1OPTSg0aXNym/LDzyT86K0/hjiK/bpRAPauaXOfKcGmrnnWkf+T5vWVBynjTRVTWjE40NFrTiVvFue59KiILX0AISV3isXM7AgyEcUHjy9yglQmKfNDNUCqfWiRYO/Rak1mDwpQEu1zLGAWlGTuKKHLV8zdBmnTbdj52ZtC+k5uwDVhl348fOoX4Kro1H8bXR08X14etJ/wxb7yvbZIYvZD3bKfrJzNmaCzdkdu2cPg7/BdrAXfHlsDQb9zGe2VgH/BzgGu1U=</latexit> Nsim

<latexit sha1_base64="Pd5O1xze2A7L5OehVZfjyBvdv98=">AAACbXicbVFNb9QwEPWGrxK+WhAnELJYVXBaJQWpHDhU4gIXVKRuW2kTVhNn0rVqO5E92bKy8j+4wr/iV/AXcLY5dFtGsvT03oz95rlolHSUJH9G0a3bd+7e27ofP3j46PGT7Z2nx65urcCpqFVtTwtwqKTBKUlSeNpYBF0oPCnOP/X6yRKtk7U5olWDuYYzIyspgAL1/evcZ4Q/yDupu26+PU4mybr4TZAOYMyGOpzvjL5kZS1ajYaEAudmadJQ7sGSFAq7OGsdNiDO4QxnARrQ6HK/tt3x3cCUvKptOIb4mr064UE7t9JF6NRAC3dd68n/abOWqg+5l6ZpCY24fKhqFaea9xnwUloUpFYBgLAyeOViARYEhaTi3atXOQEKy9wvUC2RuiBaNHghaq3BlFkFWqpViRW0inzmqgF2fMPQUZr7fsfezcYWMnB2CaqL4xB+ej3qm+B4b5K+m+x9ez8++Dh8wxZ7wV6ztyxl++yAfWaHbMoEs+wn+8V+j/5Gz6OX0avL1mg0zDxjGxW9+Qd1KL8v</latexit>

N<latexit sha1_base64="La3ac4yYYK5PX6+li0DfxLNhkUQ=">AAACYHicbVHBTtwwEPWm0G5TKGy50YvVFRKnVQKV2gMHpF7aCwKJBaTdCE2cCWthO5E9WbSK8gW9wsf12i/BWXJggZEsPb03Y795TkslHUXRv17wbm39/Yf+x/DTxubnre3BlwtXVFbgWBSqsFcpOFTS4JgkKbwqLYJOFV6mt79a/XKO1snCnNOixETDjZG5FECeOju53h5Go2hZ/DWIOzBkXZ1eD3p/plkhKo2GhALnJnFUUlKDJSkUNuG0cliCuIUbnHhoQKNL6qXThu95JuN5Yf0xxJfs84katHMLnfpODTRzL7WWfEubVJT/TGppyorQiKeH8kpxKni7Ns+kRUFq4QEIK71XLmZgQZAPJ9x7fpUToDBL6hmqOVLjRYsG70ShNZhsmoOWapFhDpWieuryDjZ8xdB5nNTtjq2blS2k5+wcVBOGPvz4ZdSvwcXBKD4cHZx9Hx4fdd/QZ1/ZN7bPYvaDHbPf7JSNmWDI/rJ79tD7H/SDrWDw1Br0upkdtlLB7iMNtbj0</latexit>

Page 27: Approximate MPC based on machine learning and

Probabilistic validation with performance indicators

A general (not necessarily binary) finite-time performance indicator

Given a controller , a final simulation step and i.i.d samples

With probability no smaller than

is the maximum value of simulated among all N, after removing the largest elements

Provided that:27

N � 1

r � 1 + ln

M

�+

r2(r � 1) ln

M

!.

<latexit sha1_base64="2Ll2XlF1F9c0K686npTQjeBnrB4=">AAACzHicbVFNaxsxENVuv9Ltl9MeexE1AYdS43VL0mOgl/bQkEKcBLyL0WpnbWGtdiPNuhiha/9fj/0lvVZr7yF2+kDwePMkzbzJaikMjkZ/gvDBw0ePnxw8jZ49f/HyVe/w9ZWpGs1hwitZ6ZuMGZBCwQQFSripNbAyk3CdLb+09esVaCMqdYnrGtKSzZUoBGfopVlveU6TOdzSpNCM29jZBGojZKVcIqHAAaX6Q0zf00SqreW7t+QgkblWNbca7XjgPcfeQfctLtFivsDjIfWIZr3+aDjagN4ncUf6pMPF7DD4luQVb0pQyCUzZhqPakwt0yi4BBcljYGa8SWbw9RTxUowqd2k4uiRV3JaVNofhXSj3r1hWWnMusy8s2S4MPu1Vvxfbdpg8Tm1QtUNguLbj4pGUqxoGzHNhQaOcu0J41r4XilfMJ8M+kVER3efMpxJyFO7ALkCdL6oQcFPXpUlU3lSsFLIdQ4FayTaxBQddXSnocs4te2MbTc7Uwiv6RWTLmrDj/ejvk+uxsP443D841P/7KRbwwF5S96RAYnJKTkjX8kFmRBOfpO/AQmC8DzE0IZuaw2D7s4bsoPw1z/wwN8x</latexit>

w(j) = {x(j)(0), x(j)(0), d(j)(0), . . . , d(j)(Nsim)}, j = 1, . . . , N,<latexit sha1_base64="10Zpnxf8hKksEobqj6vCxAFnV7Q=">AAACynicbVFda9swFFW8r877SrfHvYiFQgIh2N3YBqNQ2MsGo3TQtIXYC4p83aiVbCNdpzHCb/t/e94P2es2OTEsaXdBcDjnXN2vWSGFwSD42fHu3L13/8HOQ//R4ydPn3V3n5+avNQcxjyXuT6fMQNSZDBGgRLOCw1MzSScza4+NvrZArQReXaCVQGxYheZSAVn6KhpV1x/s/3LQU0PaGSXa9wPBkMazRnaZb3BJJtqkqP5Rx1NbYSwRGuEqutBVDvHB3p5EA4juXIeDf1ptxeMglXQ2yBsQY+0cTzd7Xx2ZXipIEMumTGTMCgwtkyj4BJqPyoNFIxfsQuYOJgxBSa2q53UdM8xCU1z7V6GdMVuZlimjKnUzDkVw7m5qTXk/7RJien72IqsKBEyvi6UlpJiTpsF00Ro4CgrBxjXwvVK+ZxpxtGdwd/b/MpwJiGJ7RzkArB2ooYMrnmuFMuSKGVKyCqBlJUSbWTSFtZ0q6GTMLbNjE03W1MIx+kFk7XfLD+8uerb4HR/FL4e7X990zt8255hh7wkr0ifhOQdOSSfyDEZE05+kF/kN/njffG0V3l2bfU6bc4LshXe97+6dt1+</latexit>

�<latexit sha1_base64="zcOG32XpC3jfbuGz7b/mLIL0JkE=">AAACZXicbVHBTtwwEPUGKDSFFtqKSw9YXSH1tEooantE4tLeQGIXpE2EJs6EdbGdyJ5stYryD73Cn/UL+ht1lhxY6EiWnt6bsd88Z5WSjqLozyBYW994sbn1Mny1vfP6ze7e24kraytwLEpV2qsMHCppcEySFF5VFkFnCi+z29NOv5yjdbI0F7SoMNVwY2QhBZCnJkmOiuB6dxiNomXx5yDuwZD1dXa9N/iR5KWoNRoSCpybxlFFaQOWpFDYhkntsAJxCzc49dCARpc2S7stP/RMzovS+mOIL9nHEw1o5xY6850aaOaeah35P21aU/EtbaSpakIjHh4qasWp5N3uPJcWBamFByCs9F65mIEFQT6h8PDxVU6AwjxtZqjmSK0XLRr8JUqtweRJAVqqRY4F1IqaxBU9bPmKoYs4bbodOzcrW0jP2TmoNgx9+PHTqJ+DydEo/jw6Oj8ennzpv2GLfWAf2ScWs6/shH1nZ2zMBPvJfrM7dj/4G+wE74P9h9Zg0M+8YysVHPwD9Hq7OA==</latexit>

�(w;Nsim,) = �(x(0), x(0),(x(0)), d(0), x(1),(x(1)), d(1), . . . , x(Nsim)).<latexit sha1_base64="m05iGF3DTzTlhdLCRO36LMpUld0=">AAAC7nicbVHLattAFB2pr9R9xGlXpZshJmBDMFJa2kIpBLppNyWFOAlYwlyPruLBM5KYuXJshD6h2+5Kt/2lfkd/oCNblDjphYHDOec+5t5poaSlIPjt+Xfu3rv/YOdh59HjJ093u3vPzmxeGoEjkavcXEzBopIZjkiSwovCIOipwvPp/GOjny/QWJlnp7QqMNZwmclUCiBHTbrfuIuomMn+1Xv+ZVJFhEuqrNR1fcijORQFDPiHjWPZDwaH0QyIr1Er9/8xjkrWwrIfOuOWGm7UsElLcrKNabvdYDDsTLq9YBisg98GYQt6rI2TyZ732ZUTpcaMhAJrx2FQUFyBISkU1p2otFiAmMMljh3MQKONq/Xean7gmISnuXEvI75mr2dUoK1d6alzaqCZvak15P+0cUnpu7iSWVESZmLTKC0Vp5w3R+CJNChIrRwAYaSblYsZGBDkTtU5uF7KClCYxNUM1QKpdqLBDK9ErjVkSZSClmqVYAqloiqyaQtrvjXQaRhXzR+babZ+IR1nFqDqTrP88Oaqb4Ozo2H4anj09XXv+E17hh32ku2zPgvZW3bMPrETNmKC/fFeePtezy/87/4P/+fG6nttznO2Ff6vvyaI5Ts=</latexit>

<latexit sha1_base64="WwoGcNGN17YYqPTPn0blaOQnw28=">AAACZnicbVHBTtwwEPWm0NK0pdAK9dCLxQqJ0yqhlcqBAxKX9gYSyyJtIjRxJqy1thPZk61WUT6CK3xZ/6CfUWfJgYWOZOnpvRn7zXNWKekoiv4Mglcbm6/fbL0N373/sP1xZ/fTlStrK3AsSlXa6wwcKmlwTJIUXlcWQWcKJ9n8rNMnC7ROluaSlhWmGm6NLKQA8tQkmUNVQXizM4xG0ar4SxD3YMj6Or/ZHfxK8lLUGg0JBc5N46iitAFLUihsw6R2WIGYwy1OPTSg0aXNym/LDzyT86K0/hjiK/bpRAPauaXOfKcGmrnnWkf+T5vWVBynjTRVTWjE40NFrTiVvFue59KiILX0AISV3isXM7AgyEcUHjy9yglQmKfNDNUCqfWiRYO/Rak1mDwpQEu1zLGAWlGTuKKHLV8zdBmnTbdj52ZtC+k5uwDVhl348fOoX4Kro1H8bXR08X14etJ/wxb7yvbZIYvZD3bKfrJzNmaCzdkdu2cPg7/BdrAXfHlsDQb9zGe2VgH/BzgGu1U=</latexit> Nsim

<latexit sha1_base64="Pd5O1xze2A7L5OehVZfjyBvdv98=">AAACbXicbVFNb9QwEPWGrxK+WhAnELJYVXBaJQWpHDhU4gIXVKRuW2kTVhNn0rVqO5E92bKy8j+4wr/iV/AXcLY5dFtGsvT03oz95rlolHSUJH9G0a3bd+7e27ofP3j46PGT7Z2nx65urcCpqFVtTwtwqKTBKUlSeNpYBF0oPCnOP/X6yRKtk7U5olWDuYYzIyspgAL1/evcZ4Q/yDupu26+PU4mybr4TZAOYMyGOpzvjL5kZS1ajYaEAudmadJQ7sGSFAq7OGsdNiDO4QxnARrQ6HK/tt3x3cCUvKptOIb4mr064UE7t9JF6NRAC3dd68n/abOWqg+5l6ZpCY24fKhqFaea9xnwUloUpFYBgLAyeOViARYEhaTi3atXOQEKy9wvUC2RuiBaNHghaq3BlFkFWqpViRW0inzmqgF2fMPQUZr7fsfezcYWMnB2CaqL4xB+ej3qm+B4b5K+m+x9ez8++Dh8wxZ7wV6ztyxl++yAfWaHbMoEs+wn+8V+j/5Gz6OX0avL1mg0zDxjGxW9+Qd1KL8v</latexit>

N<latexit sha1_base64="La3ac4yYYK5PX6+li0DfxLNhkUQ=">AAACYHicbVHBTtwwEPWm0G5TKGy50YvVFRKnVQKV2gMHpF7aCwKJBaTdCE2cCWthO5E9WbSK8gW9wsf12i/BWXJggZEsPb03Y795TkslHUXRv17wbm39/Yf+x/DTxubnre3BlwtXVFbgWBSqsFcpOFTS4JgkKbwqLYJOFV6mt79a/XKO1snCnNOixETDjZG5FECeOju53h5Go2hZ/DWIOzBkXZ1eD3p/plkhKo2GhALnJnFUUlKDJSkUNuG0cliCuIUbnHhoQKNL6qXThu95JuN5Yf0xxJfs84katHMLnfpODTRzL7WWfEubVJT/TGppyorQiKeH8kpxKni7Ns+kRUFq4QEIK71XLmZgQZAPJ9x7fpUToDBL6hmqOVLjRYsG70ShNZhsmoOWapFhDpWieuryDjZ8xdB5nNTtjq2blS2k5+wcVBOGPvz4ZdSvwcXBKD4cHZx9Hx4fdd/QZ1/ZN7bPYvaDHbPf7JSNmWDI/rJ79tD7H/SDrWDw1Br0upkdtlLB7iMNtbj0</latexit>

Prob{�i(w) > �N (r)} ✏, i = 1, . . . ,M,

<latexit sha1_base64="LWsB6hCmMs1lOXy1L0O6yi3fF1k=">AAACsnicbVFda9swFFW8r877SrfHvYiFQAoh2F1ZB2OjsJftYSOFpi2LPCPL142oLLmSnC4I/679lj3sdfsbk1M/NO0uCA7n3Cvdc5RVghsbRb96wZ279+4/2HoYPnr85Omz/vbzY6NqzWDGlFD6NKMGBJcws9wKOK000DITcJKdf2z1kyVow5U8sqsKkpKeSV5wRq2n0v4hsfDDuqlWWYOJw6Ra8JSPLnfwB48NT93X5rtr2QaP9A7xTQIuMAGvCSXHmLzD/H08JiJX1oy/jMO0P4gm0brwbRB3YIC6mqbbvc8kV6wuQVomqDHzOKps4qi2nAloQlIbqCg7p2cw91DSEkzi1t4bPPRMjgul/ZEWr9nrE46WxqxK725YUrswN7WW/J82r23xNnFcVrUFya4eKmqBrcJtkDjnGpgVKw8o09zvitmCasqsjzscXr/KMCogT9wCxBJs40UNEi6ZKksqc1LQkotVDgWthXXEFB1s8MZCR3HiWo/tNhsuuOf0koombMOPb0Z9GxzvTuLXk93DvcHBm+4bttBL9AqNUIz20QH6hKZohhj6iX6jP+hvsBd8C2jArlqDXjfzAm1UIP4BbPLWxw==</latexit>

�N (r)

<latexit sha1_base64="dgtlpcNXJ33Q6mpiU7w/y7yQWxQ=">AAACdXicbVFNT9wwEPWmtIX0aym9VUhWt1T0siS0ajki9UIvCCQWkDbpauJMWAvbiWxnq62V/9Jr+Uf8Eq44Sw4sdCRLT+/N2G+es0pwY6Pouhc8WXn67PnqWvji5avXb/rrb09NWWuGI1aKUp9nYFBwhSPLrcDzSiPITOBZdvmj1c9mqA0v1YmdV5hKuFC84Ayspyb9d0ll+MQdNr9cUk15Q7f153DSH0TDaFH0MYg7MCBdHU3Wez+TvGS1RGWZAGPGcVTZ1IG2nAlswqQ2WAG7hAsce6hAokndwn5DtzyT06LU/ihLF+z9CQfSmLnMfKcEOzUPtZb8nzaubbGXOq6q2qJidw8VtaC2pG0WNOcamRVzD4Bp7r1SNgUNzPrEwq37VxkGAvPUTVHM0DZe1KjwNyulBJUnBUgu5jkWUAvrElN0sKFLhk7i1LU7tm6WtuCe0zMQTdiGHz+M+jE43R3GX4a7x18H+9+6b1gl78kHsk1i8p3skwNyREaEkT/kL/lHrno3wWbwMfh01xr0upkNslTBzi1JyMC8</latexit>

�i(w)<latexit sha1_base64="pjNdJ6fZ9Tm5xNj3RbAMwEFD0WM=">AAACanicbVHLatxAEJxVXo7ysp1T8GXIxuBcFskJdo6GXJKbA17bsBJLa9TyDp6HmGmtWYQ+I9fku/IP+YiM1jp47TQMFFXdM9U1Ra2kpyT5M4oePX7y9NnW8/jFy1ev32zv7J572ziBU2GVdZcFeFTS4JQkKbysHYIuFF4U1197/WKJzktrzmhVY67hyshKCqBAzbJ6Iefy4OYjj+fb42SSrIs/BOkAxmyo0/nO6HtWWtFoNCQUeD9Lk5ryFhxJobCLs8ZjDeIarnAWoAGNPm/Xnju+H5iSV9aFY4iv2bsTLWjvV7oInRpo4e9rPfk/bdZQ9SVvpakbQiNuH6oaxcnyPgBeSoeC1CoAEE4Gr1wswIGgEFO8f/cqL0BhmbcLVEukLogODd4IqzWYMqtAS7UqsYJGUZv5aoAd3zB0luZtv2PvZmMLGTi3BNXFffjp/agfgvPDSfppcvjj8/jkaPiGLbbH3rMDlrJjdsK+sVM2ZYJZ9pP9Yr9Hf6Pd6F20d9sajYaZt2yjog//AJyDvFs=</latexit>

r<latexit sha1_base64="6e41fEPCV1CaaROn7IBbMo+GjrY=">AAACYHicbVFNT9wwEPWGfiyhLSzc6MVihdTTKqEV9IjEhd5AYgFpN0ITZ8Ja2E5kT7ZaRfkFvcKP48ovqbPkwAIjWXp6b8Z+85yWSjqKosdesPbh46fP/fVw48vXb5tbg+1LV1RW4FgUqrDXKThU0uCYJCm8Li2CThVepXcnrX41R+tkYS5oUWKi4dbIXAogT53bm61hNIqWxd+CuAND1tXZzaD3Z5oVotJoSChwbhJHJSU1WJJCYRNOK4cliDu4xYmHBjS6pF46bfi+ZzKeF9YfQ3zJvpyoQTu30Knv1EAz91pryfe0SUX576SWpqwIjXh+KK8Up4K3a/NMWhSkFh6AsNJ75WIGFgT5cML9l1c5AQqzpJ6hmiM1XrRo8K8otAaTTXPQUi0yzKFSVE9d3sGGrxi6iJO63bF1s7KF9Jydg2rC0Icfv476Lbg8GMU/Rwfnv4bHh9039Nl3tsd+sJgdsWN2ys7YmAmG7B+7Zw+9p6AfbAaD59ag183ssJUKdv8DU1e5Eg==</latexit>

Page 28: Approximate MPC based on machine learning and

Differences with previous works

• Validation on general closed-loop performance guarantees• Not only binary functions• Not only error in the controller. Validation includes e.g. estimation errors

• Discard the largest values to facilitate successful validations

• Simultaneous design of several controllers (finite families)

More details in:Karg, Alamo and Lucia, Probabilistic performance validation of deep learning-based robust NMPC controllers. arXiv:1910.13906 (2019)

28

r<latexit sha1_base64="6e41fEPCV1CaaROn7IBbMo+GjrY=">AAACYHicbVFNT9wwEPWGfiyhLSzc6MVihdTTKqEV9IjEhd5AYgFpN0ITZ8Ja2E5kT7ZaRfkFvcKP48ovqbPkwAIjWXp6b8Z+85yWSjqKosdesPbh46fP/fVw48vXb5tbg+1LV1RW4FgUqrDXKThU0uCYJCm8Li2CThVepXcnrX41R+tkYS5oUWKi4dbIXAogT53bm61hNIqWxd+CuAND1tXZzaD3Z5oVotJoSChwbhJHJSU1WJJCYRNOK4cliDu4xYmHBjS6pF46bfi+ZzKeF9YfQ3zJvpyoQTu30Knv1EAz91pryfe0SUX576SWpqwIjXh+KK8Up4K3a/NMWhSkFh6AsNJ75WIGFgT5cML9l1c5AQq zpJ6hmiM1XrRo8K8otAaTTXPQUi0yzKFSVE9d3sGGrxi6iJO63bF1s7KF9Jydg2rC0Icfv476Lbg8GMU/Rwfnv4bHh9039Nl3tsd+sJgdsWN2ys7YmAmG7B+7Zw+9p6AfbAaD59ag183ssJUKdv8DU1e5Eg==</latexit>

Page 29: Approximate MPC based on machine learning and

Some further results

Probabilistically safe, embedded robust output-feedback NMPC

Objective is to maximize thrustTwo states can be measured, EKF to estimateUncertain aerodinamic coefficients and wind parameters

29

Erhard and Strauch, 2012

Page 30: Approximate MPC based on machine learning and

ResultsEmbedded real-time implementation on an ARM-Cortex M3 • 96 kB memory footprint, 32 ms running time for DNN and 28 ms for EKF

30

Page 31: Approximate MPC based on machine learning and

Summary

1. Efficient approximation of the MPC control law using deep learning• Enables simple embedded implementation with very low memory footprint• Enables real-time robust NMPC of large complex systems

2. Statistical verification can be used to achieve guarantees

3. Recently good results for many different applications

31

Page 32: Approximate MPC based on machine learning and

Some material for discussion• What is better:

• First approximate then solve (usual path)• First solve (as complex as you can) then approximate

• What is more rigorous:• A priori guarantees (assumes knowledge of reality, including unc. description)• Probabilistic validation (assumes a reality simulator exists)• Many approaches use safety sets / backup controllers:

• Nonlinear optimization running online -> one probably needs safety checks anyway…

• Hierarchy: learn a new controller when something changes

• Are finite-time guarantees acceptable? (even t is large?)32

Page 33: Approximate MPC based on machine learning and

Open Invited Track at IFAC WC 2020 in Berlin

• Together with Ali Mesbah (UC Berkeley)• Open Invited Track on „Machine Learning and MPC“• Use submission code a1d55

• Deadline just extended to November 18th

33

Page 34: Approximate MPC based on machine learning and

Graceful performance degradation

0 0.5 1 1.5 2 2.5 385

90

95

T R [°

C]

0 0.5 1 1.5 2 2.5 350

100

150

T adia

b [°C

]

0 0.5 1 1.5 2 2.5 30

2

4

mF [k

g/h]

�104

0 0.5 1 1.5 2 2.5 3Time [hours]

300

350

400

T MIN [°

C]

0 0.5 1 1.5 2 2.5 380

90

100

T R [°

C]

0 0.5 1 1.5 2 2.5 350

100

150

T adia

b [°C

]

0 0.5 1 1.5 2 2.5 30

2

4

mF [k

g/h]

�104

0 0.5 1 1.5 2 2.5 3Time [hours]

300

350

400

T MIN [°

C]

Larger set of random initial conditions and uncertain parameters (±40%)Exact multi-stage NMPC Deep-learning based multi-stage NMPC

34

Page 35: Approximate MPC based on machine learning and

TrainingSamples generated solving multi-stage NMPC (CasADi + IPOPT)100 batches of data (with random initial cond. and uncertain param.)

- 50 s sampling time- Total of 21050 samples

• Training with Keras / TensorflowOutput neural network Output multi-stage NMPC

35

Page 36: Approximate MPC based on machine learning and

Summary

• Scheme to approximate complex model predictive controllers• Efficient approximation of the MPC control law using deep learning• Two main advantages• Enable embedded implementation with very low memory footprint• Enable real-time robust NMPC of large complex systems

• Some kind of safety net is necessary to have guarantees• (don‘t we always need this in reality, at least for the complex nonlinear case?)

• Other problems: adaptation and RL, optimal training, optimal structure36