programación lineal entera

26
Prof. Ing. Claudio L. R. Sturla REPÚBLICA ARGENTINA PROGRAMACIÓN LINEAL Se puede reproducir libremente. Se agradecerá citar la fuente. THE RECORDING, COPYING, LOAN, UNAUTHORIZED HIRE, PUBLIC SHOWING OR BROADCAST OF THIS DATAGRAM IS STRONGLY ENCOURAGED. Claudio L. R. Sturla Bibliografía: Bunday, Brian D. y Garside, Gerarl R. Linear Programming in Pascal , Edward Arnold Ltd., Londres, ISBN 0-7131-3647-2, 1.987. Dorfman, Robert, Samuelson, Paul A. y Solow, Robert M. Programación Lineal y Análisis Económico , 2ª edición, Aguilar, Madrid, 1.964. Fraleigh, John B. y Beauregard, Raymond A., Álgebra Lineal , Addison-Wesley Iberoamericana, EE. UU., ISBN 0-201-64420-7, 1.989. Frazer, J. Ronald, Programación Lineal Aplicada , Editorial Técnica, S.A., México. Hadley, G. Linear Programming , Addison-Wesley Publishing Company, Massachusetts, EE.UU, ISBN 0-201-02660-0, 1.963. Hillier, Frederick S. y Lieberman, Gerald J. Introduc ción a la Investigación de Operacio nes , 3ª edición en Castellano, McGraw Hill de México S. A. de C. V., Naucalpan de Juárez, 1.993, ISBN 968-422-993-3. Gass, Saúl I., Programación Lineal , CECSA, México. Goldstein, E. G. y Yudin, D. B. Programación Lineal , Paraninfo, Madrid, ISBN 84-283-0868, 1.976. Kaufmann, Arnold Métodos y Modelos de la Investiga ción de Operaciones , Tomo I, 2ª edición, CECSA, México, 1.981. Munier, Nolberto J., Aplicaciones de la Programación Lineal , Editorial Astrea, Buenos Aires. Poiasina, Marta Rosa et al, Guía de Ejercicios y Trabajos Prácticos , Centro de Estudiantes de Ingeniería Tecnológica, Facultad Regional Buenos Aires, Universidad Tecnológica Nacional. Poiasina, Marta Rosa et al, Anexo Guía de Trabajos Prácticos - Ejercicios Resueltos, Centro de Estudiantes de Ingeniería Tecnológica, Código: K/40/P03, Facultad Regional Buenos Aires, Uni- versidad Tecnológica Nacional. Schroeder, George G. Administración de Operaciones , McGraw Hill de México S. A. de C. V., Naucalpan de Juárez, México, 1.994, ISBN 970-10-0088-9. Winston, Wayne L., Investigación de Operaciones , Grupo Editorial Iberoamérica S. A. de C. V., México, ISBN 970-625-029-8, 1.994. Sitios internet http://www.lindo.com http://members.tripod.com/~operativa/Invop.html http://www-math.cudenver.edu/~hgreenbe/courseware/Lpshort/frame-intro.html pl-01.doc 22

Transcript of programación lineal entera

Page 1: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

REPÚBLICA ARGENTINA

PROGRAMACIÓN LINEALSe puede reproducir libremente. Se agradecerá citar la fuente.

THE RECORDING, COPYING, LOAN, UNAUTHORIZED HIRE, PUBLIC SHOWING OR BROADCAST OF THIS DATAGRAM IS STRONGLY ENCOURAGED.

Claudio L. R. Sturla Bibliografía:

• Bunday, Brian D. y Garside, Gerarl R. Linear Programming in Pascal, Edward Arnold Ltd., Londres, ISBN 0-7131-3647-2, 1.987.

• Dorfman, Robert, Samuelson, Paul A. y Solow, Robert M. Programación Lineal y Análisis Económico, 2ª edición, Aguilar, Madrid, 1.964.

• Fraleigh, John B. y Beauregard, Raymond A., Álgebra Lineal, Addison-Wesley Iberoamericana, EE. UU., ISBN 0-201-64420-7, 1.989.

• Frazer, J. Ronald, Programación Lineal Aplicada, Editorial Técnica, S.A., México.• Hadley, G. Linear Programming, Addison-Wesley Publishing Company, Massachusetts, EE.UU,

ISBN 0-201-02660-0, 1.963.• Hillier, Frederick S. y Lieberman, Gerald J. Introduc ción a la Investigación de Operacio nes , 3ª

edición en Castellano, McGraw Hill de México S. A. de C. V., Naucalpan de Juárez, 1.993, ISBN 968-422-993-3.

• Gass, Saúl I., Programación Lineal, CECSA, México.• Goldstein, E. G. y Yudin, D. B. Programación Lineal, Paraninfo, Madrid, ISBN 84-283-0868,

1.976.• Kaufmann, Arnold Métodos y Modelos de la Investiga ción de Operaciones , Tomo I, 2ª edición,

CECSA, México, 1.981.• Munier, Nolberto J., Aplicaciones de la Programación Lineal, Editorial Astrea, Buenos Aires.• Poiasina, Marta Rosa et al, Guía de Ejercicios y Trabajos Prácticos, Centro de Estudiantes de

Ingeniería Tecnológica, Facultad Regional Buenos Aires, Universidad Tecnológica Nacional.• Poiasina, Marta Rosa et al, Anexo Guía de Trabajos Prácticos - Ejercicios Resueltos, Centro de

Estudiantes de Ingeniería Tecnológica, Código: K/40/P03, Facultad Regional Buenos Aires, Uni-versidad Tecnológica Nacional.

• Schroeder, George G. Administración de Operaciones, McGraw Hill de México S. A. de C. V., Naucalpan de Juárez, México, 1.994, ISBN 970-10-0088-9.

• Winston, Wayne L., Investigación de Operaciones, Grupo Editorial Iberoamérica S. A. de C. V., México, ISBN 970-625-029-8, 1.994.

Sitios internethttp://www.lindo.comhttp://members.tripod.com/~operativa/Invop.htmlhttp://www-math.cudenver.edu/~hgreenbe/courseware/Lpshort/frame-intro.html

pl-01.doc 22

Page 2: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

URL para bajar el software WinQSBhttp://my.fit.edu/ ~ dhott/WinQSB/winqsbdisk1.zip http://my.fit.edu/ ~ dhott/WinQSB/winqsbdisk2.zip http://my.fit.edu/ ~ dhott/WinQSB/winqsbdisk3.zip

La programación lineal1 es una herramienta poderosa, pues aún con aplicaciones parciales, se pueden obtener ahorros importantes.La programación lineal es una parte del conjunto:

PROGRAMACIÓN LINEAL Común

Otras clases o subconjuntos de programación lineal son la PROGRAMACIÓN LINEAL ENTERA, la PROGRAMACIÓN LINEAL PARAMÉTRICA, etc.A su vez la Programación Lineal es parte de un área más amplia, la de la Programación Matemática que trata de problemas no lineales.

PROGRAMACIÓN LINEAL

Para comenzar veremos un problema sencillo:Considérese que una empresa fabrica dos productos P1 y P2 .Para fabricar esos productos la empresa utiliza:• Mano de obra;• Materia prima y• Equipos.Estos insumos se disponen en forma limitada.Además sabemos los beneficios unitarios de la venta de P1 y P2 .

