Casa > C > Como Fazer Um Cronograma

Como fazer um cronograma

Uma pessoa precisa explorar todas as combinações possíveis para encontrar a lista de
soluções aceitáveis. Devido às variações nas circunstâncias em que o problema aparece em várias escolas (por exemplo: Existem
constraints em relação às salas de aula? Ou algumas das classes estão divididas
em subgrupos em parte do tempo? É um horário semanal? etc.) lá
isn't uma classe problemática bem conhecida que corresponde a todos os horários
problemas. Talvez, o problema da Knapsack tenha muitos elementos de semelhança com estes problemas em geral.

A confirmação de que este é um problema difícil e para o qual as pessoas perenemente procuram uma solução, é verificar esta (longa) lista de ferramentas de agendamento de software (na sua maioria comerciais).

Por causa do grande número de variáveis envolvidas, a maior fonte
das quais são, tipicamente, os desejos do docente's, é
tipicamente impraticável considerar a enumeração de todas as combinações possíveis. Ao invés disso, precisamos escolher uma abordagem que visite um subconjunto dos espaços problema/solução.


- Algoritmos Genéticos, citados em outra resposta está bem equipada para realizar este tipo de busca semi-guiada (O problema é encontrar uma boa função de avaliação para os candidatos a serem mantidos para a próxima geração).


- As abordagens de reescrita gráfica também são úteis com este tipo de problemas de otimização combinatória.

>

P>Mais do que focar em implementações particulares de um programa gerador automático de horários, I'gostaria de sugerir algumas estratégias que podem ser aplicadas, ao nível da definição do problema.

>br>A lógica geral é que na maioria dos problemas de agendamento do mundo real,
alguns compromissos serão necessários, nem todos os constrangimentos, expressos e
implicados: serão plenamente satisfeitos. Por isso, nós nos ajudamos por:

>ul>li>Definindo e classificando todas as restrições conhecidasli>li>Reduzindo o espaço do problema, manualmente, fornecendo um conjunto de restrições adicionais.li>li>Segurando que algumas das restrições do problema podem ser rapidamente
computadas. Isso é freqüentemente associado à escolha do modelo de dados usado
para representar o problema; a idéia é ser capaz de rapidamente optar por (ou
prune-out) algumas das opções.Redefinir o problema e permitir que algumas das restrições sejam
quebradas, algumas vezes, (tipicamente em direção aos nós finais do gráfico).
A ideia aqui é ou remover algumas das restrições para
filling- nos últimos slots da agenda, ou ter o programa automático
schedule generator stop tímido de completar toda a agenda,
em vez disso fornecendo-nos uma lista de uma dúzia de candidatos plausíveis.
Um humano está frequentemente em melhor posição para completar o puzzle, como
indicado, possivelmente quebrando alguns dos contraints, usando informação
que não é tipicamente partilhada com a lógica automatizada.

Source: Ansver do Algoritmo para criar um horário escolar com um par de correções gramaticais.

De Holton Nevel

O que é melhor, comprar um banco de energia ou uma bateria nova para substituição? :: O que é melhor, Asus ZenFone 8 ou Google Pixel 5?