Skip to content
This repository has been archived by the owner on Nov 16, 2023. It is now read-only.

Implement "implicit" solve(problem) interface, able to generate encoding on the fly #9

Open
garrison opened this issue May 6, 2022 · 0 comments · May be fixed by #13
Open

Implement "implicit" solve(problem) interface, able to generate encoding on the fly #9

garrison opened this issue May 6, 2022 · 0 comments · May be fixed by #13
Labels
enhancement New feature or request optimizer QuantumRandomAccessOptimizer

Comments

@garrison
Copy link
Member

garrison commented May 6, 2022

What is the expected enhancement?

The typical interface in Qiskit Optimzation for performing a quantum optimization is the OptimizationAlgorithm.solve(problem: QuadraticProgram) method. However, a lot happens "underneath the hood" when calling this, and when developing this prototype, we wanted to give users a bit more control over and understanding of what is happening. For instance, if one simply calls this method, they have no way of knowing beforehand how many qubits are necessary for the computation, so they won't know if it can run on a given piece of hardware until they try. So, we provided a more "explicit" interface, where the user must construct the QuantumRandomAccessEncoding explicitly, encode() it with a QuadraticProgram, and then pass it when constructing the optimizer.

However, it would be nice to implement the standard, implicit interface as well. One benefit is that users would then be able to use QRAO with the ADMM optimizer (and we should add a test case for this, once it becomes possible). Another benefit is that it is a prerequisite in case we want to enable the implicit conversion of any convertible QuadraticProgram into a QUBO (#10), just as the other optimization algorithms permit.

Potentially related: qiskit-community/qiskit-optimization#325, if it results in a more general overhaul of the solve() interface.

@garrison garrison changed the title Implement " Implement "implicit" solve(problem) interface, able to generate encoding on the fly May 6, 2022
@garrison garrison added enhancement New feature or request optimizer QuantumRandomAccessOptimizer labels May 6, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request optimizer QuantumRandomAccessOptimizer
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant