Trabalho de Conclusão de Curso (Graduação)O problema de escalonamento de tarefas é um dos vários problemas de otimização da computação que pertencem à Classe NP-Completo, evidenciando a alta complexidade na obtenção de soluções exatas, e abrindo espaço para a produção de algoritmos aproximados. Com o estudo de muitos pesquisadores do ramo no decorrer das décadas, vários algoritmos aproximados foram projetados para obter soluções próximas da solução ótima em tempo hábil para várias instâncias do problema, respeitando uma gama de restrições atreladas a cada uma delas, buscando torná-las úteis para aplicação em ambientes reais. Neste trabalho, abordamos as cinco variantes mais conhecidas do problema de escalonamento: escalonamento de tarefas em uma única máquina, multiprocessamento para máquinas idênticas com memória compartilhada ou distribuída, e multiprocessamento para máquinas não-idênticas com memória compartilhada ou distribuída. Para cada uma dessas variantes, então, é descrito o sistema em que elas se inserem e as restrições e custos que elas consideram, além de ser apresentado alguns algoritmos aproximados, analisando a estratégia, complexidade e razão de aproximação de cada um deles. Por fim, é esperado que essa exposição extensa de várias estratégias de aproximação para vários contextos de escalonamento contribua para a sistematização do conhecimento de algoritmos aproximados para esse problema e sirva de base para outras pesquisas