Problem I have n jobs to schedule in P seconds on unlimited number of machines with dependencies between the jobs i.e . for every job there is a set of jobs which are to be scheduled only after this job is finished. The profit for scheduling the ith job in jth second on any machine is f(i,j), which is positive.
And my target is to maximize the total profit by scheduling each job exactly once in at most P seconds.
We can assume that all the jobs can be scheduled in P seconds always.
Everything is known in advance i.e. offline problem.
Also 0 <= f(i,j) <= B . for all i, j .
and number of dependencies is of O(n).
Is this problem easy ? [may be due to finite constraints ]
My approach
For simplicity , first assume that for a job its profit is time independent.
That is f(i,j) is independent of j for all i and is dependent on only i.
Then any topological ordering which fits in P seconds will work.
If there is no dependency, then also we choose the highest profit giving time for each job and this is easy also.
But problem is when profit for a jobs varies with time with dependencies, in this case, I am unable think any general algorithm.
I am having trouble dealing with the dependencies between the jobs , Are there any resources for dependent unit tasks scheduling algorithms online ?
Please share any idea which can help ...
Update : I have added the bounds for various parameters as they may be required for analysis of the problem.