Ontem encontrei um problema na sala de aula (aula de negócios, não ciência da computação) e achei interessante do ponto de vista algorítmico.
O problema é mais ou menos assim:
suponha que exista um chão de fábrica com N salas diferentes e você tenha N departamentos diferentes que precisem entrar nessas salas. Os departamentos e as salas são do mesmo tamanho, portanto, qualquer departamento pode entrar em qualquer sala. Há uma distância de viagem conhecida de cada quarto para o outro quarto. Também há uma quantidade conhecida de viagens necessárias de um departamento para outro (as viagens são contadas da mesma forma, independentemente da sala de onde se originam; portanto, uma viagem de A a B é equivalente a uma viagem de B a A). Dadas essas informações, determine um layout dos departamentos nas salas, o que minimiza o tempo de viagem.
Qual é a melhor maneira de abordar esse problema algoritmicamente? Já existe um algoritmo específico ou classe de algoritmos projetados para resolver esse tipo de problema? Esse tipo de problema tem nome na ciência da computação?
Não estou procurando que você crie um algoritmo para resolver isso, embora sinta-se à vontade para fazê-lo, se desejar. Gostaria de saber se este é um espaço problemático que já foi bem definido e estudado algoritmicamente e, em caso afirmativo, obtenha alguns links para pesquisar mais. Eu posso ver muitas estruturas de dados e algoritmos diferentes que podem se aplicar a isso e estou curioso para saber qual abordagem seria "melhor".
E não se preocupe, você não está fazendo minha lição de casa por mim. Este não é um problema de lição de casa em si, pois é um curso de negócios e estávamos simplesmente discutindo os conceitos e não tentando resolver o problema algoritmicamente.