Pybnb

Latest version: v0.6.1

Safety actively analyzes 682244 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

0.7.dev0

~~~~~~~~~~~~~~~~~~~~

* TODO

0.6.1

~~~~~~~~~~~~~~~~~~

* Improving number formatting in log output.
* Documentation updates.

0.6.0

~~~~~~~~~~~~~~~~~~

* Renaming "no_nodes" termination condition to
"queue_empty".
* Changing solver default settings to use an exact
optimality check with no relative gap
(`relative_gap=None`, `absolute_gap=0`).
* Changing the default behavior of the `queue_tolerance`
setting to be set equal to whatever is assigned to the
`absolute_gap` setting (which can be overridden by
explicitly assigning a queue tolerance). This results in
more desirable behavior when pairing non-default queue
strategies (e.g., depth-first) with inexact `absolute_gap`
settings. Before this change, it would be necessary to set
both the `absolute_gap` and `queue_tolerance` to the same
nonzero value to avoid unnecessary processing of nodes,
which is probably not obvious to users.
* Adding a `queue_limit` solve option, which causes the
solve to terminate with the "queue_limit" termination
condition when the queue size exceeds this value. This
option is useful for avoiding excessively large updates
from a `NestedSolver`.
* Adding a `track_bound` solve option that can be set to
false to disable online tracking of the global bound. This
reduces dispatcher overhead for non-default queue
strategies (e.g., "depth", "lifo").
* Improved documentation.

0.5.2

~~~~~~~~~~~~~~~~~~

* Adding config.COMPRESSION option to control whether or not
serialized node state is compressed before sending it to
the dispatcher (default: False).
* Fixing issue that occurred when the objective() and bound()
Problem methods returned numpy scalar types (8).
* Adding another TSP implementation to the examples.

0.5.1

~~~~~~~~~~~~~~~~~~

* Removing some debugging print statements left around from
when the lexicographical queue strategies were added.
* Fixing some edge case behavior related to unbounded
problem.
* Minor fixes to documentation.

0.5.0

~~~~~~~~~~~~~~~~~~

* Tracking the best node and storing it on the results
object (1, 3, 7)
* Removing node argument from `branch` method of Problem
implementations. This makes it more apparent that
branching occurs for the node from the most recent
`load_state` and not some arbitrary node. Child nodes
should be created using `pybnb.Node()` as opposed to
`node.new_child()`.
* Removing `tree_id` and `parent_tree_id` attributes from
the Node class. These were simply adding unnecessary
complexity to the code while serving no real purpose.
* Adding a helper class for performing a nested
branch-and-bound solve and adding command-line options
that allow it to be used with the command-line
examples. Also, incorporating it into the TSP example.
* Replacing both the notify_new_best_objective and
notify_new_best_objective_received Problem callbacks with
a single notify_new_best_node callback. This new callback
includes an additional argument indicating if the
currently loaded node is the new best.

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.