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 Obrigado pela ajuda mOrSa
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? 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!