pub struct PsoConfig {Show 13 fields
pub n_particles: usize,
pub max_iter: usize,
pub target: Point2D,
pub search_bounds: Bounds2D,
pub spawn_bounds: Bounds2D,
pub obstacles: Vec<CircleObstacle>,
pub w_start: f64,
pub w_end: f64,
pub c1: f64,
pub c2: f64,
pub inside_obstacle_penalty: f64,
pub proximity_penalty_factor: f64,
pub proximity_margin: f64,
}Expand description
Configuration for the PSO planner.
Fields§
§n_particles: usizeNumber of particles in the swarm.
max_iter: usizeMaximum number of iterations.
target: Point2DTarget position.
search_bounds: Bounds2DBounds defining the full search space.
spawn_bounds: Bounds2DBounds defining the spawn area for particles.
obstacles: Vec<CircleObstacle>Circular obstacles.
w_start: f64Initial inertia weight (decays linearly to w_end).
w_end: f64Final inertia weight.
c1: f64Cognitive coefficient (pull towards personal best).
c2: f64Social coefficient (pull towards global best).
inside_obstacle_penalty: f64Penalty applied when a particle is inside an obstacle.
proximity_penalty_factor: f64Proximity penalty factor for being near an obstacle.
proximity_margin: f64Proximity distance threshold beyond the obstacle radius.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PsoConfig
impl RefUnwindSafe for PsoConfig
impl Send for PsoConfig
impl Sync for PsoConfig
impl Unpin for PsoConfig
impl UnsafeUnpin for PsoConfig
impl UnwindSafe for PsoConfig
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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 more§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.