Está en la página 1de 17

Formulación de Problemas de Algebra Lineal.

Investigacion de Operaciones

SEDE: Tacna

Chura Franco Nelson Leonardo

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.

1. Formulación del problema

El objeto de la programación lineal es optimizar (minimizar o maximizar) una función lineal


de n variables sujeto a restricciones lineales de igualdad o desigualdad. Más formalmente,
se dice que un problema de programación lineal consiste en encontrar el ´optimo (máximo
o mínimo) de una función lineal en un conjunto que puede expresarse como la
intersección de un número finito de hiperplanos y semiespacios en Rn. Considerense las
siguientes definiciones.

Definición 4.1 (problema de programación lineal). La forma más general de un problema


de programación lineal (PPL) cosiste en minimizar o maximizar
Lo que distingue un problema de programación lineal de cualquier otro problema de
optimización es que todas las funciones que en ´el intervienen son lineales. Una única
función no lineal hace que el problema no pueda clasificarse como problema de
programación lineal. Téngase en cuenta además que en este libro se considerara que los
problemas tienen siempre un número finito de restricciones. La función (lineal) en (4.1) se
denomina función objetivo o función de coste, y es la función de ha de optimizarse.
Obsérvese que en (4.2) se presentan todas las posibles alternativas en lo que se refiere a
los operadores que relacionan los dos términos de las restricciones (lineales),
dependiendo de los valores p y q. Como casos especiales, el problema puede tener
exclusivamente restricciones de igualdad, de desigualdad de un tipo, de desigualdad del
otro tipo, desigualdades de ambos tipos, igualdades y desigualdades, etc. Salvo que se
indique lo contrario, en este libro se consideran problemas de minimización.

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.

El objetivo de los problemas de optimización es encontrar un ´optimo global. Sin embargo,


las condiciones de optimalizad solo garantizan, en general, óptimos locales, si ´estos
existen. Sin embargo, los problemas lineales presentan propiedades que hacen posible
garantizar el óptimo global:

 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

2. Problema de programación lineal en forma estándar

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.

2. Sólo incluye restricciones de igualdad.

3. El vector b es no negativo.

4. Las variables x son no negativas.

Antes de analizar el PPL en forma estándar, es conveniente mostrar que cualquier


problema expresado en la forma (4.1)–(4.2) también puede expresarse en forma estándar.

3. Transformación a la forma standard

Cualquier problema de programación lineal puede expresarse siempre en forma estándar


sin más que llevar a cabo una serie de manipulaciones algebraicas:

3.1 Las variables no restringidas en signo se pueden expresar como diferencias de


variables que sí están restringidas en signo, es decir variables no negativas. Si algunas (o
todas) de las variables no están restringidas en signo, ´estas se pueden expresar
mediante sus partes positiva y negativa. Las partes positiva y negativa de la variable xi, se
definen como x+ i = max{0, xi} y x− i = max{0, −xi}, respectivamente. Se puede comprobar
fácilmente que x = x+ i − x− i , |x| = x+ i + x− i y que ambas x+ i y x− i son no negativas. Si
el número de variables no restringidas en signo es r, el empleo de la regla anterior supone
la necesidad de utilizar r variables adicionales.

3.2 Las restricciones de desigualdad pueden convertirse en restricciones equivalentes de


igualdad introduciendo nuevas variables que se denominan variables de holgura:
3.3 Un problema de maximización es equivalente a uno de minimización sin más que
cambiar el signo de la función objetivo. En particular, maximizar

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.

Se describen a continuación algunos ejemplos para ilustrar la transformación a la forma


estándar.

Ejemplo (forma estándar). La forma estándar del problema de programación lineal:


maximizar
4. Soluciones basicas

Considérese un problema de programación lineal en forma estándar matricial (4.8)–(4.9),


donde se supondrá, sin pérdida de generalidad, que el rango de la matriz A de dimensión
m×n es m (recuérdese que m ≤ n), y que el sistema lineal Ax = b tiene solución. En
cualquier otro caso, el problema lineal es equivalente a otro con menos restricciones, o no
tiene solución factible, respectivamente.

Definición 4.4 (matriz básica). Una submatriz no singular B de dimensión m × m de A se


denomina matriz básica o base. B también se denomina matriz básica factible si y solo si
B−1b ≥ 0.

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.

Teorema 4.1 (caracterización de puntos extremos). Sea S = {x : Ax = b, x ≥ 0}, donde A es


una matrix m×n de rango m, y b es un vector de dimensión m. Un punto x es punto
extremo de S si y sólo si A puede descomponerse en (B, N) tal que

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.

Demostración. Una región poliédrica siempre puede escribirse como:

Para que este problema tenga solución acotada, ha de cumplirse que

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.

Estos parámetros de sensibilidad juegan un papel fundamental en aplicaciones de


ingeniería y científicas. Como se verá en las secciones siguientes, los parámetros de
sensibilidad son de hecho variables duales
6. Dualidad

Esta sección trata la dualidad en programación lineal, su concepto y significado. Tras


formular el problema dual de un problema de programación lineal, se establece la relación
matemática entre ambos.

Se emplean diversos ejemplos para ilustrar el importante concepto de la dualidad. Dado


un problema de programación lineal, denominado problema primal, existe otro problema
de programación lineal, denominado problema dual, íntimamente relacionado con ´el. Se
dice que ambos problemas son mutuamente duales.

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.

Definici´on 4.5 (problema dual).

Se denomina al primer problema problema primal, y al segundo, su dual. Obsérvese que


