Conversation
Complétion du laboratoire 9 sur le contrôle optimal.
dpo
reviewed
Aug 18, 2025
dpo
reviewed
Aug 18, 2025
|
Status: |
dpo
reviewed
Aug 19, 2025
| - plotadjoints : Affiche les variables adjointes (co-états) | ||
| =# | ||
| #plot(sol) | ||
| plot(sol, plotstates=true, plotcontrol=true, plotadjoints=true) |
Contributor
There was a problem hiding this comment.
???? Ce n'est pas du tout ça qu'on demande de faire.
| # Objectif à minimiser | ||
| ∫(ρ * g * x[1](t) * √(1 + u(t)^2)) → min | ||
| end | ||
|
|
Contributor
There was a problem hiding this comment.
On se demande bien comment tu as trouvé cette formulation ...
|
|
||
| ### Analyse des résultats | ||
|
|
||
| Les résultats obtenus pour la question 2 montrent la résolution d'un problème de contrôle optimal visant à minimiser l'énergie potentielle d'une trajectoire sous contraintes dynamiques. Le solveur IPOPT a été utilisé pour résoudre ce problème, avec les observations suivantes : |
| Les graphes générés montrent l'évolution des variables d'état, des co-états et du contrôle au cours du temps : | ||
|
|
||
| 1. **État (x)** : | ||
| - La variable d'état évolue de manière régulière, passant de 1.0 à 2.5, conformément aux conditions aux limites imposées (\(x(t_0) = 1\), \(x(t_f) = 2.5\)). |
| - La variable d'état évolue de manière régulière, passant de 1.0 à 2.5, conformément aux conditions aux limites imposées (\(x(t_0) = 1\), \(x(t_f) = 2.5\)). | ||
|
|
||
| 2. **Co-état** : | ||
| - Le co-état montre une décroissance vers zéro, reflétant l'optimisation de la trajectoire pour minimiser l'énergie potentielle. |
| - Le contrôle varie entre 0 et 6, avec des ajustements dynamiques pour respecter les contraintes et minimiser l'objectif. | ||
|
|
||
| 4. **Convergence** : | ||
| - Le solveur a convergé vers une solution optimale après 914 itérations, avec un temps total de calcul de 8.879 secondes environ. |
| Formulation mathématique : | ||
| Maximiser x₂(tf) sous les contraintes : | ||
| - Dynamique : dx₁/dt = -x₁ + u | ||
| dx₂/dt = √x₁ |
| Les variables adjointes (coétats) illustrent les multiplicateurs de Lagrange associés aux contraintes dynamiques. Le coétat lié à $x_1$ montre une décroissance rapide vers des valeurs négatives, indiquant un coût élevé pour respecter la dynamique en début de trajectoire. Celui associé à $x_2$ reste constant (proche de -1), conformément à l'objectif de maximisation de $x_2(t_f)$, car la dynamique de $x_2$ ne dépend pas directement de $x_2$ lui-même. | ||
|
|
||
| ### Analyse du contrôle (control) | ||
| La commande optimale $u(t)$ évolue entre les bornes $[0, 1]$. Elle démarre à une valeur élevée (proche de 0.4) pour satisfaire rapidement la condition finale sur $x_1$, puis décroît progressivement. Cette décroissance reflète un compromis entre la maximisation de $x_2$ et la contrainte sur $x_1(t_f)$. |
| L'évolution des états montre que la composante $x_1(t)$ part de 0 et atteint la condition finale $x_1(t_f) = 0.5$ à $t = 1$. La trajectoire est croissante et présente une non-linéarité, reflétant l'influence de la dynamique $\dot{x}_1 = -x_1 + u$. La composante $x_2(t)$, qui représente l'objectif à maximiser, augmente de manière monotone avec une pente décroissante, en cohérence avec la dynamique $\dot{x}_2 = \sqrt{x_1}$. La valeur finale de $x_2(t_f)$ est d'environ 0.48, ce qui correspond à l'objectif optimisé. | ||
|
|
||
| ### Analyse du coétat (costate) | ||
| Les variables adjointes (coétats) illustrent les multiplicateurs de Lagrange associés aux contraintes dynamiques. Le coétat lié à $x_1$ montre une décroissance rapide vers des valeurs négatives, indiquant un coût élevé pour respecter la dynamique en début de trajectoire. Celui associé à $x_2$ reste constant (proche de -1), conformément à l'objectif de maximisation de $x_2(t_f)$, car la dynamique de $x_2$ ne dépend pas directement de $x_2$ lui-même. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Complétion du laboratoire 9 sur le contrôle optimal.