cplex_rs/parameters/
emphasis.rs

1use ffi::CPXPARAM_Emphasis_MIP;
2
3use super::{private, Parameter, ParameterValue};
4
5impl private::Parameter for MIP {}
6
7/// MIP emphasis switch.
8/// <https://www.ibm.com/docs/en/icos/22.1.1?topic=parameters-mip-emphasis-switch>
9#[derive(Copy, Clone, Debug)]
10pub enum MIP {
11    Balanced,
12    Feasibility,
13    Optimality,
14    BestBound,
15    HiddenFeas,
16    Heuristic,
17}
18
19impl Parameter for MIP {
20    fn value(&self) -> ParameterValue {
21        ParameterValue::Integer(match self {
22            Self::Balanced => 0,
23            Self::Feasibility => 1,
24            Self::Optimality => 2,
25            Self::BestBound => 3,
26            Self::HiddenFeas => 4,
27            Self::Heuristic => 5,
28        })
29    }
30
31    fn id(&self) -> u32 {
32        CPXPARAM_Emphasis_MIP
33    }
34}