Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Naming decision #62

Closed
bernalde opened this issue Feb 13, 2023 · 11 comments
Closed

Naming decision #62

bernalde opened this issue Feb 13, 2023 · 11 comments

Comments

@bernalde
Copy link
Collaborator

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:

  • QUBOSampler.jl (similar to QUBOTools.jl)
  • QUBOSolvers.jl (as the solver might not necessarily be samplers
  • IsingMachines.jl (from the McMahon review in Nature https://t.co/wh8my6QnhB, although these are not all independent machines)
  • {YourProposal}.jl.
    I leave a naming discussion that we had with others for QUBOTools.jl Naming Choices QUBOTools.jl#3 and invite anyone interested in giving some feedback to leave a comment.
    Because of timing, a decision will be reached by the end of this week (February 19), and this issue will be closed.
    @pedromxavier @pedroripper @AndradeTiago @joaquimg (and any other that would like to participate!)
@pedromxavier
Copy link
Member

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
Copy link
Member

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
Copy link
Member

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
Copy link
Collaborator Author

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
Copy link
Member

pedromxavier commented Feb 20, 2023

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
Copy link
Collaborator Author

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
Copy link
Member

pedromxavier commented Feb 20, 2023

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
Copy link
Collaborator Author

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
Copy link
Member

pedromxavier commented Feb 22, 2023

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

  • Anneal needs an immediate rebranding, ToQUBO is still fine for now.
  • I thought about it as this "place" where tools for solving QUBOs are made, not the QUBOs themselves, but this is completely metaphorical and open to interpretation.
  • The target audience are mainly hardware manufacturers and algorithm developers. From the people we've interacted with, it is more common to mention the Ising formulation in their conversations, papers and presentations.
  • It will be mostly hidden from people outside this environment, for now, but I foresee a moment in the future where it gains relevance from setting up the stage for this QUBO solver race, by providing powerful solver comparison tools and maybe even a leaderboard 🚀.
  • Addressing @joaquimg's concern, all machines involved are, in fact, Ising machines. I mean, Gurobi and other MIQP solvers are not present in this scope, as portrayed in Architecture discussion QUBO.jl#2.
  • In my totally subjective opinion, IsingForge is cleaner to say out loud and ensures a more balanced typography in comparison to QUBOForge. It also fits Anneal's current logo, allowing us to keep it.

@bernalde
Copy link
Collaborator Author

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
Copy link
Collaborator Author

bernalde commented Mar 1, 2023

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants