Systems that require maintenance typically consist of multiple components. In case of economic dependencies, maintaining several of these components simultaneously can be more cost efficient than performing maintenance on each component separately, while in case of redundancy, postponing maintenance on some failed components is possible without reducing the availability of the system. Condition-based maintenance (CBM) is known as a cost-minimizing strategy in which the maintenance actions are based on the actual condition of the different components. No research has been performed yet on clustering CBM tasks for systems with both economic dependencies and redundancy. We develop a dynamic programming model to find the optimal maintenance str...