uSimmics (anciennement QucsStudio) intègre une fonctionnalité Circuit Optimizer qui ajuste automatiquement les valeurs des composants afin d’atteindre le comportement souhaité du circuit. Ce guide présente l’intégralité du processus d’optimisation à travers un exemple concret : déterminer la valeur de résistance de charge qui maximise la puissance délivrée par une source.
- Ce que vous apprendrez dans cet article
- Présentation de l’optimisation de circuits
- Procédure étape par étape
- 1. Concevoir le circuit à optimiser
- 2. Placer les nœuds de mesure et une sonde de courant
- 3. Ajouter le composant Optimization
- 4. Configurer les variables d’optimisation dans l’onglet Variables
- 5. Définir l’objectif d’optimisation dans l’onglet Goals
- 6. Définir le paramètre personnalisé avec Insert Equation
- 7. Lancer la simulation DC pour démarrer l’optimisation
- 8. Consulter les résultats
- Choix de l’algorithme d’optimisation
- Conclusion
- Articles connexes
Ce que vous apprendrez dans cet article
- Présentation générale de la fonctionnalité Circuit Optimizer dans uSimmics (anciennement QucsStudio)
- Conception du circuit cible et configuration des variables et objectifs d’optimisation
- Définition de paramètres personnalisés à l’aide de Insert Equation
- Consultation des résultats d’optimisation via le composant Tabular
- Caractéristiques et cas d’usage des différents algorithmes d’optimisation (Grid Search, Steepest Descent, Nelder-Mead, Differential Evolution)
Présentation de l’optimisation de circuits
Le Circuit Optimizer exécute des simulations de manière itérative en faisant varier les variables spécifiées (telles que les valeurs des composants), puis recherche automatiquement les valeurs satisfaisant les objectifs configurés (maximiser, minimiser ou converger vers une valeur cible).
Procédure étape par étape
1. Concevoir le circuit à optimiser
Cet exemple utilise le circuit suivant :
- Une source de tension avec une impédance interne de 33 Ω connectée à une résistance de charge (R1)
- Objectif : maximiser la puissance dissipée par la résistance de charge R1
Remarque de conception : D’après le théorème de transfert maximal de puissance, la puissance transmise à la charge est maximale lorsque la résistance de charge est égale à l’impédance interne de la source (33 Ω). Le résultat de l’optimisation permettra de valider ce principe.
2. Placer les nœuds de mesure et une sonde de courant
Pour définir la « puissance » comme objectif d’optimisation, il est nécessaire de mesurer à la fois la tension et le courant.
- Nommez le nœud aux bornes de R1 « Voltage ».
- Insérez une sonde de courant en série avec R1 et nommez sa sortie « Current ».
3. Ajouter le composant Optimization
- Sélectionnez le composant « Optimization » dans la barre d’outils de uSimmics (anciennement QucsStudio) et placez-le sur le schéma.
- Double-cliquez sur le composant pour ouvrir la boîte de dialogue de configuration.
4. Configurer les variables d’optimisation dans l’onglet Variables
Dans l’onglet Variables, définissez les paramètres que l’optimiseur modifiera au cours de la recherche.
| Paramètre | Valeur exemple |
|---|---|
| Nom de la variable | R_load (résistance de R1) |
| Valeur initiale | 10 Ω |
| Valeur minimale | 1 Ω |
| Valeur maximale | 200 Ω |
5. Définir l’objectif d’optimisation dans l’onglet Goals
Dans l’onglet Goals, définissez ce que l’optimiseur doit atteindre. Dans cet exemple, l’objectif est de maximiser le paramètre « Power ».
| Paramètre | Description |
|---|---|
| Nom du paramètre | Power |
| Direction | Maximiser (Maximize) |
6. Définir le paramètre personnalisé avec Insert Equation
La quantité « Power » n’étant pas native dans le schéma, elle doit être définie explicitement pour que le moteur de simulation puisse l’évaluer. Ajoutez un élément Insert Equation au schéma et saisissez l’expression suivante :
Power = Voltage * Current
Cela permet au moteur d’optimisation de reconnaître « Power » comme une expression évaluable.
7. Lancer la simulation DC pour démarrer l’optimisation
Une fois la configuration terminée, lancez une simulation DC. Le Circuit Optimizer démarrera automatiquement et le processus d’optimisation commencera.
8. Consulter les résultats
À l’issue de l’optimisation, placez un composant Tabular (dans le menu Diagrams) sur le schéma pour afficher les résultats numériques.
Dans cet exemple, l’optimiseur retourne R_load = 33 Ω comme valeur maximisant la puissance délivrée.
Remarque : Les résultats d’optimisation sont des approximations et non des solutions analytiques exactes. Un ajustement fin peut s’avérer nécessaire selon les exigences de précision.
Choix de l’algorithme d’optimisation
uSimmics (anciennement QucsStudio) propose plusieurs algorithmes d’optimisation. Choisir celui qui convient le mieux à la nature du problème permet d’améliorer à la fois la vitesse de calcul et la précision des résultats.
Grid Search (recherche par grille)
Évalue exhaustivement l’espace des variables selon un schéma de grille. Efficace lorsque le nombre de variables est faible et la plage de recherche étroite, mais le temps de calcul augmente rapidement avec le nombre de variables.
Cas d’usage typique : Balayages simples à une variable, comme explorer des résistances de 0 à 100 Ω par pas de 1 Ω.
Steepest Descent (descente de gradient)
Suit le gradient le plus prononcé vers la valeur optimale. Converge rapidement, mais tend à rester bloqué dans des optima locaux.
Cas d’usage typique : Réglage fin lorsque la valeur initiale est déjà proche de l’optimum connu.
Nelder-Mead (méthode du simplexe)
Explore l’espace des solutions en manipulant simultanément plusieurs points (un simplexe), ce qui le rend plus robuste face aux optima locaux. Ne nécessite pas d’information de gradient, ce qui le rend applicable aux fonctions objectif non différentiables.
Differential Evolution (évolution différentielle, DE)
Algorithme évolutionnaire exploitant l’aléatoire pour explorer des espaces de recherche multimodaux complexes. Nécessite davantage de temps de calcul, mais peut découvrir des solutions que les méthodes à gradient ne parviennent pas à trouver.
Cas d’usage typique : Optimisation globale de circuits à grande échelle comprenant de nombreux transistors et composants passifs.
Conclusion
Le Circuit Optimizer de uSimmics (anciennement QucsStudio) supprime la nécessité de tâtonnements manuels en identifiant automatiquement les valeurs optimales des composants. La clé d’une optimisation efficace réside dans la configuration correcte de trois éléments : les variables, les objectifs et l’algorithme. Il est conseillé de commencer par un circuit simple pour se familiariser avec le processus, puis d’appliquer cette approche à des tâches de conception réelles.
Articles connexes
- Analyse DC avec uSimmics (anciennement QucsStudio) [2026]
- Analyse Monte Carlo avec uSimmics (anciennement QucsStudio)
- Configuration des paramètres de simulation Monte Carlo dans uSimmics (anciennement QucsStudio)
- Guide d’analyse paramétrique de circuits électroniques avec uSimmics (anciennement QucsStudio)
- Guide des opérations de base de l’éditeur de circuits uSimmics (anciennement QucsStudio) [2026]


Comment