P1 P2 DisponibilidadMano de obra 20 10 100.000Materia prima 10 30 180.000

Equipos 5 1 40.000Beneficios 8 5

La cifra 100.000 pueden ser directamente en unidades de Mano de obra o las UM equivalentes a esa Mano de obra.20 es un coeficiente tecnológico o insumo específico.Dado que tenemos unas disponibilidades decidimos usarlas.¿Cuántas unidades se deben producir cada una de los dos productos para maximizar los beneficios?

1 Las ideas básicas de la programación lineal surgieron de un estudio acerca de problemas de asignación de recursos hecho por la fuerza aérea de los EE. UU. durante la Segunda Guerra Mundial, aunque había ya muchos resultados que trataban la maximización de una función bajo ciertas restricciones. George Dantzig, miembro del proyecto SCOOP (Scientific Computation of Optimun Programs) de la fuerza aérea, formuló el problema de la programación lineal y diseñó el método simplex de solución en 1.947.... George Dantzig nació en 1.914 y trabajó para la Rand Corporation después de su aporte a la fuerza aérea. Actualmente es profesor de Investigación de Operaciones en la Universidad de Standford.pl-01.doc 23

Page 3: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

Nota: Este es claramente un ejemplo muy simple (casi simplista) pero, como con muchas cosas, debe-mos comenzar a un nivel sencillo para luego progresar.Vamos a formular un plan de producción (también llamado un mix de producción), o sea vamos a determinar cuáles son las cantidades que debemos producir de maximizando beneficios. Y de aquí surge la explicación de uno de los nombres. Como las primeras aplicaciones de la Programación Lineal fue determinar mezclas óptimas de productos, este tipo de problema lineal recibió el nombre de Programación Lineal.

AdivinandoPara explorar el problema podríamos, simplemente suponer (por ejemplo, utilizando nuestro juicio) cuántas unidades de productos producir y ver qué ocurre.

Producir una unidad de producto P1 y una unidad de producto P2

No parece ser una suposición correcta pues sólo ganaríamos 8 UM por una unidad del prrimer producto y 5 UM por una unidad del segundo producto.Decimos que la solución no es interesante.Otra solución podría ser

Producir 4 unidades de P1 y tres unidades de P2

En lugar de continuar nuestra adivinanza nos podemos aproximar al problema de una manera lógica.Reflexiónese por un momento que realmente necesitamos una solución que cumpla las restricciones con el máximo beneficio.Sin embargo, aún si seguimos adivinando no podríamos nunca saber si hemos logrado o no la solución mínima.Afortunadamente, nuestra aproximación estructurada nos permitirá encontrar la solución de mínimo costo.

La mezcla óptima se obtendrá por medio de una función objetivo que tiene como parámetros a los beneficios unitarios.Las unidades de los coeficientes tecnológicos son:

[ ]201

=

unidades de Mano de obraunidad de P

que, en general, será:unidad de recurso i

unidad de producto j

El funcional representa el objetivo a lograr. Fijar ese objetivo puede ser difícil. Una vez elegido UNO lo buscamos y no nos desviamos a causa de objetivos secundarios.El sistema dado está sobredimensionado. ¿Por qué?. Veamos.Podemos plantear vínculos

20 10 100 0001 2x x+ ≤ .Si deseamos producir una unidad de P1 y una de P2 tendremos:

20 1 10 1 100 000. . .+ ≤El 100.000 pone un techo.Las otras son:

pl-01.doc 24

Page 4: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

10 30 180 0005 40 000

1 2

1 2

x xx x

+ ≤+ ≤

.

.

Una x j negativa no tiene una interpretación adecuada, entonces:x x1 20 0≥ ≥

Podríamos sí tener un coeficiente negativo. Por ejemplo si produzco videocasetes y luego retengo parte de ellos para grabar películas y venderlas grabadas. El videocasete virgen es un insumo para la película grabada en vídeo.Pero además queremos que el programa maximice el funcional:

Z x x maximo= + →8 51 2

PRIMERA HIPÓTESIS: el beneficio no depende de la cantidad a producir (es REAL en cierto entorno).

Las hipótesis son supuestos del problema y debemos tenerlas presentes o saber qué error representan. La real podría ser cuadrática (economías de escala).No olvidar que estamos haciendo un modelo matemático del problema real. Platón decía que a lo largo de la vida vamos viendo muchas sillas. Con y sin respaldo, con tres, cuatro o más patas. Pero de ellas formamos una idea, que nos permite reconocer cada silla.

SEGUNDA HIPÓTESIS: definimos 20 (el insumo específico) como 20. Quizás sea un valor estadístico.

TERCERA HIPÓTESIS: que el equipo que sirve para producir P1 también sirve para producir P2 .

CUARTA HIPÓTESIS: No hay limitaciones en el mercado. El mercado no se satura.

P1 nos da mayor beneficio que P2 . ¿No deberíamos producir más de P1 ? ¿O todo de P1 ? Lo veremos al resolver.Al poner en las condiciones de vínculo ≤ 100 000. hemos supuesto que podemos llegar a usar menos de 100.000, o sea que puede ocurrir que nos sobre recurso.Vimos que tanto las condiciones de vínculo como el funcional son lineales. Por eso es Programación Lineal.

Hay varias cosas para señalar aquí:

Un asunto importante detrás de esta formulación es QUE LO HACE PENSAR. Aún si no hace nada nunca con matemáticas, este proceso de tratar de pensar clara y lógicamente acerca de un problema, puede ser muy útil.

Un problema común con la formulación es olvidar algunas restricciones o variables y todo el proceso debería ser considerado como iterativo (iterando delante y atrás con variables, restricciones y objetivo hasta que estemos conformes).

El problema matemático que hemos dado tiene la forma: todas las variables son continuas (por ejemplo, pueden tomar valores fraccionarios) hay un solo objetivo (maximizar o minimizar)

pl-01.doc 25

Page 5: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

el objetivo y las restricciones son lineales, por ejemplo, cada término es una constante o una constante multiplicada por una incógnita (por ejemplo, 24, 4 x, 6 y son términos lineales pero x y es un término no lineal).

Cualquier formulación que satisfaga estas tres condiciones se llama un programa lineal. Hemos (implícitamente) supuesto que era permisible trabajar con fracciones de producto —los

problemas donde esto no se permita y las variables deban tomar valores enteros se tratarán con la programación entera.

