I'm looking for a solutions or book references to a given variation of a job scheduling problem:
Given $n$ machines (let's denote it by $m_1, m_2, \ldots, m_n$) and $r$ tasks ($t_1, t_2, \ldots, t_r$). Each task $t$ can be described as a tuple $\left( (a_1, b_1), (a_2, b_2), \ldots, (a_k, b_k) \right)$, where $a_i$ is a number of some machine and $b_i$ is a required time to complete task $t$ on machine $a_i$. To complete the task, you need to start it on the first machine in the sequence ($a_1$) for a given amount of time ($b_1$), then start it on the second ($a_2$) and so on, until you finish your job on all of the given machines. It could be possible that number of machines in job description is smaller than $n$.
We will assume that tasks are atomic and one machine can do only one task in the same time, so it's possible that some task need to wait for a moment when a given machine is free. Finally, we want to find the ordering of tasks to given machines to minimize the total time of all tasks.