* Switch from using `Fraction` to `Decimal` due to much better benchmarked speeds.
2.4.0
- Add an optional `allow_nan: bool` kwarg for the `Objective` class with a default value of `False`. Refer to the docstring of `Objective.__init__` for more info about it.
2.3.2
- Improve the type annotations for `ChoiceVar` and `Gridvar`.
2.3.1
- Use efficient imports from `itertools` and `math`.
2.3.0
- Use an efficient encoding of length 0 for `RandintVar` when its lower and upper bounds are equal. Previously its encoding length was always 1.