Como resultado de los cambios en la empresa, tenemos que reorganizar nuestro plan de sesión: una sala con 10 escritorios en ella. Algunos escritorios son más populares que otros por varias razones. Una solución sería dibujar un número de escritorio de un sombrero. Creemos que hay una mejor manera de hacerlo.Algoritmo de optimización de espacio abierto
Tenemos 10 escritorios y 10 personas. Vamos a dar a cada persona en este concurso 50 fichas hipotéticas para hacer una oferta en los escritorios. No hay límite de cuánto ofertas en un escritorio, puedes poner los 50, lo que sería "quiero sentarte solo aquí, punto". También puede decir "No me importa" dando a cada mesa 5 fichas.
Nota importante: nadie sabe lo que otras personas están haciendo. Cada uno tiene que decidir en base sólo en su/su mejor interés (suena familiar?)
Ahora digamos que hemos obtenido estos resultados hipotéticos:
# | Desk# >| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
1 | Alise | 30 | 2 | 2 | 1 | 0 | 0 | 0 | 15 | 0 | 0 | = 50
2 | Bob | 20 | 15 | 0 | 10 | 1 | 1 | 1 | 1 | 1 | 0 | = 50
...
10 | Zed | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | = 50
Ahora, lo que tenemos que encontrar es que uno (o más) Configuración (s) que nos da la máxima satisfacción (es decir, las personas obtienen los escritorios que querían teniendo en cuenta todas las ofertas y maximizando el total del grupo. Naturalmente, la suposición es que cuanto más pedimos en el escritorio más lo quiere)
Dado que solo hay 10 personas, creo que podemos forzarlo brutalmente buscando en todas las configuraciones posibles, pero me preguntaba si hay un algoritmo mejor para resolver este tipo de problemas.
Puede estar relacionado con http://en.wikipedia.org/wiki/Stable_marriage_problem – polygenelubricants
Creo que en la práctica, es posible que desee algo más como una decepción mínima en lugar de la satisfacción máxima. O al menos alguna combinación. –
@Doug: gracias por la pista :). Es posible –