Skip to main content

XADD package in Python

Project description

Python Implementation of XADD

This repository implements the Python version of XADD (eXtended Algebraic Decision Diagrams) which was first introduced in Sanner et al. (2011); you can find the original Java implementation from here.

Our Python XADD code uses Sympy for symbolically maintaining all variables and related operations, and PULP is used for pruning unreachable paths. Note that we only check linear conditionals. If you have Gurobi installed and configured in the conda environment, then PULP will use Gurobi for solving (MI)LPs; otherwise, the default solver (CBC) is going to be used.

Note that the implementation for EMSPO --- Exact symbolic reduction of linear Smart Predict+Optimize to MILP (Jeong et al., ICML-22) --- has been moved to the branch emspo.

Installation

Load your Python virtual environment then type the following commands for package installation

pip install sympy numpy psutil

# Optional: if you want to use the 'reduce_lp' method that prunes out 
# unreachable partitions using LP solvers
pip install pulp
pip install gurobipy    # If you have a license

# Move to the current directory and install xaddpy as a Python package
pip install -e .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xaddpy-0.1.0.tar.gz (32.9 kB view details)

Uploaded Source

File details

Details for the file xaddpy-0.1.0.tar.gz.

File metadata

  • Download URL: xaddpy-0.1.0.tar.gz
  • Upload date:
  • Size: 32.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.7

File hashes

Hashes for xaddpy-0.1.0.tar.gz
Algorithm Hash digest
SHA256 65976941d74de9e1a66c971db643d24c5b518549975e8fa96dd364ef81b49153
MD5 d2e8e445008d4db743fb52c6c1990f94
BLAKE2b-256 e6e8b897e147e5c464ab6c99f06e2bb2e253e10875408af1e11ec71804e5307d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page