/ Algoritmo de escalonamento de tempo de melhor ajuste para aplicação de gerenciamento de eventos - c ++, c, algoritmo, escalonamento, algoritmo genético

Algoritmo de escalonamento de tempo de melhor ajuste para aplicação de gerenciamento de eventos - c ++, c, algoritmo, escalonamento, algoritmo genético

Estou trabalhando em um mundo real de gerenciamento de eventosapplicationwhere Eventos são agendados com base na disponibilidade do local do evento, nenhum dos eventos deve entrar em conflito. Qual é a melhor possibilidade de inserir o próximo valor.

Exemplo: Suponha que o Evento 1 esteja acontecendo entre 9 e 9:30 na Sala A O evento 2 acontece das 9h às 10h na sala B Event3 pode começar às 9:30 no quarto A desde a sua livre após 9:30 n assim por diante ......

Qual algoritmo posso usar?

Nota: Isto não é um algoritmo de escalonamento de CPU

Obrigado :)

Respostas:

3 para resposta № 1

Eu iria com uma abordagem gananciosa.

  1. Classifique todos os eventos de acordo com a hora de início
  2. Para cada local:
    1. T = tempo mais cedo
    2. Encontre o primeiro evento em ou após T e agende-o para este local. Remova esse evento da lista.
    3. Atualize T para finalizar este evento

Depois que isso for concluído, você poderá usar algum tipo de pesquisa local (simulated annealing based) para otimizar ainda mais a atribuição.