<< firingorder MaxPlusAndPetrinet generalscheduling >>

MaxPlusAndPetrinet >> MaxPlusAndPetrinet > firingorderbig

firingorderbig

Find transition firing order

Calling Sequence

tran = firingorderbig(node_tree,id_parent_tran,forward,backward,mark,idnode)

Parameters

tran
: Row vector that contains transition index.
node_tree
: Matrix represents state in coverability tree's node.
id_parent_tran
: Indices of parent and transition every node in coverability tree.
forward
: Forward incidence.
backward
: Backward incidence.
mark
: Petri net state that will be tested.
idnode
: Index of node in coverability tree that covers mark.

Description

This function is used to find transition firing order to reach state where that state covers mark. The different between firingorder and firingorderbig is the output. Function firingorder returns all possibilities with same number of firing but function firingorderbig returns one transition firing order. Function firingorder needs bigger memory than this function.

Examples

f = [1 0 0;0 0 1;0 1 0]; // forward incidence

b = [0 1 0;0 1 0;0 0 1]; // backward incidence

x0 = [0;1;0]; // initial state

nt = []; // node_tree

idpt = []; // id_parent_tran

[nt,idpt] = buildtree(f,b,x0,0,0,nt,idpt); // build coverability tree

mark = [16;0;1]; // Petri net state that must coverable

idcovers = iscoverable(nt,mark) // mark is coverable

firingorderbig(nt,idpt,f,b,mark,idcovers(1)) // find transition firing order

Authors

See Also


Report an issue
<< firingorder MaxPlusAndPetrinet generalscheduling >>