I have a quadratic programming model (i.e., quadratic objective function and linear constraint) and, I want to solve it on an open-source solver. Since our project developed on C#, we also would like to use C# on this model. Does anyone have experience?
1$\begingroup$ If all variables are continuous, there are 3 types of Quadratic Programming solvers: 1. Only accept convex problems and produce globally optimal result. 2. Accept convex or non-convex problems, and only attempt to get locally optimal solution for non-convex problems. 3. Accept convex or non-convex problems, and attempt to get globally optimal solution (may have an option to only attempt to get locally optimal solution for non-convex problems). Which o you want? You mention "linear-integer ". Do you require (mixed) integer variable capability? $\endgroup$– Mark L. StoneNov 1, 2021 at 14:02
$\begingroup$ All variables are continuous, constraints are linear, objective is quadratic and problem is convex. $\endgroup$– cyyNov 2, 2021 at 6:57
$\begingroup$ You should edit the question accordingly, to include removing the word "integer". $\endgroup$– Mark L. StoneNov 2, 2021 at 11:30
Ipopt seems to have a C# binding. From my own experience WORHP is easy to wrap in high level languages, due a variety of interfaces compatible with different programming styles.
Ipopt is a local interior point solver that performs well on quadratic problems. WORHP uses as SQP algorithm, if all constraints and the objective are marked as quadratic or linear it will run the QP algorithm only once. Note that these solvers are meant for convex QPs.
Also see this answer.
Other solvers to consider with which i have no experience: OSQP, nlopt