Guía de optimización de circuitos con uSimmics (antes QucsStudio) [2026]

Básicos

uSimmics (antes QucsStudio) incorpora la función Circuit Optimizer, que ajusta automáticamente los valores de los componentes para alcanzar el comportamiento de circuito deseado. Esta guía explica el flujo de trabajo completo de optimización a través de un ejemplo concreto: encontrar el valor de resistencia de carga que maximiza la potencia entregada por la fuente.


Lo que aprenderás en este artículo

  • Descripción general de la función Circuit Optimizer en uSimmics (antes QucsStudio)
  • Cómo diseñar el circuito objetivo y configurar variables y metas de optimización
  • Cómo definir parámetros personalizados mediante Insert Equation
  • Cómo inspeccionar los resultados de optimización con el componente Tabular
  • Características y casos de uso de cada algoritmo de optimización (Grid Search, Steepest Descent, Nelder-Mead, Differential Evolution)

Descripción general de la optimización de circuitos

El Circuit Optimizer ejecuta simulaciones de forma iterativa mientras varía las variables especificadas (como valores de componentes), y busca automáticamente los valores que satisfacen los objetivos configurados (maximizar, minimizar o converger a un valor objetivo).


Procedimiento paso a paso

1. Diseñar el circuito a optimizar

En este ejemplo se utiliza el siguiente circuito:

  • Una fuente de tensión con impedancia interna de 33 Ω conectada a una resistencia de carga (R1)
  • Objetivo: maximizar la potencia disipada por la resistencia de carga R1

Nota de diseño: Según el teorema de máxima transferencia de potencia, la potencia máxima se transfiere a la carga cuando la resistencia de carga iguala la impedancia interna de la fuente (33 Ω). El resultado de la optimización verificará este principio.

2. Colocar nodos de medición y una sonda de corriente

Para definir «potencia» como objetivo de optimización, es necesario medir tanto tensión como corriente.

  1. Etiqueta el nodo en los terminales de R1 como «Voltage».
  2. Inserta una sonda de corriente en serie con R1 y denomina su salida «Current».

3. Añadir el componente Optimization

  1. Selecciona el componente «Optimization» en la barra de herramientas de uSimmics (antes QucsStudio) y colócalo en el esquemático.
  2. Haz doble clic sobre el componente para abrir el diálogo de configuración.

4. Configurar las variables de optimización en la pestaña Variables

En la pestaña Variables, define los parámetros que el optimizador modificará durante la búsqueda.

Parámetro Valor de ejemplo
Nombre de variable R_load (resistencia de R1)
Valor inicial 10 Ω
Valor mínimo 1 Ω
Valor máximo 200 Ω

5. Establecer el objetivo de optimización en la pestaña Goals

En la pestaña Goals, define qué debe lograr el optimizador. En este ejemplo, se maximiza el parámetro «Power».

Parámetro Descripción
Nombre del parámetro Power
Dirección Maximizar (Maximize)

6. Definir el parámetro personalizado con Insert Equation

Como «Power» no es una magnitud nativa del esquemático, debe definirse explícitamente para que el motor de simulación pueda evaluarla. Añade un elemento Insert Equation al esquemático e introduce la siguiente expresión:

Power = Voltage * Current

Esto permite que el motor de optimización reconozca «Power» como una expresión evaluable.

7. Ejecutar la simulación DC para iniciar la optimización

Una vez completada la configuración, ejecuta una simulación DC. El Circuit Optimizer se iniciará automáticamente y comenzará el proceso de optimización.

8. Revisar los resultados

Tras finalizar la optimización, coloca un componente Tabular (del menú Diagrams) en el esquemático para visualizar los resultados numéricos.

En este ejemplo, el optimizador devuelve R_load = 33 Ω como el valor que maximiza la potencia entregada.

Nota: Los resultados de optimización son aproximaciones, no soluciones analíticas exactas. Según los requisitos de precisión, puede ser necesario un ajuste fino adicional.


Elección del algoritmo de optimización

uSimmics (antes QucsStudio) ofrece varios algoritmos de optimización. Seleccionar el más adecuado según la naturaleza del problema mejora tanto la velocidad de cálculo como la precisión de los resultados.

Grid Search (búsqueda en rejilla)

Evalúa de forma exhaustiva el espacio de variables siguiendo un patrón de rejilla. Resulta eficiente cuando hay pocas variables y un rango de búsqueda reducido, pero el tiempo de cómputo aumenta rápidamente con el número de variables.

Caso de uso típico: Barridos simples de una sola variable, como explorar resistencias de 0 a 100 Ω en pasos de 1 Ω.

Steepest Descent (descenso más pronunciado)

Sigue el gradiente más pronunciado hacia el valor óptimo. Converge rápidamente, pero es propenso a quedar atrapado en óptimos locales.

Caso de uso típico: Ajuste fino cuando el valor inicial ya se encuentra próximo al óptimo conocido.

Nelder-Mead (método del símplex)

Explora el espacio de soluciones manipulando simultáneamente múltiples puntos (un símplex), lo que lo hace más robusto frente a óptimos locales. No requiere información de gradiente, por lo que es aplicable a funciones objetivo no diferenciables.

Differential Evolution (evolución diferencial, DE)

Algoritmo evolutivo que aprovecha la aleatoriedad para explorar espacios de búsqueda multimodales complejos. Requiere mayor tiempo de cómputo, pero puede descubrir soluciones que los métodos basados en gradiente no logran encontrar.

Caso de uso típico: Optimización global de circuitos de gran escala con numerosos transistores y componentes pasivos.


Resumen

El Circuit Optimizer de uSimmics (antes QucsStudio) elimina la necesidad de prueba y error manual al identificar automáticamente los valores óptimos de los componentes. La clave para una optimización eficaz reside en configurar correctamente tres elementos: variables, objetivos y algoritmo. Se recomienda comenzar con un circuito sencillo para familiarizarse con el flujo de trabajo y, posteriormente, aplicarlo a tareas de diseño reales.


Artículos relacionados

Comment

Título y URL copiados