We can usually express the problem as
mins.t.whereandf(x)=cTxAx=bx≥0x=⎣⎢⎢⎢⎢⎡x1x2⋮xn⎦⎥⎥⎥⎥⎤,b=⎣⎢⎢⎢⎢⎡b1b2⋮bm⎦⎥⎥⎥⎥⎤≥0,c=⎣⎢⎢⎢⎢⎡c1c2⋮cn⎦⎥⎥⎥⎥⎤A=⎣⎢⎢⎢⎢⎡a1,1a2,1⋮am,1a1,2a2,2⋮am,2……⋱…a1,na2,n⋮am,n⎦⎥⎥⎥⎥⎤
- If we have some inequality constraints, we can transform it into an equality constraint by adding slack variables.
- Also note that, here we require xi≥0. If some constraints have the form l≤xi≤r, we can transform it into two constraints xi′=xi−l≥0,xi′′=r−xi≥0′.
- In addition, if xi is unbounded, we can set xi=xa−xb where xa≥0,xb≥0 as a transformation.