Skip to content

Releases: danielrherber/pm-architectures-project

v4.0 Spectrum Release

28 Jul 07:05

Choose a tag to compare

This release includes many changes from the previous version to the point that it is challenging to summarize. Many of the changes are described in a recent conference paper [PDF]. There have been many changes to the options (opts) and network structure constraint (NSC) structures so please see PMA_DefaultOpts.m and PMA_DefaultNSC.m. Reviewing the Examples folder may also be helpful. The release is based on commit 95ac70b.

Summary of Changes

v3.0 Structured Release

07 Feb 18:53

Choose a tag to compare

This release includes the ability to enumerate problems where the graphs of interest contain structured components. The release is based on commit 316d23c.

Summary of Changes

  • Added ability to handle graphs with structured components (cb4c1f1)
    • Added ability to define structured components with NSC.S in UniqueUsefulGraphs.m (f249f35)
    • Added Structured_SimpleCheckConnections.m to create the required data for the simple checks (316d23c)
    • Added isomorphism checking functions for structured graphs (316d23c)
  • Updates to the labeled graph isomorphism checking methods
    • Added additional simple checks to RemovedColoredIsosMatlab.m (and Python), and there is a large reduction in isomorphism checking computation time in some cases (f249f35)
    • Added parallelization of python isomorphism checking method (only utilized with subcatalogs) (76b6f9d)
    • Fixed bug in RemovedColoredIsosPython.m when two graphs were reported as different but were actually the same (3e37761)
    • Changed the outputs from RemovedColoredIsosPython and RemovedColoredIsosMatlab to be the same (removed method-specific fields) (3e37761)
  • Added line-connectivity constraint checks (76b6f9d)
  • Changed plotTreeEnumerate.m and TreeEnumerateCreatev1Analysis.m for the new inputs and updated style (633f778)
  • Added new implementation of the suspension example in MD-16-1635 which is much faster than the previous example (76b6f9d)
  • Added consistent ordering to the outputted graphs, and see Test_ConsistentOrdering (3e37761)
  • Fixed bugs (316d23c, 76b6f9d, fdcd683, 3e37761)

v2.0 Enhancements Release

24 May 23:48

Choose a tag to compare

This release includes a number of enhancements including more efficient generation of the graphs and new NSCs. The release is based on commit 4650d0b.

Summary of Changes

  • Added a number of enhancements described in PDF (7d8c14d and 191b833). Major bug fix in (944be52).
    • Performance increase varies but can be more than 30x
  • Added win64 mex versions for tree_v1 and tree_v8 (944be52)
    • Initial tests indicate up to 6x performance increase between non-mex version
  • Added NSC defaults to DefaultNSC.m (af24a87)
  • Added opts.subcatalogfun for custom filtering of subcatalogs (944be52)
  • Fixed the creation of the connected components graph adjacency matrix in GenerateFeasibleGraphs (7d8c14d)
    • Note that this increases the number of unique graphs for some of the examples. Potential increase is only possible in examples with both loops and multi-edges present in feasible graphs.
  • Changed the Graphs structure to be a true structure (previously a cell array of structures) (ed74a75)
  • Changed how NSC.counts works, can now provide a boolean vector with the same length as P that indicates if individual component types should have a unique number of connections (8509525)
  • Changed implementation of SortAsPerfectMatching and InversePerfectMatchings (4650d0b)
  • Changed the method for generating unique numbers given a string using a base 36 system (af24a87)
    • This approach is guaranteed to be unique for the strings '0' to '2GOSA7PA2GW' or 1-10 character uppercase strings
  • Changed NSC.necessary to NSC.M (7d8c14d and 1b0889a)
  • Changed the names of some opts (6073de6)
  • Fixed ExpandPossibleAdj to handle nonsymmetric A matrix (7d8c14d)

v1.1 First Minor Release Post IDETC2016-60212

20 Jan 22:25

Choose a tag to compare

This release is the first minor release after the initial code developed for the IDETC2016-60212 paper. The release is based on commit d042e89.

Summary of Changes

  • Added license file (1b77ae8)
  • Added default options (see DefaultOpts.m) (19e4438)
  • Added in Matlab isomorphism checking method (opts.isomethod) (only available in 2016b and there is a bug in the internal MATLAB function that requires a manual fix, also the Matlab method is SLOW) (19e4438)
  • Added ReorderCRP.m function that reorders {C,R,P} to a more favorable ordering for enumeration (more information to come, simply do not utilize this function if you want to maintain the user-defined ordering) (19e4438)
  • Changed install script to use try and catch statements and will report if a feature is available or not (19e4438)
  • Changed detectiso_func3.py to detectiso_func4.py and is now faster (19e4438)
  • Fixed InitialPortIsoFilter.m to correctly sort edges first (edges with larger port numbers first), and then perform the unique row check to remove guaranteed port isomorphisms (19e4438)

v1.0 IDETC2016 Release

20 Jan 22:29

Choose a tag to compare

This release is the code developed for the IDETC2016-60212 paper. The release is based on commit bd0cc3f.