Metadata-Version: 2.4
Name: engioptiqa
Version: 0.4.0
Summary: Engineering Optimization with Quantum Annealing
Author-email: Fabian Key <fabian.key@tuwien.ac.at>
License-Expression: MIT
Project-URL: Homepage, https://github.com/EngiOptiQA/EngiOptiQA
Project-URL: Documentation, https://engioptiqa.github.io/EngiOptiQA/
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: amplify[extra]~=1.5
Requires-Dist: dwave-cloud-client~=0.14
Requires-Dist: dwave-samplers~=1.7
Requires-Dist: dwave-system~=1.34
Requires-Dist: matplot2tikz~=0.5
Requires-Dist: matplotlib~=3.10
Requires-Dist: mqss-pennylane-adapter
Requires-Dist: numpy~=2.0
Requires-Dist: openjij~=0.11
Requires-Dist: pennylane~=0.44
Requires-Dist: pennylane-lightning
Requires-Dist: prettytable~=3.17
Requires-Dist: qiskit<2
Requires-Dist: sympy~=1.14
Dynamic: license-file

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10222617.svg)](https://doi.org/10.5281/zenodo.10222617)
[![Test Examples](https://github.com/EngiOptiQA/EngiOptiQA/actions/workflows/test_examples.yml/badge.svg)](https://github.com/EngiOptiQA/EngiOptiQA/actions/workflows/test_examples.yml)
[![PyPI - Version](https://img.shields.io/pypi/v/engioptiqa)](https://pypi.org/project/engioptiqa/)

# EngiOptiQA: Engineering Optimization with Quantum Algorithms

**Please note:** _EngiOptiQA_ is currently in a very early stage of development. As the project progresses, documentation, additional features, and enhancements will be added.

## Overview
_EngiOptiQA_ is a Python software library dedicated to **Engi**neering **Opti**mization with **Q**uantum **A**lgorithms.
This project provides a set of tools to formulate engineering optimization problems suitable for quantum algorithms, including quantum annealing (QA) and variational quantum algorithms (VQAs) such as the quantum approximate optimization algorithm (QAOA).

A minimal documentation can be found under [https://engioptiqa.github.io/EngiOptiQA/](https://engioptiqa.github.io/EngiOptiQA/). To learn more about the background of _EngiOptiQA_ and the implemented problem formulations, please refer to the corresponding publication [[1]](#pub1).

## Citation

If you use _EngiOptiQA_ in your research or work, please consider citing it using the software's [DOI](https://zenodo.org/doi/10.5281/zenodo.10222617) and the corresponding publication [Key2024](#pub1).

## Quick Example

Run this example for the design optimization of a rod under self-weight loading presented in [Key2024](#pub1), Section 3.2, solved using *simulated annealing (SA)*:

```bash
pip install -r requirements.txt
python3 examples/structural/rod_1d/design_optimization_sa.py
```

The expected relative $H_1$ error for the force function of the best solution is approximately $1.59 \times 10^{-2}$:

```bash
Force:
   Rel. H1 error 1.5873e-02
```

## Funding

This research was funded in whole or in part by the Austrian Science Fund (FWF) [10.55776/ESP2444325](https://doi.org/10.55776/ESP2444325).

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## References
  1. <a name="pub1"></a>Key F, Freinberger L. A Formulation of Structural Design Optimization Problems for Quantum Annealing. Mathematics. 2024; 12(3):482. [https://doi.org/10.3390/math12030482](https://doi.org/10.3390/math12030482)
