quantrs2_anneal/
lib.rs

1#![allow(dead_code)]
2#![allow(clippy::all)]
3#![allow(clippy::pedantic)]
4#![allow(clippy::nursery)]
5#![allow(clippy::restriction)]
6#![allow(unused_imports)]
7#![allow(unused_variables)]
8#![allow(unused_mut)]
9#![allow(unused_assignments)]
10#![allow(unexpected_cfgs)]
11#![allow(deprecated)]
12#![allow(ambiguous_glob_reexports)]
13#![allow(non_camel_case_types)]
14#![allow(hidden_glob_reexports)]
15#![allow(noop_method_call)]
16#![allow(unused_must_use)]
17#![allow(non_snake_case)]
18
19//! Quantum annealing support for the `QuantRS2` framework.
20//!
21//! This crate provides types and functions for quantum annealing,
22//! including Ising model representation, QUBO problem formulation,
23//! simulated quantum annealing, and cloud quantum annealing services.
24//!
25//! # Features
26//!
27//! - Ising model representation with biases and couplings
28//! - QUBO problem formulation with constraints
29//! - Simulated quantum annealing using path integral Monte Carlo
30//! - Classical simulated annealing using Metropolis algorithm
31//! - D-Wave API client for connecting to quantum annealing hardware
32//! - AWS Braket client for accessing Amazon's quantum computing services
33//!
34//! ## Recent Updates (v0.1.2)
35//!
36//! - Enhanced performance using `SciRS2 v0.1.2 Stable Release's parallel algorithms
37//! - Improved minor graph embedding with refined `SciRS2` graph algorithms
38//! - Memory-efficient sparse matrix operations via `SciRS2`
39//! - Stable APIs for D-Wave, AWS Braket, and Fujitsu integrations
40//!
41//! # Example
42//!
43//! ```rust
44//! use quantrs2_anneal::{
45//!     ising::IsingModel,
46//!     simulator::{ClassicalAnnealingSimulator, AnnealingParams}
47//! };
48//!
49//! // Create a simple 3-qubit Ising model
50//! let mut model = IsingModel::new(3);
51//! model.set_bias(0, 1.0).unwrap();
52//! model.set_coupling(0, 1, -1.0).unwrap();
53//!
54//! // Configure annealing parameters
55//! let mut params = AnnealingParams::new();
56//! params.num_sweeps = 1000;
57//! params.num_repetitions = 10;
58//!
59//! // Create an annealing simulator and solve the model
60//! let simulator = ClassicalAnnealingSimulator::new(params).unwrap();
61//! let result = simulator.solve(&model).unwrap();
62//!
63//! println!("Best energy: {}", result.best_energy);
64//! println!("Best solution: {:?}", result.best_spins);
65//! ```
66
67// Export modules
68pub mod active_learning_decomposition;
69pub mod adaptive_constraint_handling;
70// Temporarily enabled to fix compilation errors
71pub mod adaptive_schedules;
72pub mod advanced_meta_optimizer;
73pub mod advanced_quantum_algorithms;
74pub mod advanced_testing_framework;
75pub mod applications;
76pub mod bayesian_hyperopt;
77pub mod braket;
78pub mod chain_break;
79pub mod climate_modeling_optimization;
80pub mod coherent_ising_machine;
81pub mod comprehensive_integration_testing;
82pub mod compression;
83pub mod continuous_variable;
84pub mod csp_compiler;
85pub mod dsl;
86pub mod dwave;
87// Temporarily enabled to fix compilation errors
88pub mod dynamic_topology_reconfiguration;
89pub mod embedding;
90pub mod enterprise_monitoring;
91pub mod flux_bias;
92#[cfg(feature = "fujitsu")]
93pub mod fujitsu;
94pub mod hardware_compilation;
95pub mod heterogeneous_hybrid_engine;
96pub mod hobo;
97pub mod hybrid_solvers;
98pub mod ising;
99pub mod layout_embedding;
100pub mod meta_learning;
101pub mod meta_learning_optimization;
102pub mod multi_chip_embedding;
103pub mod multi_objective;
104pub mod neural_annealing_schedules;
105pub mod non_stoquastic;
106pub mod partitioning;
107pub mod penalty_optimization;
108pub mod photonic_annealing;
109pub mod population_annealing;
110pub mod problem_schedules;
111pub mod qaoa;
112// Temporarily enabled to fix compilation errors
113pub mod qaoa_anneal_bridge;
114pub mod qaoa_circuit_bridge;
115pub mod quantum_advantage_demonstration;
116pub mod quantum_boltzmann_machine;
117pub mod quantum_error_correction;
118pub mod quantum_machine_learning;
119pub mod quantum_walk;
120pub mod qubo;
121pub mod qubo_decomposition;
122pub mod realtime_adaptive_qec;
123pub mod realtime_hardware_monitoring;
124pub mod reverse_annealing;
125pub mod rl_embedding_optimizer;
126pub mod scientific_performance_optimization;
127pub mod scirs2_integration;
128pub mod simulator;
129pub mod solution_clustering;
130pub mod universal_annealing_compiler;
131pub mod variational_quantum_annealing;
132pub mod visualization;
133
134// Re-export key types for convenience
135pub use active_learning_decomposition::{
136    ActiveLearningConfig, ActiveLearningDecomposer, BoundaryEdge, DecompositionMetadata,
137    DecompositionResult, DecompositionStrategy as ActiveDecompositionStrategy, ProblemAnalysis,
138    Subproblem, SubproblemMetadata,
139};
140pub use adaptive_constraint_handling::{
141    AdaptiveConstraintConfig, AdaptiveConstraintHandler, Constraint as AdaptiveConstraint,
142    ConstraintPriority, ConstraintStatistics, ConstraintType as AdaptiveConstraintType,
143    PenaltyStrategy, RelaxationStrategy, ViolationRecord,
144};
145pub use adaptive_schedules::{
146    AdaptiveScheduleError, AdaptiveScheduleResult, CouplingStatistics, LandscapeFeatures,
147    NeuralAnnealingScheduler as AdaptiveNeuralScheduler,
148    PerformanceMetrics as AdaptivePerformanceMetrics, PerformancePoint, PerformanceStatistics,
149    ProblemContext, ProblemFeatures as AdaptiveProblemFeatures, ProblemType as AdaptiveProblemType,
150    RLAgentConfig, RLStats, ScheduleParameters, SchedulePredictionNetwork, ScheduleRLAgent,
151    ScheduleType, SchedulerConfig, TrainingHistory as AdaptiveTrainingHistory,
152};
153pub use advanced_quantum_algorithms::{
154    create_custom_infinite_qaoa, create_custom_zeno_annealer, create_infinite_qaoa_optimizer,
155    create_quantum_zeno_annealer, AdiabaticShortcutsOptimizer, AdvancedQuantumError,
156    AdvancedQuantumResult, ControlOptimizationMethod, ConvergenceMetrics,
157    CounterdiabaticApproximation, CounterdiabaticConfig, CounterdiabaticDrivingOptimizer,
158    CounterdiabaticMetrics, DepthIncrementStrategy, InfiniteDepthQAOA, InfiniteQAOAConfig,
159    InfiniteQAOAStats, ParameterInitializationMethod, QuantumZenoAnnealer, ShortcutMethod,
160    ShortcutsConfig, ShortcutsPerformanceStats, ZenoAdaptiveStrategy, ZenoConfig,
161    ZenoPerformanceMetrics, ZenoSubspaceProjection,
162};
163pub use applications::{
164    create_benchmark_suite, energy, finance, generate_performance_report, healthcare, logistics,
165    manufacturing,
166    quantum_computational_chemistry::{
167        create_example_molecular_systems, BasisSet, CatalysisOptimization,
168        ElectronicStructureMethod, MolecularSystem, QuantumChemistryConfig,
169        QuantumChemistryOptimizer, QuantumChemistryResult,
170    },
171    telecommunications, transportation, validate_constraints, ApplicationError, ApplicationResult,
172    Benchmarkable, IndustryConstraint, IndustryObjective, IndustrySolution, OptimizationProblem,
173    ProblemCategory as ApplicationProblemCategory,
174};
175pub use bayesian_hyperopt::{
176    create_annealing_parameter_space, create_bayesian_optimizer, create_custom_bayesian_optimizer,
177    AcquisitionFunction, AcquisitionFunctionType, BayesianHyperoptimizer, BayesianOptConfig,
178    BayesianOptError, BayesianOptMetrics, BayesianOptResult, ConstraintHandlingMethod,
179    GaussianProcessSurrogate, KernelFunction, ObjectiveFunction, OptimizationHistory, Parameter,
180    ParameterBounds, ParameterSpace, ParameterType, ParameterValue, ScalarizationMethod,
181};
182pub use braket::{
183    is_available as is_braket_available, AdvancedAnnealingParams, BatchTaskResult, BraketClient,
184    BraketDevice, BraketError, BraketResult, CostTracker as BraketCostTracker, DeviceSelector,
185    DeviceStatus as BraketDeviceStatus, DeviceType, TaskMetrics, TaskResult, TaskStatus,
186};
187pub use chain_break::{
188    ChainBreakResolver, ChainBreakStats, ChainStrengthOptimizer, HardwareSolution, LogicalProblem,
189    ResolutionMethod, ResolvedSolution,
190};
191pub use climate_modeling_optimization::{
192    create_example_climate_optimizer, AtmosphericDynamicsOptimizer, AtmosphericTarget,
193    CarbonCycleOptimizer, ClimateModelingOptimizer, ClimateOptimizationConfig,
194    ClimateOptimizationResult, ClimateParameterSpace, ClimatePerformanceMetrics, ConvectionScheme,
195    CouplingMethod, EnergyBalanceOptimizer, GlobalClimateModel, LandSurfaceScheme,
196    OceanDynamicsOptimizer, OptimizationMethod, ParameterInfo, RadiationScheme,
197    UncertaintyEstimates, ValidationMetric, ValidationResults,
198};
199pub use coherent_ising_machine::{
200    create_low_noise_cim_config, create_realistic_cim_config, create_standard_cim_config,
201    CimConfig, CimError, CimPerformanceMetrics, CimResult, CimResults, CoherentIsingMachine,
202    Complex, ConvergenceConfig, MeasurementConfig, NetworkTopology, NoiseConfig, OpticalCoupling,
203    OpticalParametricOscillator, OpticalStatistics, PumpSchedule,
204};
205pub use comprehensive_integration_testing::{
206    create_example_integration_testing, BenchmarkConfig, ComponentIntegrationResults,
207    ComprehensiveIntegrationTesting, EnvironmentRequirements, ExpectedOutcomes,
208    FaultInjectionConfig, IntegrationTestCase, IntegrationTestConfig, IntegrationTestResult,
209    IntegrationValidationResult, PerformanceTestResult, StressTestConfig, StressTestResult,
210    SystemIntegrationResults, TestCategory, TestExecutionSpec, TestMetadata, TestPriority,
211    TestRegistry, TestStorageConfig, ValidationStatus as TestValidationStatus,
212};
213pub use compression::{
214    BlockDetector, CompressedQubo, CompressionStats, CooCompressor, ReductionMapping,
215    VariableReducer,
216};
217pub use continuous_variable::{
218    create_quadratic_problem, ContinuousAnnealingConfig, ContinuousConstraint,
219    ContinuousOptimizationProblem, ContinuousOptimizationStats, ContinuousSolution,
220    ContinuousVariable, ContinuousVariableAnnealer, ContinuousVariableError,
221    ContinuousVariableResult,
222};
223pub use csp_compiler::{
224    ComparisonOp, CompilationParams, CspCompilationInfo, CspConstraint, CspError, CspObjective,
225    CspProblem, CspResult, CspSolution, CspValue, CspVariable, Domain,
226};
227pub use dsl::{
228    patterns, BooleanExpression, Constraint, DslError, DslResult, Expression, ModelSummary,
229    Objective, ObjectiveDirection, OptimizationModel, Variable, VariableType, VariableVector,
230};
231pub use dwave::{
232    is_available as is_dwave_available,
233    AdvancedProblemParams,
234    AnnealingSchedule,
235    BatchSubmissionResult,
236    ChainStrengthMethod,
237    DWaveClient,
238    DWaveError,
239    DWaveResult,
240    EmbeddingConfig,
241    HybridSolverParams,
242    LeapSolverInfo,
243    ProblemInfo,
244    ProblemMetrics,
245    ProblemParams,
246    ProblemStatus,
247    SolverCategory,
248    SolverSelector,
249    // Enhanced Leap types
250    SolverType,
251};
252pub use dynamic_topology_reconfiguration::{
253    CouplerStatus, DynamicTopologyConfig, DynamicTopologyManager, EnvironmentalConditions,
254    HardwarePerformanceMetrics, HardwareState, HardwareStateMonitor, PerformanceImpact,
255    PredictedEvent, PredictionOutcome, QubitStatus, ReconfigurationDecision,
256    ReconfigurationStrategy, ReconfigurationTrigger, TopologyPredictionEngine,
257};
258pub use embedding::{Embedding, HardwareGraph, HardwareTopology, MinorMiner};
259pub use enterprise_monitoring::{
260    create_example_enterprise_monitoring, EnterpriseMonitoringConfig,
261    EnterpriseMonitoringDashboard, EnterpriseMonitoringSystem, LogLevel, SecurityEvent,
262    ServiceLevelObjective, ThreatLevel,
263};
264pub use flux_bias::{
265    CalibrationData, FluxBiasConfig, FluxBiasOptimizer, FluxBiasResult, MLFluxBiasOptimizer,
266};
267#[cfg(feature = "fujitsu")]
268pub use fujitsu::{
269    is_available as is_fujitsu_available, FujitsuAnnealingParams, FujitsuClient, FujitsuError,
270    FujitsuHardwareSpec, FujitsuResult, GuidanceConfig,
271};
272pub use hardware_compilation::{
273    create_chimera_target, create_ideal_target, CompilationResult, CompilationTarget,
274    CompilerConfig, ConnectivityPattern, CouplingUtilization, EmbeddingAlgorithm, EmbeddingInfo,
275    HardwareCharacteristics, HardwareCompilationError, HardwareCompilationResult, HardwareCompiler,
276    HardwareMapping, HardwareType, OptimizationObjective, ParallelizationStrategy,
277    PerformancePrediction, QubitAllocationStrategy, TopologyType,
278};
279pub use heterogeneous_hybrid_engine::{
280    create_example_hybrid_engine, ActiveExecution, ComputeResource, ConsensusAlgorithm,
281    ConsensusResult, CostTracker as HybridCostTracker, ExecutionMetadata, ExecutionPlan,
282    ExecutionStatus, ExecutionStrategy, GeographicConstraints, HeterogeneousHybridEngine,
283    HybridEngineConfig, HybridExecutionResult, HybridExecutionTask, HybridFaultToleranceConfig,
284    HybridMonitoringConfig, HybridPerformanceMonitor, HybridSystemMetrics, IndividualResult,
285    LoadBalancingDecisions, OptimizationSettings, PerformanceEntry, PerformanceRequirements,
286    ProblemComplexity, QualityAssessmentMethod, QualityAssessor, QualityMeasurement,
287    QualityRequirements, ResourceAllocationStrategy, ResourceAvailability, ResourceConnection,
288    ResourceConstraints, ResourceCost, ResourceMetrics, ResourcePerformance, ResourceRequirements,
289    ResourceScheduler, ResourceType, ResourceUtilization as HybridResourceUtilization,
290    ResourceWorkload, ResultAggregationStrategy, ResultAggregator, SchedulingDecision,
291    TaskPriority,
292};
293pub use hobo::{
294    AuxiliaryVariable, ConstraintViolations, HigherOrderTerm, HoboAnalyzer, HoboProblem, HoboStats,
295    QuboReduction, ReductionMethod, ReductionType,
296};
297pub use hybrid_solvers::{
298    HybridQuantumClassicalSolver, HybridSolverConfig, HybridSolverResult, VariationalHybridSolver,
299};
300pub use ising::{IsingError, IsingModel, IsingResult, QuboModel};
301pub use layout_embedding::{LayoutAwareEmbedder, LayoutConfig, LayoutStats, MultiLevelEmbedder};
302pub use meta_learning_optimization::{
303    create_meta_learning_optimizer, AdaptationMechanism, AlgorithmPerformanceStats,
304    AlgorithmType as MetaAlgorithmType, AlternativeStrategy, ApplicabilityConditions,
305    ArchitectureCandidate, ArchitectureSpec as MetaArchitectureSpec,
306    ConvergenceMetrics as MetaConvergenceMetrics, CrossValidationStrategy, DecisionMaker,
307    DomainCharacteristics, EvaluationMetric, ExperienceDatabase,
308    FeatureExtractor as MetaFeatureExtractor, FeatureVector, FrontierStatistics, FrontierUpdate,
309    GenerationMethod as MetaGenerationMethod, Knowledge, MetaLearner, MetaLearningAlgorithm,
310    MetaLearningConfig, MetaLearningOptimizer as MetaOptimizer, MetaLearningStatistics,
311    MetaOptimizationResult, ModelType, NeuralArchitectureSearch as MetaNAS,
312    OptimizationConfiguration as MetaOptimizationConfiguration, OptimizationExperience,
313    OptimizationResults as MetaOptimizationResults, ParetoFrontier as MetaParetoFrontier,
314    PerformanceEvaluator, PerformanceGuarantee, PerformancePredictor as MetaPerformancePredictor,
315    PerformanceRecord as MetaPerformanceRecord, ProblemDomain as MetaProblemDomain,
316    ProblemFeatures as MetaProblemFeatures, QualityMetrics as MetaQualityMetrics,
317    RecommendedStrategy, ResourceAllocation as MetaResourceAllocation,
318    ResourceRequirements as MetaResourceRequirements, ResourceUsage, SearchIteration,
319    SimilarityMethod, SimilarityMetric, SourceDomain, StatisticalTest, SuccessMetrics,
320    TrainingEpisode, TransferLearner as MetaTransferLearner, TransferRecord, TransferStrategy,
321    TransferableModel, UpdateReason, UserPreferences,
322};
323pub use multi_chip_embedding::{
324    create_example_multi_chip_system, ChipMetrics, ChipPerformance, ChipStatus, ChipWorkload,
325    CommunicationChannel as ChipCommunicationChannel, CommunicationProtocol, ConnectionStatus,
326    FaultToleranceConfig, LoadBalancer, LoadBalancingDecision, LoadBalancingStrategy, Message,
327    MessageType as ChipMessageType, MonitoringConfig as ChipMonitoringConfig, MultiChipConfig,
328    MultiChipCoordinator, PerformanceMonitor, PerformanceSnapshot, PerformanceThresholds,
329    ProblemPartition, QuantumChip, RecoveryStrategy,
330    ResourceUtilization as ChipResourceUtilization, SystemMetrics, WorkTransfer,
331};
332pub use multi_objective::{
333    MultiObjectiveError, MultiObjectiveFunction, MultiObjectiveOptimizer, MultiObjectiveResult,
334    MultiObjectiveResults, MultiObjectiveSolution, MultiObjectiveStats, QualityMetrics,
335};
336pub use neural_annealing_schedules::{
337    ActivationFunction, AnnealingSchedule as NeuralAnnealingSchedule, AttentionMechanism,
338    DatabaseStatistics, DenseLayer, FeatureExtractor as NeuralFeatureExtractor, GenerationMethod,
339    LearningRateSchedule, NetworkArchitecture, NeuralAnnealingScheduler, NeuralSchedulerConfig,
340    OptimizerType, PerformanceMetric, PerformanceRecord, PerformanceTarget, ProblemEncoderNetwork,
341    ScheduleConstraints, ScheduleDatabase, ScheduleGenerationNetwork, TrainingConfig,
342    TrainingManager, ValidationStatus as NeuralValidationStatus,
343};
344pub use non_stoquastic::{
345    create_frustrated_xy_triangle, create_tfxy_model, create_xy_chain, is_hamiltonian_stoquastic,
346    xy_to_ising_approximation, ComplexCoupling, ConvergenceInfo, HamiltonianType, InteractionType,
347    NonStoquasticError, NonStoquasticHamiltonian, NonStoquasticQMCConfig, NonStoquasticResult,
348    NonStoquasticResults, NonStoquasticSimulator, QMCStatistics,
349    QuantumState as NonStoquasticQuantumState, SignMitigationStrategy,
350};
351pub use partitioning::{
352    BipartitionMethod, KernighanLinPartitioner, Partition, RecursiveBisectionPartitioner,
353    SpectralPartitioner,
354};
355pub use penalty_optimization::{
356    AdvancedPenaltyOptimizer, Constraint as PenaltyConstraint, ConstraintPenaltyOptimizer,
357    ConstraintType, PenaltyConfig, PenaltyOptimizer, PenaltyStats,
358};
359pub use photonic_annealing::{
360    create_coherent_state_config, create_low_noise_config, create_measurement_based_config,
361    create_realistic_config, create_squeezed_state_config, create_temporal_multiplexing_config,
362    ConnectivityType, EvolutionHistory, InitialStateType, MeasurementOutcome, MeasurementStrategy,
363    MeasurementType, PhotonicAnnealer, PhotonicAnnealingConfig, PhotonicAnnealingResults,
364    PhotonicArchitecture, PhotonicComponent, PhotonicError, PhotonicMetrics, PhotonicResult,
365    PhotonicState, PumpPowerSchedule,
366};
367pub use population_annealing::{
368    EnergyStatistics, MpiConfig, PopulationAnnealingConfig, PopulationAnnealingError,
369    PopulationAnnealingSimulator, PopulationAnnealingSolution, PopulationMember,
370};
371pub use problem_schedules::{
372    AdaptiveScheduleOptimizer, ProblemSpecificScheduler, ProblemType, ScheduleTemplate,
373};
374pub use qaoa::{
375    create_constrained_qaoa_config, create_qaoa_plus_config, create_standard_qaoa_config,
376    create_warm_start_qaoa_config, MixerType as QaoaMixerType,
377    ParameterInitialization as QaoaParameterInitialization, ProblemEncoding, QaoaCircuit,
378    QaoaCircuitStats, QaoaClassicalOptimizer, QaoaConfig, QaoaError, QaoaLayer, QaoaOptimizer,
379    QaoaPerformanceMetrics, QaoaResult, QaoaResults, QaoaVariant, QuantumGate as QaoaQuantumGate,
380    QuantumState as QaoaQuantumState, QuantumStateStats,
381};
382pub use qaoa_anneal_bridge::{
383    create_example_max_cut_problem, BridgeConfig as QaoaBridgeConfig,
384    HybridOptimizationResult as QaoaHybridResult, MixingType, OptimizationStrategy as QaoaStrategy,
385    PerformanceMetrics as QaoaBridgeMetrics, ProblemFormulation,
386    ProblemMetadata as QaoaProblemMeta, QaoaAnnealBridge, QaoaClause,
387    QaoaParameters as QaoaBridgeParameters, QaoaProblem as QaoaBridgeProblem, UnifiedProblem,
388};
389pub use qaoa_circuit_bridge::{
390    create_qaoa_bridge_for_problem, qaoa_parameters_to_circuit_parameters,
391    validate_circuit_compatibility, BridgeError, BridgeResult, CircuitBridgeRepresentation,
392    CircuitCostEstimate, CircuitProblemRepresentation, EnhancedQaoaOptimizer, LinearTerm,
393    OptimizationLevel, OptimizationMetrics, ParameterReference, QaoaCircuitBridge, QuadraticTerm,
394};
395pub use quantum_advantage_demonstration::{
396    create_example_advantage_demonstrator, AdvantageCertification, AdvantageConfig,
397    AdvantageDemonstrationResult, AdvantageMetric, BenchmarkSuite, CertificationLevel,
398    ClassicalAlgorithm, ClassicalBaselineOptimizer, ProblemCategory as AdvantageProblemCategory,
399    QuantumAdvantageDemonstrator, QuantumDevice, QuantumPerformanceAnalyzer,
400    QuantumPerformanceMetrics, ResultsDatabase, StatisticalAnalyzer,
401};
402pub use quantum_boltzmann_machine::{
403    create_binary_rbm, create_gaussian_bernoulli_rbm, LayerConfig, QbmError, QbmInferenceResult,
404    QbmResult, QbmTrainingConfig, QbmTrainingStats, QuantumRestrictedBoltzmannMachine,
405    QuantumSamplingStats, TrainingSample, UnitType,
406};
407pub use quantum_error_correction::{
408    ErrorCorrectionCode, ErrorMitigationConfig, ErrorMitigationManager, LogicalAnnealingEncoder,
409    MitigationResult, MitigationTechnique, NoiseResilientAnnealingProtocol, QECConfig,
410    QuantumErrorCorrectionError, SyndromeDetector,
411};
412pub use quantum_machine_learning::{
413    create_binary_classifier, create_quantum_svm, create_zz_feature_map, evaluate_qml_model,
414    ActivationType, EntanglementType, Experience, FeatureMapType, KernelMethodType,
415    QAutoencoderConfig, QGanConfig, QGanTrainingHistory, QRLConfig, QRLStats, QmlError, QmlMetrics,
416    QmlResult, QnnConfig, QuantumAutoencoder, QuantumCircuit, QuantumFeatureMap, QuantumGAN,
417    QuantumGate as QmlQuantumGate, QuantumKernelMethod, QuantumLayer, QuantumNeuralLayer,
418    QuantumNeuralNetwork, QuantumRLAgent, TrainingHistory, TrainingSample as QmlTrainingSample,
419    VariationalQuantumClassifier, VqcConfig,
420};
421pub use quantum_walk::{
422    AdiabaticHamiltonian, CoinOperator, QuantumState as QuantumWalkState, QuantumWalkAlgorithm,
423    QuantumWalkConfig, QuantumWalkError, QuantumWalkOptimizer, QuantumWalkResult,
424};
425pub use qubo::{QuboBuilder, QuboError, QuboFormulation, QuboResult};
426pub use qubo_decomposition::{
427    DecomposedSolution, DecompositionConfig, DecompositionError, DecompositionStats,
428    DecompositionStrategy as QuboDecompositionStrategy, QuboDecomposer, SubProblem, SubSolution,
429};
430pub use realtime_adaptive_qec::{
431    create_example_adaptive_qec, AdaptationAction, AdaptationCondition, AdaptationDecision,
432    AdaptationRule, AdaptiveProtocol, AdaptiveProtocolManager, AdaptiveQecConfig,
433    AdaptiveQecMetrics, AdaptiveResourceManager, AdaptiveStrategyConfig, AnalysisAlgorithm,
434    AnalysisType, CommunicationChannel as QecCommunicationChannel, CommunicationStatistics,
435    CoordinationAlgorithm, CoordinationStrategy, CorrectedProblem, CorrectionConfig,
436    CorrectionMetadata, CorrectionResult, DetectionAction, DetectionConfig, DetectionMethod,
437    ErrorCorrectionStrategy, ErrorInfo, FeatureConfig, FeatureDefinition,
438    FeatureExtractor as QecFeatureExtractor, FeatureNormalization, FeatureSelection, FeatureType,
439    HierarchyConfig, HierarchyCoordinator, HierarchyLevel, HierarchyMessage, HybridConfig,
440    MLNoiseConfig, MessagePayload, MessageType as QecMessageType, ModelEnsemble,
441    NeuralArchitecture, NoiseAnalyzer, NoiseAssessment, NoiseCharacteristics, NoiseDataPoint,
442    NoiseMonitor, NoisePrediction, NoisePredictionModel, NoisePredictionSystem, NoiseSensor,
443    NoiseSeverity, NoiseType, PredictionConfig, PredictionResult, RealTimeAdaptiveQec,
444    ResourceAllocationStrategy as QecResourceAllocationStrategy,
445    ResourceConstraints as QecResourceConstraints, ResourceOptimizer, ResourceReallocation,
446    SensorType, StrategyPerformance, SwitchingCriteria, TrendDirection as QecTrendDirection,
447};
448pub use realtime_hardware_monitoring::{
449    create_example_hardware_monitor, AdaptationStatus, AdaptiveAction, AdaptiveActionType,
450    AdaptiveCompiler, AdaptiveCompilerConfig, Alert, AlertHandler, AlertLevel, AlertSystem,
451    AlertThresholds, CalibrationData as MonitorCalibrationData, ChangeType,
452    CoherenceCharacteristics, DecoherenceSource, DeviceConnection, DeviceInfo,
453    DevicePerformanceMetrics, DeviceStatus as MonitorDeviceStatus, FailureDetectionConfig,
454    FailurePrediction, FailureSeverity, FailureType, MetricType, MonitoredDevice,
455    MonitoringConfig as HardwareMonitoringConfig, MonitoringSnapshot, NoiseModel, NoiseProfile,
456    PredictiveFailureDetector, QuantumOperation, RealTimeHardwareMonitor,
457    RealTimePerformanceOptimizer, TrendDirection as MonitorTrendDirection,
458};
459pub use reverse_annealing::{
460    ReverseAnnealingParams, ReverseAnnealingSchedule, ReverseAnnealingScheduleBuilder,
461    ReverseAnnealingSimulator,
462};
463pub use rl_embedding_optimizer::{
464    create_custom_rl_embedding_optimizer, create_rl_embedding_optimizer, ContinuousEmbeddingAction,
465    DiscreteEmbeddingAction, EmbeddingAction, EmbeddingDQN, EmbeddingExperience,
466    EmbeddingPolicyNetwork, EmbeddingQualityMetrics, EmbeddingState, HardwareFeatures,
467    ObjectiveWeights, ProblemGraphFeatures, RLEmbeddingConfig, RLEmbeddingError,
468    RLEmbeddingOptimizer, RLEmbeddingResult, RLPerformanceMetrics, RLTrainingStats,
469};
470pub use scientific_performance_optimization::{
471    create_example_performance_optimizer, AlgorithmOptimizationConfig, ApproximationConfig,
472    BottleneckAnalysis, CachingConfig, ComprehensivePerformanceReport, CompressionConfig,
473    DecompositionConfig as PerfDecompositionConfig, DistributedComputingConfig,
474    GPUAccelerationConfig, HierarchicalMemoryManager, LoadBalancingConfig,
475    MemoryOptimizationConfig, OptimizationCategory, OptimizationImpact,
476    OptimizationRecommendation as PerfOptimizationRecommendation, OptimizedDrugDiscoveryResult,
477    OptimizedMaterialsScienceResult, OptimizedProteinFoldingResult, ParallelProcessingConfig,
478    PerformanceOptimizationConfig, ProfilingConfig, ResourceUtilizationAnalysis,
479    ScientificPerformanceOptimizer, StreamingConfig, SystemPerformanceMetrics, ThreadPoolConfig,
480};
481pub use scirs2_integration::{
482    EmbeddingDifficulty, GraphAnalysisResult, GraphMetrics, PlottingConfig, QualityAssessment,
483    QuboStatistics, SciRS2EnergyPlotter, SciRS2GraphAnalyzer, SciRS2QuboModel,
484    SciRS2SolutionAnalyzer, SolutionAnalysisResult, SolutionStatistics,
485};
486pub use simulator::{
487    AnnealingError, AnnealingParams, AnnealingResult, AnnealingSolution,
488    ClassicalAnnealingSimulator, QuantumAnnealingSimulator, TemperatureSchedule,
489    TransverseFieldSchedule,
490};
491pub use solution_clustering::{
492    analyze_solution_diversity, create_basic_clustering_config,
493    create_comprehensive_clustering_config, find_representative_solution, AnalysisDepth,
494    ClusteringAlgorithm, ClusteringConfig, ClusteringError, ClusteringResult, ClusteringResults,
495    DimensionalityReduction, DistanceMetric, FeatureExtractionMethod, LandscapeAnalysis,
496    LinkageType, OptimizationRecommendation as ClusteringOptimizationRecommendation,
497    SolutionCluster, SolutionClusteringAnalyzer, SolutionPoint, StatisticalSummary,
498};
499pub use variational_quantum_annealing::{
500    create_adiabatic_vqa_config, create_hardware_efficient_vqa_config, create_qaoa_vqa_config,
501    AnsatzType, ClassicalOptimizer, EntanglingGateType, MixerType as VqaMixerType,
502    OptimizerStatistics, ParameterRef, ParameterStatistics, QuantumCircuit as VqaQuantumCircuit,
503    QuantumGate as VqaQuantumGate, VariationalQuantumAnnealer, VqaConfig, VqaError, VqaResult,
504    VqaResults, VqaStatistics,
505};
506pub use visualization::{
507    calculate_landscape_stats, plot_energy_histogram, plot_energy_landscape, BasinAnalyzer,
508    LandscapeAnalyzer, LandscapePoint, LandscapeStats, VisualizationError, VisualizationResult,
509};
510
511/// Check if quantum annealing support is available
512///
513/// This function always returns `true` since the simulation capabilities
514/// are always available.
515#[must_use]
516pub const fn is_available() -> bool {
517    true
518}
519
520/// Check if hardware quantum annealing is available
521///
522/// This function checks if any quantum annealing hardware API clients are available
523/// and enabled via their respective features (D-Wave or AWS Braket).
524#[must_use]
525pub const fn is_hardware_available() -> bool {
526    dwave::is_available() || braket::is_available()
527}