Propuesta Grupo 8

Propuesta Grupo 8

de Bernardo Bocking Bandeira -
Número de respuestas: 2

Contexto del problema

Una empresa de software vende horas de trabajo de diferentes desarrolladores  para proyectos. Los desarrolladores se clasifican en tres  categorías:

  1. Senior developer

  2. Mid developer

  3. Jr developer

Se cobra un monto distinto por hora por cada categoría de programador. El objetivo es maximizar las ganancias totales de la empresa, dado un conjunto de restricciones, como la disponibilidad limitada de desarrolladores y la regla de que tiene que haber un senior por proyecto. También se debe considerar que un desarrollador senior puede formar parte de hasta dos proyectos en simultáneo, y un desarrollador mid o junior solo pueden trabajar en un proyecto a la vez. Los desarrolladores trabajan 8 horas cada uno.

Conjuntos del problema

  • D conjunto de desarrolladores

  • P conjunto de proyectos

Parámetros


Variables


Restricciones

Formulación Matemática del Problema

Función Objetivo:

Queremos maximizar los ingresos de la empresa, para esto debemos maximizar la función ganancia que se obtiene restando el sueldo de la ganancia obtenida por desarrollador, a partir de esto obtenemos la siguiente función objetivo:



Nicolas Berro (5031455-0)

Bernardo Bokcing (4953722-4)

Florencia Carle (5355244-8)



En respuesta a Bernardo Bocking Bandeira

Re: Propuesta Grupo 8

de Omar Viera -
Clásico problema de Asignación de recursos a actividades, modelado como un problema lineal lo que lo hace más sencillo de resolver.
Este tipo de problemas de asignación de personal a tareas se ve en un montón de actividades: asignación de personal de seguridad, de limpieza de atención al público etc. En este caso también presenta una característica de la realidad, las habilidades o capacidades del personal a asignar.

Saludos,
/Omar.
En respuesta a Bernardo Bocking Bandeira

Re: Propuesta Grupo 8

de Marie Madeleine Lacoste Kovalchuk -
Buenas!

Para hacerlo más realista se podría agregar que cada proyecto tenga cierta proporción de cada tipo de desarrollador, esto haría que haya un equilibrio de experiencia en el equipo.
De la mano con esto, también que ciertos proyectos requieran algunos conocimientos en particular para poder trabajar en ellos, esto implica que se genere una restricción nueva sobre la asignación de los desarrolladores (por ejemplo, que se requiera conocimientos de C++: x_{p,d} = 0 si d no es experto en C++)

Como comentario final, también nos gustaría plantear el escenario donde se puedan contemplar las horas extras realizadas por los desarrolladores. Habría que reformular
la restricción de la cantidad máxima de horas trabajadas en el proyecto y además agregar un costo adicional por cada hora extra trabajada. Para terminar de reflejar estos cambios, habría que modificar la función objetivo agregando los costos de las horas extras.

Saludos, grupo 1