I am trying to implement a nonlinear optimisation with 16 linear inequality constraints and one linear equality constraint by using mystic for a problem with 100 variables. When I use the linear_symbolic module to create the constraints, the execution gets stuck. I find not other obvious way to add the constraints.
Scipy's minimize module produces bad solutions for objective functions that are not of a quadratic type (my objective is relative entropy) and when the starting values are not very close to the optimal solution so I had to abandon it. This is actually a point that that Mike McKerns makes when motivating mystic so I was very happy when I bumped into it.
I have tried the following two lines:
cf = mystic.symbolic.linear_symbolic(np.ones(100),[1.],G,h)
cons = mystic.symbolic.generate_constraint(mystic.symbolic.generate_solvers(mystic.symbolic.simplify(cf)))
where G is a 16x100 matrix of coefficients and h is a 16-dimensional vector containing the constants on the right-hand side of the inequalities.
The code executes relatively fast the first line above but it never goes through the second one (my computer crashes after a long wait).