flowshop - flowshop maxplus linear system builder
T_ij ((i,j)-entry of matrix T) is the processing time of part j by machine i (T_ij = -inf if part j does not visit machine i) in a flowshop (in a flowshop, as opposed to a jobshop, all parts visit machines in the increasing order of the machine numbers with the possibility of skipping some machines).
A maxplus linear system is generated for the corresponding open-loop system (no cyclic use of machines or pallets carrying the parts : inputs are the arrival times of parts at the inlet and the availaibility times of machines, outputs are the departure times of parts and the times at which machines are available again).
The internal-state number is mxp where m is the machine-type number and p is the part-type number even if some states are not useful (the parts does not visit all the available machines).
The input/output number is nm+np.
The input/output counting is :
part 1 part 2 ... part p machine 1 machine 2 .....machine m
The state numbering is : (i=1,j=1) (i=1,j=2)... (i=1,j=p)
(i=m,j=1) ............ (i=m,j=p).
These countings do not correspond to the internal node number shown by flowshop_graph.
T must not have a row or a column identical to -inf.
T=#([2,1;%0,1;4,%0]) /// realization with 6 states where only 4 are useful F=flowshop(T)