This note presents a dynamic programming formulation for the one machine sequencing problem. For each job the following are given: 1. (i) an arbitrary cost function of its completion time, 2. (ii) a processing time, 3. (iii) a set-up cost and a set-up time if this job is the first of the sequence.For each pair of jobs are given: 4. (iv) a change-over cost and a change-over time. This formulation contains two formulations of Held and Karp as special cases.