Skip to Main Content
An efficient implementation of the Fourier-Motzkin (FM) algorithm for computing all non-negative, minimal-support invariants of ordinary Petri nets is proposed. The proposed algorithm is inspired by the observation that for a set S of parallel places (i.e. places that have the same input and output transitions, and the same corresponding arc weights), if there exists an invariant y1 whose support contains p1 isin S, then there also exist k-1 invariants yi , i = 2, 3, ... , k, where k = |S|, such that the support of yi contains a place pi G S. The proposed algorithm exploits this observation by computing only yi and then generating the other corresponding invariants through a proposed enumerative process. The tests indicate that on an average, the proposed algorithm is at least 2.2 times faster in execution, and requires at least 1.8 times less memory than other comparable algorithms.