pub struct TwoDOptions {
pub algorithm: TwoDAlgorithm,
pub multistart_runs: usize,
pub beam_width: usize,
pub guillotine_required: bool,
pub seed: Option<u64>,
pub min_usable_side: u32,
pub auto_rotation_search_max_types: usize,
}Expand description
Options controlling how solve_2d runs.
Fields§
§algorithm: TwoDAlgorithmAlgorithm to dispatch to.
multistart_runs: usizeNumber of multistart restarts used by randomized strategies.
beam_width: usizeBeam width for the guillotine beam search backend.
guillotine_required: boolWhether layouts must be guillotine-compatible.
seed: Option<u64>Optional seed for reproducible randomized algorithms.
min_usable_side: u32Minimum side length (both width and height) that a free-space rectangle
must satisfy to be counted as a “usable drop.” Rectangles with either
side smaller than this threshold are treated as scrap and contribute
zero to the consolidation metrics. Default 0 admits every drop.
Affects the tiebreakers max_usable_drop_area and
total_sum_sq_usable_drop_areas on TwoDSolution. Does not change
the primary ranking objectives (unplaced, sheet_count, waste_area,
cost).
auto_rotation_search_max_types: usizeMaximum number of rotatable demand types for which rotation search
uses exhaustive enumeration. When the number of rotatable types
exceeds this threshold, rotation search switches to sampling
multistart_runs random assignments instead. Also controls whether
Auto mode includes rotation search as a candidate.
Trait Implementations§
Source§impl Clone for TwoDOptions
impl Clone for TwoDOptions
Source§fn clone(&self) -> TwoDOptions
fn clone(&self) -> TwoDOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TwoDOptions
impl Debug for TwoDOptions
Source§impl Default for TwoDOptions
impl Default for TwoDOptions
Source§impl<'de> Deserialize<'de> for TwoDOptions
impl<'de> Deserialize<'de> for TwoDOptions
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for TwoDOptions
impl PartialEq for TwoDOptions
Source§impl Serialize for TwoDOptions
impl Serialize for TwoDOptions
impl Eq for TwoDOptions
impl StructuralPartialEq for TwoDOptions
Auto Trait Implementations§
impl Freeze for TwoDOptions
impl RefUnwindSafe for TwoDOptions
impl Send for TwoDOptions
impl Sync for TwoDOptions
impl Unpin for TwoDOptions
impl UnsafeUnpin for TwoDOptions
impl UnwindSafe for TwoDOptions
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
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 more