This is another intermediate PR before an official release. The notable changes are:
An optigraph maintains a hypergraph backend by default to facilitate graph operations. For instance, functions such as all_neighbors will work on an optigraph as it creates an underlying hypergraph.
Much faster neighborhood implementation
Added support for edge partitioning
Added graph projection for bipartitegraph and support for node-edge partitions
Added multiple solutions optinodes and optiedges. nodes and edges can store solutions corresponding to different optigraphs. This is useful for overlapping algorithms.
Added support for incremental optigraph changes to be consistent with JuMP. However, this will likely change as the current implementation does not seem to scale.
This is another intermediate PR before an official release. The notable changes are:
all_neighbors
will work on an optigraph as it creates an underlying hypergraph.neighborhood
implementation