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

Add --all-solutions flag #341

Open
niklasdewally opened this issue Sep 27, 2024 · 5 comments
Open

Add --all-solutions flag #341

niklasdewally opened this issue Sep 27, 2024 · 5 comments
Labels
area::conjure-oxide Related to conjure_oxide. good first issue Good for newcomers kind::feature New feature or request kind::UX CLI / User interface improvements

Comments

@niklasdewally
Copy link
Collaborator

niklasdewally commented Sep 27, 2024

Savile Row and Conjure only return one solution by default and have an -all-solutions flag to return all solutions.

Conjure Oxide currently only returns all solutions with no way to disable this.

Add a command-line argument, --all-solutions, to Conjure Oxide to toggle between returning one solution and returning all solutions.

Success criteria:

When --all-solutions is specified, all solutions to the model are returned by Conjure Oxide. Otherwise, only the first solution is returned.

Possible steps to completion:

  • Add the command line flag to conjure_oxide/src/main.rs.
  • Modify the solution returning logic in get_minion_solutions to either return only one solution, or all solutions based on the presence of this command line flag.

Useful information

Solution fetching uses the Solver API, documented at https://conjure-cp.github.io/conjure-oxide/docs/conjure_core/solver/index.html. When false is returned instead of true in a solver callback, solver execution is halted.

@niklasdewally niklasdewally added kind::feature New feature or request good first issue Good for newcomers area::conjure-oxide Related to conjure_oxide. status::vip-good-first-issue kind::UX CLI / User interface improvements and removed status::vip-good-first-issue labels Sep 27, 2024
Copy link
Contributor

This issue has been automatically closed because it has been inactive for 30 days. Please reopen if you think this issue is still relevant.

@github-actions github-actions bot added the Stale label Nov 11, 2024
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Nov 11, 2024
@ChrisJefferson
Copy link
Contributor

This is certainly something long-term I think wants implementing, but I also understand not wanting to fill up an issues list with long-term goals.

Not sure a 30 day close a good idea however, particularly because that will close all the issues over the summer if people aren't working on conjure-oxide!

@ozgurakgun
Copy link
Contributor

You are right, maybe we increase it to 90 days or something and also make it ignore a "long term" tag. It's mostly me experimenting with processes.

@ozgurakgun ozgurakgun removed the Stale label Nov 11, 2024
@niklasdewally
Copy link
Collaborator Author

This is worth keeping as a good first issue for anyone working on the frontend or solvers.

I also think I will want this by the end of the year

@ozgurakgun
Copy link
Contributor

I think a separate issue that describes the CLI as a project and this being a component of it probably makes more sense?

As a starting point we can try to do something that is compatible (or almost-compatible) with conjure's CLI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area::conjure-oxide Related to conjure_oxide. good first issue Good for newcomers kind::feature New feature or request kind::UX CLI / User interface improvements
Projects
None yet
Development

No branches or pull requests

3 participants