Skip to content

Tutorial 04 Quantum Variational Algorithms

Mohammadreza Khellat edited this page Dec 16, 2025 · 1 revision

Tutorial 04: Quantum Variational Algorithms

QUBO and Variational Quantum Eigensolvers (VQE) for optimization problems.


Overview

This tutorial demonstrates the formulation of Quadratic Unconstrained Binary Optimization (QUBO) problems as ground state problems and their solution using Variational Quantum Eigensolvers (VQE). You'll implement a VQE solver for the Max-Cut problem using Qiskit's EfficientSU2 ansatz and GSLS optimizer.

Location: quantum_variational_algorithms/
Notebook: VA0_qubo_and_vqe.ipynb
Framework: Qiskit
Difficulty: 🟡 Intermediate
Estimated Time: 3-4 hours


Learning Objectives

By completing this tutorial, you will be able to:

  1. Formulate QUBO problems as ground state problems
  2. Implement VQE using Qiskit framework
  3. Solve optimization problems using quantum algorithms
  4. Use EfficientSU2 ansatz and GSLS optimizer
  5. Apply quantum algorithms to Max-Cut problem

Prerequisites

Required Knowledge

  • Variational Quantum Algorithms:

    • Understanding of VQE basics
    • Parameterized quantum circuits
    • Expectation value minimization
  • Optimization Theory:

    • Objective functions
    • Optimization algorithms
    • Convergence criteria
  • QUBO Problems:

    • Quadratic Unconstrained Binary Optimization
    • Problem formulation
    • Max-Cut problem (helpful)
  • Graph Theory:

    • Basic graph concepts (for Max-Cut application)
    • Vertices and edges

Recommended Background

  • Tutorial 01: Variational optimization experience
  • Qiskit: Basic Qiskit knowledge (helpful but tutorial is self-contained)
  • Quantum Optimization: Understanding of quantum optimization applications

Prior Tutorials

  • Recommended: Tutorial 01 (Minimize Expectation Value)
  • Foundation for: Advanced optimization applications
  • Builds on: Variational quantum circuit concepts

Theory

Variational Quantum Eigensolver (VQE)

VQE is a hybrid quantum-classical algorithm for finding the ground state energy of a Hamiltonian:

  1. Prepare Parameterized State: $| \psi(\theta) \rangle$ using ansatz
  2. Measure Expectation Value: $\langle \psi(\theta) | H | \psi(\theta) \rangle$
  3. Optimize Parameters: $\min_\theta \langle \psi(\theta) | H | \psi(\theta) \rangle$
  4. Iterate: Until convergence

QUBO Problems

Quadratic Unconstrained Binary Optimization problems have the form:

$$\min_{x \in {0,1}^n} \sum_{i,j} Q_{ij} x_i x_j + \sum_i c_i x_i$$

where:

  • $x_i \in {0,1}$ are binary variables
  • $Q_{ij}$ is the quadratic coefficient matrix
  • $c_i$ are linear coefficients

QUBO as Ground State Problem

QUBO problems can be formulated as finding the ground state of an Ising Hamiltonian:

$$H = \sum_{i,j} J_{ij} Z_i Z_j + \sum_i h_i Z_i$$

where $Z_i$ are Pauli-Z operators.

Max-Cut Problem

The Max-Cut problem:

  • Given: An undirected graph $G = (V, E)$
  • Goal: Partition vertices into two sets to maximize edges between sets
  • QUBO Formulation: Can be expressed as a QUBO problem
  • VQE Application: Solve using variational quantum eigensolver

EfficientSU2 Ansatz

  • Structure: Hardware-efficient ansatz with single-qubit rotations and entangling gates
  • Expressivity: Can represent a wide variety of quantum states
  • Efficiency: Optimized for near-term quantum hardware

GSLS Optimizer

  • Type: Gradient-free optimizer
  • Method: Global search with local search refinement
  • Advantages: Robust to noise, good for quantum optimization

Implementation

High-Level Approach

The implementation consists of:

  1. Problem Formulation: Define QUBO problem (Max-Cut example)
  2. Hamiltonian Construction: Convert QUBO to Ising Hamiltonian
  3. Ansatz Selection: Choose EfficientSU2 ansatz
  4. Optimizer Setup: Configure GSLS optimizer
  5. VQE Execution: Run variational optimization
  6. Result Analysis: Extract solution and verify

Key Components

QUBO to Hamiltonian

  • Convert QUBO coefficients to Ising Hamiltonian terms
  • Map binary variables to Pauli-Z operators
  • Construct quantum operator representation

VQE Setup

  • Ansatz: EfficientSU2 with appropriate number of qubits and layers
  • Optimizer: GSLS with convergence criteria
  • Initial Parameters: Random or specified initial values

Optimization Loop

  • Evaluate expectation value
  • Update parameters using optimizer
  • Check convergence
  • Return optimized state and energy