A veces las variables de decisión deberían ser enteras pero por razones de simplicidad las dejamos fraccionarias. Esto es relevante en problemas donde los valores de las variables de decisión son grandes porque cualquier parte fraccionaria puede entonces ser ignorada (note que a veces los datos (números) utilizados en la formulación de la programación lineal serán de cualquier forma inexactos.

Discusión

Considerando el ejemplo de los dos productos:Es un problema de decisión.Hemos tomado una situación del mundo real y construido una representación matemática equi-

valente —tal representación a veces se llama un modelo matemático de una situación real (y el proceso por el cual se obtiene el modelo se llama formular el problema).

Habiendo obtenido nuestro modelo matemático nosotros (esperamos) tener algún método cuantitativo que nos permita resolver el modelo (obteniendo una solución numérica) —tal método cuantitativo a veces se llama un algoritmo2 para resolver el modelo.

2 Systematic procedure that produces —in a finite number of steps— the answer to a question or the solution of a problem.The name derives from the Latin translation, Algoritmi de numero Indorum, of the 9th-century Muslim mathematician al-Khwarizmi's arithmetic treatise "Al-Khwarizmi Concerning the Hindu Art of Reckoning."For questions or problems with only a finite set of cases or values an algorithm always exists (at least in principle); it consists of a table of values of the answers.In general, it is not such a trivial procedure to answer questions or problems that have an infinite number of cases or values to consider, such as "Is the natural number (1, 2, 3, . . .) a prime?" or "What is the greatest common divisor of the natural numbers a and b?"The first of these questions belongs to a class called decidable; an algorithm that produces a yes or no answer is called a decision procedure.The second question belongs to a class called computable; an algorithm that leads to a specific number answer is called a computation procedure.Algorithms exist for many such infinite classes of questions; Euclid's Elements, published about 300 BC, contained one for finding the greatest common divisor of two natural numbers.Every elementary school student is drilled in long division, which is an algorithm for the question "Upon dividing a natural number a by another natural number b, what are the quotient and the remainder?"Use of this computational procedure leads to the answer to the decidable question "Does b divide a?" (the answer is yes if the remainder is zero).Repeated application of these algorithms eventually produces the answer to the decidable question "Is a prime?" (the answer is no if a is divisible by any smaller natural number besides 1).Sometimes an algorithm cannot exist for solving an infinite class of problems, particularly when some further restriction is made upon the accepted method. For instance, two problems from Euclid's time requiring the use of only a compass and a straightedge (unmarked ruler) —trisecting an angle and constructing a square with an area equal to a given circle— were pursued for centuries before they were shown to be impossible.At the turn of the 20th century, the influential German mathematician David Hilbert proposed 23 problems for mathematicians to solve in the coming century.The second problem on his list asked for an investigation of the consistency of the axioms of arithmetic.Most mathematicians had little doubt of the eventual attainment of this goal until 1931, when the Austrian-born logician Kurt Gödel demonstrated the surprising result that there must exist arithmetic propositions (or questions) that cannot be proved or disproved.Essentially, any such proposition leads to a determination procedure that never ends (a condition known as the halting problem).pl-01.doc 26

Page 6: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

Esencialmente un algoritmo (para un modelo particular) es un conjunto de instrucciones que, cuando se las sigue paso a paso, producirán una solución numérica a tal modelo.Nuestro modelo tiene un objetivo, que es algo que estamos tratando de optimizar.Habiendo obtenido la solución numérica de nuestro modelo, debemos trasladarla a la situación del mundo real.Una cosa que deseamos enfatizar es que la investigación operativa trata de problemas de decisión.También podemos definir un modelo matemático como consistente de:

Variables de decisión, que son las incógnitas a ser determinadas por la solución del modelo.Restricciones para representar las limitaciones físicas del sistema.Una función objetivo.Una solución (o solución óptima) del modelo es la identificación de un conjunto de valores de las

variables que son factibles y que llevan al valor óptimo de la función objetivo.

FilosofíaEn términos generales podemos considerar a la investigación operativa como la aplicación de métodos científicos a la toma de decisiones.Subyaciendo a la investigación operativa está la filosofía que:

Se deben hacer las decisiones; yUtilizando una aproximación cuantitativa (explícita, articulada) nos llevará (en promedio) a

mejores decisiones que utilizando aproximaciones no cuantitativas (implícitas, no articuladas) como las utilizadas por los decisores humanos.

Se puede argumentar que aunque la investigación operativa es imperfecta, ofrece la aproximación más perfecta disponible para hacer una determinada decisión en muchas instancias (lo que no quiere decir que el utilizar la investigación operativa producirá la decisión correcta.)A veces la aproximación humana a la toma de decisiones puede ser caracterizada (conceptualmente) como la aproximación “pregunte a José”, dando simplemente a José (“el experto”) el problema y los datos relevantes, encerrarlo en una habitación por un rato y esperar que aparezca la respuesta.

Las dificultades con esta aproximación son:Velocidad (costo) para llegar a la solución.Calidad de la solución: —¿José genera soluciones de buena calidad en cualquier caso particular?Consistencia de la solución: —¿José siempre genera soluciones de la misma calidad? (esto es

especialmente importante cuando se comparan diferentes opciones).

Ahora Ud. Puede formarse su propia opinión acerca de si la investigación operativa es mejor o no que esta aproximación.

SOLUCIÓN GRÁFICASupongamos

20 10 100 0001 2x x+ = .

si x x1 20 10 000= = .

In an unsuccessful effort to ascertain at least which propositions are unsolvable, the English mathematician and logician Alan Turing rigorously defined the loosely understood concept of an algorithm.Although Turing ended up proving that there must exist undecidable propositions, his description of the essential features of any general-purpose algorithm machine, or Turing machine, became the foundation of computer science.Today the issues of decidability and computability are central to the design of a computer program —a special type of algorithm.pl-01.doc 27

Page 7: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

si x x2 10 5 000= = .

Si x1 0= y x2 0= el origen verifica la inecuación y por lo tanto pertenece al semiplano de validez.

-10.0000

10.00020.00030.00040.00050.000

-1.000

1.000

3.000

5.000

7.000

9.000

11.000

13.00

015

.000

17.00

019

.000

X1

X2

Mano de obraEquiposMateria prim a

Hay una sola área donde se cumplen SIMULTÁNEAMENTE las condiciones de no negatividad y las restricciones. Es el polígono OACB donde existen infinitas soluciones.

QUINTA HIPÓTESIS Las variables x j son continuas.

Nos falta representar el funcional. También se le llama isoutilidades (si se maximiza) o isocosto (si se minimiza).

Z x x= +8 51 2

es la expresión de un plano porque en esta ecuación hay tresvariables. Z es la tercera variable. Esta es la ecuación de un plano. Ese plano es perpendicular al plano del papel. Podemos entonces dar valores a Z y nos darán distintas rectas producto del corte del plano Z con el plano de los ejes coordenados.Podemos hacer arbitrariamente Z Z= =0 40; . Los cortes son paralelos entre sí. Entonces sólo ne-cesitamos la pendiente:

5 885

2 1

2

x Z x

x Z x

= −

= −*

O sea ya sabemos que la pendiente es -8/5. Se van trazando paralelas a un funcional cualquiera y luego se va aumentando el valor del funcional trazando paralelas a la inicial en la dirección del aumento del funcional.El punto máximo es aquel donde la distancia desde el funcional hasta el vértice origen es máxima.En nuestro caso crece hacia el noreste. El vértice óptimo es el B; y si leemos en el gráfico:

maxB ZZxx =+=== 5*200.58*400.2;200.5;400.2 21

Si la recta de la traza del funcional fuera paralela al lado BC tengo no una sino infinitas soluciones.En el espacio podemos imaginar un cubo y un plano que contenga uno de los cuadrados que son cara.

Ejemplo prototipoLa Empresa AA produce artículos de vidrio de alta calidad, incluyendo ventanas y puertas de vidrio.Tiene tres plantas.Los marcos y molduras de aluminio se hacen en la planta 1, los marcos de madera se fabrican en la planta 2 y en la 3 se produce el vidrio y se ensamblan los productos.

pl-01.doc 28

Vértice B

Vértice A

Vértice C

Vértice O

Page 8: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

Debido a que las ganancias se han reducido, la alta administración ha decidido reorganizar la línea de producción de la compañía.Se discontinuarán varios productos no rentables y se dejará libre una parte de la capacidad de producción para emprender la fabricación de dos productos nuevos que tienen grandes ventas potenciales:Producto 1: Una puerta de vidrio de 8 pies con marco de aluminioProducto 2: Una ventana con marco de madera de 4 por 6 piesEl producto 1 requiere parte de la capacidad de producción en las plantas 1 y 3 y nada en la planta 2.El producto 2 sólo necesita trabajo en las plantas 2 y 3.La división de comercialización sabe que la compañía puede vender todos los productos que se puedan fabricar en las plantas.Sin embargo, como ambos productos competirían por la misma capacidad de producción en la planta 3, no está claro qué mezcla de productos sería la más rentable.Por lo tanto, se ha formado equipo de IO para estudiar esta cuestión.El equipo de IO comenzó con algunas discusiones con la alta administración para identificar objetivos del estudio.Estas discusiones llevaron a desarrollar la siguiente definición del problema:

Determinar qué tasas de producción deben tener los dos productos con el fin de maximizar las utilidades totales, ciñéndose a las restricciones impuestas por las capacidades de producción limitadas disponibles en las tres plantas. Se permite cualquier combinación de tasas de producción que satisfaga estas restricciones, incluyendo no producir uno de los productos y todo lo que sea posible del otro.

El equipo de IO también identificó los datos que necesitaba reunir:

1. Número de horas de producción disponibles por semana en cada planta para estos nuevos productos. (Casi todo el tiempo de estas plantas está comprometido con los productos actuales.)

2. Número de horas de producción que cada lote producido de cada producto nuevo usa en cada una de las plantas.

3. La ganancia por lote de cada producto nuevo. (Se eligió la ganancia por lote producido como una medida adecuada después de que el equipo llegó a la conclusión de que la ganancia incremental de cada lote adicional producido seria en esencia constante sin importar el número total de lotes producidos. Debido a que no se incurre en costos sustanciales para iniciar la producción y la comercialización de estos nuevos productos, la ganancia total de cada uno es aproximadamente esta ganancia por lote producido multiplicada por el número de estos lotes.)

La obtención de estimaciones razonables de estas cantidades requirió el apoyo de personal clave en varias unidades de la compañía.El personal de la división de manufactura proporcionó los datos de la primera categoría mencionada.El desarrollo de estimaciones para la segunda categoría requirió un análisis por parte de los ingenieros de manufactura involucrados en el diseño de los nuevos productos.Analizando los datos de estos ingenieros junto con una decisión sobre los precios de la división de mercadotecnia, el departamento de contabilidad calculó las estimaciones para la tercera categoría.La tabla resume los datos reunidos.

Tiempo de producción, en horasProducto

Planta 1 2 Tiempo de producción

pl-01.doc 29

Page 9: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

disponible por semana, horas

1 1 0 42 0 2 123 3 2 18

Beneficios por lote 3000 UM 5000 UM

El equipo de IO reconoció de inmediato que se trataba de un problema de programación lineal del tipo clásico de mezcla de productos y procedió a la formulación del modelo matemático correspondiente.

Formulación como un Problema de Programación LinealPara formular el modelo matemático (de programación lineal) para este problema, sea

1x = número de lotes de producto 1 fabricados por semana

semanapor fabricados 2 producto de lotes de número 2 =x

Z = ganancia semanal total (en miles de UM) por la producción de estos dos productos

Por lo tanto, x1 y x2 son las variables de decisión para el modelo.Usando el último renglón de la tabla se obtiene

21 53 xxZ +=

El objetivo es elegir los valores de x1 y x2 de manera que maximicen 21 53 xxZ += sujeto a las restricciones impuestas sobre sus valores por las capacidades de producción limitadas disponibles en las tres plantas.La tabla indica que cada lote del producto 1 que se produce por semana usa 1 hora de producción a la semana en la planta 1, y sólo se dispone de 4 horas semanales.Matemáticamente, esta restricción se expresa mediante la desigualdad 41 ≤xDe igual manera, la planta 2 impone la restricción 122 2 ≤xEl número de horas de producción usadas a la semana en la planta 3 que se consume al elegir 21 y xx como las tasas de producción de los nuevos productos sería 21 23 xx +Entonces, la expresión matemática para la restricción de la planta 3 es 1823 21 ≤+ xxPor último, como las tasas de producción no pueden ser negativas es necesario restringir las variables de decisión a valores no negativos:

00

2

1

≥≥

xx

Resumiendo, en el lenguaje matemático de programación lineal, el problema consiste en seleccionar valores de 21 y xx para

Maximizar 21 53 xxZ +=

sujeto a las restricciones

41 ≤x

pl-01.doc 30

Page 10: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

122 2 ≤x1823 21 ≤+ xx

y

00

2

1

≥≥

xx

Solución gráfica:Este pequeño problema tiene sólo dos variables de decisión y por lo tanto sólo dos dimensiones, así que se puede usar un procedimiento gráfico para resolverlo.Este procedimiento incluye la construcción de una gráfica de dos dimensiones con x1 y x2 en los ejes.El primer paso es identificar los valores de (x1, x2) permitidos por tas restriciones.Esto se hace dibujando cada una de las rectas que limitan los valores permitidos por una restricción.

Para comenzar, nótese que las restricciones de no negatividad, 00

2

1

≥≥

xx

exigen que (x1, x2) estén en el

lado positivo de los ejes (incluyendo que esté sobre cualquiera de los dos ejes), es decir, en el primer cuadrante.De manera parecida, se traza la restricción 2 x2 ≤ 12 (o de manera equivalente, x2 ≤ 6)El paso final es seleccionar, dentro de esta región factible, el punto que maximiza el valor de ZPara descubrir cómo realizar este paso de manera eficiente intente algunos valores por prueba y error.Si se dibuja la recta 3 x1 + 5 x2 = l0, se puede ver que existen muchos puntos sobre esta recta que están dentro de la región.Como al intentar este valor arbitrario de Z = 10 se tiene una mejor perspectiva, debe intentarse ahora un valor arbitrario más grande, digamos Z = 20De nuevo, un segmento de la recta Z = 20 se encuentra dentro de la región, de manera que el máximo valor permisible de Z debe ser por lo menos 20.Observe ahora en la figura que las dos rectas que se acaban de graficar son paralelas.

Diseño de terapia de radiaciónAcaban de diagnosticar que María tiene cáncer en una etapa bastante avanzada.Específicamente, tiene un tumor grande en el área de la vejiga (una “lesión completa en la vejiga").María recibirá los cuidados médicos más avanzados disponibles en el país, con el fin de proporcionarle la mejor posibilidad de supervivencia.Estos cuidados incluyen una terapia de radiación extensa.La terapia de radiación incluye el uso de una máquina de rayos externos que pasa radiación ionizante a través del cuerpo del paciente dañando tanto los tejidos cancerosos como los sanos.Lo normal es que se administren los rayos con precisión desde diferentes ángulos en un plano de dos dímensiones.Debido a la atenuación, cada rayo descarga más radiación sobre el tejido cercano al punto de entrada que sobre el cercano al punto de salida.La dispersión también causa que parte de la radiación se descargue sobre tejidos que están fuera de la trayectoria directa del rayo.Como las células del tumor casi siempre se encuentran diseminadas entre células sanas, la dosis de radiación a través de la región del tumor debe ser suficiente para matar las células malignas que son un poco más sensibles a ésta, pero lo suficientemente pequeña como para no matar a las células sanas.Al mismo tiempo, la dosis agregada que reciben los tejidos críticos no debe exceder los niveles de tolerancia establecidos, con el objeto de prevenir complicaciones que puedan resultar mas serias que la enfermedad misma.pl-01.doc 31

Page 11: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

Por la misma razón, la dosis completa que recibe el cuerpo sano debe minimizarse.Debido a la necesidad de balancear cuidadosamente todos estos factores, el diseño de la terapia de radiación es un proceso muy delicado.La meta principal de este diseño es elegir la combinación de rayos que debe utilizarse y la intensidad de cada uno para generar la mejor distribución de la dosis posible. (La fuerza de la dosis de la dosis en cualquier punto del cuerpo se mide en llamadas kilorads )Una vez diseñado el tratamiento, se administra en muchas sesiones a lo largo de varias semanas.En el caso de María, el tamaño y la localización del tumor hace que el diseño de su tratamiento sea un proceso más delicado de lo usual.La figura muestra un diagrama de un corte transversal del tumor visto desde arriba, al igual que los tejidos cercanos críticos que deben evitarse.Estos tejidos incluyen órganos vitales (por ejemplo, el recto) al igual que estructura ósea (como el fémur y la pelvis) que atenuarán la radiación.Además se muestra el punto de entrada y la dirección de los únicos dos rayos os que se pueden usar con un grado módico de seguridad para este caso. (De hecho, el ejemplo se ha simplificado en este punto, ya que en la realidad deben considerarse docenas de rayos posibles.)

1. Vejiga y tumor2. Recto, cóccix, etc.3. Fémur, parte de la pelvis, etc.

Para cualquier rayo propuesto de una intensidad dada, el análisis de cuál sería la absorción de radiación resultante en distintas partes del cuerpo requiere un proceso complicado.En resumen, con base en un análisis anatómico cuidadoso, la distribución de energía dentro de un corte transversal de dos dimensiones se puede graficar en un mapa de isodosis en el que las curvas representan la fuerza de la dosis como un porcentaje de la fuerza de la dosis en el punto de entrada.

pl-01.doc

1

2

Rayo 2

Rayo 1

3 3

32

Page 12: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

Después se coloca una red fina sobre el mapa de isodosis.Si se suma la radiación absorbida en los cuadros que contienen cada tipo de tejido, se puede calcular la dosis promedio que absorben el tumor, los tejidos sanos y los tejidos críticos.La absorción de la radiación es aditiva cuando se administra más de un rayo (en forma secuencial).Después de un análisis exhaustivo, el equipo médico estimó con detalle los datos necesarios para el diseño del tratamiento de María; el resumen se presenta en la tabla.

Fracción de la dosis de entrada absorbida por área (promedio)

Área Rayo 1 Rayo 2

Restricción sobre la dosis promedio total,

kiloradsAnatomía sana 0,4 0,5 MinimizarTejido crítico 0,3 0,1 ≤ 2,7Región del tumor 0,5 0,5 = 6Centro del tumor 0,6 0,4 ≥ 6

La primera columna da una lista de las áreas del cuerpo que deben considerarse y las dos siguientes proporcionan la fracción de la dosis de radiación de cada rayo en el punto de entrada que se absorbe en promedio en las áreas respectivas.Por ejemplo, si el nivel de la dosis en el punto de entrada del rayo 1 es 1 kilorad, entonces se absorberán 0,4 kilorad en toda la anatomía sana en el plano de dos dimensiones, un promedio de 0,3 kilorad en los tejidos críticos cercanos, un promedio de 0,5 kilorad en las distintas partes del tumor y 0,6 kilorad se absorberán en el centro del tumor.La última columna da las restricciones sobre la dosis total de ambos rayos que se absorbe en promedio en las diferentes partes del cuerpo.En particular, la absorción promedio de la dosis para la anatomía sana debe ser tan pequeña como sea posible, los tejidos críticos no deben exceder 2,7 kilorads, el promedio sobre todo el tumor debe ser igual a 6 kilorads y en el centro del tumor debe ser por lo menos 6 kilorads.

Formulación como un Problema de Programación LinealLas dos variables de decisión x1 y x2 representan la dosis (en kilorads) en el punto de entrada de los rayos 1 y 2, respectivamente.Como debe minimizarse la dosis total que llega a la anatomía sana, sea Z esta cantidad.En este punto se pueden usar los datos de la tabla para formular el siguiente modelo de programación lineal.Minimizar

Z = 0,4 x1 + 0,5 x2

sujeta a

64,06,065,05,0

7,21,03,0

21

21

21

≥+=+≤+

xxxxxx

y

00

2

1

≥≥

xx

Observe las diferencias entre este modelo y el presentado de la Empresa AA.Este modelo involucraba maximizar Z, y todas las restricciones tenían la forma ≤pl-01.doc 33

Page 13: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

El nuevo modelo incorpora otras tres formas legítimas, a saber, minimizar Z, restricciones de la forma = y restricciones de la forma ≥Sin embargo, ambos modelos tienen sólo dos variables, de manera que este nuevo problema también se puede resolver usando el método gráfico.La figura muestra la solución gráfica.

La región factible consiste nada más en el segmento entre los puntos (6, 6) y (7,5, 4,5), ya que los puntos en este segmento son los únicos que satisfacen simultáneamente todas las restricciones. (Observe que la restricción de igualdad limita la región factible al segmento y, después, las otras restricciones determinan los puntos extremos del conjunto).La línea punteada representa la el funcional.La solución óptima es (7,5, 4,5), con Z =5,4Ha que utilizar una dosis total en el punto de entrada de 7,5 kilorads para el rayo 1 y 4,5 kilorads para el rayo 2.

EjemploUtilice el método gráfico para resolver el siguiente problema de PL:Maximizar:

pl-01.doc 34

Page 14: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

212 xxZ +=

sujeto a

44318

605210

21

21

21

2

≤+≤+

≤+≤

xxxx

xxx

y

00

2

1

≥≥

xx

RESTRICCIONES DEL TIPO x ≤ 1 000.Al encontrarnos con un problema de Programación Lineal el primer paso es analizar cuáles son

las variables que tienen una restricción en cuanto a su valor. Se seleccionará una unidad apropiada para la restricción y se relacionará la restricción con las variables (en general bajo la forma de una desigualdad).

Por ejemplo, supóngase se dispone de 1.000 h durante el período de trabajo de una máquina y que el producto A requiere 10 h/u de producto, mientras que el producto B requiere 2 h/u de producto.

En este caso la restricción son las 1.000 h disponibles de la máquina y las variables son las cantidades a producir de los productos A y B.

Una ecuación de restricción adecuada sería:10 2 1 000A B+ ≤ .

La inecuación:10 2 1 000A B+ ≤ .

significa que si B no se fabrica, se pueden producir hasta 100 u de A y que si A no se fabrica se pueden hacer hasta 500 u de B. Y también cualquier otra combinación lineal como:

50250

10 50 2 250 1000

25375

10 25 2 375 1000

AB

AB

+ ≤

+ ≤

.

.

Ejemplos

I) Una empresa fabrica los productos C y D. La dificultad es que durante la operación de ensamble pueden procesarse 100 u/día de C ó 300 u/día de D ó cualquier combinación lineal de ellas. Formule la inecuación de restricción adecuada.

Respuesta I) La restricción debe ser tal que si D = 0, C = 100 y si D = 300, C = 0.Si se toma un día:

