Skip to main content

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}