Software Architecture

The notebook uses Qiskit to:

  • Formulate QUBO problems
  • Construct quantum Hamiltonians
  • Implement VQE algorithm
  • Optimize and analyze results

Software Requirements

The following Python packages are required:

  • numpy - Numerical operations
  • qiskit - Quantum circuit construction and VQE implementation
  • qiskit-optimization - QUBO problem formulation

Installation:

The numpy package is included in the top-level requirements.txt. The Qiskit packages (qiskit and qiskit-optimization) are optional dependencies that will be automatically installed by the notebook if not already present.

Manual Installation:

pip install qiskit qiskit-optimization

Automatic Installation: The notebook will handle installation automatically when executed if packages are missing.


Running the Tutorial

Step 1: Navigate to the Tutorial Directory

cd quantum_variational_algorithms

Step 2: Open the Notebook

jupyter notebook VA0_qubo_and_vqe.ipynb

Or in JupyterLab:

jupyter lab VA0_qubo_and_vqe.ipynb

Step 3: Execute the Notebook

  1. Review QUBO formulation - Understand problem structure
  2. Examine Hamiltonian construction - See QUBO to Ising conversion
  3. Study VQE setup - Understand ansatz and optimizer
  4. Run optimization - Execute VQE algorithm
  5. Analyze results - Extract solution and verify

Step 4: Experiment (Optional)

  • Try different QUBO problems
  • Modify ansatz parameters (layers, entanglement)
  • Experiment with different optimizers
  • Test on different graph structures (for Max-Cut)

Expected Results

Outputs

  1. Optimization Results:

    • Optimized parameters
    • Ground state energy
    • Convergence information
    • Number of iterations
  2. Solution:

    • Binary variable assignments (for QUBO)
    • Max-Cut partition (for Max-Cut problem)
    • Objective function value
  3. Understanding:

    • How QUBO problems map to quantum Hamiltonians
    • VQE workflow and optimization
    • Application to real optimization problems

Key Takeaways

  • QUBO problems can be solved using quantum algorithms
  • VQE is effective for finding ground states
  • EfficientSU2 ansatz is suitable for optimization
  • Quantum algorithms can tackle classical optimization problems

Troubleshooting

Issue: Qiskit Import Errors

Solution:

  • Install Qiskit: pip install qiskit qiskit-optimization
  • Check Qiskit version: python -c "import qiskit; print(qiskit.__version__)"
  • Update if needed: pip install --upgrade qiskit qiskit-optimization

Issue: Optimization Not Converging

Solution:

  • Increase maximum iterations
  • Adjust optimizer parameters
  • Try different initial parameter values
  • Check problem formulation (ensure it's well-posed)
  • Consider different ansatz structures

Issue: Slow Execution

Solution:

  • Reduce number of shots (if using hardware/simulator with shots)
  • Use faster simulator backend
  • Reduce ansatz depth (fewer layers)
  • Optimize for smaller problem sizes initially

Issue: Understanding QUBO Formulation

Solution:

  • Review QUBO problem structure
  • Study Max-Cut problem formulation
  • Understand Ising Hamiltonian mapping
  • See Theory and Background for optimization theory

Issue: VQE Results Interpretation

Solution:

  • Understand what ground state energy represents
  • Verify solution satisfies constraints
  • Compare with classical solutions (if available)
  • Check convergence criteria

Further Reading

Related Papers

  • VQE Original: Peruzzo et al., "A variational eigenvalue solver on a photonic quantum processor"
  • QUBO Applications: Various optimization problem papers
  • Max-Cut: Goemans-Williamson algorithm and quantum approaches
  • See Academic Resources for more references

Related Tutorials

  • Tutorial 01 - Minimize Expectation Value: Foundation for variational optimization
  • Tutorial 02 - Quantum Walk: Graph-based algorithms
  • Tutorial 05 - Coupled Harmonic Oscillators: Advanced quantum simulation

External Resources

Advanced Topics

  • QAOA (Quantum Approximate Optimization Algorithm)
  • Different ansatz structures
  • Error mitigation techniques
  • Hardware-specific optimizations

Contributors

  • Mohammadreza Khellat - Primary author and maintainer

For questions or contributions, see the Contributing Guide.


Summary

This tutorial demonstrates quantum variational algorithms for optimization. You've learned:

✅ How to formulate QUBO problems as ground state problems
✅ How to implement VQE using Qiskit
✅ How to solve optimization problems with quantum algorithms
✅ Application to Max-Cut problem

Next Steps:

  • Explore other QUBO problems
  • Try QAOA for comparison
  • Experiment with different ansatz structures
  • Review Framework Guide for Qiskit details
  • Consider Tutorial 05 for advanced quantum simulation

Return to: Tutorial Catalog | Home

Clone this wiki locally