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

optimizations in deduction phase #96

Open
wants to merge 1 commit into
base: acdl
Choose a base branch
from

Conversation

rajdeep87
Copy link

This commit contains the following optimizations:

  1. A new implementation for storing the lower and upper bounds for Intervals corresponding to numerical variables. Use BOX macro for using this optimization. This is implemented in method update_var_bound() in acdl_domaint. The benefit is that it replace the method is_subsumed_syntactic(). The implication graph stores a new deduction only if it updates the corresponding bounds (upper or lower).
  2. Generate templates for numerical variables and boolean variables only when the corresponding num_vars and bool_vars respectively is non-empty.
  3. Use NO_PROJECTION for boolean and numerical inferences.
  4. For arithmetic statements such as z=x*y, process the statement only when both the operands are available.
  5. For numerical inference, do not generate templates on variables that appears in the old_value. This optimization is only needed for INTERVALS. For Octagons, turn OFF this optimization by using the OCTAGONS macro in acdl_domaint.
  6. For equality statements such as x==y, process the statement only when the value of either operand is known. Use the INTERVAL macro do turn on this optimization in acdl_solver.cpp
  7. Turn off the calls to preprocess_val() since an equality statement such as (x==N) which can only come from assumption statements is never inserted directly into the trail.

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

Successfully merging this pull request may close these issues.

None yet

1 participant