nmwsharp/geometry-central

Quadratic programming in Geometry Central?

lukkio88 opened this issue · 6 comments

Hi,

I am using Geometry Central for a project of mine. I wonder if the library provides any quadratic programming solver (constrained) or if there's some specific external library you would suggest to use. I think either dlib or libigl might be ok, I would prefer though not having another geometry library linked in my project though.

GC is generally agnostic to the kind of solver you use; its main purpose is to encode geometry (though some of the provided algorithms do indeed rely on a linear solver…)

Personally I’ve had luck with Mosek, but it really depends on your needs & licensing constraints.

Thank you for your reply.
I assume by linear solver you mainly mean linear system solver, not linear programming solver.

Can you confirm?

Correct.

libigl's quadprog built-in routine is pretty easy to use!

It is probably less powerful than MOSEK etc, and is under a more restrictive license than the rest of libigl, but still might be enough to get you started. One nice thing about libigl's architecture is that it's very easy to use just one piece of libigl without using all of it.

I'm closing this now assuming that it is answered, feel free to reopen if there's more to discuss!

@nmwsharp The quadprog routine in libigl is for dense problems (according to the comments at the top of that file). Someone recommended NASOQ to me for large sparse problems, but I haven't tried it.

From a software engineering point of view, we definitely shouldn't make solvers like these part of Geometry Central itself. But it sure would be nice to have some "one click" examples that get things up and running with GC + X (where X could be Mosek, NASOQ, …). Maybe this is something where we can build little skeleton repos like gc-polyscope-project-template, and link to them from the GC page/docs.