los mismos elementos (la matriz A, y los vectores b y c) configuran ambos problemas. El
problema primal no se ha escrito en forma estándar, sino en una forma que nos permite
apreciar la simetría entre ambos problemas, y mostrar así que el dual del dual es el
primal.

7. Obtencion del problema dual

Un problema de programación lineal de la forma (4.19) tiene asociado un problema dual


que puede formularse según las reglas siguientes:

Regla 1. Una restricción de igualdad en el primal (dual) hace que la correspondiente


variable dual (primal) no esté restringida en signo.
Regla 2. Una restricción de desigualdad ≥ (≤) en el primal (dual) da lugar a una variable
dual (primal) no negativa.

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).

Ejemplo 4.7 (problema dual). El dual del problema de programaci´on lineal

minimizar

Z = x1 + x2 − x3

sujeto a

2x1 +x2 ≥ 3 x1 −x3 = 2 x3 ≥ 0


(4.23)

es maximizar

Z = 3y1 + 2y2

sujeto a

2y1 +y2 = 1 y1 = 1 −y2 ≤ −1 y1 ≥ 0


(4.24)

Para obtenerlo se aplican las reglas anteriores de la forma siguiente:

Regla 1. Puesto que la segunda restricción del problema primal es de igualdad, la


segunda variable dual y2 no está restringida en signo.

Regla 2. Puesto que la primera restricción del problema primal es de desigualdad ≥, la


primera variable dual y1 es no negativa.
Regla 3. Puesto que la tercera variable primal x3 está restringida en signo, la tercera
restricción dual es de desigualdad ≤.

Regla 4. Puesto que las variables primales primera y segunda x1 y x2 no están


restringidas en signo, las restricciones duales primera y segunda son de igualdad.

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 2. Dado que a la tercera restricción del problema dual es de desigualdad ≤, la


tercera variable primal x3 es no negativa.

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

La importancia del problema dual se establece en los siguientes teoremas.

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.

El teorema de dualidad fuerte establece que los problemas P y D tienen, en general,


soluciones ´optimas simultáneamente.

Teorema 4.3 (teorema de dualidad). Si x˜ es una solución ´optima de P, existe una


solución ´optima y˜ para D, y el mínimo de P y el máximo de D presentan el mismo valor
de la función objetivo bT y˜ = cT x˜. Recíprocamente, si y˜ es una solución ´optima de D,
existe una solución ´optima de P, x˜, y nuevamente los valores mínimo y máximo de P y D
dan lugar a un valor común de la función objetivo bT y˜ = cT x˜. En otro caso, o un
conjunto factible está vacío o lo están los dos.

En resumen, si P es un PPL y D es su dual, una de las siguientes afirmaciones es cierta:

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.

Las disponibilidades diarias de mecanizados primario y secundario son respectivamente


de 40 y 56 horas-maquina.

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.

Estos datos se resumen en la tabla 4.1. El objeto de este problema es determinar el


número de mesas de cada tipo que han de producirse diariamente para maximizar el
beneficio obtenido.

Este problema puede formularse como un problema de programación lineal que maximiza

sujeto a

4x1 +3x2 ≤ 40 4x1 +7x2 ≤ 56 (4.25) x1, x2 ≥ 0

donde x1 y x2 son las cantidades diarias de mesas a fabricar de los tipos 1 y 2


respectivamente.

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.

Considérese que la capacidad de mecanizado secundario puede aumentarse cada día de


56 a 72 horas de máquina. ¿Cómo afecta esta ampliación de capacidad a los beneficios
diarios? La solución puede obtenerse resolviendo el siguiente problema en el que se
maximiza

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.

El ratio 1000-850/16=150/16 = 75/8 dólares, al que la función objetivo crece al crecer la


capacidad de mecanizado secundario 1 hora, se denomina sensibilidad o precio sombra
(también precio dual) de la capacidad de mecanizado secundario.

En general el precio sombra de una restricción proporciona el cambio en el valor de la


función objetivo como resultado de un cambio unitario en el termino independiente de la
restricción, suponiendo que el resto de parámetros del problema permanecen inalterados.

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

4y1 +4y2 ≥ 70 3y1 +7y2 ≥ 90 y1, y2 ≥ 0


La solución ´optima de este problema es y1 = 65/8, y2 =75/8, y el valor óptimo de la
función objetivo es 850. Obsérvese que y1 y y2 son los precios sombra de las
capacidades de mecanizado primario y secundario, respectivamente, y que los valores
óptimos de la función objetivo de (4.25) y (4.27) coinciden.

El problema dual (4.27) puede interpretarse de la siguiente manera. Considérese que el


objetivo es vender tiempo de mecanizado primario y secundario y supóngase que de esta
forma se obtienen al menos el mismo nivel de beneficios que haciendo mesas.

En esta situación vender tiempo de mecanizado y hacer mesas han de ser actividades
igualmente lucrativas.

Las variables y1 y y2 variables representan los precios de venta de una hora de


mecanizados primario y secundario respectivamente.

Para preservar la competitividad del negocio, el beneficio diario ha de minimizarse, esto


es minimizar la función 40y1 + 56y2, donde 40 y 56 representan respectivamente la
disponibilidad diaria en horas de mecanizado primario y secundario respectivamente.

Las restricciones establecen que el coste de las horas de mecanizado primario y


secundario para producir una mesa de cada tipo no debe superar el beneficio que se
obtiene por venta de la misma; y que los precios son cantidades no negativas.

También podría gustarte