In optimization, a problem is defined using an objective function to minimize or maximize, and a set of constraints 

:<math>g_1(x)\ge 0, \dots, g_k(x)\ge 0</math> 

that define the ''feasible region'', that is, the set of all ''x'' to search for the optimal solution. Given a point <math>x</math> in the feasible region, a constraint 
:<math>g_i(x) \ge 0</math>
is called '''active''' at <math>x</math> if <math>g_i(x)=0</math> and '''inactive''' at <math>x</math> if <math>g_i(x)>0.</math> Equality constraints are always active. The '''active set''' at <math>x</math> is made up of those constraints <math>g_i(x)</math> that are active at the current point .

The active set is particularly important in optimization theory as it determines which constraints will influence the final result of optimization. For example, in solving the linear programming problem, the active set gives the hyperplanes that intersect at the solution point. In quadratic programming, as the solution is not mandatorily on one of the edges of the bounding polygon, an estimation of the active set gives us a subset of inequalities to watch while searching the solution, which reduces the complexity of the search. 

'''Active set'''-metoden är en metod inom optimeringsläran för att hitta en lösning till ett program. I synnerhet behandlar den ickelinjärtprogram med olikhetsbivillkor (eller en blandning av likhetsbivillkor och olikhetsvillkor). För att lösa programmet ansätts en mängd (''active set'') av olikhetsbivillkoren till att vara likhetsbivillkor, och programmet löses för denna mängd. Sedermera tar man i ett steg i den optimala riktningen med aspekt på hur långt steg samtliga bivillkor tillåter. Det upprepas tills dess att en optimal lösning för samtliga bivillkor har hittats.

==Pseudoalgorithm==
Givet att <math>\ x_k</math> är en tillåten punkt. Starta med <math>\ k=0</math>.

*Om <math>\Z^T \nabla f(x_k)</math>
** Beräkna lagrangemultiplikatorerna <math>\lambda=A^T \nabla f(x_k)</math>
** Om <math>\lambda \ge 0 </math> avbryt. (Punkten är ett optimum).
** Annars släpp ett av de bivillkor som har en negativ lagrangemultiplikator.
* Beräkna den optimala sökriktning <math>\ p</math> (ex.vis. kan Newtonriktningen användas).
* Beräkna steglängden <math>\ \alpha</math> i sökriktningen sådan att bivillkoren upprätthålls.
* Beräkna den nya punkten <math>\ x_{k+1}=x_k+p\alpha</math> och starta om från början.