K
Álgebra 2024 Andalucia

Optimización de equipos de software mediante Programación Lineal

EJERCICIO 2 (2.5 puntos) 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?
Paso 1
Definición de variables y función objetivo
Lo primero que debemos hacer es identificar las variables de decisión del problema y la función que queremos optimizar. Sean: - $x$: número de equipos del **primer tipo**. - $y$: número de equipos del **segundo tipo**. El objetivo es maximizar el número total de equipos, por lo tanto, la **función objetivo** es: $$f(x, y) = x + y$$ 💡 **Tip:** En los problemas de programación lineal, la función objetivo suele ser una suma de las variables si buscamos el máximo de elementos totales.
Paso 2
Planteamiento de las restricciones
Traducimos los datos del enunciado a desigualdades matemáticas (inecuaciones): 1. **Restricción de Javascript:** Se dispone de 150 desarrolladores. El tipo 1 usa 2 y el tipo 2 usa 6: $$2x + 6y \le 150 \implies x + 3y \le 75$$ 2. **Restricción de Python:** Se dispone de 120 desarrolladores. El tipo 1 usa 3 y el tipo 2 usa 4: $$3x + 4y \le 120$$ 3. **Condiciones de no negatividad y requisito mínimo:** - No se pueden formar equipos negativos: $x \ge 0$. - Se requieren al menos 6 equipos del tipo 2: $y \ge 6$. 💡 **Tip:** Simplificar las inecuaciones (como en el caso de Javascript) facilita los cálculos posteriores.
Paso 3
Cálculo de la región factible y sus vértices
Para hallar la solución, representamos gráficamente las rectas asociadas a las restricciones y calculamos los puntos de corte (vértices) de la región factible. - **Recta $r_1$ (Javascript):** $x + 3y = 75$. Si $x=0, y=25$. Si $y=0, x=75$. - **Recta $r_2$ (Python):** $3x + 4y = 120$. Si $x=0, y=30$. Si $y=0, x=40$. - **Recta $r_3$ (Mínimo tipo 2):** $y = 6$. Los vértices de la región factible son: 1. **A**: Intersección de $x=0$ y $y=6 \implies \mathbf{A(0, 6)}$. 2. **B**: Intersección de $3x + 4y = 120$ y $y=6 \implies 3x + 24 = 120 \implies 3x = 96 \implies \mathbf{B(32, 6)}$. 3. **C**: Intersección de $x + 3y = 75$ y $3x + 4y = 120$: Multiplicamos la primera por -3: $-3x - 9y = -225$ Sumamos: $(3x-3x) + (4y-9y) = 120-225 \implies -5y = -105 \implies y = 21$. Sustituimos: $x + 3(21) = 75 \implies x = 75 - 63 = 12 \implies \mathbf{C(12, 21)}$. 4. **D**: Intersección de $x=0$ y $x + 3y = 75 \implies 3y = 75 \implies \mathbf{D(0, 25)}$. Verificamos que $D(0,25)$ cumple $3(0)+4(25) = 100 \le 120$ (Correcto).
Paso 4
Evaluación de la función objetivo
Evaluamos $f(x, y) = x + y$ en cada vértice para encontrar el valor máximo: - En $A(0, 6): f(0, 6) = 0 + 6 = 6$ - En $B(32, 6): f(32, 6) = 32 + 6 = 38$ - En $C(12, 21): f(12, 21) = 12 + 21 = 33$ - En $D(0, 25): f(0, 25) = 0 + 25 = 25$ El valor máximo es **38**, que se alcanza en el punto **(32, 6)**. ✅ **Resultado:** $$\boxed{\text{Se deben formar 32 equipos de tipo 1 y 6 equipos de tipo 2}}$$
Paso 5
Cálculo de recursos utilizados
Para responder a la segunda pregunta, calculamos cuántos desarrolladores se han empleado con la combinación óptima $(32, 6)$: - **Javascript:** $$2 \cdot (32) + 6 \cdot (6) = 64 + 36 = 100 \text{ desarrolladores.}$$ - **Python:** $$3 \cdot (32) + 4 \cdot (6) = 96 + 24 = 120 \text{ desarrolladores.}$$ ✅ **Resultado Final:** $$\boxed{\text{Se utilizarán 100 desarrolladores de Javascript y 120 de Python}}$$
Vista Previa