Releases: optapy/optapy
9.37.0b0
Upgraded to OptaPlanner 9.37.0.Final. Despite being a updated major version of OptaPlanner, the vast majority of OptaPy users are unaffected (unless you use your own Java jars with javax dependencies).
Fixes:
- Truncating floats to 32-bits
- Nullable variables
- Java Stub files are now included
- Inheritance in problem facts
8.31.1b0
Add support for Python 3.11 for jpyinterpreter
, significantly improving Python 3.11 score calculation speeds.
Also optimize how calls are done in the interpreter, which can provide a modest improvement to score calculation speeds for some constraints.
8.30.0b0
Add the ConstraintVerifier API to allow testing of constraints. See https://www.optapy.org/docs/latest/constraint-streams/constraint-streams.html#constraintStreamsTesting for details.
8.28.0b0
This is the first release of optapy
that includes jpyinterpreter
, a module created to translate Python function bytecode to equivalent Java bytecode to massively increase performance by avoiding Foreign Function Interface (FFI) calls. You don't need to do anything in order to use it; it is on by default. Functions and classes that cannot be translated will be proxied to their CPython functions and types.
Bug fixes:
- Support ValueRange, CountableValueRange and entity @value_range_provider
- Support arbitary PythonComparable as @planning_id
8.23.0.a0
- Bug Fix: SolverManager
solve
andsolveAndListen
will now show exceptions - Bug Fix: A Uni, Bi, and Tri Constraint Stream can now join an UniConstraintStream
8.21.0a0
Dependency Upgrades:
JPype1 upgraded to 1.4.0, which fixes ambiguity errors when dealing with overloaded methods
New Features:
- get_class is not longer required when interacting with SolverConfig and Constraint Streams
- Pythonic version of Constraint Stream, Joiners, and ConstraintCollectors methods
- New decorators
@custom_shadow_variable
and@variable_listener
, which can be used to create a custom shadow variable that changes when a geninue@planning_variable
(or another shadow variable) changes.
8.19.0a1
- Remove memory leak caused by old best solution being retained until solving finishes
- Add support for
tuple
andset
collections, and collections that extend thecollection.abc
abstract base classes - Allow group by keys to be interacted with like normal python objects
8.19.0a0
New Features:
- Ability to load a SolverConfig via XML from
solver_config_create_from_xml_file(pathlib.Path)
- Can modify the log level of optapy at runtime with
logging
Fixed Bugs:
- Logback configuration logs will no longer appear
8.17.0a0
- New decorator
@planning_list_variable
, which can be used to model variables as an ordered disjoint set (for example, the customers to visit in vehicle routing). - Support for
@problem_change
, which allows changing the problem during solving. - List available subpackages in optapy.config, validate collection decorators.
8.16.1a0
- Upgrade OptaPlanner version to 8.16.1.Final
- Add
@easy_score_calculator
decorator - Add
@incremental_score_calculator
decorator - Fix bug in ScoreManager that causes an exception in concurrent requests in different threads
- Add SolverStatus to
optapy.types