Compact and decentralized supervisors for general constraint enforcement in Petri net models