pub struct TspInstanceYaml {
pub meta: TspMeta,
pub cities: Vec<TspCity>,
pub matrix: Vec<Vec<u32>>,
pub algorithm: TspAlgorithmConfig,
}Expand description
Complete TSP instance configuration (YAML-first).
Fields§
§meta: TspMetaInstance metadata.
cities: Vec<TspCity>List of cities.
matrix: Vec<Vec<u32>>Distance matrix (n x n).
algorithm: TspAlgorithmConfigAlgorithm configuration.
Implementations§
Source§impl TspInstanceYaml
impl TspInstanceYaml
Sourcepub fn from_yaml(yaml: &str) -> Result<Self, TspInstanceError>
pub fn from_yaml(yaml: &str) -> Result<Self, TspInstanceError>
Parse TSP instance from YAML string.
§Errors
Returns TspInstanceError::ParseError if YAML is invalid.
Sourcepub fn from_yaml_file<P: AsRef<Path>>(path: P) -> Result<Self, TspInstanceError>
pub fn from_yaml_file<P: AsRef<Path>>(path: P) -> Result<Self, TspInstanceError>
Load TSP instance from a YAML file.
§Errors
Returns error if file cannot be read or YAML is invalid.
Sourcepub fn to_yaml(&self) -> Result<String, TspInstanceError>
pub fn to_yaml(&self) -> Result<String, TspInstanceError>
Sourcepub fn city_count(&self) -> usize
pub fn city_count(&self) -> usize
Number of cities in the instance.
Sourcepub fn validate(&self) -> Result<(), TspInstanceError>
pub fn validate(&self) -> Result<(), TspInstanceError>
Sourcepub fn check_symmetry(&self) -> Result<(), TspInstanceError>
pub fn check_symmetry(&self) -> Result<(), TspInstanceError>
Sourcepub fn check_triangle_inequality(&self) -> Result<(), TspInstanceError>
pub fn check_triangle_inequality(&self) -> Result<(), TspInstanceError>
Sourcepub fn tour_length(&self, tour: &[usize]) -> u32
pub fn tour_length(&self, tour: &[usize]) -> u32
Trait Implementations§
Source§impl Clone for TspInstanceYaml
impl Clone for TspInstanceYaml
Source§fn clone(&self) -> TspInstanceYaml
fn clone(&self) -> TspInstanceYaml
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TspInstanceYaml
impl Debug for TspInstanceYaml
Source§impl<'de> Deserialize<'de> for TspInstanceYaml
impl<'de> Deserialize<'de> for TspInstanceYaml
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for TspInstanceYaml
impl PartialEq for TspInstanceYaml
Source§impl Serialize for TspInstanceYaml
impl Serialize for TspInstanceYaml
impl StructuralPartialEq for TspInstanceYaml
Auto Trait Implementations§
impl Freeze for TspInstanceYaml
impl RefUnwindSafe for TspInstanceYaml
impl Send for TspInstanceYaml
impl Sync for TspInstanceYaml
impl Unpin for TspInstanceYaml
impl UnsafeUnpin for TspInstanceYaml
impl UnwindSafe for TspInstanceYaml
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