Text this: Development of dynamic programming algorithm for maintenance scheduling problem