constrained-optimization
Problem-solving strategies for constrained optimization in optimization
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Problem-solving strategies for constrained optimization in optimization
How to use
Zainstaluj skill w swoim środowisku Claude, upewniając się że masz dostęp do narzędzi Bash i Read.
Zidentyfikuj typ ograniczeń w swoim problemie: czy są to ograniczenia równościowe (h(x) = 0), nierównościowe (g(x) ≤ 0) czy ograniczenia na zmienne (l ≤ x ≤ u). Ta klasyfikacja determinuje wybór metody.
Dla problemów z ograniczeniami równościowymi użyj metody Lagrange'a. Skonstruuj funkcję Lagrange'a L(x, lambda) = f(x) + suma lambda_j * h_j(x), następnie uruchom: uv run python -m runtime.harness scripts/sympy_compute.py solve z odpowiednim systemem równań gradientu i ograniczeń.
Dla problemów z ograniczeniami nierównościowymi zastosuj warunki KKT. Rozszerz Lagrange'a o mnożniki mu_i, sprawdzając warunek komplementarności mu_i * g_i(x) = 0. Uruchom: uv run python -m runtime.harness scripts/z3_solve.py prove "complementary_slackness".
Alternatywnie, użyj bezpośrednio SciPy do rozwiązania numerycznego: uv run python -c z funkcją scipy.optimize.minimize, metodą SLSQP, przekazując ograniczenia jako listę słowników z typami 'eq' i 'ineq' oraz bounds dla zmiennych.
Jeśli metody analityczne nie zbiegają, zastosuj metody kary (dodaj P(x) = rho * suma max(0, g_i(x))^2) lub metody barier (dodaj B(x) = -suma log(-g_i(x))), iteracyjnie zmieniając parametry kary lub bariery.