More then 25 years ago, it has been presented a method for the optimization of boundary-value problems with AUTO, a software package based on the pseudo-arclength continuation. The proposed method optimizes this type of systems through a series of successive continuations, aimed to find local extrema of a user-defined objective functional over the ODE boundary-value problem. To perform this type of optimizations with AUTO, the user has to write the equations for the adjoint variables and the code scripts which allow the software to perform the sequence of continuations correctly. These steps can be really expensive in therms of time and energy for the user. In this script, it will be showed the functionalities of AUTOopt, a Python script which automatically generates the equations and command files to optimize boundary-value problems with AUTO. Not even the first-derivatives of the user problem, involved in the equations for the adjoint variables, are required. The user has the possibility to provide them or not and in this case, they will be approximated with the finite differences. Further, to allow the user to exploit all the AUTO potentialities, there's also the possibility to provide the second-derivatives, that will be used to pass to AUTO the first-derivatives of the optimization problem. Starting from the optimization method presentation, will be showed the functionalities of AUTOopt, its input files, how they are used to generate the output ones and how these files adds the new equations and perform the sequence of continuations. Then, it will be showed how to use AUTOopt in order to optimize control input signals. This is made possible by discretizing the signal in a finite number of points on the time grid. In the end, it will be showed the resolution of two well-known examples on the optimal control and variational calculus, the controllability Gramian and the brachistochrone curve. For the last one, will be described the procedure used to reformulate the variational problem as an optimal control one, using the curvature of the profile along the system's trajectory as control signal.
Più di 25 anni fa, è stato presentato un metodo per l'ottimizzazione di problemi con vincoli di bordo tramite AUTO, un programma basato sulla continuazione. Il metodo proposto ottimizza questo tipo di sistemi attraverso una serie di continuazioni successive, le quali hanno lo scopo di trovare degli estremi locali tra la funzione obbiettivo e il sistema di equazioni del problema con vincoli di bordo. Per effettuare questo tipo di ottimizzazioni con AUTO, l'utente deve scrivere le equazioni delle variabili aggiuntive e i codici che permettano al programma di effettuare correttamente la sequenza di continuazioni. Questi passaggi possono essere molto dispendiosi in termini di tempo ed energie per l'utente. In questo scritto, verrano mostrate le funzionalità di AUTOopt, un codice Python che genera automaticamente le equazioni e i files di codice necessari ad ottimizzare i problemi con vincoli di bordo con AUTO. Non saranno più necessarie le derivate prime del problema, usate per generare le equazioni delle variabili aggiuntive. L'utente ha la possibilità di fornirle o no ed in questo caso, verranno approssimate con i rapporti incrementali. In più, per permettere all'utente di sfruttare tutte le potenzialità di AUTO, c'è la possibilità di fornire le derivate seconde, le quali saranno usate per passare ad AUTO le derivate prime del problema di ottimizzazione. Partendo da una presentazione del metodo di ottimizzazione, verranno mostrate le funzionalità di AUTOopt, i suoi file di input, come genera quelli di output e come questi ultimi aggiungono le nuove equazioni ed effettuano la sequenza di continuazioni. Successivamente, verrà mostrato come usare AUTOopt per ottimizzare segnali di controllo. Questo è reso possibile discretizzando il segnale in un numero finito di punti su una griglia temporale. In fine, verrà mostrata la risoluzione di due ben noti esempi di controllo ottimo e calcolo variazionale, la matrice gramiana di controllabilità e la curva brachistocrona. Per quest'ultima, verrà descritta la procedura usata per riformulare il problema in termini di controllo ottimio, usando la curvatura del profilo lungo la traiettoria del sistema come segnale di controllo.
AUTOopt : an Auto driver for boundary-value optimization problems
ZAPPALAGLIO, MATTEO
2018/2019
Abstract
More then 25 years ago, it has been presented a method for the optimization of boundary-value problems with AUTO, a software package based on the pseudo-arclength continuation. The proposed method optimizes this type of systems through a series of successive continuations, aimed to find local extrema of a user-defined objective functional over the ODE boundary-value problem. To perform this type of optimizations with AUTO, the user has to write the equations for the adjoint variables and the code scripts which allow the software to perform the sequence of continuations correctly. These steps can be really expensive in therms of time and energy for the user. In this script, it will be showed the functionalities of AUTOopt, a Python script which automatically generates the equations and command files to optimize boundary-value problems with AUTO. Not even the first-derivatives of the user problem, involved in the equations for the adjoint variables, are required. The user has the possibility to provide them or not and in this case, they will be approximated with the finite differences. Further, to allow the user to exploit all the AUTO potentialities, there's also the possibility to provide the second-derivatives, that will be used to pass to AUTO the first-derivatives of the optimization problem. Starting from the optimization method presentation, will be showed the functionalities of AUTOopt, its input files, how they are used to generate the output ones and how these files adds the new equations and perform the sequence of continuations. Then, it will be showed how to use AUTOopt in order to optimize control input signals. This is made possible by discretizing the signal in a finite number of points on the time grid. In the end, it will be showed the resolution of two well-known examples on the optimal control and variational calculus, the controllability Gramian and the brachistochrone curve. For the last one, will be described the procedure used to reformulate the variational problem as an optimal control one, using the curvature of the profile along the system's trajectory as control signal.File | Dimensione | Formato | |
---|---|---|---|
2020_04_Zappalaglio.pdf
accessibile in internet per tutti
Descrizione: Testo della tesi
Dimensione
2.01 MB
Formato
Adobe PDF
|
2.01 MB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/154259