A multi-agent system for integrated scheduling and maintenance planning for the flexible job shop