Guide d’optimisation de circuits avec uSimmics (anciennement QucsStudio) [2026]

Opération de base

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 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.

  1. Nommez le nœud aux bornes de R1 « Voltage ».
  2. Insérez une sonde de courant en série avec R1 et nommez sa sortie « Current ».

3. Ajouter le composant Optimization

  1. Sélectionnez le composant « Optimization » dans la barre d’outils de uSimmics (anciennement QucsStudio) et placez-le sur le schéma.
  2. 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

Comment

Titre et URL copiés