quantrs2_device/cloud/provider_optimizations/
provideroptimizationconfig_traits.rs

1//! # ProviderOptimizationConfig - Trait Implementations
2//!
3//! This module contains trait implementations for `ProviderOptimizationConfig`.
4//!
5//! ## Implemented Traits
6//!
7//! - `Default`
8//!
9//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)
10
11use 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}