Module Objective.Model

type t
val empty : t

The empty model without objective functions.

val is_empty : t -> bool

is_empty mdl checks if the model doesn't contain any objective function.

val fold : (Function.t -> Value.t -> 'b -> 'b) -> t -> 'b -> 'b

Iterator on the objective functions in decreasing order of priority.

val add : Function.t -> Value.t -> t -> t

add fn v adds or updates the value of the objective function fn.

val pp : t Fmt.t

pp ppf mdl prints the model mdl using the MaxSMT format.

val functions : t -> Function.t list

functions mdl returns the list of objective functions of the model mdl in decreasing order of priority.

val next_unknown : t -> Function.t option

next_unknown ~for_model mdl returns the next optimization in decreasing order of priority whose the value is Unknown.

val has_no_limit : t -> bool

has_no_limit mdl checks if all the objective functions in the model mdl have a finite value or unknown value.