1100

1300

1C D+ ≤

Si tomáramos como restricción el número de u por día que deben ser producidas quedaría:

pl-01.doc 35

Page 15: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

C D

C D

+ ≤

+ ≤

3100

3 300ó

Lo que se puede variar son sólo las u a fabricar de C ó D.Además nótese que una solución factible que utiliza completamente la capacidad es

50 150C D y , lo que significa:3 50 1 150 300+ =

II) El producto R está formado por 1.000 u de materia prima. Pueden emplearse dos materiales: M y N, en la cantidad que se desee. Cada u de material M pesa 1,8 Kg mientras que cada u de material N pesa 1,2 Kg. Las especificaciones técnicas requieren que el producto R no pese más de 1.500 Kg. ¿Cuál es la solución adecuada?.

Respuesta II) La restricción adecuada es:1 8 1 2 1 500, , .M N+ ≤

En este caso la variable o las variables son las cantidades de material usado. Nótese que en general la restricción es la limitación mientras que "artículos producidos" o "materiales empleados" son aquellas variables que pueden controlarse introduciendo diferentes cantidades en la combinación total.

III) El producto T debe producirse la semana próxima. Cualquiera de los dos materiales, P y Q, puede emplearse en cualquier combinación para producir el producto. Si se hace sólo de P, el producto T pesaría 1.800 Kg. Si se hace únicamente de Q pesaría 1.200 Kg. Las especificaciones requieren que el producto T no pase de 1.500 Kg. ¿Cuál es la restricción correspondiente?.

