Developing Intelligent Techniques for Solving Scheduling Problems