Programación lineal esencial
Klíčové pojmy: Definir función objetivo lineal y variables de decisión, Expresar restricciones como desigualdades lineales y no negatividad, Encontrar la región factible y sus vértices, Usar método gráfico para problemas con $n=2$, Aplicar algoritmo simplex para problemas de mayor dimensión, Formular el problema dual y usar complementariedad, Detectar infactibilidad, ilimitación u optimalidad, Introducir variables de holgura/excedente para pasar a forma canónica, Evaluar la función objetivo en vértices para hallar óptimos, Modelar preservando linealidad y unidades coherentes, Interpretar soluciones en contexto aplicado
## Introducción
La **programación lineal** es una rama de la investigación operativa dedicada a modelar y resolver problemas de asignación de recursos limitados de manera óptima cuando las relaciones entre variables son lineales. Se utiliza ampliamente en economía, logística, ingeniería y ciencias aplicadas para maximizar o minimizar una función objetivo sujeta a restricciones lineales.
> Definición: La programación lineal es el proceso de optimizar una función lineal sujeta a un conjunto de restricciones lineales y de no negatividad.
## Conceptos básicos
### Componentes de un modelo de programación lineal
- **Función objetivo:** expresa cuantitativamente la meta a optimizar (maximizar o minimizar). Ejemplo: $\text{Maximizar } z = 3x_1 + 2x_2$.
- **Variables de decisión:** incógnitas que representan decisiones a tomar, por ejemplo $x_1$, $x_2$.
- **Restricciones:** ecuaciones o desigualdades lineales que limitan las combinaciones factibles de variables, por ejemplo $x_1 + 2x_2 \le 100$.
- **Restricciones de no negatividad:** normalmente $x_i \ge 0$ para todas las variables relevantes.
> Definición: Región factible es el conjunto de todas las soluciones que satisfacen todas las restricciones de un problema de programación lineal.
### Formas de representación
- **Forma estándar (maximización):**
- Función objetivo: $\text{Maximizar } z = c_1 x_1 + \dots + c_n x_n$.
- Restricciones: $$a_{11}x_1 + \dots + a_{1n}x_n \le b_1$$ $$\vdots$$ $$a_{m1}x_1 + \dots + a_{mn}x_n \le b_m$$
- No negatividad: $x_j \ge 0$.
- **Forma canónica (ecuaciones):** se obtienen introduciendo variables de holgura, excedente o artificial según corresponda.
### Propiedades importantes
- Si existe una solución óptima, existe al menos una solución óptima en un vértice de la región factible.
- Si la región factible es no acotada en la dirección de optimización, el problema puede ser ilimitado (sin solución finita).
- Si las restricciones son inconsistentes, la región factible está vacía y el problema es infactible.
## Métodos de solución
### Método gráfico (para $n=2$)
1. Plantea la función objetivo y las restricciones en el plano $(x_1,x_2)$.
2. Determina la región factible.
3. Evalúa la función objetivo en los vértices de la región factible. La mejor evaluación da la solución óptima.
Ejemplo práctico: Maximizar $z=4x_1+3x_2$ sujeto a $x_1+2x_2\le 8$, $3x_1+2x_2\le 12$, $x_1,x_2\ge 0$. Graficando y calculando vértices se encuentra la solución óptima (evaluar en cada vértice).
### Método simplex
- Es un algoritmo iterativo que mueve de vértice en vértice mejorando el valor de la función objetivo hasta alcanzar optimalidad.
- Requiere escribir el problema en forma de tabla (tabla simplex) con variables básicas y no básicas.
Pasos generales:
1. Convertir restricciones a ecuaciones con variables de holgura/excedente y, si es necesario, variables artificiales.
2. Formar la tabla inicial.
3. Determinar variable entrante (columna con coeficiente que mejora la función objetivo) y variable saliente (ratio mínimo).
4. Pivotar para actualizar la base y repetir hasta la optimalidad.
> Definición: Una solución básica es aquella en la que $n-m$ variables son cero y las $m$ variables básicas se obtienen resolviendo el sistema de ecuaciones asociado.
### Método dual
- Cada problema de programación lineal (primal) tiene un problema asociado llamado **dual**.
- Propiedad de complementariedad: si una variable primal es positiva, la restricción dual correspondiente se cumple con igualdad, y viceversa.
Ejemplo de formulación dual: para el primal de maximización
$$\text{Maximizar } z = c^T x \quad \text{sujeto a } Ax \le b,\; x \ge 0$$
El dual es
$$\text{Minimizar } w = b^T y \quad \text{sujeto a } A^T y \ge c,\; y \ge 0$$
## Modelado y aplicaciones reales
### Aplicaciones típicas
- **Transporte y logística:** minimizar costes de transporte sujetas a oferta y demanda.
- **Planeación de producción:** maximizar beneficio o minimizar coste con capacidad y demand