Respuesta III) La restricción es:1 800 1 200 1 500. . .P Q+ ≤

Esta restricción es casi igual a la del ejemplo 2) pero han cambiado las unidades. P tiene ahora como unidades:

[ ]P peso de P en el producto TKg

=

1800.

[ ]Q peso de Q en el producto TKg

=

1200.

Las variables de control siguen siendo P y Q.

Ejemplos para que resuelva el lector por si

IV) Un taller puede producir dos modelos diferentes de un mecanismo. Cada modelo emplea distintas cantidades de materia prima y mano de obra directa.

Para el modelo A se usa, por u de ese modelo, 1 Kg de fundición de hierro y 3 HH (horas hombre); para el modelo B se usan 2 Kg de fundición y 2 HH.

Para la elaboración de dichas piezas se dispone de 6 HH y de 4 Kg de fundición de hierro.Se gana 1 UM por cada mecanismo vendido. Se vende toda la producción. Programar la

producción de manera que la ganancia sea máxima.

V) En un taller metalúrgico se fabrican dos tipos de piezas: A y B, que deben seguir los si-guientes procesos: estampado en hojas metálicas, soldado y finalmente pintado.

La operación de estampado consiste en preparar partes idénticas, que luego serán soldadas de a pares formando la pieza tipo A. La pieza B sigue exactamente el mismo proceso.pl-01.doc 36

