Are there many approximation algorithms that solve the problem of "job scheduling with conflicts on parallel machines"?

69 Views Asked by At

First, sorry if this is not the proper type of question for this stack exchange. I need to collect scientific sources/papers about job scheduling with conflicts on parallel machines. This is a problem from graph theory, because there exists a graph G, that is used to learn about existing "conflicts".

The problem goes like this: there is a set of jobs that needs to be processed. There is a set of machines that can process said jobs. Machines are parallel, which means they execute the jobs at the same time. Either machines have "speed" of executing the jobs, or jobs have different time needed to process them. But! There is a conflict graph, which consists of vertices and edges. Vertices are jobs, and when there is an edge between two jobs, that means that those jobs are "in conflict" and cannot be executed by the same machine.

There are many variations of this problem. Sometimes machines have different speed of executing the jobs. Usually the end-goal is to schedule the jobs on machines, so that the conflicts are avoided and that we are minimizing the total time that it take for those machines to execute those jobs.

I know about exact algorithms that can solve problems like that. They are quite complicated as for me. For example one is presented in this scientific paper: An exact algorithm for parallel machine scheduling with conflicts (this algorithm is based on "branch and price" which is something that I do not fully understand, and it combines methods from bin packing, scheduling, and graph coloring)

But for my classes I need to gain knowledge about approximation algorithms. Not exact ones. I mean, I don't have to, but I choose this topic myself. I found one example of simple approximation algorithm that works when the conflict graph is an path or cycle. There is even an practical implementation of this problem, because the authors of the paper explain that it can be seen as a problem of assigning continuous shifts in a hospital to the doctors: Scheduling conflicting jobs: Application and new results. I also found a paper like this one, which is also quite good and easy to understand and it provides approximation algorithms: Scheduling of unit-length jobs with bipartite incompatibility graphs on four uniform machines. Many of those papers present algorithms for specific type of situations (specific type of conflict graph et cetera, but it's what I am looking for, different type of algorithms for different type of cases)

I am not really very great at math, but I like graph theory. I am pretty good at looking for scientific papers, but my problem is: I can not find more papers like the one I linked above ("Scheduling conflicting jobs: Application and new results"). I mean, a type of paper that would provide some nice approximation algorithm. I want to do a comparison of different type of approximation algorithms. But all I can find about "job scheduling with conflicts on parallel machines" are things about exact algorithms (which are very very complicated and hard to understand for me, and I need approximation algorithms, not exact ones) or only mathematical proofs. For example this paper: Scheduling with incompatible jobs - it claims that it presents approximation algorithms but call me dumb - where are those algorithms in this paper? Maybe it's because I am coming from an IT point of view, and I don't see any algorithm that is explained step by step. I only see mathematical theorems, lemma, proofs.

Not sure if it's the proper question to ask here. But am I missing something? am I bad at searching for mathematical papers or there is a reason that there is lack of algorithms like that in papers? Is it very niche topic?