-
Notifications
You must be signed in to change notification settings - Fork 17
feat: Adding lower-bounding search to the solver #132
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
EmirDe
reviewed
Jan 21, 2025
This should be refactored into separate structures and removed from the "Solver" api; this would lead to more separable logical structures with the added benefit of improved extendability |
ImkoMarijnissen
commented
Feb 3, 2025
ImkoMarijnissen
commented
Feb 3, 2025
pumpkin-solver/src/optimisation_search/lower_bounding_search.rs
Outdated
Show resolved
Hide resolved
ImkoMarijnissen
commented
Feb 3, 2025
ImkoMarijnissen
commented
Feb 3, 2025
ImkoMarijnissen
commented
Feb 3, 2025
maartenflippo
previously requested changes
Feb 3, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See Imko's comments from our in-person discussion
Review re-requested
maartenflippo
approved these changes
Feb 10, 2025
maartenflippo
added a commit
that referenced
this pull request
Apr 11, 2025
Currently, we only support upper-bounding search (LSU) in the solver; however, it makes sense to also support lower-bounding search (LUS) in the solver. This PR aims to implement lower-bounding search using assumptions. --------- Co-authored-by: Maarten Flippo <[email protected]>
maartenflippo
added a commit
that referenced
this pull request
Apr 11, 2025
Currently, we only support upper-bounding search (LSU) in the solver; however, it makes sense to also support lower-bounding search (LUS) in the solver. This PR aims to implement lower-bounding search using assumptions. --------- Co-authored-by: Maarten Flippo <[email protected]>
ImkoMarijnissen
added a commit
that referenced
this pull request
Apr 11, 2025
🤖 I have created a release *beep* *boop* --- ## [0.2.0](pumpkin-solver-v0.1.4...pumpkin-solver-v0.2.0) (2025-04-11) ### Features * Add logging for branchers ([#135](#135)) ([d8814f1](d8814f1)) * Add method for retrieving relevant brancher events ([#138](#138)) ([8253580](8253580)) * Adding lower-bounding search to the solver ([#132](#132)) ([57bde78](57bde78)) * Adding random variable selector + sparse_set fixes ([#139](#139)) ([1c4b85f](1c4b85f)) * Debug clone does not synchronise at level 0 + random splitter edge cases ([#146](#146)) ([bba1abb](bba1abb)) * Enable proof logging in appropriate test cases ([#154](#154)) ([914f1bc](914f1bc)) * Expose the optimisation API in the python wrapper ([#148](#148)) ([ab9a463](ab9a463)) * Flatzinc parse boolean & negative int arrays as well ([#142](#142)) ([68aef75](68aef75)) * Improve element propagator ([#140](#140)) ([b9bcfd3](b9bcfd3)) * Lazy explanation context ([#123](#123)) ([0781357](0781357)) * No additional variables during constraint construction ([#131](#131)) ([19dd45b](19dd45b)) * Nemove explicit literals ([#115](#115)) ([ab74e20](ab74e20)) * Stateful integer ([#125](#125)) ([eb01ed3](eb01ed3)) ### Bug Fixes * Addressing clippy warnings ([#143](#143)) ([20c76bb](20c76bb)) * Allow reification of lazy reasons ([#152](#152)) ([c7418ec](c7418ec)) * Also log the inference that led to an empty domain ([#165](#165)) ([7799119](7799119)) * Alternating brancher did not call the methods correctly ([#128](#128)) ([6019d86](6019d86)) * Disjunctive scheduling example had incorrect negation constraint ([#114](#114)) ([fd007a0](fd007a0)) * Don't debug propagate deleted nogoods ([#147](#147)) ([e3a6527](e3a6527)) * Explain root-level assignments in the proof log during conflict analysis ([#163](#163)) ([c877b06](c877b06)) * Fixing erronous conflict check when using incrementality ([#137](#137)) ([07c253f](07c253f)) * Give reason to root-level propagation in nogood propagator ([#124](#124)) ([14868d5](14868d5)) * Identify more places where root-level facts need to be logged to the proof ([#153](#153)) ([3ac5019](3ac5019)) * Issue with integer multiplication + correct path in msc file ([#117](#117)) ([ce25710](ce25710)) * Post process new domain ([#129](#129)) ([26a3b46](26a3b46)) * Print statistics at the end of solving process + make pumpkin-solver default bin ([#162](#162)) ([7d30ac8](7d30ac8)) * Remove paste dependency ([#159](#159)) ([ea53fed](ea53fed)) * Root level assignments are properly explained in the proof when logging inferences ([#158](#158)) ([857f84c](857f84c)), closes [#118](#118) [#119](#119) [#156](#156) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: ImkoMarijnissen <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, we only support upper-bounding search (LSU) in the solver; however, it makes sense to also support lower-bounding search (LUS) in the solver.
This PR aims to implement lower-bounding search using assumptions.