conjure_cp_core/ast/objective.rs
1use serde::{Deserialize, Serialize};
2
3use super::Expression;
4
5/// Whether an objective is minimised or maximised.
6#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
7pub enum OptimiseDirection {
8 Minimising,
9 Maximising,
10}
11
12/// A single-objective optimisation statement.
13#[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
14pub struct Objective {
15 pub direction: OptimiseDirection,
16 pub expression: Expression,
17}