JuliaQUBO / ToQUBO.jl

🟦 JuMP ToQUBO Automatic Reformulation
https://juliaqubo.github.io/ToQUBO.jl/
Other
27 stars 2 forks source link

Naming decision #62

Closed bernalde closed 1 year ago

bernalde commented 1 year ago

From our last dev call, we discussed the name of this package and the other ones related to the effort of coming up with Ising/QUBO solvers to address JuMP problems. The main idea is to create a "cover" package with a very thin wrapper for toQUBO.jl, Anneal.jl, and QUBOTools.jl (similar to https://github.com/SciML/DifferentialEquations.jl and the other SciML packages). This package, we thought, would be good to be called QUBO.jl. Now, we also need to reconsider the name of Anneal.jl, as the package interfaces and provides a common framework for Ising/QUBO samplers but does not implement any annealing. Proposals for that name:

pedromxavier commented 1 year ago

Thanks @bernalde for starting this issue. I liked IsingMachines. It sets the scope just tight enough since $\mathrm{Ising} \cong \mathrm{QUBO}$ and machines is also abstract enough (and a cool word to say out loud).

Earlier today I came up with QuBounce.jl / QuBouncer.jl - Making QUBO solvers JuMP!

joaquimg commented 1 year ago

I like QUBOSolvers or QUBOSolverInterface. I would not oppose much to IsingMachines, you all we know better than me how much os a stretch would be calling gurobi an Ising Machine. It is certainly a QUBO solver :)

pedroripper commented 1 year ago

Couldn't think of any good acronyms or names... I thought about QueueBO.jl as when we send a QUBO to a sampler in the cloud, it is queued. But it's not always the case and, from this name, it is not clear that it has anything with solving QUBOs.

I'm also for QUBOSampler.jl or QUBOSolver.jl

bernalde commented 1 year ago

I think that QUBOSolvers.jl has won the poll! It also keeps consistency with QUBOTools and toQUBO (and the upcoming QUBO.jl). Thank you, everyone, for your input!

pedromxavier commented 1 year ago

I hope it is not too late but I'm not 100% comfortable with QUBOSolvers. It delivers the idea that the package will provide solvers for QUBOs, such as LANL's ising-solvers (and our port to Julia/JuMP IsingSolvers.jl). In fact, it is limited to a few utility/testing solvers while the main feature is the cheap glue to the MOI interface.

bernalde commented 1 year ago

You are raising a very valid point, Pedro. QUBOSolvers.jl directly clashes with IsingSolver.jl and it is not a solver itself. Following the Vox Populi and having a long name, QUBOSolverInterface.jl seems to win the poll. It is descriptive of exactly what it does, and although boring, it is precise.

pedromxavier commented 1 year ago

I was also thinking about something shorter and a bit more imaginative like QUBOWorkshop.jl, QUBOGarage.jl or QUBOLab.jl, I mean, some sort of facility where solvers are "built".

edit: IsingForge.jl sounds sharp to me.

bernalde commented 1 year ago

Either of those options is great for a tool that creates QUBOs (which is toQUBO). I can imagine the new version of Anneal.jl being "hidden" from most users. Therefore, I do not think it needs a sexy name. Rather it will be used by those solver makers to interface their tools. Decisions must be made as this is sort of blocking us, so my final vote is for QUBOSolversInterface.jl (this would be similar to MOI; hence we can have a short version being QSI.jl which doesn't seem to mean anything yet). I want us to keep the Q as it hints at some quantum. Let's close this issue today. Final votes @joaquimg @AndradeTiago @pedroripper @pedromxavier ? Ps. QUBOForge would be a really good name for toQUBO. Food for thought.

pedromxavier commented 1 year ago

I still think that IsingForge would be a great name for Anneal because:

bernalde commented 1 year ago

Let's record some votes here (https://forms.gle/167g4MuSp7ufe8Jt6). Feel free to include your response and to share it with people who might help us make this choice.

bernalde commented 1 year ago

image