Page 16: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

Los tiempos estándar, dados en min por u, para cada operación, son los siguientes:OPERACIÓN A B TIEMPO DISPONIBLE POR SEMANA

Estampado 3 8 48.000 minSoldado 12 6 42.000 minPintado 9 4 36.000 min

La utilidad unitaria es 4 UM para la pieza A y 3 UM para la pieza B. Dicha utilidad es constante para todas las unidades vendidas. Se desea establecer el programa semanal que maximice la ganancia.

VI) Cierta fábrica elabora dos tipos de telas, usando lana de tres colores distintos. Se necesita la siguiente materia prima por cada m de tela:

TELA A TELA B DISPONIBLE PARA FABRICACIÓNLana roja 120 g 150 g 30.000 g

Lana verde 150 g 60 g 20.000 gLana amarilla 90 g 240 g 36.000 g

El cuadro indica también cuánta lana existe disponible en un momento dado. El fabricante desea saber de qué manera usar este material, bajo la suposición de que puede obtener un beneficio de 150 UM por cada metro de tela A y de 90 UM por cada metro de tela B. Desea maximizar sus beneficios.

VII) Una empresa fabrica tornillos y tuercas. Los tornillos requieren 20 HH de mano de obra, 10 u de materia prima y 5 u de equipo. Cada tuerca requiere 10 HH de mano de obra, 30 u de materia prima y 1 u de equipo. Los beneficios calculados por tornillo son de 8 UM y por tuerca de 5 UM. La empresa posee una disponibilidad de 10.000 HH de mano de obra, 80.000 u de materia prima y 40.000 u de equipo. ¿Cuántos tornillos y cuántas tuercas deben fabricarse para maximizar el beneficio?.

VIII) En un campo se desea comprar un máximo de 40 vacas y 200 ovejas. Cada vaca necesita una hectárea de campo, 150 HH/año y brinda una utilidad de 250 UM. Cada oveja necesita 0,25 hec-táreas de campo, 25 HH/año y brinda una utilidad de 45 UM.

Si se poseen 72 hectáreas de campo y 10.000 HH/año disponibles, ¿cuál es el beneficio máximo que puede obtenerse del campo y qué cantidad de vacas y ovejas deben comprarse?.

IX) El producto W se fabrica en un taller, ya sea en turno regular o en h extra. También se procesa en el departamento de ensamble, siempre en turno regular. El producto W proporciona un beneficio de 5 UM si se fabrica en turno regular y 1 UM si se produce en h extra. El producto W re-quiere 10 min de taller y 2 min en el departamento de ensamble. Se dispone de 40 h en el taller de turno regular y 20 h de tiempo extra. Se dispone además de 10 h en el departamento de ensamble. ¿Cuáles son las restricciones correspondientes?.

Respuesta IX)Llamaremos a lo producido en turno regular y W Wr c a lo similar en turno extra:10 2 400

10 1 2002 600

WW

W W

r

c

r c

≤+ ≤+ ≤

..

turno regular h extra

2Se eligen dos variables aún en la restricción de ensamble porque generan beneficios diferentes.

Se han cambiado las unidades para homogeneizar las restricciones.

RESTRICCIONES DE LA FORMA x = 100Es el caso donde la restricción se expresa como una igualdad. Es característica de los casos de

maximización del funcional pero no está limitada a ellos.

Ejemplos

pl-01.doc 37

Page 17: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

X) El producto T debe fabricarse la semana próxima. Cualesquiera de los materiales, P y Q, pueden emplearse en cualquier combinación para producir T. Si se hace únicamente con P el producto T pesaría 1.800 Kg. Si se hace únicamente con Q el producto T pesaría 1.200 Kg. Las especificaciones requieren que el producto T no pese más de 1.500 Kg. ¿Cuáles son las restricciones correspondientes?.

Respuesta X) Las restricciones son:1 800 1 200 1 500

1. . .P Q

P Q+ ≤+ =

Este ejemplo es igual al III). Sin embargo, ahora se ha agregado la restricción adicional que requiere que se produzca T. Esto se hace con la ecuación P+Q=1.

Ejemplo Nª 1 (Para el hogar)Resolver gráficamente los siguientes problemas:a)

