Programare neliniara - metoda grafica si Kuhn-Tucker

Forma canonica: minim, gᵢ(x₁,x₂) ≤ 0, x₁ ≥ 0, x₂ ≥ 0

1. Definirea problemei

Scrie expresii cu x1, x2, +, -, *, /, ^ si paranteze. Rezolvarea exacta este disponibila pentru polinoame, inclusiv termeni de gradul 3 sau mai mare. Functiile transcendente nu sunt acceptate de motorul algebric. De exemplu: x1^2+x2^2-9 sau x1*x2-2. Foloseste * pentru inmultire in campurile de editare.

Forma canonica

Conditiile de nenegativitate se trateaza separat, fara multiplicatori suplimentari.

Modifica expresiile sau alege un exemplu, apoi apasa Rezolva.

2. Reprezentarea grafica

Regiunile fiecarei restrictii sunt colorate si hasurate distinct; intersectia este galbena, cu contur negru gros. Curbele gri sunt niveluri ale lui f; punctele sunt candidati K-T admisibili. Dupa rezolvarea K-T, curba mov indica nivelul celui mai bun candidat K-T admisibil identificat, iar cercul marcheaza punctul sau. Nu este o garantie de optim global in probleme neconvexe. Graficul este o aproximare numerica.

3. Conditiile Kuhn-Tucker

Pentru m restrictii exista 2m+2 combinatii de egalitati: pentru fiecare (λᵢ,gᵢ), se alege λᵢ=0 sau gᵢ=0; pentru fiecare (xⱼ,∂L/∂xⱼ), se alege xⱼ=0 sau ∂L/∂xⱼ=0. Fiecare solutie gasita este verificata apoi pe TOATE inegalitatile.

Sistemele polinomiale sunt tratate simbolic cu SymPy (eliminare algebrica si baze Groebner). Solutiile exacte sunt afisate cand pot fi obtinute; cazurile nerezolvate sunt marcate explicit, fara a declara ca nu exista solutii. Necesita internet la prima incarcare. K-T nu garanteaza minim global in probleme neconvexe.

4. Enumerarea sistemelor de egalitati si verificarea solutiilor