Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
QuantRS2-Anneal: Comprehensive Quantum Annealing Framework
QuantRS2-Anneal is the premier quantum annealing module of the QuantRS2 quantum computing framework, providing comprehensive support for quantum annealing, optimization problems, and quantum-inspired algorithms.
Version 0.1.0-beta.2
This release features:
- Stable APIs for D-Wave, AWS Braket, and Fujitsu integrations
- Enhanced performance using SciRS2 v0.1.0-beta.3's parallel algorithms for large-scale optimization
- Improved minor graph embedding with refined SciRS2 graph algorithms
- Memory-efficient sparse matrix operations via SciRS2
π Quick Start
use ;
// Create and solve a simple Max-Cut problem
let mut model = new;
model.set_coupling?;
model.set_coupling?;
model.set_coupling?;
model.set_coupling?;
let simulator = new?;
let result = simulator.solve?;
println!;
println!;
π Key Features
Core Problem Formulations
- π Ising Models: Complete sparse matrix support with biases and couplings
- π― QUBO Formulations: Quadratic Unconstrained Binary Optimization with constraint handling
- ποΈ Problem Builder: Intuitive DSL for complex optimization problem construction
- π Format Conversion: Seamless conversion between Ising and QUBO representations
Quantum Annealing Simulators
- π‘οΈ Classical Annealing: Simulated annealing with configurable temperature schedules
- π Path Integral Monte Carlo: Quantum annealing simulation with tunneling effects
- π₯ Population Annealing: Parallel annealing with population-based sampling
- πͺ Coherent Ising Machine: Quantum-inspired optimization using coherent states
- π Non-Stoquastic Simulators: Support for non-stoquastic Hamiltonians
Cloud Quantum Hardware Integration
- π D-Wave Leap: Comprehensive client with auto-embedding and advanced parameters
- βοΈ AWS Braket: Full integration with cost tracking and device optimization
- πΎ Fujitsu DAU: Digital annealer unit integration for hybrid optimization
- π€ Hybrid Solvers: Classical-quantum hybrid algorithms for large-scale problems
Advanced Algorithms and Techniques
- πΊοΈ Graph Embedding: Minor graph embedding with optimization and layout algorithms
- βοΈ Penalty Optimization: Automatic constraint penalty weight optimization
- π Reverse Annealing: Advanced annealing schedules starting from known solutions
- π Flux Bias Optimization: Per-qubit flux bias tuning for enhanced performance
- π QAOA Integration: Bridge to variational quantum algorithms via circuit module
Specialized Applications
- β‘ Energy Systems: Power grid optimization, smart grid scheduling, renewable integration
- π° Finance: Portfolio optimization, risk management, algorithmic trading
- π₯ Healthcare: Drug discovery, treatment planning, resource allocation
- π¦ Logistics: Vehicle routing, supply chain optimization, warehouse management
- π Manufacturing: Production scheduling, quality control, resource allocation
- π‘ Telecommunications: Network optimization, spectrum allocation, routing protocols
Visualization and Analysis
- π Energy Landscapes: Interactive visualization of optimization energy surfaces
- π Performance Analytics: Comprehensive metrics, timing analysis, and benchmarking
- π¨ Solution Visualization: Graphical representation of optimization solutions
- π Convergence Analysis: Real-time monitoring of annealing convergence behavior
π¦ Installation
Add to your Cargo.toml:
[]
= "0.1.0-beta.3"
# Optional features for cloud integration
= { = "0.1.0-beta.3", = ["dwave", "braket", "fujitsu"] }
π― Feature Flags
default: Core functionality (Ising models, QUBO, classical simulators)dwave: D-Wave Leap cloud service integrationbraket: AWS Braket quantum computing platformfujitsu: Fujitsu Digital Annealer Unit integration
π Module Overview
Core Modules
| Module | Description | Key Features |
|---|---|---|
ising |
Ising model representation | Sparse matrices, efficient operations |
qubo |
QUBO formulation and constraints | Penalty methods, constraint handling |
simulator |
Classical annealing simulators | Multiple algorithms, configurable schedules |
dsl |
Problem construction DSL | Intuitive problem building syntax |
Advanced Algorithms
| Module | Description | Use Cases |
|---|---|---|
coherent_ising_machine |
Quantum-inspired optimization | Large-scale continuous optimization |
population_annealing |
Parallel population-based annealing | High-quality solution sampling |
reverse_annealing |
Reverse annealing schedules | Solution refinement and local search |
variational_quantum_annealing |
VQA-based optimization | Hybrid classical-quantum optimization |
Embedding and Optimization
| Module | Description | Applications |
|---|---|---|
embedding |
Minor graph embedding | Hardware topology mapping |
layout_embedding |
Layout-aware embedding | Optimized hardware utilization |
penalty_optimization |
Constraint penalty tuning | Enhanced solution quality |
compression |
Problem compression techniques | Large problem reduction |
Cloud Integration
| Module | Description | Capabilities |
|---|---|---|
dwave |
D-Wave Leap integration | QPU access, hybrid solvers, embedding |
braket |
AWS Braket integration | Multi-provider access, cost management |
fujitsu |
Fujitsu DAU integration | Digital annealer optimization |
Applications
| Module | Description | Domain Expertise |
|---|---|---|
applications::energy |
Energy system optimization | Grid operations, renewable integration |
applications::finance |
Financial optimization | Portfolio management, risk analysis |
applications::healthcare |
Healthcare optimization | Resource allocation, treatment planning |
applications::logistics |
Logistics and supply chain | Routing, scheduling, inventory |
π§ Usage Examples
1. Basic QUBO Problem with Constraints
use ;
// Portfolio optimization: select assets with target return and risk constraints
let mut qubo = new; // 10 assets
// Objective: minimize risk (maximize return)
let risk_matrix = vec!; // Simplified risk matrix
qubo.add_quadratic_objective?;
// Constraint: select exactly 5 assets
let selection = vec!;
qubo.add_constraint_eq?;
// Solve
let formulation = qubo.build?;
let ising_model = formulation.to_ising_model?;
let simulator = new?;
let result = simulator.solve?;
let portfolio = formulation.to_binary_solution?;
println!;
2. Advanced D-Wave Leap Integration
use ;
async
3. AWS Braket with Cost Management
use ;
async
4. Coherent Ising Machine for Large Problems
use ;
// Large-scale continuous optimization problem
let mut large_model = new;
// ... populate with problem data ...
let cim_params = CIMParams ;
let cim = new?;
let result = cim.solve?;
println!;
5. Multi-Objective Optimization
use ;
// Portfolio optimization with multiple objectives: return, risk, diversity
let mut optimizer = new;
// Add objectives with weights
optimizer.add_objective?;
optimizer.add_objective?;
optimizer.add_objective?;
// Pareto frontier analysis
let pareto_solutions = optimizer.find_pareto_frontier?;
for solution in &pareto_solutions
6. Energy System Optimization
use ;
// Smart grid optimization with renewable integration
let grid_config = GridConstraints ;
let renewable_config = RenewableIntegration ;
let optimizer = new?;
let schedule = optimizer.optimize_24_hour_schedule?;
println!;
for in schedule.generation_schedule.iter.enumerate
π§ͺ Testing and Benchmarking
The framework includes comprehensive testing and benchmarking capabilities:
use ;
// Run performance benchmarks
let mut benchmark = new;
benchmark.add_algorithm;
benchmark.add_algorithm;
benchmark.add_algorithm;
let results = benchmark.run_all_benchmarks?;
results.print_comparison_report;
// Run integration tests
let test_suite = new;
let test_results = test_suite.run_all_tests?;
println!;
π Visualization
use ;
// Visualize energy landscape
let visualizer = new?;
visualizer.plot_2d_projection?;
// Analyze solution quality
let solution_viz = new;
solution_viz.plot_energy_histogram?;
// Monitor convergence
let convergence = new;
convergence.plot_convergence_curve?;
π Integration with QuantRS2 Ecosystem
QuantRS2-Anneal integrates seamlessly with other QuantRS2 modules:
- quantrs2-core: Shared types, error handling, and utilities
- quantrs2-circuit: QAOA bridge for variational quantum algorithms
- quantrs2-ml: Quantum machine learning integration
- quantrs2-sim: Advanced quantum simulation backends
π Performance Characteristics
| Algorithm | Problem Size | Time Complexity | Memory Usage | Best Use Case |
|---|---|---|---|---|
| Classical Annealing | < 10,000 vars | O(nΒ²Β·t) | O(nΒ²) | General optimization |
| Population Annealing | < 1,000 vars | O(pΒ·nΒ²Β·t) | O(pΒ·n) | High-quality sampling |
| Coherent Ising Machine | < 100,000 vars | O(nΒ·t) | O(n) | Large continuous problems |
| D-Wave QPU | < 5,000 qubits | Constant | Cloud | Real quantum annealing |
| AWS Braket | < 30 qubits | Variable | Cloud | Multi-vendor quantum access |
| Hybrid Solvers | > 10,000 vars | O(nΒ·log(n)Β·t) | Cloud | Very large problems |
π Documentation
- API Documentation
- D-Wave Leap Client Guide
- AWS Braket Client Guide
- Embedding Algorithms Guide
- Application Tutorials
- Performance Optimization
π οΈ Examples
Comprehensive examples are available in the examples/ directory:
- Basic Usage:
simple_penalty_optimization.rs,advanced_embedding.rs - Cloud Integration:
dwave_leap_client_example.rs,aws_braket_client_example.rs - Advanced Algorithms:
coherent_ising_machine_example.rs,population_annealing_example.rs - Applications:
energy_optimization.rs,portfolio_optimization.rs - Visualization:
energy_landscape_visualization.rs
π€ Contributing
We welcome contributions! Please see our Contributing Guide for details.
π License
This project is licensed under either:
at your option.
π¬ Research and Citations
If you use QuantRS2-Anneal in your research, please cite:
π Ready to solve optimization problems with quantum annealing? Check out our Quick Start Guide and Examples!