use super::*;
#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
pub enum InitialMappingAlgorithm {
SpectralEmbedding,
CommunityBased,
CentralityWeighted,
MSTreeBased,
PageRankWeighted,
BipartiteMatching,
MultilevelPartitioning,
}
#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
pub enum SciRS2RoutingAlgorithm {
AStarEnhanced,
CommunityAware,
SpectralRouting,
CentralityGuided,
MultiPath,
AdaptiveRouting,
}
#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
pub enum OptimizationObjective {
MinimizeSwaps,
MinimizeDepth,
MaximizeFidelity,
MinimizeTime,
HybridObjective,
CustomObjective,
}
#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
pub enum CommunityMethod {
Louvain,
Leiden,
LabelPropagation,
SpectralClustering,
Walktrap,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum MLModelType {
GraphNeuralNetwork { hidden_dims: Vec<usize> },
GraphConvolutionalNetwork { layers: usize },
GraphAttentionNetwork { heads: usize },
DeepQLearning { experience_buffer_size: usize },
PolicyGradient { actor_critic: bool },
TreeSearch { simulation_count: usize },
EnsembleMethod { base_models: Vec<String> },
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum FeatureSelectionMethod {
VarianceThreshold { threshold: f64 },
UnivariateSelection { k_best: usize },
RecursiveElimination { step_size: usize },
LassoRegularization { alpha: f64 },
MutualInformation { bins: usize },
PrincipalComponentAnalysis { n_components: usize },
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum AnalysisDepth {
Basic,
Standard,
Comprehensive,
Expert,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum TrackingMetric {
ExecutionTime,
MemoryUsage,
MappingQuality,
SwapCount,
FidelityLoss,
CommunicationOverhead,
ResourceUtilization,
ConvergenceRate,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum AnomalyDetectionMethod {
IsolationForest,
OneClassSVM,
LocalOutlierFactor,
EllipticEnvelope,
StatisticalThreshold,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum NotificationMethod {
Log,
Email,
Webhook,
MQTT,
Console,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum ReportFormat {
JSON,
XML,
CSV,
HTML,
PDF,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum SelectionMethod {
Tournament { size: usize },
Roulette,
Rank,
Random,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum ScalarizationMethod {
WeightedSum { weights: Vec<f64> },
Tchebycheff { reference_point: Vec<f64> },
AugmentedTchebycheff { weights: Vec<f64>, rho: f64 },
WeightedMetric { p: f64, weights: Vec<f64> },
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum ConstraintType {
ConnectivityConstraint,
TimingConstraint,
ResourceConstraint,
FidelityConstraint,
PowerConstraint,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum PenaltyMethod {
QuadraticPenalty { coefficient: f64 },
ExponentialPenalty { base: f64 },
AdaptivePenalty { initial_penalty: f64 },
BarrierMethod { barrier_parameter: f64 },
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum SearchStrategy {
GeneticAlgorithm,
SimulatedAnnealing,
ParticleSwarm,
DifferentialEvolution,
HybridSearch,
TabuSearch,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum LoadBalancingStrategy {
Static,
Dynamic,
WorkStealing,
RoundRobin,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum SynchronizationMethod {
Synchronous,
Asynchronous,
BulkSynchronous,
EventDriven,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum DomainAdaptationMethod {
FineTuning,
FeatureAlignment,
AdversarialTraining,
DomainAdversarialNeuralNetwork,
GradientReversal,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum CalibrationMethod {
PlattScaling,
IsotonicRegression,
TemperatureScaling,
BetaCalibration,
HistogramBinning,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum SuggestionPriority {
High,
Medium,
Low,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum TrendDirection {
Increasing,
Decreasing,
Stable,
Oscillating,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum QualityMetricType {
Accuracy,
Precision,
Recall,
F1Score,
AUC,
MeanAbsoluteError,
RootMeanSquareError,
R2Score,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum ResultAnalysisType {
Statistical,
Temporal,
Comparative,
Predictive,
Causal,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum OptimizationPhase {
Initialization,
Exploration,
Exploitation,
Convergence,
PostProcessing,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum RiskLevel {
Low,
Medium,
High,
Critical,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum PerformanceCategory {
Excellent,
Good,
Average,
Poor,
Critical,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum ResourceState {
Underutilized,
Optimal,
Overutilized,
Saturated,
Unavailable,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum LearningPhase {
Initialization,
Training,
Validation,
Testing,
Deployment,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum AdaptationTrigger {
PerformanceDegradation,
EnvironmentChange,
ResourceConstraints,
QualityThreshold,
TimeInterval,
ManualTrigger,
}