Multi-tasking multi-machine scheduling system for multi-stage multi-criteria production