oxirs_stream/quantum_processing/
quantum_optimizer.rs1use super::QuantumConfig;
4
5pub struct QuantumOptimizer {
7 config: QuantumConfig,
8 optimization_strategies: Vec<QuantumOptimizationStrategy>,
9}
10
11impl QuantumOptimizer {
12 pub fn new(config: QuantumConfig) -> Self {
13 Self {
14 config,
15 optimization_strategies: vec![
16 QuantumOptimizationStrategy::QAOA,
17 QuantumOptimizationStrategy::VQE,
18 QuantumOptimizationStrategy::SPSA,
19 ],
20 }
21 }
22}
23
24#[derive(Debug, Clone)]
26pub enum QuantumOptimizationStrategy {
27 QAOA,
28 VQE,
29 SPSA,
30 GradientDescent,
31 ParameterShift,
32 FiniteDifference,
33}