I would like to minimize over quite large set of $a_i$ some function $f(a_1,a_2,\dots,a_n)$ subject to a set of $k$ linear constraints:
$$
i=1\dots n: \quad a_i\ge0;\quad j=1\dots k:\quad\sum_{i=1}^n m_{ji}a_i\ge b_j,\tag1
$$
where the matrix $m$ and the vector $b$ are given. This is very similar to LinearProgramming
, except for the art of the minimized function. Ideally the command should have 3 parameters: $f,m,b$ and probably the size of the vector $n$, though the latter can be read from the dimensions of the matrix $m$ and should return the minimized value of $f$ and the corresponding minimizing vector.
I can find the solutions for small $m$ with Minimize
, but it is not realistic to type all the constraints by hand.
For test purpose the function $f$ can be considered just quadratic $f=a.M.a$.
Any help is appreciated.
QuadraticOptimization[{m,ConstantArray[0,n]},{m,b}]
$\endgroup$Minimize
works well with my function. The only problem is that I don't know a way to submit my linear constraints in a "compressed form". $\endgroup$VectorGreaterEqual[{m.a,b}]
? $\endgroup$