casadi-ipopt-nlp
Nonlinear optimization with CasADi and IPOPT solver. Use when building and solving NLP problems: defining symbolic variables, adding nonlinear constraints, setting solver options, handling multiple initializations, and extracting solutions. Covers power systems optimization
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Nonlinear optimization with CasADi and IPOPT solver. Use when building and solving NLP problems: defining symbolic variables, adding nonlinear constraints, setting solver options, handling multiple initializations, and extracting solutions. Covers power systems optimization patterns including per-unit scaling and complex number formulations.
How to use
Zainstaluj wymagane zależności: uruchom apt-get update, zainstaluj libgfortran5, a następnie pip install numpy==1.26.4 casadi==3.6.7.
Zdefiniuj zmienne decyzyjne problemu jako symbole CasADi (np. napięcia, kąty, moce) i połącz je w jeden wektor za pomocą ca.vertcat().
Skonstruuj funkcję celu jako wyrażenie symboliczne CasADi, np. sumę kosztów kwadratowych dla generatorów.
Zbierz wszystkie ograniczenia (równościowe i nierównościowe) w listach wyrażeń wraz z ich dolnymi i górnymi ograniczeniami, następnie połącz je w jeden wektor.
Ustaw granice dla zmiennych decyzyjnych (dolne i górne), dopasowując kolejność do wektora zmiennych.
Utwórz solver NLP za pomocą ca.nlpsol(), przekazując funkcję celu, zmienne, ograniczenia i ich granice, a następnie wywołaj solver z wartościami początkowymi, aby uzyskać rozwiązanie.