class QAOAProgram(optimizer=None, reps=1, initial_state=None, mixer=None, initial_point=None, provider=None, backend=None, shots=1024, measurement_error_mitigation=False, callback=None, store_intermediate=False)[source]

Bases: qiskit_optimization.runtime.vqe_program.VQEProgram

The Qiskit Optimization QAOA Quantum Program.

  • optimizer (Union[Optimizer, Dict[str, Any], None]) – An optimizer or dictionary specifying a classical optimizer. If a dictionary, only SPSA and QN-SPSA are supported. The dictionary must contain a key name for the name of the optimizer and may contain additional keys for the settings. E.g. {'name': 'SPSA', 'maxiter': 100}. Per default, SPSA is used.

  • reps (int) – the integer parameter \(p\) as specified in https://arxiv.org/abs/1411.4028, Has a minimum valid value of 1.

  • initial_state (Optional[QuantumCircuit]) – An optional initial state to prepend the QAOA circuit with

  • mixer (Union[QuantumCircuit, OperatorBase, None]) – the mixer Hamiltonian to evolve with or a custom quantum circuit. Allows support of optimizations in constrained subspaces as per https://arxiv.org/abs/1709.03489 as well as warm-starting the optimization as introduced in http://arxiv.org/abs/2009.10095.

  • initial_point (Optional[ndarray]) – An optional initial point (i.e. initial parameter values) for the optimizer. If None a random vector is used.

  • provider (Optional[Provider]) – The provider.

  • backend (Optional[Backend]) – The backend to run the circuits on.

  • shots (int) – The number of shots to be used

  • measurement_error_mitigation (bool) – Whether or not to use measurement error mitigation.

  • callback (Optional[Callable[[int, ndarray, float, float], None]]) – a callback that can access the intermediate data during the optimization. Four parameter values are passed to the callback as follows during each evaluation by the optimizer for its current set of parameters as it works towards the minimum. These are: the evaluation count, the optimizer parameters for the ansatz, the evaluated mean and the evaluated standard deviation.

  • store_intermediate (bool) – Whether or not to store intermediate values of the optimization steps. Per default False.



Return the ansatz.


Returns: Returns the initial state.


Returns: Returns the mixer.


Returns: Returns the reps.


compute_minimum_eigenvalue(operator[, …])

Calls the VQE Runtime to approximate the ground state of the given operator.