Knowledge-based on-line scheduling for flexible manufacturing