Fault Detection of Discrete Event Systems Using Petri Nets and Integer Linear Programming