Was this page helpful?

Problema Escalonamento de Enfermeiras

    Introdução

     Mais conhecido com NSP (Nurse Scheduling Problem) ou Problema de Escalonamento de Enfermeiras(os) determina o ação de trabalho em um quadro de enfermeiras em um período específico levando em considerações várias restrições, buscando atender um objetivo específico.

    Definição do Problema

     Dependendo da quantidade de restrições e das relações entre elas, o problema pode ser NP-difícil e requer meta-herísticas para ser resolvido.

    Modelagem

     Iremos abordar o assunto tratando uma instância simples, seguindo a seguinte estrutura para cada enfermeira:

     

    Turno/Semana Domingo Segunda Terça Quarta Quinta Sexta Sábado
    Turno1              
    Turno2              
    Turno3              

    Cada enfermeira preeche a tabela segundo sua preferência de trabalho, seguindo os seguintes critérios:

    • Não Quero (0,0)
    • Talvez (0,5)
    • Quero (1,0)

    Essa estrutura será replicada dentro do horizonte de planejamento, que pode ser de 1 mês, 1 semestre (6 meses) ou o período que for necessário.

    Restrições

     São inúmeras restrições que podem variar segundo a realidade de cada hospital/enfermaria e realidade trabalhista de cada país/estado, logo iremos definir nossas restrições para abordar um instância do problema, mais ou menos segundo a realidade dos hospitais brasileiros.

    1. Uma enfermeira não pode trabalhar mais de um turno por dia;
    2. As enfermeiras podem trabalhar no máximo "x" dias seguidos de trabalho;
    3. Quantidade mínima e máxima de enfermeiras por dia e turno de trabalho;
    4. Carga mínima de trabalho por enfermeira;
    5. Enfermeiras que não podem trabalhar juntas;
    6. Alocar a enfermeira segundo sua preferência por Turno/Semana de trabalho.

    Função Objetivo

    O problema pode ser resolvido usando Programação Linear ou Programação Linear Inteira dependendo do tipo de modelagem, para resolver o problema temos que definir um função objetivo que pode ser maximizar ou minimizar algo, por exemplo no modelo acima queremos maximizar as preferências das enfermeiras.

    Atividades a executar

    Segue abaixo uma lista das atividades necessárias para a conclusão do projeto:

    • Permitir que o usuário proponha um escalonamento (por exemplo, o último escalonamento que já é utilizado atualmente feito de forma manual, ou o escalonamento que o/a enfermeiro/a considera o melhor disponível) ao sistema.
      • Permitir o uso deste escalonamento fornecido pelo usuário como entrada para a GLPK e mostrar a diferença no valor da função objetivo para um e para outro.
    • Mostrar a tabela com os resultados do escalonamento de forma que o usuário possa modificar as enfermeiras alocadas para cada um dos turnos. Para tal, ao invés de mostrar o nome da enfermeira deve-se mostrar combobox com o nome de todas as enfermeiras (exceto as já alocadas para o turno em questão).
      • Após cada modificação feita em uma alocação pelo usuário, deve estar disponível ao usuário a alteração no valor da função objetivo.
      • Permitir salvar o escalonamento modificado pelo usuário como o escalonamento final (na tabela results).
    Was this page helpful?
    Marcadores (Editar marcadores)
    • No tags
    Estatísticas da página
    9270 view(s), 15 edit(s) and 4078 character(s)

    Comentários

    Faça o login para escrever um comentário.

    Anexar arquivo

    Anexos