quantrs2_device/cloud/provider_optimizations/
provideroptimizationconfig_traits.rs1use super::traits::ProviderOptimizer;
12use super::types::*;
13use crate::prelude::CloudProvider;
14use crate::DeviceResult;
15use std::collections::HashMap;
16use std::time::{Duration, SystemTime};
17
18impl Default for ProviderOptimizationConfig {
19 fn default() -> Self {
20 Self {
21 enabled: true,
22 optimization_level: OptimizationLevel::Balanced,
23 target_metrics: vec![
24 OptimizationMetric::ExecutionTime,
25 OptimizationMetric::Cost,
26 OptimizationMetric::Fidelity,
27 ],
28 cost_constraints: CostConstraints {
29 max_cost_per_execution: Some(100.0),
30 max_daily_budget: Some(1000.0),
31 max_monthly_budget: Some(10000.0),
32 cost_optimization_priority: 0.3,
33 cost_tolerance: 0.1,
34 },
35 performance_targets: PerformanceTargets {
36 max_execution_time: Some(Duration::from_secs(3600)),
37 min_fidelity: Some(0.95),
38 max_queue_time: Some(Duration::from_secs(1800)),
39 min_throughput: Some(10.0),
40 max_error_rate: Some(0.05),
41 },
42 caching_enabled: true,
43 adaptive_optimization: true,
44 real_time_optimization: false,
45 }
46 }
47}