pub struct OptDesConfig {
pub candidate_grid: Vec<f64>,
pub budget: usize,
pub criterion: DesignCriterion,
}Expand description
Configuration for the greedy optimal_design selector.
Carries a single DesignCriterion field — Score(OptimalityKind) already
wraps the optimality kind, and Trajectory needs none, so no separate
optimality field is required. NOT #[non_exhaustive], so callers can build it
with a struct literal (mirrors crate::pace_fpca::PaceFpcaConfig).
The empty-grid Default is a safe minimal placeholder; the empty grid is
rejected at optimal_design call time, not at construction.
Fields§
§candidate_grid: Vec<f64>Candidate design points. Every value must appear (within 1e-9) in
model.argvals; each is mapped to its grid index before selection.
Duplicate or near-duplicate values (two entries within 1e-9 of the same
model.argvals point) collapse onto a single distinct candidate, and
budget must not exceed the number of distinct on-grid points.
budget: usizeNumber of design points to select (p). Must be > 0 and
<= candidate_grid.len().
criterion: DesignCriterionCriterion evaluated at every greedy step via design_criterion.
Trait Implementations§
Source§impl Clone for OptDesConfig
impl Clone for OptDesConfig
Source§fn clone(&self) -> OptDesConfig
fn clone(&self) -> OptDesConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for OptDesConfig
impl Debug for OptDesConfig
Source§impl Default for OptDesConfig
impl Default for OptDesConfig
Source§impl PartialEq for OptDesConfig
impl PartialEq for OptDesConfig
impl StructuralPartialEq for OptDesConfig
Auto Trait Implementations§
impl Freeze for OptDesConfig
impl RefUnwindSafe for OptDesConfig
impl Send for OptDesConfig
impl Sync for OptDesConfig
impl Unpin for OptDesConfig
impl UnsafeUnpin for OptDesConfig
impl UnwindSafe for OptDesConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.