Skip to main content

No project description provided

Project description

pyaimopt: Python Wrapper for the AIM optimization service

pyaimopt is a package that provides access to the Analog Iterative Machine (AIM) optimization service. The AIM optimizer accepts problems in the quadratic unconstrained mixed optimization (QUMO) format. The QUMO format is a generalization of the quadratic unconstrained binary optimization (QUBO) format, and allows for the optimization of continuous variables in addition to binary variables. The AIM optimizer is a stochastic optimization algorithm that uses a combination of gradient descent and annealing to find the global minimum of a given objective function. In addition to QUMO and QUBO problems, the AIM optimizer can also be used to solve MaxCut and Ising problems.

Build Status Coverage Status License: MS-PL PyPI version

Table of Contents

Prerequisites

The package requires Python 3.10 or higher. It is recommended to use a virtual environment to install the package.

Installation

To install pyaimopt, simply use pip:

pip install pyaimopt -i https://msr-optics.pkgs.visualstudio.com/OpticalCompute/_packaging/OpticalCompute/pypi/simple/

You can check successful installation by running the following command:

aim status

It should return the version of the installed package and the status of the AIM service.

TODO: Example with passing the API key.

Authentication and API Keys

TODO: Add instructions on how to get an API key. This should be done by the AIM team.

TODO: Explain how to pass the API key to the package.

TODO: Explain alternative authentication methods.

Usage Examples

To get started, you can use the following commands to submit a simple QUMO problem to the AIM optimizer, check the status of the submitted problem, and retrieve the results.

aim submit
# This returns: "Submitted job <job_id>"
aim list
# The output should contain the <job_id> of the submitted job and its status
# Upon completion, the status should be "Completed"
aim retrieve <job_id>
# This returns the results of the optimization

TODO: Add example of submitting a simple QUMO problem using the synchronous interface.

TODO: Add example of using the asynchronous interface.

TODO: Mention the GitHub repository that contains examples.

Documentation

TODO: Add a link to the documentation.

Contributing

Contributions are welcome!

TODO: Add instructions on how to contribute examples.

TODO: Add instructions on how to report bugs, and propose new features.

TODO: Add instructions on how to suggest changes to the solver.

License

This package is released under the MS-PL License. See the LICENSE file for more information.

The package depends on a number of external packages. The list of those packages and their corresponding licences can be found in the NOTICE.html file.

Contact Information

For questions or comments related to the functionality or features of the AIM optimizer, please raise an issue on the AIM GitHub repository.

To get access to the service, please contact the AIM Team. At this point, the service is available to selected users only.

For further questions or comments, please contact the AIM Team.

TODO: Add a link to the Issues page.

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

pyaimopt-0.7.4.tar.gz (75.6 kB view hashes)

Uploaded Source

Built Distribution

pyaimopt-0.7.4-py3-none-any.whl (81.0 kB view hashes)

Uploaded Python 3

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