Dúvida Java - Gerar Horários

Boas,

Será que alguém é capaz de me dar uma ajudinha? Tenho de fazer um projecto que consiste, basicamente, em gerar horários escolares. O programa tem como dados de entrada 2 ficheiros (um com todos os horários de cada turma e outro com as disciplinas a que o aluno está inscrito) e como dados de saída um ficheiro com os melhores horários.

O meu único problema nisto é que não sei como combinar todos os horários de cada turma de modo a ter todos os horários possíveis (não sei se me estou a fazer entender!?).

Alguém é capaz de me dar uma ideia de como fazer essas combinações?

Thanks!
 
Eu tive de fazer algo parecido.
Isso é algum projecto de uma cadeira? é para um cadeira de programação ou uma para uma cadeira de Inteligência Artificial?

Não percebi muito bem...
Um aluno so pode ter aulas numa turma?
O que consideras o melhor horário?
 
O que precisas é ler acerca de algoritmos genéticos. Sim, o nome parece estranho mas é o que se usa para obter o "melhor" horário!
Podes ainda pensar numa abordagem heurística e atribuir pesos diferentes a cada hora do horário até obteres o mais "leve". Digo-te que não é tão linear quanto aparenta! Há software que gera "automaticamente" o horário mas nem esse software desenhado para isso funciona a 100%. É sempre preciso uma mãozinha!

1abraço!
 
É um projecto para uma cadeira de programação.
O objectivo é gerar todas as combinações de horários possíveis. Cada horário tem de ter, para cada disciplina, uma turma teórica, uma teórico-prática e uma prática-laboratorial.
Tem que escolher um horário como nós fazemos no início de cada semestre. Mas em vez de escolher um, tens de fazer todas as combinações possíveis.
Esta parte é que eu não sei. A parte de escolher o melhor horário (de acordo com critérios pré-definidos) já tenho feito..só falta mesmo ter os horários :)




Eu tive de fazer algo parecido.
Isso é algum projecto de uma cadeira? é para um cadeira de programação ou uma para uma cadeira de Inteligência Artificial?

Não percebi muito bem...
Um aluno so pode ter aulas numa turma?
O que consideras o melhor horário?

Obrigado pela ajuda mOrSa
 
Última edição pelo moderador:
Então.. basicamente o que tens que fazer não é aplicar a propriedade distributiva ? Todos por todos ? O melhor horário vai ser por exemplo.. o que tiver menos buracos.. ..
 
Depende. O facto de considerares que o melhor é o que tem menos buracos até parece lógico mas eu, por exemplo, preferia ter um dia sem aulas e ter 3 ou 4 buracos no horário. Eu disse que não era assim tão linear... E existem algoritmos que funcionam bastante bem nesse campo. Para quê reinventar a roda? :P
Além do mais, depois de conheceres bem esse algoritmos podes, sim, criar pesos em cada um dos aspectos: buracos, carga horária máxima, etc, etc...

1abraço!
 
Back
Topo