Spero che qualcuno possa aiutarmi con questo, perché sono completamente bloccato. Sto lavorando con un gruppo alla mia università, su un rapporto di ricerca del primo semestre che dovrebbe finire come un programma finito, risolvendo il problema descritto di seguito.
Abbiamo riflettuto su questo problema per alcuni giorni e ho promesso che avrei trovato un buon posto per chiedere aiuto con l'algoritmo sottostante. Qualsiasi aiuto ricevuto verrà naturalmente accreditato nel rapporto.
Pensavo di poterlo trattare come un problema di assegnazione lineare, ma o mi manca qualcosa o (molto probabilmente) ho troppe dimensioni per lavorare con questo in questo modo.
Non sono necessariamente alla ricerca di una soluzione definitiva al problema, in quanto anche suggerimenti che mi indirizzino nella giusta direzione sarebbero molto graditi.
Descrizione del problema
- Ci sono stanze di gruppo, gruppi di gruppi e gruppi.
- Una stanza di gruppo può contenere un numero variabile di gruppi, tra 1 e 12. Sono posizionati su ali, pavimenti e persino in diversi edifici diversi, in cui è presente un elemento di distanza.
- Un cluster di gruppo contiene anche un numero variabile di gruppi. Maggiori dettagli da seguire.
- I gruppi devono essere assegnati a una stanza di gruppo con le seguenti priorità che ho pensato di implementare come pesi:
- I gruppi all'interno dei cluster dovrebbero stare il più vicino possibile. Ciò significa che, se possibile, dovrebbero trovarsi nella stessa "area", come la stessa ala o pavimento.
- per le stanze di gruppo che supportano più di un gruppo; non dovrebbero mai contenere gruppi provenienti da due diversi cluster.
- I cluster possono avere legami con altri cluster, il che significa che l'algoritmo dovrebbe favorirli essendo vicini l'uno all'altro. Di nuovo, penso che questo debba essere fattibile con i pesi.
- Se i cluster devono essere suddivisi, idealmente dovrebbero essere suddivisi nel minor numero possibile di parti e posizionarli il più vicino possibile all'altra parte del cluster (o delle parti).
- Suddividere un mazzo su più di un edificio dovrebbe comportare una penalità piuttosto grande.
- Infine; nel caso in cui non ci siano abbastanza stanze di gruppo per tutti i gruppi, dovrebbe comportare un costo piuttosto elevato, in modo da garantire che il minor numero possibile di gruppi sia privo di una sala riunioni.
Hai bisogno di ulteriori informazioni?
Non esitare a chiedere chiarimenti, se necessario. Mi piacerebbe averlo risolto nel miglior modo possibile.