xx xx x

Z x x max

2

1 2

1 2

1 2

34 3 244 3 125 5

≤+ ≤− ≤

= + →b)

x xx

x xZ x x max

1 2

1

1 2

1 2

86

2 124 4

+ ≤≤

+ ≤= + →

c)4 3 122 5 3

2 04 5

1 2

1 2

1 2

1 2

x xx x

x xZ x x min

+ ≤− ≥

− + ≤= + →

d)3 4 36

2 84 4

3 2 306 8

1 2

1 2

1 2

1 2

1 2

x xx xx xx x

Z x x max

+ ≤+ ≤

− + ≥+ ≤

= + →

PRESENTACIÓN ANALÍTICAm= número de recursos (i recursos)

n = número de productos (j productos) También número de variables del problemaaij = número de unidades de recurso i necesarias para producir una unidad de producto j

bi = número máximo de unidades del recurso i disponiblesc j = utilidad por unidad de producto jx j = cantidad producida del producto j

El problema es:Obtenerpl-01.doc 38

Page 18: programación lineal entera

Prof. Ing. Claudio L. R. Sturlac x c x c x maximok k1 1 2 2+ + + →

sujeto a las condiciones:x

xx

xk

1

2

3

000

0

≥≥≥

≥...........................................

ya x a x a x ba x a x a x b

a x a x a x b

k k

k k

m m mk k m

11 1 12 2 1 1

21 1 22 2 2 2

1 1 2 2

+ + + ≤+ + + ≤

+ + + ≤

................................................

Cada desigualdad puede ser transformada en una ecuación sumándole un número no negativo desco-nocido que en inglés se llama slack.Este nombre se utiliza para diferenciarlo de las incógnitas x y además tiene unidades distintas.La traducción de slack de la tercera edición del diccionario Oxford es floja, no firme.En Castellano es usual llamarles variables de holgura.Entonces la primera inecuación puede transformarse en la siguiente ecuación:

a x a x a x x bik k k11 1 12 2 1 1+ + + + =+Volveremos más adelante sobre esto.El problema general de programación lineal es encontrar un vector

( )X x x x xk n= 1 2, , , , , que optimice la forma lineal

c x c x c x c x optimok k n n1 1 2 2+ + + + + → sujeta a las restricciones lineales

x j nj ≥ =0 1 2, , ,y

a x a x a x a x ba x a x a x a x b

a x a x a x a x b

k k n n

k k n n

i i ik k in n i

11 1 12 2 1 1 1

21 1 22 2 2 2 2

1 1 2 2

+ + + + + =+ + + + + =

+ + + + + =

................................................................

...............................................................a x a x a x a x bm m mk k mn n m1 1 2 2+ + + + + =

donde n m⟩Otras formas de presentar son:

Minimice

c xj jj

n

=∑

1

sujeta ax j j≥ ∀0y

pl-01.doc 39

Page 19: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

a x b i mij jj

n

i=

∑ = =1

1 2, , , ,

Minimicec Xsujeta aX ≥ 0y[ ]A X b=donde

c = vector fila n-dimensionalX = vector columna n-dimensional

0 = vector columna n-dimensional nulo[ ] ( )A aij= = matriz de coeficientes tecnológicos de i filas y j columnas

b = vector columna m-dimensional

Hasta este punto lo que podemos hacer es lo siguiente: hacer n-m variables iguales a cero y resolver para las m ecuaciones con m variables remanentes. El problema sería entonces como sigue. Nótese que la matriz de coeficientes es cuadrada.

a x a x a x ba x a x a x b

a x a x a x b

m m

m m

m m mm m m

11 1 12 2 1 1

21 1 22 2 2 2

1 1 2 2

+ + + =+ + + =

+ + + =

.................................................

que puede escribirse como[ ] ( ) ( ) ( )A X b m por m m por m por= =1 1

Si [ ]A es cuadrada y no singular el vector solución X estará dado por

( )X A b= − 1

Una matriz es singular cuando su determinante tiene valor cero. La condición necesaria y suficiente para que una matriz cuadrada tenga inversa es que sea regular.Para resolver utilizaremos el método de eliminación completa de JORDAN-GAUSS. En m pasos el procedimiento premultiplica por ( )A − 1 al sistema de ecuaciones indicado.

Supongamos el siguiente sistema de tres variablesx x x

x x xx x x

1 2 3

1 2 3

1 2 3

22 3

6

+ − =− + + =

+ + = (1)

Donde A es

( )A =−

1 1 12 1 1

1 1 1(1) entonces se puede escribir como:

pl-01.doc 40

Page 20: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

1 1 12 1 1

1 1 1

236

1

2

3

−−

=

xxx

ó, si hacemos

P P P P1 2 3 0

12

1

111

111

236

= −

=

=−

=

; ; ;

(1) puede escribirse comox P x P x P P1 1 2 2 3 3 0+ + =

INICIO PARÉNTESIS

Un conjunto de vectores U U Un1 2, , , es linealmente independiente si, para todos los números α α α1 2, , , n el hacer la operación

α α α1 1 2 2 0U U Un n+ + + =implica que

α α α1 2 0= = = = nPor ejemplo

U U1 210

11

=

=

son linealmente independientes

α α α α1 1 2 2 1 210

11

00

U U+ =

+

=

α αα

1 2

2

00

+

=

α α α α2 1 2 10 0 0= + = =pero luego,Sin embargo, el conjunto de vectores

U U U1 2 310

01

11

=

=

=

; ;

es linealmente dependiente porque

α α α

α αα α

1 2 3

1 2

2 3

10

01

11

00

00

+

+

=

++

=

α α α α2 1 3 2= − = −ySi hacemos α α α α α1 2 3= = = −queda donde α puede ser de cualquier número.

En un espacio bidimensional ( )E2 existen dos vectores linealmente independientes mien-tras que todo conjunto de tres vectores es linealmente dependiente.Un espacio vectorial En es un conjunto de vectores generado por la suma de dos cua-lesquiera de ellos o por la multiplicación de uno cualquiera de ellos por un escalar. En ese espacio existen n vectores linealmente independientes mientras que cada conjunto de n+1 vectores es linealmente dependiente.

pl-01.doc 41

Page 21: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

Una base para En es un conjunto de n vectores linealmente independientes. Cualquier vector de En puede ser expresado unívocamente como una combinación lineal de los vectores de una base dada. El conjunto de los n vectores es una base para En .La transformación elemental de fila (columna) es sumar las coordenadas de la fila (columna) i (j) con las correspondientes de otra fila (columna) cualquiera multiplicada por un escalar.Dos matrices se denominan equivalentes A B si una de ellas se deduce como consecuencia de transformaciones elementales de fila (columna).Los determinantes de estas dos matrices son iguales.

FIN DEL PARÉNTESIS

Puesto que A es no singular, el conjunto de vectores P P P1 2 3, , y es linealmente independiente y forma una base en el espacio tridimensional.Para demostrarlo (por el absurdo) supondremos que P P P1 2 3, , y son linealmente dependientes por lo que

α α α α α α1 1 2 2 3 3 1 1 2 2 3 30P P P P P P+ + = = − −donde al menos una α i debe ser distinta de cero.Entonces podemos escribir

P P P12

1

3

12 2 3 3

111

111

= −

−−

= +αα

αα

β β

donde βαα

βαα2

2

13

3

