quinta-feira, 1 de abril de 2021

Uma proposta de algorítmo para registar as pessoas para a vacinação à Covid-19

Não vai ser fácil gerir a segunda fase da vacinação.

Está previsto começar em meados de Abril a inoculação de 100 mil pessoas por dia do "contingente geral". Se pensarmos que existem centenas de centros de saúde e milhões de pessoas, vai ser muito difícil conseguir arranjar as 100 mil pessoas a cada dia sem haver falta de pessoas nem pessoas que se desloquem ao centro de saúde e não tenham vacina.

Mais complexo será se pensarmos que as disponibilidades das pessoas em "idade activa" é bastante menor que as pessoas com mais de 80 anos de idade ou doentes.

Já sabemos que as pessoas se vão inscrever mas não sabemos se a prioridade será dada a quem chegar primeiro ou se haverá algum critério para preferir umas pessoas relativamente às outras. Atendendo a que as pessoas com mais idade têm sintomas mais fortes, terá lógica dar prioridade às pessoas mais idosas. Sendo assim, vou propor que a inscrição contenha um leilão semelhante ao adoptado pelas companhias de aviação low-cost em que o preço é a idade: ter mais idade é equivalente a pagar mais.

O problema em questão é a solução de um "mercado" com quantidade variável de múltiplos produtos em que cada pessoa vai "comprar" duas unidades espaçadas por 3 semanas.


Como é o "mercado" das vacinas.

Existem muitos centros de saúde, cerca de 400, cada um com uma capacidade máxima horária.

O centro de saúde será referido por três grandezas,  i (que vai de 1 a 400); h (que vai das 8:00 até às 20:00 com intervalos de 30 minutos) e d (que vai de 15/abril até 31 de Dezembro).

CS(i, h, d) 

Neste caso, haverá no "mercado" 400 x 24 x 260 = 2496000 "produtos" diferentes em que cada terá uma determinada quantidade máxima disponível, por exemplo, CS(123, 9:30, 15/05/2021) = 100 traduz que nessa meia hora podem ser vacinadas, no máximo, 100 pessoas.

Existe o limite total diário de 100 000 unidades (ou algo semelhante), sendo de prever que a soma de todas as capacidades máximas ultrapasse este limite.


O sistema mais fácil.

As pessoas com mais idade têm prioridade e são divididas em décadas. 

A primeira década será entre 60 e 70 anos. Havendo 1 milhão de pessoas com idade nesta década, os primeiros 10 dias serão para estas pessoas.

As marcações são aceites por ordem e apenas são aceites as pessoas com mais de 60 anos.

Quando a nível nacional for atingido o limite das vacinas disponíveis para esse dia, as marcações encerram.

A marcação para a 1.a dose inclui a marcação apra a 2.a dose.

 

O sistema mais "eficiente"

Por "eficiente" quero dizer que todas as vacinas são utilizadas


As pessoas vão "licitar".

A pessoa  acede ao site e marca uma determinada hora/dia num determinado centro de saúde dizendo a sua idade.

Uma pessoa vai poder marcar muitas hipóteses, por exemplo, usando uma regra "segundas-feiras entre as 8:00 e as 9:30", no mesmo centro de saúde ou em vários podendo atribuir prioridade a cada uma das marcações.


Agora, a dificuldade está em "escolher" as pessoas certas.

Qualquer critério serve mas tem que se procurar um eficiente no sentido em que as pessoas com mais idade têm prioridade mas também que os horários são os escolhidos pelas pessoas.

As companhias de aviação low-cost usam um critério composto: utilizam o preço (quanto mais alto melhor) e o tempo da marcação (quanto mais distante no futuro, melhor).

No nosso caso, será preferível uma pessoa de 75 anos a uma pessoa de 35 anos mas também será melhor uma pessoa que marcou há 30 dias relativamente a uma pessoa que marcou ontem.

Tem então que se criar um critério composto, por exemplo, cada dia corresponde a um ano.

Por exemplo, uma pessoa de 35 anos que marcou há 50 dias fica à frente de outra pessoa de 75 anos que marcou ontem.

 

 Porquê valorizar o tempo de marcação?

Parece lógico que as marcações de última hora devem ser favorecidas se houver vagas. Acontece que este critério faz com que as pessoas deixem as marcações para a última da hora sendo, assim, difícil esgotar todos os "produtos".

Favorecer as marcações há mais tempo, apesar de não parecer lógico, melhora em muito a gestão do sistema. É mesmo este simples critério que faz as empresas low-cost conseguirem preços muito mais baixos que a TAP tendo, mesmo assim, lucros porque conseguem taxas de ocupação muito superiores.

E como resolver o problema das múltiplas marcações?

Agora é que vem o algorítmico do "leilão"!

Em função das marcações, vai ser atribuída uma probabilidade a cada marcação, por exemplo, o António marcou 4 hipóteses:

K  CS   Dia   Hora  Idade  Dias ID  Prob

1   123  21/5  8:00     35       27     72  93%

2   123  21/5  8:30     35       27     72  78%

3   123  20/5  8:00     35       26     71  81%

4   123  20/5  8:30     35       26     71  74%

Estas probabilidade variam ao longo dos dias sendo que são "fechadas" um certo tempo antes da data/hora, por exemplo, 24horas, havendo confirmação de Sim ou de Não.

Ao longo do tempo, a pessoas poderá alterar as suas marcações, anulando umas, alterando as prioridades e fazendo outras.


Mas como é calculada essa probabilidade?

É preciso saber quantas pessoas marcaram cada "produto" o que parece impossível porque cada pessoa faz múltiplas marcações mas esse número será em probabilidade.

Por exemplo, o António está com uma marcação em (123; 21/5; 8:00) com o "preço" 72 mas já só tem (1-0,93) = 0,07 marcações em (123; 21/5; 8:30) com "preço" 72 e (1-0,93)x(1-0,79) = 0,015 marcações em (123; 20/5; 8:00) com "preço" 71.

Havendo o máximo de 100 pessoas e 50 marcações para daqui a 30 dias, o algoritmo baysiano de aprendizagem (digamos que é Inteligência Artificial rudimentar) vai avançar com a probabilidade de uma pessoa com o preço 72 ser uma das escolhidas daqui a 49 dias.

 

O "mercado" fecha, por exemplo, 24 horas antes.

Ao fechar, fica-se a saber quantas vacinas vão ser precisas para cada horário e cada centro de saúde que se compara com as 100 000 existentes para aquele dia.

Se estão marcadas 100x24 no CS 123 mas, o total nacional é de 150 000, vai ser visto onde os "preços" são mais elevados e cortar nas pessoas com "preços" mais baixos (recordo que o preço será a soma da idade com o há quantos dias foi feita a marcação).

Assim que uma pessoa é vacinada, todas as suas outras marcações são anuladas e é feita uma marcação "fixa" para a segunda toma.

 

Mas vai haver sempre quem falte!

Acidente, doença ou outra razão qualquer irá fazer com que algumas pessoas faltem.

Como a vacina da Astrazeneca pode ser facilmente guardada de um dia para o outro, deve haver uma pequena margem com esta vacina para ultrapassar o problema das pessoas que faltam. 

As sobras serão comunicadas ao sistema aumentando o total do dia seguinte.


E está feita a coisa.

0 comentários:

Enviar um comentário

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Hostgator Coupon Code