AndalucíaAndalucía
MadridMadrid
CataluñaCataluña
GaliciaGalicia
MurciaMurcia
ValenciaValencia
En construcciónAñadimos comunidades, materias, años y soluciones de forma progresiva y constante.
Problemas de optimización
Problema
2024 · Extraordinaria · Suplente
2
Examen

Para un proyecto de software libre se dispone de 150 desarrolladores de Javascript y 120 de Python. Es necesario formar equipos de trabajo de dos tipos. El primer tipo estará compuesto por 2 desarrolladores de Javascript y 3 de Python, y el segundo tipo por 6 de Javascript y 4 de Python. Se requieren al menos 6 equipos del segundo tipo. Determine cuántos equipos de cada tipo se podrán formar para obtener el mayor número de equipos posible. En tal caso, ¿cuántos desarrolladores de Javascript y Python se utilizarán?

Programación linealOptimizaciónMaximización
Planteamiento del problema de programación lineal

Definimos las variables de decisión del problema:

xx: número de equipos de tipo 1.yy: número de equipos de tipo 2.

La función objetivo a maximizar es el número total de equipos:

f(x,y)=x+yf(x, y) = x + y

Las restricciones del problema, basadas en la disponibilidad de desarrolladores y las condiciones del enunciado, son:

Javascript: 2x+6y150    x+3y752x + 6y \le 150 \implies x + 3y \le 75Python: 3x+4y1203x + 4y \le 120Mínimo de equipos tipo 2: y6y \ge 6No negatividad: x0x \ge 0
Determinación de la región factible y vértices

Calculamos los vértices de la región factible resolviendo los sistemas de ecuaciones de las rectas correspondientes:

Intersección de x+3y=75x + 3y = 75 y 3x+4y=1203x + 4y = 120: Multiplicando la primera por 3-3 y sumando, obtenemos 5y=105    y=21-5y = -105 \implies y = 21. Sustituyendo, x=753(21)=12x = 75 - 3(21) = 12. Vértice A(12,21)A(12, 21).Intersección de 3x+4y=1203x + 4y = 120 e y=6y = 6: 3x+4(6)=120    3x=96    x=323x + 4(6) = 120 \implies 3x = 96 \implies x = 32. Vértice B(32,6)B(32, 6).Intersección de x=0x = 0 e y=6y = 6: Vértice C(0,6)C(0, 6).Intersección de x=0x = 0 y x+3y=75x + 3y = 75: 3y=75    y=253y = 75 \implies y = 25. Vértice D(0,25)D(0, 25).
x+3y≤753x+4y≤120y≥6(0, 6)(32, 6)(12, 21)(0, 25)Máx: z = 38010203040102030xyz = x + y
Optimización

Evaluamos la función objetivo f(x,y)=x+yf(x, y) = x + y en cada uno de los vértices hallados:

f(0,6)=0+6=6f(0, 6) = 0 + 6 = 6f(32,6)=32+6=38f(32, 6) = 32 + 6 = 38f(12,21)=12+21=33f(12, 21) = 12 + 21 = 33f(0,25)=0+25=25f(0, 25) = 0 + 25 = 25

El valor máximo es 38 y se alcanza formando 32 equipos de tipo 1 y 6 equipos de tipo 2.

Cálculo de recursos utilizados

Para el caso óptimo (x=32,y=6x=32, y=6), calculamos el número de desarrolladores empleados:

Javascript: 2(32)+6(6)=64+36=1002(32) + 6(6) = 64 + 36 = 100 desarrolladores.Python: 3(32)+4(6)=96+24=1203(32) + 4(6) = 96 + 24 = 120 desarrolladores.