1= − = −y

La matriz A era( ) ( )A P P P= 1 2 3

Sumamos a la primera columna la segunda multiplicada por αα

2

3 y la tercera multiplicada por

αα

3

1,

quedando:

( )A = −

−−

αα

αα

2

1

3

1

111

111

111

111

( )A

esta suma no cambia el valor del erminante

= −

−−

+

+−

αα

αα

αα

αα

2

1

3

1

2

1

3

1

111

111

111

111

111

111

det

( )A =−

0 1 10 1 10 1 1

El determinante de esta matriz es cero (pues lo es una de sus columnas).La matriz, sin embargo, era no singular.Llegamos a una contradicción.Por lo tanto el conjunto de vectores de ( )A deberá ser linealmente independiente.

pl-01.doc 42

Page 22: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

Procedemos entonces con (1):Multiplicamos la primera ecuación por dos y la sumamos a la segunda y multiplicamos la primera ecuación por -1 y la sumamos a la tercera.Paso 1

x x xx x

x

1 2 3

2 3

3

23 7

2 4

+ − =− =

=Como ahora debemos usar el término 3 2x para eliminar x2 de todas menos una de las ecuaciones dividimos esa ecuación por el coeficiente de x2 quedando:

x x x

x x

x

1 2 3

2 3

3

213

73

2 4

+ − =

− =

=El 3, coeficiente de x2 , lo llamamos pivote.Ahora debemos multiplicar la segunda ecuación por -1 y sumarla a la primera.Paso 2

x x

x x

x

1 3

2 3

3

23

13

13

73

2 4

− = −

− =

=Dividimos la tercera por dos.

x x

x x

x

1 3

2 3

3

23

13

13

732

− = −

− =

=Ahora multiplicamos la tercera por dos tercios y se la sumamos a la primera y multiplicamos la tercera por un tercio y se la sumamos a la segunda.Paso 3

xx

x

1

2

3

132

===

(2)

Y esta es la solución al sistema.

Este proceso ha transformado la matriz de coeficientes

( )A =−

1 1 12 1 1

1 1 1en la matriz de coeficientes para las ecuaciones

transformadas (2) que es la matriz identidad.

I3

1 0 00 1 00 0 1

=

pl-01.doc 43

Page 23: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

La transformación total efectuada por el procedimiento de eliminación completa equivale a premultiplicar el sistema (1) por ( )A − 1 .

Si reescribimos la matriz ( )A con una matriz identidad m por m y el vector P0 queda la matriz parti-cionada

( )A I P0

610011130101122001111

Si premultiplicamos por ( )A − 1 queda:

( ) ( )A A A I A P I A X− − − −=1 1 10

1

Los pasos 1 a 3 quedarán:Paso 1

1 1 1 1 0 0 20 3 1 2 1 0 70 0 2 1 0 1 4

−−

Paso 2

1 0 23

13

13

0 13

0 1 13

23

13

0 73

0 0 2 1 0 1 4

− − −

Paso 3

1 0 0 0 13

13

1

0 1 0 12

13

16

3

0 0 1 12

0 12

2

La única combinación lineal de los vectores P P P P1 2 3 0, y igual a ha quedado determinada.1 3 21 2 3 0P P P P+ + = (descomposición canónica)

112

13

111

21

11

236

+

+−

=

P P P1 2 3, y forman una base en el espacio tridimensional. Cualquier otro vector de dicho espacio puede ser expresado como una combinación lineal única de estos 3 vectores.

Verifiquemos la inversión de ( )A

( )A =−

1 1 12 1 1

1 1 1A = + + + − + =1 1 2 1 1 2 6

pl-01.doc 44

Page 24: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

( )

− +1 i jij

menoradjunto

M

α α αα α αα α α

11 12 13

21 22 23

31 32 33

0 3 32 2 0

2 1 3

= = = −= − = == = =

Se los debe trasponer para hallar la adjunta.

( )adj A =−

0 2 23 2 13 0 3

( ) ( )A

adj AA

− = =

=

1

0 26

26

36

26

16

36

0 36

0 13

13

12

13

16

12

0 12

( ) ( )A A − =−

=

+ + + − + −

− + + + + − + +

+ − − + + +

=11 1 12 1 1

1 1 1

0 13

13

12

13

16

12

0 12

0 12

12

0 12

12

0 12

12

13

13

0 23

13

0 13

13

0

0 12

12

13

13

13

16

12

=

1 0 00 1 00 0 1

Es posible calcular la inversa de una matriz utilizando el software Matlab®, que nos da, con una función propia del soft, su valor.Por ejemplo:> A=[1 1 -1;-2 1 1;1 1 1]

A =1 1 -1-2 1 11 1 1

>> INVERSA=inv(A)

INVERSA =0 -1/3 1/3

1/2 1/3 1/6-1/2 0 1/2

>> P0=[2;3;6]

P0 = 2 pl-01.doc 45

Page 25: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

3 6

>> X=INVERSA*P0

X = 1 3 2

Ejemplos de resolución Gauss-Jordan (para practicar)1)

=−+=++=++

42826

321

321

321

xxxxxxxxx

2)

=+−=+−=++

52622922

321

321

321

xxxxxxxxx

Repaso de expresión cartesiana de un vectorSi proyectamos el vector sobre los ejes de una terna cartesiana ortogonal obtendremos segmentos a a ax y z, y que denominaremos componentes del vector según los ejes x, y y z respectivamente. Si tomamos sobre cada uno de los ejes versores

i j k, y y los multiplicamos por a a ax y z, y obten-

dremos vectores a i a j a kx y z. , . .

y de módulos a a ax y z, y Es fácil ver que a resulta ser la suma de los tres vectores antedichos. Es decir que:

a a i a j a kx y z= + +

El vector queda, entonces, expresado como combinación lineal de los vectores i j k, y . Esta forma de

expresar el vector se llama expresión cartesiana ortogonal de aLos versores

i j k, y cumplen la condición de ser linealmente independientes y constituyen una base

del sistema de coordenadas elegido.AclaraciónLa regla de Cramer no se usa por dos motivos:

a) el algoritmo que resuelve el problema de programación lineal utiliza el método de eliminación completa.b) La regla de Cramer sirve para n ecuaciones con n incógnitas. Los problemas usuales de programación lineal en general son de n⟩ ⟩ 3 El resolver n = 3 es fácil en Cramer. No así para valores mayores.

Seguimos:Supongamos que tenemos

y P y P y P P1 1 2 2 3 3 4+ + =

pl-01.doc 46

Page 26: programación lineal entera

Prof. Ing. Claudio L. R. Sturla

que se puede escribir

y y yy y yy y y

1 2 3

1 2 3

1 2 3

42 2

4

+ − =− + + = −

+ + = de dónde

−=

111112111

A

(Obsérvese que la matriz ( )A es la misma que en (1)).

( )A Y P= 4

Y además tenemos, por ejemplo:

P4

42

4= −

Para resolver premultiplicamos por ( )A − 1

( ) ( ) ( )A A Y A P− −=1 14

De donde:

( )Y A P= − 14

Y estará dado por

Y =

=

0 13

13

12

13

16

12

0 12

42

4

220

Actualizado al 25/11/2.002 D:\INVESTIGACIÓN OPERATIVA\FRBA PL 1 — Impreso el 18/03/2008

pl-01.doc 47