cplex_rs/
solution.rs

1use crate::VariableId;
2
3#[derive(Clone, Debug)]
4pub struct Solution {
5    objective_value: f64,
6    variable_values: Vec<f64>,
7}
8
9impl Solution {
10    pub(crate) fn new(variable_values: Vec<f64>, objective_value: f64) -> Self {
11        Self {
12            objective_value,
13            variable_values,
14        }
15    }
16
17    pub fn objective_value(&self) -> f64 {
18        self.objective_value
19    }
20
21    pub fn variable_values(&self) -> &[f64] {
22        &self.variable_values
23    }
24
25    pub fn variable_value(&self, v: VariableId) -> f64 {
26        self.variable_values[v.0]
27    }
28}