Constraints, different mathematical programming techniques and integrating scheduling subsystems must be considered