pub trait OptimizationStrategy:
Send
+ Sync
+ Debug {
// Required methods
fn name(&self) -> &str;
fn optimize(
&self,
current_allocations: &[ResourceAllocation],
available_resources: &ResourceUsage,
pending_requests: &[TaskRequirements],
) -> SklResult<OptimizationResult>;
fn score(
&self,
allocations: &[ResourceAllocation],
usage: &ResourceUsage,
) -> f64;
}Expand description
Optimization strategy trait
Required Methods§
Sourcefn optimize(
&self,
current_allocations: &[ResourceAllocation],
available_resources: &ResourceUsage,
pending_requests: &[TaskRequirements],
) -> SklResult<OptimizationResult>
fn optimize( &self, current_allocations: &[ResourceAllocation], available_resources: &ResourceUsage, pending_requests: &[TaskRequirements], ) -> SklResult<OptimizationResult>
Optimize resource allocations
Sourcefn score(
&self,
allocations: &[ResourceAllocation],
usage: &ResourceUsage,
) -> f64
fn score( &self, allocations: &[ResourceAllocation], usage: &ResourceUsage, ) -> f64
Get optimization score for current state