Scheduling involves taking decisions regarding the allocation of available capacity or resources (equipment, labour and space) to jobs, activities, tasks or customers over time. Scheduling thus results in a time-phased plan, or schedule of activities. The schedule indicates what is to be done, when, by whom and with what equipment. Although the statement of a manufacturing organizational problem such as scheduling may seem simple, we must never underestimate the effort necessary to find its solution [WID 98]. Scheduling problems can be modeled as assignment problems, which represent a large class of combinatorial optimization problems. In most of these cases, finding the optimal solution is very difficult. In fact, except for a few exceptions, the only known method to solve the problem to optimality would be to enumerate an exponential number of possible solutions! Specialists in this case speak of NP-complete problems [CAR 88, GAR 79]. In these conditions, it is necessary to find a solution method providing solutions of good quality in a reasonable amount of time: this is what heuristic methods are all about. This chapter focuses on describing the three main heuristic classes, constructive methods, local search methods and evolutionary algorithms [COS 95c]. Since these methods are general enough to be applied to a multitude of combinatorial optimization problems, they are called metaheuristics.This chapter is organized as follows: the next two sections indicate how to model scheduling problems in terms of combinatorial optimization and briefly describe the Chapter written by Marino WIDMER, Alain HERTZ and Daniel COSTA.