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 xaddpy

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

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.3.tar.gz (33.1 kB view details)

Uploaded Source

Built Distribution

xaddpy-0.1.3-py3-none-any.whl (35.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for xaddpy-0.1.3.tar.gz
Algorithm Hash digest
SHA256 9769acc9b9df67f5560f52c628ad186e4284ecf7624a8f51b70ba8a55fb992d4
MD5 3f128b5bc34326137aa037037f8f6202
BLAKE2b-256 f688c2e3d938fef1ad7c2a04684811cd3a3cb62c583b3beb6eb9be6623f32439

See more details on using hashes here.

File details

Details for the file xaddpy-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: xaddpy-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 35.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for xaddpy-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 08e25a3e24ef28f214213b99188dbea23f7272c1cd424ce58c8668110114e046
MD5 404257c2ca3db1f801246e4aa2ee7ff4
BLAKE2b-256 4348e0edd7cba0c2647b04bce3e43c561b193c39bfa217c37f1a9f93ea505b53

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