This release patches a bug in one of our core functions, and adds some common optimization methods that we use to the main GerryChain library
What's Changed
- Added
SingleMetricOptimizer
andGingleator
classes so that we can run short-burst, simulated annealing, and tilted runs- Added documentation with examples on how to work with these new classes. See our ReadTheDocs for more information
- Special thanks to @jenni-niels for their work on this!
- Fixed bug in the way that
find_balance_edge_cuts_memoization
andfind_balance_edge_cuts_contration
work. Now you must specify if you are intending to cut off a single epsilon-balanced district via a one-sided-cut or if you intend to split into two epsilon-balanced districts.- This primarily affected the
gerrychain.tree.recursive_tree_part
andgerrychain.tree.recursive_seed_part_inner
functions. - There is now a bespoke
epsilon_tree_bipartition
function that deals with the case where we would like to split a subgraph into two epsilon-balanced districts.
- This primarily affected the
- Updated the way that the region-aware code works so that we also surcharge things that do not belong to any specified regions.
- Updated the documentation for region-aware and improved the installation/reproducibility instructions.
Resolved Issues
- Provided fix for #417. The method
from_geodataframe
will now attempt to allow you to continue without a crs set. You may also optionally provide an override for the given crs.
Full Changelog: v0.3.1...v0.3.2