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}