Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Investigacion de Operaciones
SEDE: Tacna
FECHA: 19/10/2022
Introduction
La programación lineal tiene muchas aplicaciones de interés, como las ilustradas con los
distintos ejemplos del capítulo 1, donde se introdujeron los elementos básicos de un PPL.
En este capítulo se presenta una descripción más formal de la programación lineal. En
concreto, se definen los conceptos más importantes relacionados con un PPL y se
describen los diversos tipos de soluciones posibles. En la sección 4.2 se introduce el
problema general de la programación lineal, y se ilustran los casos de solución ´única y
múltiple, y los casos de solución no acotada y de infactibilidad. En la sección 4.3 se
describe la forma estándar de un problema de programación lineal y se muestra como
cualquier PPL puede ponerse en esa forma. La sección 4.4 define y analiza las soluciones
básicas, que son las soluciones candidatas a lograr un valor óptimo de la función objetivo.
En la sección 4.5 se analizan las sensibilidades del problema con respecto a los valores
de los términos independientes de las restricciones. Finalmente, en la sección 4.6 se
muestra que todo problema de programación lineal tiene un problema dual asociado, y se
proporcionan varios ejemplos en los que se interpretan ambos problemas, primal y dual.
Definition 4.2 (solution factible). Un punto x = (x1, x2,...,xn) que satisface todas las
restricciones (4.2) se denomina solución factible. El conjunto de todas esas soluciones es
la regi´on de factibilidad.
Definición 4.3 (solución ´optima). Un punto factible x˜ tal que f(x) ≥ f(x˜) para cualquier
otro punto factible x se denomina una solución ´optima del problema.
Si la región factible está acotada, el problema siempre tiene una solución (´esta es
una condición suficiente pero no necesaria para que exista una solución).
El óptimo de un problema de programación lineal es siempre un ´optimo global.
Si x y y son soluciones ´optimas de un problema de programación lineal, entonces
cualquier combinación (lineal) convexa de los mismos también es una solución
´optima. Obsérvese que las combinaciones convexas de puntos con el mismo
valor de la función de coste presentan el mismo valor de la función de coste.
La solución ´optima se alcanza siempre, al menos, en un punto extremo de la
región factible. Esto se muestra en el Teorema 4.2, de la sección 4.2.
Los ejemplos siguientes ilustran problemas con solución única, múltiple, solución no
acotada y solución infactible.
Ejemplo 4.1 (solución ´única). Considérese el siguiente problema de programación lineal.
Maximizar
La figura 4.1 muestra la región factible (área sombreada), las curvas de nivel (líneas finas)
de la función objetivo, el vector gradiente indicando la dirección de crecimiento de la
función objetivo. La solución se alcanza en el punto P, dado que se encuentra en la última
curva de nivel en la dirección indicada y en el último punto factible de la región de
factibilidad. P es por tanto la intersección de las rectas
Dado que un PPL puede plantearse de diversas formas, para unificar su análisis, es
conveniente transformarlo en lo que normalmente se llama forma estándar. A veces, esta
transformación ha de realizarse antes de resolver el PPL y determinar el ´optimo. Para
describir un PPL en forma estándar son necesarios los tres elementos siguientes:
1. Un vector c ∈ Rn
2. Un vector no negativo b ∈ Rm
3. Una matriz m × n, A
Con estos elementos, el problema lineal asociado y en forma est´andar tiene la siguiente
forma. Minimizar
donde cT x indica producto escalar de los vectores c y x, Ax es el producto de la matriz A
y el vector x, y x ≥ 0 hace que todas las componentes de los vectores factibles sean no
negativas. Los problemas de programación lineal se estudian normalmente en esta forma.
Típicamente, n es mucho mayor que m. En resumen, un problema de programación lineal
se dice que está en forma estándar si y solo si
1. Es de minimización.
3. El vector b es no negativo.
Zmax = cT x
es equivalente a minimizar
Zmin = −cT x
si ambos problemas han de cumplir las mismas restricciones. Obsérvese que ambos
problemas alcanzan el ´optimo en los mismos puntos, pero Zmax = −Zmin.
3.4 Una restricción con termino independiente b no positivo puede reemplazarse por otra
equivalente cuyo término independiente es no negativo.
Cada matriz básica tiene un vector asociado que se denomina solución básica. El
procedimiento para calcular esta solución es el siguiente. Sea xB el vector de las variables
asociadas a las columnas de A necesarias para construir B. Las variables xB se
denominan variables básicas y el resto se denominan variables no básicas. Asignando el
valor cero a las variables no basicas
donde N es tal que A = (B N). Por tanto B−1b nos permite obtener la solución básica
asociada a B. Si B es una matriz básica factible, su solución básica se dice que es
factible. El número de soluciones básicas factibles de un problema de programación lineal
acotado con un número finito de restricciones es siempre finito, y cada una se
corresponde con un punto extremo de la región de factibilidad. En concreto, el teorema
siguiente establece la relación entre soluciones básicas factibles (SBFs) y puntos
extremos.
Una demostración de este teorema puede encontrarse en el texto de Bazaraa et al. [9]. El
teorema siguiente muestra por qué las soluciones básicas factibles son importantes.
Teorema 4.2 (propiedad fundamental de la programación lineal). Si un problema de
programación lineal tiene una solución ´optima, es además una solución básica factible.
cT wj ≥ 0, ∀j
Si no es así, el valor de la función objetivo puede disminuirse tanto como se quiera sin
más que seleccionar valores adecuados para πj = 0 y/o λk. Por tanto, el valor de la
función objetivo pasa a ser
5. Sensibilidades
que indica que λ∗ j proporciona el cambio en el valor óptimo de la función objetivo como
resultado de un cambio marginal en la componente j del vector de términos
independientes b.
Bajo ciertas hipótesis, los problemas primal y dual dan lugar al mismo valor óptimo de la
función objetivo, y por tanto se puede resolver indirectamente el problema primal
resolviendo el problema dual. Esto puede suponer una ventaja computacional relevante.
Regla 3. Una restricción de desigualdad ≤ (≥) en el primal (dual) da lugar a una variable
dual (primal) no positiva.
Regla 4. Una variable no negativa primal (dual) da lugar a una restricción de desigualdad
≤ (≥) en el problema dual (primal).
Regla 5. Una variable primala (dual) no positiva da lugar a una restricción de desigualdad
≥ (≤) en el problema dual (primal).
Regla 6. Una variable no restringida en signo del problema primal (dual) da lugar a una
restricción de igualdad en el dual (primal).
minimizar
Z = x1 + x2 − x3
sujeto a
es maximizar
Z = 3y1 + 2y2
sujeto a
Aplicando las mismas reglas, se puede obtener el problema primal del dual, lo que se
muestra a continuación:
Regla 1. Dado que las restricciones primera y segunda del problema dual son de
igualdad, las variables primales primera y segunda x1 y x2 no están restringidas en signo.
Regla 3. Dado que la primera variable dual y1 está restringida en signo, la primera
restricción primal es de desigualdad ≥.
Regla 4. Puesto que la segunda variable dual y2 no está restringida en signo, la segunda
restricción primal es de igualdad.
8. Teoremas de dualidad
Lema 4.1 (lema de dualidad débil) Sea P un PPL, y D su dual. Sea x una solución factible de P e y
una solución factible de D. Entonces
bT y ≤ cT x
Por tanto, todas las desigualdades son de hecho igualdades y x˜ e y˜ deben ser
soluciones ´optimas de P y D respectivamente, tal como establecía la hipótesis inicial.
1. Ambos problemas tienen solución ´optima y los valores ´óptimos de las funciones
objetivo respectivas coinciden.
2. Uno de los problemas no está acotado y el otro tiene una región factible vacía.
Ejemplo 4.8 (problemas primal y dual del carpintero). Un carpintero modesto fabrica dos
tipos de mesas de madera.
Cada mesa del tipo 1 necesita 4 horas de mecanizado primario (preparación de piezas) y
4 horas de mecanizado secundario (ensamblado y barnizado).
Análogamente, cada mesa del tipo 2 necesita 3 horas de mecanizado primario y 7horas
de mecanizado secundario.
La venta de una mesa del tipo 1 reporta un beneficio de 70 dólares, mientras que la venta
de una mesa del tipo 2 de 90 dólares.
Este problema puede formularse como un problema de programación lineal que maximiza
sujeto a
La solución ´optima de este problema, como se observa en la figura 4.4, establece que
han de producirse diariamente 7y 4 sillas de los tipos 1 y 2 respectivamente, lo que da
lugar a un beneficio de 850 dólares.
Este resultado indica que ambos recursos de mecanizado (primario y secundario) están
plenamente utilizados porque las restricciones relacionadas con ellos están ambas
activas.
Por otra parte, considérese que quiere aumentarse el beneficio diario. Para ello es
necesario aumentar la capacidad productiva.
Z =70x1 + 90x2
sujeto a
4x1 +3x2 ≤ 40 4x1 +7x2 ≤ 72 x1, x2 ≥ 0
En este caso la solución ´optima es x1 =4y x2 = 8 con un beneficio máximo diario de 1000
dólares. Esta solución indica que el beneficio diario crece en 150 dólares y la capacidad
de mecanizado secundario crece en 72 − 56 = 16 horas máquina.
En muchos problemas de programación lineal los precios sombra son tan importantes
como la solución del problema, ya que proporcionan información sobre el efecto en la
función objetivo de cambios en los recursos disponibles.
Los precios sombra pueden obtenerse resolviendo el problema dual. El problema dual del
problema del carpintero (4.25) se formula a continuación. Minimizar
Z = 40y1 + 56y2
sujeto a
En esta situación vender tiempo de mecanizado y hacer mesas han de ser actividades
igualmente lucrativas.