4. Reference Manual¶
- 4.1. Specification of MiniZinc
- 4.1.1. Introduction
- 4.1.2. Notation
- 4.1.3. Overview of a Model
- 4.1.4. Syntax Overview
- 4.1.5. High-level Model Structure
- 4.1.6. Types and Type-insts
- 4.1.7. Expressions
- 4.1.7.1. Expressions Overview
- 4.1.7.2. Operators
- 4.1.7.3. Expression Atoms
- Identifier Expressions and Quoted Operator Expressions
- Anonymous Decision Variables
- Boolean Literals
- Integer and Float Literals
- String Literals and String Interpolation
- Set Literals
- Set Comprehensions
- Simnple Array Literals
- Indexed Array Literals
- 2d Array Literals
- Indexed 2d Array Literals
- Simple Array Comprehensions
- Indexed Array Comprehensions
- Array Access Expressions
- Array Slice Expressions
- Annotation Literals
- If-then-else Expressions
- Let Expressions
- Call Expressions
- Generator Call Expressions
- 4.1.8. Items
- 4.1.9. Annotations
- 4.1.10. Partiality
- 4.1.11. Built-in Operations
- 4.1.11.1. Comparison Operations
- 4.1.11.2. Arithmetic Operations
- 4.1.11.3. Logical Operations
- 4.1.11.4. Set Operations
- 4.1.11.5. Array Operations
- 4.1.11.6. Coercion Operations
- 4.1.11.7. String Operations
- 4.1.11.8. Bound and Domain Operations
- 4.1.11.9. Option Type Operations
- 4.1.11.10. Other Operations
- 4.1.12. Content-types
- 4.1.13. JSON support
- 4.1.14. Full grammar
- 4.2. The MiniZinc library
- 4.2.1. Standard Library
- 4.2.1.1. Built-in functions and operators
- Comparison Builtins
- Arithmetic Builtins
- Exponential and logarithmic builtins
- Trigonometric functions
- Coercions
- Array operations
- Functions and Predicates
- ‘++’
- ‘in’
- array1d
- array2d
- array2set
- array3d
- array4d
- array5d
- array6d
- arrayXd
- col
- has_element
- has_index
- index_set
- index_set_1of2
- index_set_1of3
- index_set_1of4
- index_set_1of5
- index_set_1of6
- index_set_2of2
- index_set_2of3
- index_set_2of4
- index_set_2of5
- index_set_2of6
- index_set_3of3
- index_set_3of4
- index_set_3of5
- index_set_3of6
- index_set_4of4
- index_set_4of5
- index_set_4of6
- index_set_5of5
- index_set_5of6
- index_set_6of6
- index_sets_agree
- length
- reverse
- row
- slice_1d
- slice_2d
- slice_3d
- slice_4d
- slice_5d
- slice_6d
- Annotations
- Functions and Predicates
- Logical operations
- Set operations
- String operations
- Functions for enums
- 4.2.1.2. Annotations
- General annotations
- add_to_output
- annotated_expression
- cache_result
- constraint_name
- defines_var
- doc_comment
- domain_change_constraint
- empty_annotation
- expression_name
- is_defined_var
- is_reverse_map
- maybe_partial
- mzn_add_annotated_expression
- mzn_check_enum_var
- mzn_check_var
- mzn_constraint_name
- mzn_deprecated
- mzn_expression_name
- mzn_output_section
- mzn_path
- mzn_rhs_from_assignment
- no_cse
- no_output
- output
- output_array
- output_only
- output_var
- promise_total
- var_is_introduced
- Propagation strength annotations
- Search annotations
- Warm start annotations
- Large Neighbourhood Search annotations
- Context annotations
- Redundant and symmetry breaking constraints
- General annotations
- 4.2.1.3. Option type support
- 4.2.1.4. Array sorting operations
- 4.2.1.5. Language information
- 4.2.1.6. Compiler options
- 4.2.1.7. Conditionals
- 4.2.1.8. Reflection operations
- 4.2.1.9. Assertions and debugging functions
- 4.2.1.10. Random Number Generator builtins
- 4.2.1.11. Stuctured Output
- 4.2.1.1. Built-in functions and operators
- 4.2.2. Global constraints
- 4.2.2.1. All-Different and related constraints
- 4.2.2.2. Lexicographic constraints
- 4.2.2.3. Sorting constraints
- 4.2.2.4. Channeling constraints
- 4.2.2.5. Counting constraints
- 4.2.2.6. Array-related constraints
- 4.2.2.7. Set-related constraints
- 4.2.2.8. Mathematical constraints
- 4.2.2.9. Packing constraints
- 4.2.2.10. Scheduling constraints
- 4.2.2.11. Graph constraints
- 4.2.2.12. Extensional constraints (table, regular etc.)
- 4.2.2.13. Machine learning constraints
- 4.2.2.14. Deprecated constraints
- 4.2.3. FlatZinc builtins
- 4.2.3.1. Integer FlatZinc builtins
- array_int_element
- array_int_maximum
- array_int_minimum
- array_var_int_element
- int_abs
- int_div
- int_eq
- int_eq_reif
- int_le
- int_le_reif
- int_lin_eq
- int_lin_eq_reif
- int_lin_le
- int_lin_le_reif
- int_lin_ne
- int_lin_ne_reif
- int_lt
- int_lt_reif
- int_max
- int_min
- int_mod
- int_ne
- int_ne_reif
- int_plus
- int_pow
- int_times
- set_in
- 4.2.3.2. Bool FlatZinc builtins
- 4.2.3.3. Set FlatZinc builtins
- 4.2.3.4. Float FlatZinc builtins
- array_float_element
- array_float_maximum
- array_float_minimum
- array_var_float_element
- float_abs
- float_acos
- float_acosh
- float_asin
- float_asinh
- float_atan
- float_atanh
- float_ceil
- float_cos
- float_cosh
- float_div
- float_dom
- float_eq
- float_eq_reif
- float_exp
- float_floor
- float_in
- float_in_reif
- float_le
- float_le_reif
- float_lin_eq
- float_lin_eq_reif
- float_lin_le
- float_lin_le_reif
- float_lin_lt
- float_lin_lt_reif
- float_lin_ne
- float_lin_ne_reif
- float_ln
- float_log10
- float_log2
- float_lt
- float_lt_reif
- float_max
- float_min
- float_ne
- float_ne_reif
- float_plus
- float_pow
- float_round
- float_sin
- float_sinh
- float_sqrt
- float_tan
- float_tanh
- float_times
- int2float
- 4.2.3.5. FlatZinc builtins added in MiniZinc 2.0.0.
- 4.2.3.6. FlatZinc builtins added in MiniZinc 2.0.2.
- 4.2.3.7. FlatZinc builtins added in MiniZinc 2.1.0.
- 4.2.3.8. FlatZinc builtins added in MiniZinc 2.1.1.
- 4.2.3.9. FlatZinc builtins added in MiniZinc 2.2.1.
- 4.2.3.10. FlatZinc builtins added in MiniZinc 2.3.3.
- 4.2.3.11. FlatZinc builtins added in MiniZinc 2.5.2.
- 4.2.3.12. Deprecated FlatZinc builtins
- 4.2.3.1. Integer FlatZinc builtins
- 4.2.4. Additional declarations for Gecode
- 4.2.5. Additional declarations for Chuffed
- 4.2.6. MiniZincIDE tools
- 4.2.7. Experimental Features
- 4.2.1. Standard Library
- 4.3. Interfacing Solvers to Flatzinc
- 4.3.1. Specification of FlatZinc
- 4.3.2. Output
- 4.3.3. Solver-specific Libraries
- 4.3.4. Command-Line Interface and Standard Options
- 4.3.5. Solver Configuration Files
- 4.3.6. Grammar