3
$\begingroup$

I read Qiskit quantum admm on this website.

I doubt whether this Qiskit ADMM algorithm can run on a quantum computer. The code did import packages from Qiskit, but it doesn't create any quantum circuit.

$\endgroup$
4
$\begingroup$

The ADMM optimizer is a classical optimizer that will be execute on the classical computer.

Nowadays, because of the limitation of the hardware, we see a lot of hybrid quantum-classical algorithms. In particular, Variational algorithms. These algorithms relies on the variational principle.

enter image description here

Hence, part of the algorithm require a classical computer doing some optimization, for instance, running ADMM optimizer over some cost function. Thus, this is not being done on a quantum computer but rather being executed on a classical computer.

$\endgroup$
  • $\begingroup$ Thanks. I focus on the part updating dual variables/multipliers in ADMM. Is the part updating dual variables executed on a quantum or a classical computer? $\endgroup$ – user14153 Dec 13 '20 at 20:29
  • 1
    $\begingroup$ I am not familiar with ADMM optimizer but what I can say is that the quantum computer only being used to execute the circuit you tells it to run. Everything else is being done classically. You start with some circuit with some parameters, these parameters will be updated through a classical optimizer in order to minimize the cost function you defined, and it will submit a new circuit with updated parameters to the quantum computer for another run. The quantum computer doesn't do anything other than evaluating the given quantum circuit and return the value it found. $\endgroup$ – KAJ226 Dec 13 '20 at 20:55
2
$\begingroup$

ADMN optimizer is used for functions having shape $$ f(x,y) = q(x) + \varphi(y), $$ where $q(x)$ is quadratic function with binary variables and $\varphi(x)$ is convex continuous function.

For optimization of $\varphi(y)$ a classical optimization method is used while $q(x)$ can be optimized with a quantum optimizer (VQE, QAOA) or a classical one. Hence you can see that the algorithm can be hybrid or purely classical, it depends on algorithms you choose for optimizing $f(x,y)$.

When you start the optimization in Qiskit, try to log to your IBM Q Experience account where you can check if a quantum circuit was prepared and sent to IBM Q.

Here a part of code based on Qiskit Tutorial when you can see how to use QAOA in ADMN optimization. Please note that this code run on a state vector simulator. To run it on real quantum hardware, you have to change the backend.

# classical optimizer for phi function
cobyla=CobylaOptimizer()
# QAOA for q function
qaoa=MinimumEigenOptimizer(QAOA(quantum_instance=BasicAer.get_backend('statevector_simulator')))

qubo_optimizer = qaoa
convex_optimizer= cobyla

# initialize ADMM with classical QUBO and convex optimizer
admm=ADMMOptimizer(params=admm_params,qubo_optimizer=qubo_optimizer,continuous_optimizer=convex_optimizer)
$\endgroup$
  • $\begingroup$ I agree with what you said. But my question is that ADMM is run on a classical or quantum computer. ADMM partitions f(x,y) into two subproblems, f(x), and \phi(y). ADMM just needs to update the dual variable (multiplier) and ancillary variables based on solution (x,y) from solvers, like quantum optimizer or classical optimizer. My question is that the part updating dual and ancillary variables is run on a quantum computer or a classical computer. I am not interested in the part optimizing q(x) and \phi(y) $\endgroup$ – user14153 Dec 13 '20 at 16:57
  • $\begingroup$ @user14153: It should run on the quantum computer if you use quantum optimizer and set backend to be real quantum processor. As I mentioned, you can check in your IBM Q account if a circuit is created after starting your job. If this is not case, try to contact IBM Q support for explanation. $\endgroup$ – Martin Vesely Dec 14 '20 at 14:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.