Add DCSH variable ordering algorithm to data-based synthesis tool
An improved variable order heuristic for databased supervisor synthesis is suggested in the following paper: "DSM-based variable ordering heuristic for reduced computational effort of symbolic supervisor synthesis", 2020, Sam Lousberg, Sander Thuijsman, and Michel Reniers. (link) In summary, four variable orders are computed by applying weighted Cuthill McKee and Sloan algorithms (and reversing both). One order of these can be selected using the Weighted Event Span. This order can be used as an initial guess to apply the (already implemented in CIF) FORCE and sliding window algorithm. The benefit is that this is likely a good initial guess and can greatly induce the required synthesis memory/time usage on average. It also makes the effort of databased synthesis (much) less influenced by the initially provided variable order.
Contribution plan:
-
Improve CIF data-based variable ordering API. (#371 (closed) / !324 (merged)) -
Add graphs as representation to VarOrdererHelper. (!332 (merged)) -
Add node ordering algorithms, including dependencies (pseudo-peripheral node finder algorithms, rooted level structure computation). (!333 (merged)) -
Add DCSH algorithm. (!334 (merged)) -
Add WES metric and adopt it for DCSH algorithm. (!337 (merged)) -
CIF data-based synthesis integration test extensions. (!340 (merged))