A common way of dynamically scheduling jobs in a manufacturing system is by implementing dispatching rules. The issues with this method are that the performance of these rules depends on the state the system is in at each moment and also that no “ideal” single rule exists for all the possible states that the system may be in. Therefore, it would be interesting to use the most appropriate dispatching rule for each instance. To achieve this goal, a scheduling approach that uses machine learning can be used. Analyzing the previous performance of the system (training examples) by means of this technique, knowledge is obtained that can be used to decide which is the most appropriate dispatching rule at each moment in time. In this paper, a literature review of the main machine learning based scheduling approaches from the last decade is presented.