convex-optimization
Problem-solving strategies for convex optimization in optimization
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Problem-solving strategies for convex optimization in optimization
How to use
Zainstaluj skill w swoim środowisku Claude, dodając go do katalogu skills.
Przed rozwiązaniem problemu zweryfikuj wypukłość: sprawdź, czy funkcja celu ma macierz Hessiana dodatnio półokreśloną, a zbiór ograniczeń jest przecięciem zbiorów wypukłych. Możesz użyć komendy z3_solve.py prove "hessian_psd" do formalnego dowodu.
Sklasyfikuj swój problem: określ, czy jest to programowanie liniowe, kwadratowe, ogólne zadanie wypukłe czy semidefinitowe. Każdy typ wymaga innego solvera — linprog dla LP, minimize z metodą SLSQP dla QP, metody punktu wewnętrznego dla problemów ogólnych.
Sprowadź problem do postaci standardowej: minimize f(x) subject to g_i(x) ≤ 0, h_j(x) = 0. Jeśli masz maksymalizację, zaneguj funkcję celu; jeśli nierówności w drugą stronę, zaneguj zmienne.
Rozwiąż problem używając scipy.optimize.minimize z odpowiednimi ograniczeniami. Sprawdź, czy rozwiązanie spełnia wszystkie ograniczenia pierwotne i czy warunki KKT są spełnione (możesz to zweryfikować za pomocą z3_solve.py prove "kkt_conditions").
Zweryfikuj wynik: ponieważ problem jest wypukły, znalezione rozwiązanie jest gwarantowanym minimum globalnym. Upewnij się, że wszystkie ograniczenia są spełnione z wymaganą dokładnością.