-
Notifications
You must be signed in to change notification settings - Fork 23
chore: add debug bound to integer variable #288
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
maartenflippo
approved these changes
Sep 18, 2025
maartenflippo
added a commit
that referenced
this pull request
Sep 26, 2025
commit a30b7401ed8d53510411bbd0b5a56a86c3ad31a3 Merge: f1d5e22d 28c598d Author: Maarten Flippo <maartenflippo@outlook.com> Date: Fri Sep 26 11:08:30 2025 +0200 Merge branch 'refactor/drcp-format' into testing commit 28c598d Author: Maarten Flippo <maartenflippo@outlook.com> Date: Fri Sep 26 11:05:43 2025 +0200 refactor(drcp-format): Factor out a lineparser in the reader commit f1d5e22d54e298424bdb4e0cf18c3c6563105956 Merge: 1fdf489e 6d83f56 Author: Maarten Flippo <maartenflippo@outlook.com> Date: Fri Sep 26 10:27:13 2025 +0200 Merge branch 'refactor/drcp-format' into testing commit 6d83f56 Author: Maarten Flippo <maartenflippo@outlook.com> Date: Fri Sep 26 10:25:55 2025 +0200 refactor(drcp-format): Simplify parser further after removing chumsky Now the parser can immediately resolve atomics as well as intern identifiers. commit 1fdf489e73b7b7a432fdc7ff8f97fe42e131926d Merge: a86b475 d7885a6 Author: Maarten Flippo <maartenflippo@outlook.com> Date: Fri Sep 26 09:50:50 2025 +0200 Merge branch 'refactor/drcp-format' into testing commit d7885a6 Author: Maarten Flippo <maartenflippo@outlook.com> Date: Thu Sep 25 16:50:56 2025 +0200 refactor(drcp-format): Rewrite the parser to remove chumsky Profiling shows that the chumsky parser is slow, especially the `Choice` combinator. A custom parser is much simpler and hopefully more performant. commit 826fe58 Author: Imko Marijnissen <50290518+ImkoMarijnissen@users.noreply.github.com> Date: Thu Sep 25 18:08:23 2025 +0900 feat: Allow unbounded integers (#285) We saw in the MiniZinc challenge that we were not able to solve instances where integers were unbounded; this PR aims to address this by creating "unbounded" integers as regular variables with some predefined bounds. The original idea was to make it `[i32::MIN, i32::MAX]`, but this led to overflows in affine views on these instances. For now, I have taken the bounds which are used by Chuffed, but any comments about this would be welcome! _Some small adjustments to the random splitter since it does not work well with extreme bounds at the moment_ commit d38e990 Author: Imko Marijnissen <50290518+ImkoMarijnissen@users.noreply.github.com> Date: Thu Sep 25 18:04:39 2025 +0900 fix: Reduce cost of predicate notification (#259) One of the bottlenecks of the solver is the notification system; this PR proposes several changes to address this: 1. Moving the traversal of the holes in the domains to only be done if they are being tracked 2. Introducing a method which checks whether a tracker is fixed, and thus, cannot generate any more updates 3. Rewrite the equality tracker for disequality predicates to be more efficient 4. Introducing an `IndexMap` to keep track of the values so that, when we are inserting a new value, that we do not have to traverse the entire list commit 4d419f7 Author: Imko Marijnissen <50290518+ImkoMarijnissen@users.noreply.github.com> Date: Thu Sep 18 21:06:41 2025 +0900 chore: add debug bound to integer variable (#288) commit bb2cca4 Author: Maarten Flippo <maartenflippo@outlook.com> Date: Thu Sep 18 14:05:32 2025 +0200 chore(pumpkin-solver-py): Fix the release process of the python library (#289) commit bf7ff80 Author: Imko Marijnissen <50290518+ImkoMarijnissen@users.noreply.github.com> Date: Fri Sep 12 13:57:20 2025 +0900 fix: Add pumpkin-crates to default-members (#286) `pumpkin-crates/*` was not part of the default members, meaning that **none** of the `--lib` tests were run (nor the doc tests). This PR addresses this by adding `pumpkin-crates/*` to the default-members and fixing the raised issues. commit 8c7e010 Author: Imko Marijnissen <50290518+ImkoMarijnissen@users.noreply.github.com> Date: Thu Sep 11 22:32:33 2025 +0900 refactor: Minimising and lifting the explanations for empty domains (#283) Currently, the explanations for empty domain explanations contain the explanation of the last-propagated predicate and the bounds at the time of that propagation of the domain which became empty. However, based on the predicate which was propagated, it is possible to simplify the explanation. In all cases, this reduces the number of added predicates from two to one while also allowing the possibility of lifting the explanation. On certain scheduling instances, this improved the number of nodes reached to find the same solution and it decreased the time to this same solution. ## TODO - [x] Profile on a larger benchmark set ## MiniZinc Score - Before Change: 172.42 - After Change: 187.58 ## Primal Integral - Before Change: 34.49 - After Change: 32.92 commit 04739ff Author: Konstantin Sidorov <133598581+k-sidorov@users.noreply.github.com> Date: Wed Sep 10 10:45:39 2025 +0100 Big-M redefinition for `int_lin_le_reif` (#229) This PR proposes a reformulation that replaces reified ≤ constraints with two big-M linear constraints. commit c27934b Author: Imko Marijnissen <50290518+ImkoMarijnissen@users.noreply.github.com> Date: Tue Sep 9 19:13:16 2025 +0900 refactor: Avoid unnecessary allocation in notifications (#281) Avoids the call to `.to_vec()` when calling `get_affected_propagator(..)` commit 12af76e Author: Imko Marijnissen <50290518+ImkoMarijnissen@users.noreply.github.com> Date: Mon Sep 1 16:57:24 2025 +0900 docs: Update README (#279) Includes the following: - Fixing of links - Mentioning the bronze medal in the 2025 MiniZinc Challenge - Adding the publications that use Pumpkin commit a5e4c2c Author: Maarten Flippo <maartenflippo@outlook.com> Date: Mon Aug 18 16:41:55 2025 +0200 fix(pumpkin-solver): Only compile solution checkers for integration tests (#278) Don't compile the C binaries unnecessarily. If `NO_CHECKERS=true` is set, then the C binaries will not be compiled. This becomes evident when building python wheels for different platforms. The C programs can't be built on some of those. commit 8f1c41c Author: Maarten Flippo <maartenflippo@outlook.com> Date: Mon Aug 18 15:40:48 2025 +0200 chore: Remove unnecessary targets from python distribution commit ad8318b Author: Maarten Flippo <maartenflippo@outlook.com> Date: Mon Aug 18 15:32:22 2025 +0200 chore: Fix release workflow of python package commit c195c2e Author: Maarten Flippo <maartenflippo@outlook.com> Date: Mon Aug 18 15:24:29 2025 +0200 feat(pumpkin-solver-py): Setup publishing of the python interface (#277) This PR sets up the python interface for publishing to PyPi. It includes a workflow that builds the library for all platforms and uploads them to the package repository. For now that workflow is triggered manually, but in future it should be integrated into the publishing of the rest of the solver's packages. commit 270c179 Author: Imko Marijnissen <50290518+ImkoMarijnissen@users.noreply.github.com> Date: Thu Aug 14 09:53:02 2025 +0100 fix(pumpkin-solver): Pass between pumpkin-solver and pumpkin-core (#276)
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.
No description provided.