-
Notifications
You must be signed in to change notification settings - Fork 93
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 BoundManager support to CDPWLC #456
Merged
AleksandarZeljic
merged 43 commits into
NeuralNetworkVerification:master
from
AleksandarZeljic:p2-ConstrantsBMsupport
Jul 28, 2021
Merged
Add BoundManager support to CDPWLC #456
AleksandarZeljic
merged 43 commits into
NeuralNetworkVerification:master
from
AleksandarZeljic:p2-ConstrantsBMsupport
Jul 28, 2021
Conversation
This file contains 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
This reverts commit 3e01cd0adfd13448519d757a8316f9a12437d025.
This reverts commit 875abd42db50d4ba78306da9210fd24fb395aa23.
AleksandarZeljic
force-pushed
the
p2-ConstrantsBMsupport
branch
from
July 14, 2021 23:11
1014317
to
05182ea
Compare
@guykatzz Hi Guy, the PR is finally ready for review. It seems big, but only one file needs serious scrutiny - MaxConstraint.cpp, the rest of the constraint classes are pretty simple changes. The test files have big additions, but they are all repeating existing test cases with BoundManager initialized. So a quick skim to make sure that each introduced test initializes the BoundManager should be enough. |
guykatzz
approved these changes
Jul 28, 2021
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.
This PR introduces support in the ContextDependentPiecewiseLinearConstraint
class to store bounds using a BoundManager object. Like other context-dependent
members, once the BoundManager object is registered, all the bounds are stored and
retrieved through the BoundManager.
This PR introduces methods to interface between local and global means of
storing bounds. For this purpose the following methods are introduced in
ContextDependentPiecewiseLinearConstraint class:
bool existsLowerBound( unsigned variable );
unsigned getLowerBound( unsigned variable );
void setLowerBound( unsigned variable );
bool existsUpperBound( unsigned variable );
unsigned getUpperBound( unsigned variable );
void setUpperBound( unsigned variable );
All calls to check, read or write local bound arrays are replaced with calls to
the introduced wrapper methods in all the constraint classes:
Respective test classes have been updated to include existing tests in both the
preprocessing and context-dependent mode, preserving existing functionality.
Finally, all modified files have also been reformatted to conform to the style
guidelines.