49
Optimizaci´ on. Sesi´on 2 ESTALMAT Andaluc´ ıa Occidental Curso Veteranos de ESTALMAT. 6 de Noviembre de 2010. amez Mellado, Antonio Pascual Albarr´ an, Paloma Nogueira Ceada, Mar´ ıa Cinta Noviembre 2010

Optimizaci on. Sesi on 2estalmat/ACT/SESIONES/...Optimizaci on. Sesi on 2 ESTALMAT Andaluc a Occidental Curso Veteranos de ESTALMAT. 6 de Noviembre de 2010. G amez Mellado, Antonio

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • Optimización. Sesión 2

    ESTALMAT Andalućıa Occidental

    Curso Veteranos de ESTALMAT.

    6 de Noviembre de 2010.

    Gámez Mellado, AntonioPascual Albarrán, Paloma

    Nogueira Ceada, Maŕıa CintaNoviembre 2010

  • ii

  • Índice general

    1. Introducción a la Optimización 1

    1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.2. Esquema de contenidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.4. Conceptos fundamentales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.4.1. Referencias Históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.4.2. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.4.3. Prolegómenos y rudimentos de la I.O. . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.4.4. Génesis de la I.O. en el siglo XX . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.4.5. El crecimiento de la I.O. desde 1945 hasta la actualidad . . . . . . . . . . . . . . . 5

    1.4.6. Especificaciones y concreciones históricas de la I.O.: la programación matemática . 6

    1.4.7. Nuevos desarrollos de la I.O. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    1.5. Introducción a la Programación Lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    1.5.1. Caracteŕısticas de un problema de Programación Lineal . . . . . . . . . . . . . . . 9

    1.5.2. Planteamiento de un problema de Programación Lineal . . . . . . . . . . . . . . . 9

    1.5.3. Supuestos básicos de la Programación Lineal . . . . . . . . . . . . . . . . . . . . . 10

    1.5.4. Resolución gráfica de un problema de Programación Lineal . . . . . . . . . . . . . 10

    1.5.5. Casos especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    1.5.6. Ejemplos de resolución gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    1.6. Casos prácticos con software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    2. Metodoloǵıa de la Investigación Operativa 19

    2.1. Paso 1. Definición del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    iii

  • iv ÍNDICE GENERAL

    2.2. Paso 2. Modelado Matemático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    2.2.1. Identificar las variables de decisión . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    2.2.2. Identificar la función objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    2.2.3. Identificar las restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    2.2.4. Traducir todos los elementos básicos a un modelo matemático . . . . . . . . . . . . 21

    2.3. Paso 3. Resolución del Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    2.3.1. Elegir la técnica de resolución adecuada . . . . . . . . . . . . . . . . . . . . . . . . 21

    2.3.2. Generar las soluciones del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    2.3.3. Comprobar/validar los resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    2.3.4. Si los resultados son inaceptables, revisar el modelo . . . . . . . . . . . . . . . . . 22

    2.3.5. Realizar un análisis de sensibilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    2.4. Presentación de los Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    2.4.1. Preparar informes y/o presentaciones . . . . . . . . . . . . . . . . . . . . . . . . . 23

    2.4.2. Vigilar el proceso de implementación de la solución propuesta . . . . . . . . . . . . 23

    2.5. Gúıa General para la Formulación de Modelos . . . . . . . . . . . . . . . . . . . . . . . . . 23

    3. Método Gráfico o Método Geométrico 25

    3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    3.2. Inecuaciones lineales con dos variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    3.3. Sistema de inecuaciones lineales con dos incógnitas . . . . . . . . . . . . . . . . . . . . . . 26

    3.4. Problemas de optimización de una función sujeta a restricciones . . . . . . . . . . . . . . . 27

    3.4.1. Resolución Geométrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    3.4.2. Resolución Algebraica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    4. Aplicaciones de la Programación Lineal 31

    4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    4.2. Principales aplicaciones de la Programación Lineal . . . . . . . . . . . . . . . . . . . . . . 31

    4.3. Conceptos fundamentales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    4.4. Aplicaciones de la Programación Lineal al Marketing . . . . . . . . . . . . . . . . . . . . . 32

    4.4.1. Ejemplo de Medios de Comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    4.5. Aplicaciones de la Programación Lineal a Estudios de Mercado . . . . . . . . . . . . . . . 34

  • ÍNDICE GENERAL v

    4.5.1. Ejemplo de Diseño de una Encuesta . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    4.6. Aplicaciones de la Programación Lineal a la Producción . . . . . . . . . . . . . . . . . . . 35

    4.6.1. Ejemplo Combinación Óptima de Bienes . . . . . . . . . . . . . . . . . . . . . . . . 35

    4.7. Otras aplicaciones de la Programación Lineal . . . . . . . . . . . . . . . . . . . . . . . . . 37

    4.7.1. Planificación de la producción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    4.7.2. Asignación de trabajos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    4.7.3. Planificación de horarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    4.7.4. El Problema de Transporte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    4.7.5. El Problema de la Dieta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    5. Bibliograf́ıa y Referencias Webs 41

    5.1. Bibliograf́ıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    5.2. Referencias Webs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

  • vi ÍNDICE GENERAL

  • Índice de figuras

    1.1. Esquema de contenidos del tema Optimización. . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.2. Fotograf́ıa de George Bernard Dantzig (1941). . . . . . . . . . . . . . . . . . . . . . . . . . 7

    1.3. Región Factible del ejemplo de las mesas de ordenador. . . . . . . . . . . . . . . . . . . . . 11

    1.4. Región Factible. Casos especiales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    1.5. Región Factible. Ejemplo 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    1.6. Región Factible. Ejemplo 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    1.7. Planteamiento con Lingo del ejemplo de las mesas de ordenador. . . . . . . . . . . . . . . 15

    1.8. Ventana Status del Programa Lingo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    1.9. Salida del Programa Lingo. Solution Report. . . . . . . . . . . . . . . . . . . . . . . . . . 17

    2.1. Aplicaciones de la Programación Lineal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    3.1. Solución de la Inecuación Lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    3.2. Solución del Sistema de Inecuaciones Lineales . . . . . . . . . . . . . . . . . . . . . . . . . 27

    3.3. Región factible y vector de la función objetivo . . . . . . . . . . . . . . . . . . . . . . . . . 29

    3.4. Región factible y vectores paralelos de la función objetivo . . . . . . . . . . . . . . . . . . 29

    3.5. Imagen de un Applet: Método Geométrico. . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    3.6. Imagen de otro Applet: Método Geométrico. . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    4.1. Aplicaciones de la Programación Lineal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    4.2. Modelización del Ejemplo de Marketing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    4.3. Resolución con LINGO del Ejemplo de Marketing. . . . . . . . . . . . . . . . . . . . . . . 34

    4.4. Modelización del Ejemplo de Encuestas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    4.5. Resolución con LINGO del Ejemplo de Encuestas. . . . . . . . . . . . . . . . . . . . . . . 37

    vii

  • viii ÍNDICE DE FIGURAS

    4.6. Modelización del Ejemplo de Combinación Óptima de Bienes. . . . . . . . . . . . . . . . . 38

    4.7. Resolución con LINGO del Ejemplo de Combinación Óptima de Bienes. . . . . . . . . . . 39

  • Caṕıtulo 1

    Introducción a la Optimización

    1.1. Introducción

    Cuando una persona se enfrenta por vez primera con el término Investigación Operativa, no sueleconocer las caracteŕısticas espećıficas de esta ciencia ni su objeto de estudio. Además, la InvestigaciónOperativa puede tener componentes muy diversos dependiendo de su área de aplicación concreta: Ad-ministración de Empresas, Ingenieŕıa u otras.

    El objeto de estudio de la Investigación Operativa es la toma cient́ıfica de decisiones mediante elempleo de técnicas cuantitativas. Es importante que tengamos esta definición clara, ya que de estaforma, nos daremos cuenta de la amplitud de campo de la Investigación Operativa (IO).

    Con demasiada frecuencia se ha hecho bastante hincapié en los modelos de Programación Linealdentro de la Investigación Operativa, lo cual ha dificultado la distinción entre ambos términos. Lo ciertoes que la Programación Lineal es sólo una parte muy importante de la Investigación Operativa. Otrasáreas o secciones habituales en el estudio de la IO son las siguientes (esta relación no es exhaustiva, sinoque sólo pretende dar una idea de la extensión de la IO):

    Programación entera.

    Problemas de transporte y asignación.

    Análisis de grafos y de redes. PERT y CPM.

    Programación dinámica..

    Teoŕıa de juegos.

    Programación no lineal.

    Programación paramétrica.

    Teoŕıa de colas.

    Teoŕıa de inventarios.

    Procesos markovianos de decisión. Análisis de decisión.

    Simulación.

    Fiabilidad.

    1

  • 2 CAPÍTULO 1. INTRODUCCIÓN A LA OPTIMIZACIÓN

    Existen, de este modo, otras áreas –además de la PL- en las que la Investigación Operativa ejercetambién su estudio. Es claro pues que la Investigación Operativa es una ciencia multidisciplinar queaparece en muchos campos del ámbito industrial, empresarial y de la administración pública. De hecho,con la aparición de la Programación Lineal en los años 40, aparece el sentimiento de dar una cohesióno visión de conjunto a todas las técnicas anteriormente enunciadas. Esa visión cohesionada, junto con elconcepto de sistema, permite la aparición de la Investigación Operativa como ciencia.

    Las subdivisiones en las que se establece la IO tienen los siguientes elementos en común:

    1. Son necesarios amplios conocimientos de matemáticas, es decir, del manejo de muchas técnicasmatemáticas, aunque con inmediata aplicación a la realidad.

    2. Es necesario que, al final de cada problema definido, haya una decisión que tomar.

    3. Es preciso definir un modelo que dé cauce a la toma de decisiones.

    En este sentido, hay que destacar que las técnicas de Investigación Operativa tienen un auge inusitadoen los Estados Unidos. Algunos de los motivos de este auge son: a) razones históricas, b) la culturaempresarial americana, y c) la dimensión del mercado americano. En Europa, cada vez se aplican másestas técnicas pero, con frecuencia, con un acento mucho más teórico. Entre los páıses europeos quemás aplican las técnicas de la IO se pueden destacar los siguientes: Gran Bretaña, Holanda, Francia yAlemania. Con el fenómeno de la globalización económica, cada vez son más las empresas multinacionalesque emplean técnicas de Investigación Operativa para la toma cient́ıfica de decisiones.

    1.2. Esquema de contenidos

    En este tema, se va a seguir el esquema de contenidos que se puede ver en la figura 1.1.

    Figura 1.1: Esquema de contenidos del tema Optimización.

  • 1.3. OBJETIVOS 3

    1.3. Objetivos

    Entender el concepto de Investigación Operativa.

    Conocer las áreas de estudio de la Investigación Operativa.

    Comprender el desarrollo histórico de la IO como ciencia.

    Entender qué es la Programación Lineal y su importancia dentro de la IO.

    1.4. Conceptos fundamentales

    En esta sección estudiaremos los conceptos fundamentales de la Investigación Operativa.

    1.4.1. Referencias Históricas

    Suele ser dif́ıcil hacer una referencia histórica de la Investigación Operativa. Principalmente, porqueno es sencillo establecer sus oŕıgenes. Como se ha comentado anteriormente, muchas son las áreas quecomponen la IO, y hasta que apareció un elemento aglutinador en los años 40 del siglo XX, cada áreatuvo su propia referencia histórica, haciendo muy dif́ıcil establecer la fecha exacta del nacimiento de laIO. No obstante, procuraremos dar unas pinceladas al respecto.

    La necesidad de tomar decisiones es tan antigua como el hombre mismo, por ello, hemos de pregun-tarnos por qué la IO nace en un momento histórico preciso. Esto fue aśı, porque la realidad humana sefue complicando poco a poco y las decisiones que en un principio eran triviales, se convirtieron en deci-siones dif́ıciles. Con la llegada de la Revolución Industrial, la sociedad se hizo mucho más compleja y lasdecisiones hab́ıan de tomarse con más cuidado porque involucraban a más personas en sus consecuencias.Veamos a continuación lo que esto supuso históricamente.

    1.4.2. Introducción

    Las diferentes ciencias han de ser comprendidas con profundidad antes de poder ser analizadas desdeun punto de vista histórico. Quizás no sea fácil establecer los oŕıgenes de la Investigación Operativa,porque no se tuvo conciencia de la misma hasta mucho más tarde de que algunas de sus ramas nacierany se desarrollaran. No obstante, es necesario relacionar el inicio de la Investigación Operativa, por lomenos nominalmente, con el transcurso de la II Guerra Mundial. Por esta razón, hemos de pensar en losoŕıgenes de la ciencia operacional como en los de una técnica de naturaleza militar.

    Dichos oŕıgenes han supuesto una impronta decisiva en el tratamiento de las técnicas operacionales.En este sentido, cuando se pretende trazar una evolución histórica de una ciencia es muy importantedelimitar la frontera de la misma en los terrenos conceptual e histórico.

    1.4.3. Prolegómenos y rudimentos de la I.O.

    Después de la introducción llegamos al momento delicado de establecer diferencias entre la Investi-gación Operativa y la Ciencia de la Gestión (o de la Administración). Entendemos por Ciencia de laGestión (traducción del término inglés Management Science) la aplicación de los métodos y técnicas dela ciencia actual a los problemas de toma de decisiones en la administración. Realmente, esta mismadefinición podŕıa valer también para la Investigación Operativa, aunque ésta necesite de un manejo más

  • 4 CAPÍTULO 1. INTRODUCCIÓN A LA OPTIMIZACIÓN

    expĺıcito de técnicas matemáticas. Por tanto, estas dos ciencias pueden darse en el momento presentecomo equivalentes o sinónimas. No obstante, se puede comprender que la gestión y la organización hansido necesarias para la humanidad desde sus albores.

    La necesidad de planificación y organización aparece ya en el antiguo Egipto hacia el año 4000 a. C.y se va desarrollando a través de toda la Antigüedad hasta el advenimiento del Imperio Romano. EnIsrael y China también aparecen t́ımidos escarceos de organización y dirección hacia el año 1000 a. C.Nabucodonosor establece algunas ideas sobre control de la producción hacia el año 600 a. C. En Grecia,se desarrollan en el 350 a. C. los primeros métodos de organización del trabajo y del tiempo. Alrededordel año 30 a. C., Julio César establece diversas ideas de planificación, control y unidad de mando, queluego pone en práctica en todo el Imperio Romano.

    Todos los estudios y planteamientos organizativos de la Antigüedad tienen su proyección, que nosu continuación, a lo largo de toda la Edad Media, en donde se aprovechan sin posteriores desarrollos.Durante el siglo XV, en la Italia renacentista se vuelven a plantear de nuevo las cuestiones organizativasy aparecen diversos estudios sobre costes y sobre control de existencias. No es fácil establecer otros hitosacerca de la organización hasta el siglo XVIII, cuando Pierre de Montmort inicia sus primeras ideasdirectivas que luego dan lugar a la teoŕıa de juegos.

    Con los inicios de la I Revolución Industrial, el sentido y la forma de estudio de la Ciencia de la Gestiónadquieren su ser más pleno. Por otra parte, el desarrollo de las matemáticas durante los siglos XVIII y XIXpermite disponer de las herramientas necesarias para la futura construcción de la Investigación Operativa.De esta forma, en 1767, Gaspard Monge descubre la manera geométrica de resolver un programa lineal.Posteriormente, Adam Smith establece el principio de especialización en los trabajos, y Robert Owen,ya en el siglo XIX, realiza un estudio sobre tareas en un proceso productivo, y advierte de la necesidadde adiestramiento en las mismas por parte de los operarios.

    Una aportación fundamental la realiza Babbage, en 1832, construyendo lo que se podŕıa llamar elprimer computador digital, que vendŕıa a ser el antecesor de los modernos ordenadores. A finales del sigloXIX, Joseph Wharton hace de la dirección estratégica e industrial un saber universitario. No obstante,el auge de las revoluciones industriales del XIX permiten establecer un caldo de cultivo adecuado parael estudio de la ciencia operacional. Aśı, Frederick W. Taylor y Henry L. Gantt, ante la necesidad deplanificación de la producción, establecen el método cient́ıfico de dirección y las gráficas de programaciónproductiva (de Gantt), respectivamente. A partir de este momento aparece la aportación nuclear del sigloXX a la Investigación Operativa, sabiendo que es en esta centuria cuando se produce su nacimiento real.

    1.4.4. Génesis de la I.O. en el siglo XX

    Diversos hechos hab́ıan ocurrido en los albores de ese siglo, que luego ayudaron a la génesis de laciencia operativa. Entre otros citaremos: a) los rudimentos de la teoŕıa de colas, con A.K. Erlang, y b) laconstrucción del modelo económico del tamaño del lote, con F.W. Harris. Sin embargo, estos hitos queluego constituyeron elementos clave de la Investigación Operativa, no permitieron establecer la mismacomo un saber independiente. Tiene sentido iniciar nuestra exposición en el momento en el que se tuvouna conciencia clara de que algo nuevo y diferenciador estaba naciendo en el ámbito de la teoŕıa de laorganización a gran escala. Este momento es el preludio de la II Guerra Mundial. Podŕıamos decir quees hacia 1935 cuando Inglaterra se da cuenta de que necesita dar una respuesta adecuada al crecientepodeŕıo militar alemán. Por esta razón, el gobierno inglés urge a un grupo de cient́ıficos a que realicenexperimentos que conduzcan a un mejor control del espacio aéreo. Fruto de esta experimentación apareceel radar, que constituye el inicio de la lucha por la supremaćıa aérea. Este grupo de investigadores tomó subase en Bawdsey, y por esta razón se llamó grupo de Bawdsey.

    De forma paralela, otro grupo se estuvo estableciendo durante 1936 para desarrollar el experimentoBiggin Hill, que permit́ıa la simulación de aviones enemigos y su detección. La conjunción de estosdos grupos, permitió ofrecer a la RAF (Royal Air Force) una estructura operacional, para sus equipos

  • 1.4. CONCEPTOS FUNDAMENTALES 5

    materiales y humanos, que le posibilitó librar la batalla de Inglaterra en 1940-41. El grupo de Bawdseyfue dirigido en 1938 por A.P. Rowe, el cual acuñó la expresión ’Operations Research’, que posteriormentese extendió dentro del ámbito cient́ıfico al resto de páıses occidentales.

    La batalla de Inglaterra se recrudece en el otoño de 1940. Por esta razón, se solicita la ayuda deP.M.S. Blackett, un f́ısico que después conseguirá el Premio Nobel por sus trabajos en rayos cósmicos,con objeto de establecer una sección de Investigación Operativa dentro de los comandos de acción de laRAF. Del mismo modo, Blackett fue consultado en diciembre de 1941, sobre la posibilidad de constituiruna sección similar dentro de la Armada. Dicha sección fue constituida en enero de 1942.

    Cuando los Estados Unidos entran en la guerra, son conscientes de la necesidad de tales gruposoperativos y de la constitución de secciones operacionales para el éxito de los mismos. De esta manera,constituyen en 1942 un grupo operacional de lucha antisubmarina (ASWORG - Anti-Submarine WarfareOperations Research Group) que recoge toda la experiencia inglesa desarrollada por Blackett. De formasimilar, la Fuerza Aérea Americana estructura diversos grupos operacionales para llevar a cabo sus laboresloǵısticas. Al final de la guerra, la Armada americana dispońıa de un departamento de InvestigaciónOperativa compuesto por más de setenta cient́ıficos, y la Fuerza Aérea dispońıa de más de dos docenasde secciones operacionales.

    No puede decirse que las potencias del Eje hicieran uso de las técnicas operacionales durante la IIGuerra Mundial, mientras que el número de cient́ıficos e investigadores involucrados en InvestigaciónOperativa en la contienda por parte de ingleses, americanos y canadienses superó los setecientos. Lasaportaciones que hicieron todos estos investigadores supusieron un giro copernicano en la manera deconcebir la Ciencia de la Gestión en los años siguientes. De alguna manera, todos estos estudiosos quetrabajaban de manera aislada en los años treinta se aglutinaron hoĺısticamente con ocasión de la guerra,y produjeron un conjunto de técnicas y teoŕıas que ocasionaron el alumbramiento de la InvestigaciónOperativa como ciencia.

    1.4.5. El crecimiento de la I.O. desde 1945 hasta la actualidad

    Es muy dif́ıcil condensar en unas ĺıneas todo lo que han supuesto las décadas anteriormente men-cionadas para la ciencia operacional, habida cuenta de su importancia y de la riqueza de trabajos pro-ducidos. Realmente, se ha construido más ciencia operacional durante estos años que en todo el resto dela historia de la humanidad. Se puede decir que la verdadera historia de la Investigación Operativa se hadesarrollado durante este peŕıodo: se han establecido ĺıneas de investigación, han aparecido sociedadesprofesionales, se han creado revistas de investigación, se han publicado libros y se ha incluido la materiadentro del curriculum educativo.

    Una vez finalizó la contienda mundial y habida cuenta del éxito cosechado por las técnicas operativas,éstas continuaron desarrollándose dentro del ámbito militar, puesto que era el ejército quien poséıala mayor parte de los investigadores y quien estaba interesado en proseguir dicha ĺınea de trabajo. Amediados de los años cincuenta se desplazó el centro de gravedad de interés de la Investigación Operativa,y alcanzó el terreno industrial y el académico. Aparece el interés por la Ciencia de la Gestión (ManagementScience). En la década de los setenta, ha continuado el desarrollo expansivo de la Investigación Operativa,llegando al ámbito de la administración pública, tratando los siguientes tipos de problemas: transporteurbano, administración de justicia, construcción de edificios públicos, educación, hospitales y serviciossociales. De esta manera, el peso investigador de la IO se desplaza desde el Reino Unido a los EstadosUnidos, en donde se constituyen diversos institutos y organizaciones de estudio, como The Urban Institute(1968) y The New York City Rand Institute (1969).

    También, son muchas las empresas que, a partir de los años cincuenta, se ayudan de técnicas operativaspara diseñar sus poĺıticas de producción y de distribución. Por ejemplo, a partir de una encuesta querealiza Turban en 1972 en Estados Unidos sobre las 500 empresas más importantes del páıs (de acuerdocon la revista Fortune), se deduce que la mitad de las empresas que contestaron la encuesta poséıan un

  • 6 CAPÍTULO 1. INTRODUCCIÓN A LA OPTIMIZACIÓN

    departamento especial dedicado a tareas de Investigación de Operaciones o Ciencia de la Administración.

    No obstante, la IO forma cada d́ıa más, una parte de las actividades normales de la empresa modernay, por tanto, ya no se trata de una función especializada que deba llevarse a cabo en un departamentoseparado. De acuerdo con este estudio las técnicas operacionales más empleadas eran el análisis estad́ısti-co, la simulación, la programación lineal, la teoŕıa de inventarios y la programación dinámica. Otrastécnicas empleadas, aunque de menor uso, eran la programación no lineal, las ĺıneas de espera, la teoŕıade juegos, el análisis de decisión de Bayes y la programación entera.

    Posteriormente, se realizaron otras encuestas de resultados similares: a) en 1977, Ledbetter y Cox(1977); b) en 1979, Thomas y DaCosta (1979); c) en 1983, Forgionne (1983). En todas ellas se compruebacómo cada vez son mayores en número las técnicas operativas empleadas, y cómo dichas técnicas aparecencon más frecuencia en otras áreas o departamentos de la empresa. Estudios de otro tipo fueron los deFabozzi y Valente (1976) que encuestaron, en 1976, mil compañ́ıas americanas en relación con el usode la programación matemática (programación lineal, no lineal y dinámica). Estos autores descubrieronque era la dirección de Producción (mezclas de productos, asignación de recursos, diseño de planta ymaquinaria, ...) el área en donde más se aplicaba la Investigación de Operaciones dentro del ámbito dela empresa. En número de aplicaciones le segúıa el área de Inversión y Financiación.

    1.4.6. Especificaciones y concreciones históricas de la I.O.: la programaciónmatemática

    La Programación Matemática ha formado parte de la IO desde la constitución de la misma como cien-cia hasta la actualidad. Sin embargo, muchos de los problemas tratados por la Programación Matemáticaeran conocidos desde mucho antes. Grandes matemáticos de los siglos XVIII y XIX, como Euler, Gauss yLagrange trabajaron en problemas de optimización con restricciones y establecieron las primeras condi-ciones de optimalidad. Lo cual quiere decir que los problemas que la Programación Matemática planteabaen los años cuarenta de nuestro siglo no eran nuevos en su formulación, pero śı en su enfoque.

    Los métodos matemáticos clásicos no estaban pensados para una resolución en dimensiones altas,como iban a requerir las nuevas necesidades industriales. Esta fue la aportación de la ciencia opera-cional, máxime cuando se desarrollaron las técnicas computacionales que permitieron hacer realidad elcálculo rápido y a gran escala. La IO supuso un giro copernicano en la manera de tratar los programasmatemáticos. Se implementaron algoritmos que computacionalmente eran más eficientes que los clásicosy, de esta manera, problemas que tradicionalmente hab́ıan sido complejos, ahora resultaron asequibles. Elcambio de mentalidad era notable y, por tanto, un nuevo modelo cient́ıfico se estaba abriendo paso. Parael desarrollo de las distintas técnicas algoŕıtmicas, era básico el estudio de los sistemas de desigualdadcomo hab́ıan hecho los matemáticos Julius Farkas, Jean Baptiste Fourier y T.S. Motzkin.

    El análisis de los problemas económicos se debe a John Von Neumann y a Abraham Wald. Noobstante, cuando se trata de presentar una descripción histórica de la Programación Matemática, hayque tener en cuenta la gran aportación de George B. Dantzig (ver foto de la figura 1.2) con su métodosimplex para programación lineal. Este hito ha supuesto la demarcación de la época fundacional de laProgramación Matemática. Este hecho se ha considerado como el inicio de la IO, puesto que lo ha sidode la programación lineal, y ha tráıdo consigo la resolución de muchos problemas operacionales.

    Realmente, el nuevo estilo marcado por el método simplex ha construido el auténtico esṕıritu dela optimización matemática. No hay que olvidar la intención de Samuel Eilon al inventar el término“satisfizar” (fusión de satisfacer y optimizar) intentando describir la labor del investigador de opera-ciones: encontrar una solución satisfactoriamente (aceptablemente) óptima (o buena). De ah́ı procede lasentencia: “optimizar es la ciencia de lo esencial; “satisfizar” es el arte de lo factible” (Eilon (1972)).

    De hecho, en cuanto se intenta resolver un problema práctico surgido de la empresa o de la realidadeconómica se puede palpar la potencia del método simplex. A principios de la década de los sesenta,

  • 1.4. CONCEPTOS FUNDAMENTALES 7

    Figura 1.2: Fotograf́ıa de George Bernard Dantzig (1941).

    Abraham Charnes y William Cooper (1961) publicaron un libro de gran influencia para los años poste-riores: Management Models and Industrial Applications of Linear Programming. Esta obra supuso ungran impacto en el desarrollo de la práctica y de las aplicaciones industriales de la programación lineal(principalmente en las compañ́ıas petroĺıferas y qúımicas). Pudo comprobarse la potencia de esta nuevaherramienta, a la hora de resolver los problemas de decisión de las grandes empresas.

    De igual modo, se aplicó la programación lineal a la teoŕıa económica como muestran las aportacionesde Robert Dorfman, Paul Samuelson y Robert Solow (1958), o las de David Gale (1960), o bien las deGérard Debreu (1963).

    1.4.7. Nuevos desarrollos de la I.O.

    La Programación Lineal fue una de las primeras herramientas cuantitativas con la que contó la IO.Rápidamente se descubrió su eficiencia. Por esta razón, era muy interesante conseguir nuevos métodosde resolución que hicieran la competencia al algoritmo simplex.

    Como una innovación destacable en los años ochenta aparece un nuevo y poderoso algoritmo para laresolución de programas lineales: en 1984, Narendra Karmarkar (1984) de AT& T Laboratories publicó unart́ıculo presentando esquemáticamente un método para resolver programas lineales de gran tamaño. Estemétodo llamado algoritmo de Karmarkar se presenta como un buscador de óptimos a partir de puntosinteriores, siendo ésta la gran novedad en relación con el método simplex.

    Dicho art́ıculo de Karmarkar no describe totalmente el método resolutorio y, además, afirma que esmucho más rápido que el simplex para problemas de gran dimensión. El intento de descubrimiento de unremedo de dicho método puso a toda la comunidad cient́ıfica en pie de búsqueda. Pasaron cuatro añoshasta que se logró un conocimiento general del método y su distribución comercial. Esta extensión delalgoritmo de Karmarkar fue debida a AT& T Laboratories, que llamó a esta versión ’AT& T KORBXLinear Programming System’. La instalación completa de esta versión tuvo un costo inicial de 8.900.000dólares.

    Desde un principio se realizaron multitud de comparaciones entre el método simplex y el de Kar-markar, con objeto de determinar cuál de los dos era el más eficiente. Sin embargo, esto no es fácil dedeterminar puesto que hay que especificar qué es exactamente lo que significa eficiencia. Es necesarioefectuar la comparación en multitud de situaciones diversas y a partir de ellas establecer la correspon-

  • 8 CAPÍTULO 1. INTRODUCCIÓN A LA OPTIMIZACIÓN

    diente tesis. Se han realizado estudios que cotejan el método de Karmarkar con un paquete informáticoestándar del método simplex llamado MINOS.

    Para problemas de tamaño grande (a partir de varios miles de restricciones) las mejoras en tiempo decálculo del método de Karmarkar sobre el simplex son notables (factores entre 10 y 50 son comunes). Noobstante, esta situación no supone la supremaćıa del método de Karmarkar en todo tipo de problemas.No hay que olvidar que para problemas de dimensión pequeña, el método simplex es más intuitivo y fácilde aplicar.

    También es posible realizar algunos comentarios acerca de la complejidad computacional de cada unode los métodos. El método de Karmarkar es un algoritmo de tiempo polinomial, mientras que el simplexno goza de esta propiedad, sino que es de tiempo exponencial. De esta forma, tenemos explicada la razónpor la cual el método de Karmarkar obtiene mejores resultados para problemas de gran dimensión.

    Es llamativo que los problemas que hasta hace unos años necesitaban de computadoras de tamañomedio, ahora sean resolubles mediante ordenadores personales. En la actualidad, prácticamente cualquierusuario de la Investigación Operativa puede resolver problemas lineales mediante LINGO (u otro paqueteinformático semejante) en un ordenador portátil.

    De esta manera, mediante LINGO se pueden manejar problemas con hasta 50.000 restricciones y200.000 variables. De igual modo, se desarrolló el paquete MINOS (empleando para programación linealel método simplex) en el Systems Optimization Laboratory del Departamento de Investigación Operativade la Universidad de Stanford, que ha sido usado más frecuentemente como herramienta optimizadora enprogramación no lineal. Otros lenguajes de modelización se han desarrollado para ordenadores personales.

    Aśı, ha aparecido GAMS/MINOS que es una combinación de los dos programas bien conocidoscon objeto de construir un lenguaje de modelización algebraica implementado por IBM. De la mismaforma, ha aparecido el paquete XPRESS-LP; y el lenguaje MPL (Mathematical Programming Language)desarrollado por Maximal Software en Islandia. Esta misma casa produjo la utilidad Turbo-Simplex.

    En los años noventa fueron apareciendo otras utilidades informáticas, como son las hojas de cálculo ysus complementos asociados, capaces de resolver programas lineales. Entre algunos de estos complementosse pueden citar los siguientes: Solver(Excel), VINO, What’s Best? y XA. Casi todas estas utilidadesfueron construidas por IBM para sus propias computadoras, sin embargo, poco a poco, se van obteniendoversiones para Macintosh.

    Aunque estas son las más recientes aplicaciones informáticas de los últimos cinco años, en los próximosaños se mejorarán, a la vez que se extenderán los lenguajes y paquetes informáticos que permitirán resolvercon relativa facilidad problemas de programación lineal complejos.

    1.5. Introducción a la Programación Lineal

    En cualquier empresa, muchas de las decisiones que se toman tienen por objeto hacer el mejor usoposible (optimización) de los recursos de la misma. Por recursos de una empresa entendemos la maquinariaque ésta posea, sus trabajadores, capital financiero, instalaciones, las materias primas de que disponga.Tales recursos pueden ser usados para fabricar productos (electrodomésticos, muebles, comida, ropa,etc.) o servicios (horarios de producción, planes de marketing y publicidad, decisiones financieras, etc.)La Programación Lineal (PL) es una técnica matemática diseñada para ayudar a los directivos en laplanificación y toma de decisiones referentes a la asignación de los recursos.

    Como ejemplos de problemas donde la PL desarrolla un papel fundamental, podŕıamos citar lossiguientes:

    1. A partir de los recursos disponibles, determinar las unidades a producir de cada bien de forma que

  • 1.5. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL 9

    se maximice el beneficio de la empresa.

    2. Elegir materias primas en procesos de alimentación, para obtener mezclas con unas determinadaspropiedades al mı́nimo coste.

    3. Determinar el sistema de distribución que minimice el coste total de transporte, desde diversosalmacenes a varios puntos de distribución.

    4. Desarrollar un plan de producción que, satisfaciendo las demandas futuras de los productos de unaempresa, minimice simultáneamente los costes de producción e inventario.

    1.5.1. Caracteŕısticas de un problema de Programación Lineal

    Las técnicas de PL han sido ampliamente utilizadas en ámbitos tan diferentes como el militar, in-dustrial, financiero, de marketing, e incluso agŕıcola. A pesar de tal diversidad de aplicaciones, todos losproblemas de PL tienen cuatro propiedades comunes:

    1. Pretenden optimizar (maximizar o minimizar) alguna cantidad (función objetivo). Aśı, por ejemplo,el principal objetivo de un banquero seŕıa maximizar beneficios, mientras que el principal objetivode una empresa transportista podŕıa ser minimizar los costes de los env́ıos.

    2. Habrá que tener en cuenta las restricciones que limitan el grado en el cual es posible modificarlas variables que afectan a nuestra función objetivo. Aśı, a la hora de decidir cuántas unidadesde cada bien se han de producir, deberemos considerar, entre otras, las limitaciones de personal ymaquinaria de que disponemos.

    3. El problema debe presentar distintas alternativas posibles: si una compañ́ıa produce cuatro bienesdiferentes, la dirección puede usar PL para determinar las cantidades de recursos que asigna a laproducción de cada uno de ellos (podŕıa optar por hacer una asignación ponderada, dedicar todoslos recursos a la producción de un único bien abandonando la producción del resto, etc.)

    4. En PL, la función objetivo debe ser una función lineal, y las restricciones deben ser expresablescomo ecuaciones o inecuaciones lineales.

    1.5.2. Planteamiento de un problema de Programación Lineal

    Ejemplo: Una empresa fabrica dos modelos de mesas para ordenadores, M1 y M2. Para su producciónse necesita un trabajo manual de 20 minutos para el modelo M1 y de 30 minutos para el modelo M2;y un trabajo de máquina de 20 minutos para M1 y de 10 minutos para M2. Se dispone de 100 horas almes de trabajo manual y de 80 horas al mes de máquina. Sabiendo que el beneficio por unidad es de 1,5y 1 euros para M1 y M2, respectivamente, planificar la producción para obtener el máximo beneficio.

    Nos limitaremos ahora a plantear formalmente el problema (ya lo resolveremos más adelante):

    Llamando: X = no unidades producidas al mes de M1, e Y = no unidades producidas al mes de M2,nuestra función objetivo seŕıa:

    Maximizar: Z(X, Y ) = 1,5X + Y

    y las restricciones vendrán dadas por:

    Sujeto a:

    20X + 30Y ≤ 100 ∗ 60

  • 10 CAPÍTULO 1. INTRODUCCIÓN A LA OPTIMIZACIÓN

    20X + 10Y ≤ 80 ∗ 60

    X ≥ 0

    Y ≥ 0

    X, Y enteras.

    Las dos últimas restricciones, si bien no constan de forma expĺıcita en el enunciado, śı figuran deforma impĺıcita, pues el número de mesas a producir no puede ser inferior a 0, además ambos númerosdeben ser enteros.

    1.5.3. Supuestos básicos de la Programación Lineal

    Desde un punto de vista técnico, hay cinco supuestos que debe cumplir todo problema de programaciónlineal:

    1. Los coeficientes, tanto de la función objetivo como de las restricciones, son conocidos con exac-titud y además no vaŕıan durante el peŕıodo de tiempo en que se realiza el estudio (supuesto decertidumbre).

    2. Tanto en la función objetivo como en las restricciones hay proporcionalidad: si para la producciónde un bien empleamos 5 horas de un determinado recurso (mano de obra, maquinaria, etc.), paraproducir diez unidades de dicho bien serán necesarias 50 horas del mismo recurso.

    3. Aditividad de actividades: tanto en la función objetivo como en las restricciones, la contribuciónde cada variable es independiente de los valores del resto de las variables, siendo el total de todaslas actividades igual a la suma de cada actividad individual. Aśı, por ejemplo, si producimos dostipos de bienes, uno que nos reporte un beneficio neto de 20 euros/unidad, y otro que nos reporteun beneficio neto de 10 euros/unidad, la producción de un bien de cada tipo supondrá un beneficiototal de 30 euros.

    4. Las soluciones del problema serán, en general, números reales no necesariamente enteros (supuestode divisibilidad). Para aquellos problemas en los cuales sólo tenga sentido obtener soluciones enteras(cuando las soluciones se refieran a objetos indivisibles), se usarán técnicas de Programación LinealEntera (PLE).

    5. Las variables de nuestro modelo tomarán siempre valores positivos (supuesto de no negatividad),dado que no tiene sentido hablar de cantidades negativas de objetos f́ısicos.

    1.5.4. Resolución gráfica de un problema de Programación Lineal

    El método gráfico de resolución tan sólo es aplicable a problemas con dos variables (X e Y ). Paraaquellos casos en que el número de variables del problema sea superior a dos, no será posible encontrar lasolución a partir de un gráfico bidimensional y, por tanto, tendremos que usar métodos de resolución máscomplejos. Aún aśı, el método gráfico es de un gran valor pedagógico dado que nos permite vislumbrarde una forma intuitiva las ideas básicas de la PL.

    Volviendo al ejemplo de las mesas de ordenadores descrito anteriormente, dado que en él tenemos sólodos variables, podremos representar cada una de las restricciones en el plano real. Estas restricciones sonsemiespacios (por ser lineales), la intersección de los cuales se denomina región factible (área de colorverde en la figura 1.3

  • 1.5. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL 11

    Figura 1.3: Región Factible del ejemplo de las mesas de ordenador.

    La teoŕıa matemática establece que, dado un problema de PL que tenga solución, ésta vendrá dada poruno de los vértices (o puntos extremos) del poĺıgono que configura la región factible. Por tanto, será sufi-ciente hallar las coordenadas de dichos vértices (intersecciones de rectas) y determinar (sustituyendo enla función objetivo) cuál de ellos es la solución óptima.

    En nuestro ejemplo, tendŕıamos sólo cuatro puntos candidatos a ser solución del problema (los cuatrovértices del poĺıgono), sustituyendo sus coordenadas en la función objetivo obtenemos:

    Z(0, 0) = 0; Z(0, 200) = 200; Z(210, 60) = 375; y Z(240, 0) = 360

    .

    Como en este caso buscábamos maximizar Z(X, Y ), concluiremos que el punto óptimo es el (210,60),dado que con él obtenemos el valor máximo de la función objetivo. Aśı pues, la solución a nuestro dilemaserá fabricar 210 mesas de tipo M1 y sólo 60 de tipo M2, con ello conseguiremos unos beneficios de 375euros.

    1.5.5. Casos especiales

    A la hora de resolver un problema de PL, nos podŕıamos encontrar con cualquiera de estas cuatrosituaciones especiales que conviene conocer:

    No Factibilidad: Podŕıa ocurrir que el problema propuesto no tuviese solución. Éste seŕıa el casoen que las restricciones fuesen incompatibles, i.e., que ningún punto del plano (o, en general, delespacio real n-dimensional) puede cumplir simultáneamente todas las limitaciones a las que estamossometidos, es decir, la región factible es un conjunto vaćıo.

    No Acotación: En ocasiones, podemos encontrarnos con problemas que no tengan una soluciónfinita; aśı por ejemplo, en un problema de maximización podŕıamos tener alguna variable que

  • 12 CAPÍTULO 1. INTRODUCCIÓN A LA OPTIMIZACIÓN

    pudiese incrementarse indefinidamente sin violar ninguna de las restricciones, permitiendo a lafunción objetivo tomar valores tan grandes como se desee. Gráficamente, tendŕıamos una regiónfactible no acotada.

    Redundancia: Algunas restricciones pueden “estar de más” por no aportar nada nuevo a la“forma” de la región factible, ya que hay otras que resultan ser más restrictivas (esto suele ocurriren problemas extensos, donde resulta dif́ıcil reconocer restricciones redundantes).

    Soluciones Múltiples: Un problema de PL puede tener más de una solución óptima (puedenser incluso infinitas soluciones). En el caso gráfico de dos variables, si dos vértices consecutivosde la región factible son solución óptima del problema, entonces todos los puntos del segmentocomprendido entre ellos también serán óptimos.

    Las situaciones anteriores pueden observarse en los gráficos que se pueden ver en la figura 1.4.

    Figura 1.4: Región Factible. Casos especiales.

    1.5.6. Ejemplos de resolución gráfica

    Ejemplo 2

    La tabla adjunta muestra las unidades de nitrógeno (N) y de fósforo (P) que contiene cada kilo delos abonos A y B. Se desea obtener un abono que, como mı́nimo, contenga 9 unidades de Nitrógeno y 9unidades de Fósforo. El precio de A es de 10 euros/kg. y el de B es de 20 euros/kg. Calcular las cantidadesque deben comprarse de A y de B para satisfacer las necesidades minimizando el coste. Resolver el mismoejercicio suponiendo que el precio de B es de 30 euros/kg.

    Nitrógeno Fósforo Abono A 3 1 Abono B 1 3

    Llamando X = no kilos de A, e Y = no kilos de B,

    Minimizar: Z(X, Y ) = 10X + 20Y

    Sujeto a:

    3X + Y ≥ 9

    X + 3Y ≥ 9

    X, Y ≥ 0

  • 1.5. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL 13

    En este caso, las cantidades X e Y no tienen que ser valores enteros.

    Evaluando Z(X, Y en cada uno de los vértices obtenemos:

    Z(0, 9) = 180; Z(9/4, 9/4) = 67, 5; Z(9, 0) = 90.

    La representación gráfica de la región factible del problema del ejemplo 1 será la que se puede ver enla figura 1.5:

    Figura 1.5: Región Factible. Ejemplo 1.

    Por tanto, la solución óptima es utilizar 9/4 kilos de A y 9/4 kilos de B, lo que supone un costemı́nimo de 67,5 euros.

    Si ahora consideramos la nueva función objetivo Z(X, Y ) = 10X + 30Y , al evaluar en los vértices (lasrestricciones no han cambiado), obtenemos:

    Z(0, 9) = 270; Z(9/4, 9/4) = 90; Z(9, 0) = 90.

    tendremos infinitas soluciones ya que cualquier punto del segmento que une los dos últimos vértices(9,0) y (9/4,9/4), ambos incluidos, será un óptimo, obteniéndose en ellos un coste mı́nimo de 90 euros.

    Ejemplo 2

    Unos grandes almacenes desean liquidar 200 camisas y 100 pantalones de la temporada anterior. Paraello lanzan dos ofertas, A y B: la oferta A consiste en un lote de una camisa y un pantalón, que se vendea 30 euros; y la oferta B consiste en un lote de tres camisas y un pantalón, que se vende a 50 euros. No

  • 14 CAPÍTULO 1. INTRODUCCIÓN A LA OPTIMIZACIÓN

    se desea ofrecer menos de 20 lotes de la oferta A ni menos de 10 de la B. ¿Cuántos lotes ha de vender decada tipo para maximizar la ganancia?

    Sean: X = no lotes tipo A, Y = no lotes tipo B.

    Maximizar: Z(X, Y ) = 30X + 50Y

    Sujeto a:

    3X + Y ≤ 200

    X + Y ≤ 100

    X ≥ 20

    Y ≥ 10

    En este caso, śı tenemos que las variables X e Y deben ser enteras.

    Evaluando la función objetivo Z(X, Y ) en los vértices obtenemos:

    Z(20, 10) = 1,100; Z(20, 80) = 4,600; Z(50, 50) = 4,000; Z(190/3, 10) = 2,400.

    La representación gráfica de la región factible del problema del ejercicio 2 se puede ver en la figura1.6.

    Figura 1.6: Región Factible. Ejemplo 2.

    Podemos observar en el gráfico anterior que, en este caso, es innecesario calcular Z(20, 10), puesestá claro que su valor será inferior al de Z(20, 80) y al de Z(190/3, 10).

    En definitiva, pues, tendremos que la empresa debe vender 20 lotes de tipo A y 80 de tipo B, con loque tendrá una ganancia máxima de 4.600 euros.

  • 1.6. CASOS PRÁCTICOS CON SOFTWARE. 15

    1.6. Casos prácticos con software.

    Como ya hemos dicho, el método gráfico o método geométrico sólo permite resolver problemas conno más de dos variables. En caso de tener más de dos variables, necesitaremos utilizar métodos máscomplejos, como son el Algoritmo Simplex o el Algoritmo de Karmarkar.

    Estos algoritmos permiten, mediante una serie de pasos reiterativos (tablas), abordar problemas dePL por muy complicados que éstos sean. En la práctica, sin embargo, resulta necesario utilizar algún pro-grama de ordenador (como el programa LINGO o la macro Solver de Excel) el cual agilice los numerososy repetitivos cálculos que exigen ambos algoritmos.

    LINGO (Linear, Interactive, and Discrete Optimizer) es un programa sencillo de usar y muy po-tente que permite resolver extensos problemas de programación lineal, entera, e incluso cuadrática. Suscreadores (LINGO Systems, Inc.) permiten descargar de su página web (http://www.lindo.com) unaversión de demostración gratuita que tolera hasta 150 restricciones y 300 variables (la versión profesionales capaz de trabajar con 50.000 restricciones y 200.000 variables).

    Al iniciar LINGO (versión 12.0 para Windows), aparecen varias ventanas: la exterior (con la etiquetaLINGO) es la ventana principal, todas las demás ventanas que vayan apareciendo estarán contenidasdentro de ella. La ventana principal contiene también todos los menús de comandos y la barra de herra-mientas. Utilizaremos la ventana secundaria para formular nuestro problema.

    A continuación, se muestra cómo planteamos en LINGO el ejemplo anterior de las mesas de ordenador(ver figura 1.7), que se enunció en la página 9.

    Figura 1.7: Planteamiento con Lingo del ejemplo de las mesas de ordenador.

    Ahora que ya hemos utilizado el programa LINGO, es conveniente hacer notar las siguientes obser-vaciones:

    1. Podemos añadir comentarios personales sin más que anteponer el signo de admiración !

    2. Siempre tendremos que finalizar la formulación del problema añadiendo el comando END.

    http://www.lindo.com

  • 16 CAPÍTULO 1. INTRODUCCIÓN A LA OPTIMIZACIÓN

    3. Por defecto, LINGO ya considera la no negatividad de las variables.

    4. LINGO sólo acepta cinco operadores: +, − , = , = . Aśı pues, en la formulación del problemano podrá usarse ningún otro operador (producto, cociente, potencia, etc.) ni tampoco paréntesisasociativos.

    5. En la parte derecha de una desigualdad sólo se permiten valores numéricos, mientras que en laparte izquierda sólo se permiten expresiones lineales de variables y sus coeficientes.

    El siguiente paso es pedirle a LINGO que resuelva el problema. Para ello es suficiente con hacer clicsobre el botón Solve (el que tiene forma de diana), o bien seleccionar esta opción en la barra de menús.LINGO intentará primero compilar el modelo formulado (para determinar si está bien planteado o no) y,en el caso de que la formulación sea incorrecta (ya sea desde un punto de vista matemático o de sintaxis),nos devolverá el siguiente mensaje:

    An error ocurred during compilation on line: n

    Si tras resolver un problema hacemos alguna modificación en la formulación del mismo, es necesariovolver a compilar el modelo (Solve > Compile) antes de volver a usar Solve. Si el modelo ha podidoser compilado, LINGO comenzará la resolución efectiva del problema, mostrando la ventana Status (verfigura 1.8), donde se da información sobre el estado del proceso:

    Figura 1.8: Ventana Status del Programa Lingo.

    A continuación se describen algunos de los campos que aparecen en la ventana anterior:

  • 1.6. CASOS PRÁCTICOS CON SOFTWARE. 17

    Status: ofrece el estado de la solución actual (óptima, factible, no factible, o no acotada).

    Iterations: número de iteraciones (tablas del algoritmo) que se han realizado.

    Infeasibility: cantidad por la cual las restricciones han sido excedidas o violadas.

    Objective: valor actual de la función objetivo.

    Elapsed time: tiempo transcurrido desde el inicio de la resolución.

    Update Interval: la frecuencia (en segundos) en que esta ventana es renovada.

    Aparecerá una nueva ventana en la pantalla, la ventana Solution Report, a la que LINGO enviará lasalida del programa en forma de texto tal y como se puede ver en la siguiente figura 1.9.

    Figura 1.9: Salida del Programa Lingo. Solution Report.

    La información básica que nos proporciona esta ventana de la figura 1.9 para nuestro ejemplo de lasmesas es que se han necesitado dos iteraciones para llegar a dar con la solución óptima de fabricar 210mesas del tipo M1 y 60 del tipo M2, con lo cual obtendremos un beneficio de 375 euros (el máximo delos posibles bajo las restricciones que tenemos). Debemos tener en cuenta que este problema lo hemosresuelto sin las restricciones de integridad de las variables X e Y , y que si la solución óptima no hubiesesido entera, el problema no estaŕıa resuelto. Sin embargo, como la solución óptima obtenida es entera,entonces la solución del problema inicial, considerando las variables X e Y enteras, coincide con la quehemos descrito anteriormente.

    Además, con este plan de producción estaremos agotando todos nuestros recursos, tanto el tiempode mano de obra como el tiempo de máquina disponible (dado que la columna SLACK OR SURPLUStoma el valor 0 en ambas restricciones).

  • 18 CAPÍTULO 1. INTRODUCCIÓN A LA OPTIMIZACIÓN

  • Caṕıtulo 2

    Metodoloǵıa de la InvestigaciónOperativa

    En su forma más simple, la investigación operativa puede considerarse como un procedimiento queconsta de cuatro fases o etapas, tal y como se puede ver en la figura 2.1.

    Figura 2.1: Aplicaciones de la Programación Lineal.

    Sin embargo los modelos rara vez se ajustan totalmente a este modelo en cascada, sino que los modeloshan de ser revisados, las soluciones han de ser modificadas o los informes han de ser reescritos. Por tanto,algunas partes del proceso se tienen que repetir hasta que se encuentre una solución adecuada.

    2.1. Paso 1. Definición del Problema

    Quizás la parte más importante de todo el proceso sea la definición del problema. Una respuestaincorrecta a una pregunta concreta no suele tener consecuencias fatales, pero una respuesta correcta auna pregunta incorrecta puede ser desastrosa. Es importante que el problema esté claramente definidoantes de invertir una gran cantidad de trabajo y de enerǵıa en resolverlo.

    A la hora de definir el problema nos debemos enfrentar a uno o más factores de entre los siguientes:datos incompletos, conflictivos o difusos, diferencias de opinión, presupuestos o tiempos limitados, etc.

    Para tratar de ser más eficiente, se podŕıa plantear el siguiente plan de trabajo:

    19

  • 20 CAPÍTULO 2. METODOLOGÍA DE LA INVESTIGACIÓN OPERATIVA

    1. Observar. Se debe hacer un esfuerzo para contemplar el problema desde diferentes puntos de vista,de modo que termine entendiendo el problema tan bien o mejor que las personas directamenteimplicadas.

    2. Ser consciente de las realidades poĺıticas. Casi siempre hay conflictos entre los jefes y lostrabajadores, o ente varios jefes. Esto puede ocasionar que la información que se recibe puede serincompleta o distorsionada.

    3. Decidir qué se quiere realmente. Se debe estar seguro de que la compañ́ıa o el servicio tienenclaros sus objetivos antes de desarrollar y resolver un modelo.

    4. Identificar las restricciones. Es importante saber qué tipo de limitaciones pueden afectar ladecisión final, para posteriormente incluirlas en el modelo.

    5. Buscar información de modo continuo. A lo largo del proceso se debe tener contacto con eldesarrollo del proceso, pues una observación continua permite que se puedan realizar modificacionesa las observaciones iniciales.

    2.2. Paso 2. Modelado Matemático

    El modelado matemático es un procedimiento que reconoce y verbaliza un problema para posteri-ormente cuantificarlo transformando las expresiones verbales en expresiones matemáticas. El modeladomatemático es un arte, que mejora con la práctica. El proceso del modelado matemática consta de cuatropasos, que se ilustran en la siguiente tabla:

    Modelado MatemáticoPaso 1. Identificar las variables de decisiónPaso 2. Identficar la función objetivoPaso 3. Identificar las restriccionesPaso 4. Traducir los elementos anteriores a un modelo matemático

    2.2.1. Identificar las variables de decisión

    Un paso crucial en la construcción de un modelo matemático es determinar aquellos factores sobrelos que el decisor tiene control, que normalmente se llaman variables de decisión del problema. Hayque distinguir entre lo que está a nuestro alcance cambiar (por ejemplo, la cantidad de art́ıculos quese deben fabricar y de qué tipo o el material a utilizar) de aquello que no podemos modificar (comoel número de horas de trabajo disponibles o las fechas de entrega), que normalmente denominaremosparámetros. Según el tipo de problema, lo que a veces es una variable de decisión en otros casos puedeser un parámetro.

    En muchos casos, definir las variables de decisión es la etapa más dif́ıcil, pues una vez que están biendefinidas, el resto del proceso fluye de forma natural. También puede ocurrir que una definición incorrectade las variables de decisión, puede bloquear el resto del problema.

    Para identificar las variables de decisión, puede ser útil hacerse las siguientes preguntas:

    ¿qué es lo que hay que decidir?

    ¿sobre qué elementos tengo control?

    ¿cuál seŕıa una respuesta válida para este caso?

  • 2.3. PASO 3. RESOLUCIÓN DEL MODELO 21

    2.2.2. Identificar la función objetivo

    El objetivo de la mayoŕıa de los estudios de IO, y de todos los modelos de optimización, es encontrar elmodo de optimizar alguna medida respetando las restricciones existentes. Aunque una compañ́ıa quizáseste satisfecha con una mejora sustancial de la situación actual, normalmente el objetivo es buscar elvalor o valores óptimos para cierta función.

    A la hora de encontrar la función objetivo, las preguntas que nos podemos hacer podŕıan ser lassiguientes:

    ¿qué es lo que queremos conseguir?

    o si yo fuera el jefe, ¿qué me interesaŕıa más?

    2.2.3. Identificar las restricciones

    En la búsqueda de la solución o soluciones óptimas, normalmente existen ciertas restricciones (lim-itaciones, requisitos) que limitan nuestra decisión. Ejemplos de restricciones frecuentes pueden ser lossiguientes: los recursos disponibles (trabajadores, máquinas, material, etc.) son limitados; fechas ĺımiteimpuestas por los contratos; restricciones impuestas por la naturaleza del problema (por ejemplo: el flujode entrada a un nodo deber ser igual al flujo de salida, el número de unidades producidas debe serpositivo, el número de art́ıculos que se fabrican o se venden debe ser entero, o debe ser múltiplo de 10 ode 12, etc.)

    2.2.4. Traducir todos los elementos básicos a un modelo matemático

    Una vez identificados los elementos básicos hay que expresarlos matemáticamente. Dependiendo dela naturaleza de las funciones matemáticas, el problema será de un tipo o de otro; por ejemplo, si todaslas funciones son lineales el problema será de Programación Lineal; si existe más de una función objetivo,será de programación multicriterio, etc.

    2.3. Paso 3. Resolución del Modelo

    Una vez que hemos aceptado el modelo matemático que mejor describe la situación en estudio, seaplican los algoritmos o las técnicas matemáticas diseñadas para su resolución. Las etapas en la resoluciónde un modelo podŕıan ser las que se presentan en la tabla siguiente:

    Resolución del ModeloPaso 1. Elegir la técnica de resolución adecuadaPaso 2. Generar las soluciones del modeloPaso 3. Comprobar/validar los resultadosPaso 4. Si los resultados son inaceptables, revisar el modelo matemáticoPaso 5. Realizar un análisis de sensibilidad

    2.3.1. Elegir la técnica de resolución adecuada

    Afortunadamente muchos de los modelos de la IO pueden resolverse utilizando técnicas eficientes yaexistentes, que proporcionan una solución o varias soluciones óptimas para el modelo. En otros casos,

  • 22 CAPÍTULO 2. METODOLOGÍA DE LA INVESTIGACIÓN OPERATIVA

    el problema es demasiado complejo o el algoritmo de resolución tiene una complejidad computacionalinaceptable y hay que recurrir a métodos heuŕısticos de resolución, utilizando por ejemplo la creatividad,el razonamiento a la inversa, el pensamiento divergente, etc.

    2.3.2. Generar las soluciones del modelo

    Una vez elegida la técnica de resolución, el siguiente paso es resolver el problema. Como normalmentela mayoŕıa de los modelos conllevan la manipulación de una gran cantidad de datos, los problemas deberser resueltos con ayuda de ordenador, utilizando alguno de los muchos programas de optimización de laInvestigación Operativa que existen o incluso hojas de cálculo, applet de java, etc.

    2.3.3. Comprobar/validar los resultados

    Como los modelos matemáticos no son más que simplificaciones de la realidad, las soluciones óptimasgeneradas para un modelo pueden no ser óptimas para el problema de la vida real. En el peor de los casos,puede que ni siquiera sean factibles. De este modo, comprobar la validez de dichas soluciones constituyeun paso crucial, igual que comprobar que efectivamente proporcionan un mejor rendimiento que el plande trabajo que actualmente sigue la empresa.

    2.3.4. Si los resultados son inaceptables, revisar el modelo

    Como ningún modelo es totalmente exacto ni ninguna técnica de validación está exenta de errores,si los resultados de la validación son inaceptables puede ser necesario revisar el modelo. Las hipótesisdeber estudiarse de nuevo, la exactitud de los datos debe comprobarse, las aproximaciones a veces hayque modificarlas, las restricciones deben ser revisadas, etc.

    2.3.5. Realizar un análisis de sensibilidad

    Normalmente, la solución o soluciones que nos proporciona el ordenador son una respuesta para elmodelo. Pero el decisor suele querer no una solución, sino varias soluciones entre las que elegir. El analistao especialista en optimización debe estar preparado para estudiar los cambios posibles a su alcance. Paraello resulta muy útil realizar el análisis de sensibilidad, que estudia los cambios que puede sufrir lasolución si se alteran los parámetros del modelo, o bien en qué rango de variación de los parámetros lasolución sigue siendo válida.

    2.4. Presentación de los Resultados

    Este es el paso final dentro del proceso. Este proceso, tiene habitualmente dos pasos, que se presentanen la tabla siguiente :

    Presentación de ResultadosPaso 1. Preparar informes o presentacionesPaso 2. Vigilar el proceso de implementación de la solución propuesta

  • 2.5. GUÍA GENERAL PARA LA FORMULACIÓN DE MODELOS 23

    2.4.1. Preparar informes y/o presentaciones

    La comunicación efectiva de los resultados de un estudio es esencial para el éxito del mismo. Lautilidad del análisis será nula si las personas que toman las decisiones no aprecian totalmente su valor.Los decisores deben comprender totalmente el enfoque del analista, las hipótesis y simplificaciones que sehan hecho, y la lógica subyacente en la recomendación. Las presentaciones orales y los informes escritosson formas tradicionales para la comunicación.

    2.4.2. Vigilar el proceso de implementación de la solución propuesta

    Una vez que se ha emitido el informe o se ha hecho la presentación, debe implementarse la soluciónpropuesta, que a veces puede suponer cambios que sean conflictivos y encuentren resistencia en losmiembros de la empresa o la institución. El apoyo del analista puede resultar cŕıtico.

    Una vez implementada la solución, deber ser supervisada de forma continua. Dada la naturalezadinámica y cambiante de la mayoŕıa de las empresas y servicios, es casi inevitable que haya que realizarcambios en el modelo. El analista debe estar preparado para saber cuándo ha llegado el momento decambiar y cuando debe realizar dichos cambios.

    2.5. Gúıa General para la Formulación de Modelos

    Formulación de ModelosIdentificación de elementos básicos Expresar en palabras lo siguiente:

    Datos del Problema: factores que no cambianVariables de Decisión: variables que podemos controlarRestricciones: Causas por las que la decisión está limitadaFunción Objetivo: Medida que se quiere optimizar

    Traducción de los elementosbásicos a expresiones matemáticas

  • 24 CAPÍTULO 2. METODOLOGÍA DE LA INVESTIGACIÓN OPERATIVA

  • Caṕıtulo 3

    Método Gráfico o MétodoGeométrico

    3.1. Introducción

    La Programación lineal es una técnica matemática relativamente reciente (siglo XX), que consiste enuna serie de métodos y procedimientos que permiten resolver problemas de optimización en el ámbito,sobre todo, de las Ciencias Sociales. Nos centraremos en este tema en aquellos problemas simples deprogramación lineal, los que tienen solamente 2 variables, denominados problemas bidimensionales. Parasistemas de más variables, el procedimiento no es tan sencillo y se resuelven por el llamado Algoritmodel Simplex (ideado por G.B.Dantzig, matemático estadounidense en 1951). Recientemente (1984) elmatemático indio establecido en Estados Unidos, Narenda Karmarkar, ha encontrado un algoritmo,llamado algoritmo de Karmarkar, que es más rápido que el algoritmo del simplex en ciertos casos. Losproblemas de este tipo, en el que intervienen gran número de variables, se resuelven utilizando programasinformáticos de optimización como Lingo.

    3.2. Inecuaciones lineales con dos variables

    Una inecuación lineal con 2 variables es una expresión de la forma:

    ax + by ≤ c

    (donde el śımbolo ≤ puede ser también ≥ , < o bien >), donde a, b y c son números reales y x e y lasvariables o incógnitas.

    Para resolver estas inecuaciones, se recordará de otros cursos, hay que representar gráficamente en elplano la recta dada por la correspondiente ecuación lineal y marcar una de las dos regiones en que dicharecta divide al plano.

    Ejemplo: Si queremos resolver la inecuación: 2x + 3y ≥ −3, representamos en primer lugar la recta2x + 3y = −3.

    La recta anterior divide al plano en dos regiones, una de las cuales es la solución de la inecuación.Para saber qué parte es, hay dos procedimientos:

    1. Se despeja la y de la inecuación, poniendo cuidado en que si en una inecuación multiplicamos o

    25

  • 26 CAPÍTULO 3. MÉTODO GRÁFICO O MÉTODO GEOMÉTRICO

    dividimos por un número negativo, la desigualdad cambia de sentido. En este caso tendŕıamos que:

    y ≥ −3− 2x3

    Observando el dibujo de la figura 3.1 vemos que la recta divide al eje de ordenadas (y) en dospartes. La solución de la inecuación será aquella parte en la que la y sea mayor que la recta, esdecir, la parte superior.

    2. Se toma un punto cualquiera que no pertenezca a la recta, por ejemplo el (1, 2). Para que dichopunto sea solución, se tendrá que cumplir la desigualdad, por lo que sustituimos en la inecuacióninicial el (1, 2):

    2 · 1 + 3 · 2 = −3

    es decir, 8 = −3. Como esta última desigualdad es evidentemente cierta, concluimos que el (1,2) essolución y por tanto el semiplano que contiene al (1, 2) es la solución, es decir el semiplano superior,como hab́ıamos obtenido antes.

    Figura 3.1: Solución de la Inecuación Lineal

    Cualquiera de los procedimientos anteriores es válido si se realiza con corrección.

    3.3. Sistema de inecuaciones lineales con dos incógnitas

    Un sistema de inecuaciones lineales, por tanto, es un conjunto de inecuaciones del tipo anterior, yresolverlo consistirá en resolver gráficamente cada inecuación (como en el caso anterior), representar lasolución en un mismo gráfico y la solución total será la parte común a todas las soluciones.

    Ejemplo Resolver el sistema de inecuaciones siguiente: 2x + 3y ≥ −32x− y − 9 ≤ 02x− 5y − 5 ≥ 0Si representamos las rectas: 2x + 3y = −3 (recta r)2x− y − 9 = 0 (recta s)2x− 5y − 5 = 0 (recta t)

  • 3.4. PROBLEMAS DE OPTIMIZACIÓN DE UNA FUNCIÓN SUJETA A RESTRICCIONES 27

    El triángulo rayado de la figura 3.2 es la solución del sistema. Además, para los problemas de pro-gramación lineal es necesario el cálculo de los vértices de la región solución. Es sencillo su cálculo, puesse reduce a resolver sistemas de ecuaciones lineales son dos incógnitas, que provienen de igualar lasecuaciones de las rectas correspondientes.

    Figura 3.2: Solución del Sistema de Inecuaciones Lineales

    Ahora debeŕıamos calcular los vértices del triángulo de la figura 3.2.

    Por ejemplo, en este caso, si queremos el punto intersección de las rectas r y t tendremos que resolverel sistema formado por: {

    2x + 3y = −32x− y − 9 = 0 →

    {−2x− 3y = 3

    2x− y = 9

    Sumando obtenemos que −4y = 12; por lo que y = −3. Y sustituyendo queda 2x + 3(−3) = −3, esdecir 2x− 9 = −3, y entonces x = 3. Luego r y t se cortan en el punto (3,−3).

    3.4. Problemas de optimización de una función sujeta a restric-ciones

    En un problema de programación lineal de dos variables x e y, se trata de optimizar (hacer máximao mı́nima, según los casos) una función (llamada función objetivo) de la forma:

    F (x, y) = A · x + B · y

    sujeta a una serie de restricciones dadas mediante un sistema de inecuaciones lineales del tipo:

    a1x + b1y = d1a2x + b2y = d2. . .amx + bmy = dm

    Los puntos del plano que cumplen el sistema de desigualdades forman un recinto convexo acotado(poligonal) o no acotado, llamado región factible del problema.

    Todos los puntos de dicha región cumplen el sistema de desigualdades. Se trata de buscar, entre todosesos puntos, aquel o aquellos que hagan el valor de F (x, y) máximo o mı́nimo, según sea el problema.

  • 28 CAPÍTULO 3. MÉTODO GRÁFICO O MÉTODO GEOMÉTRICO

    Los puntos de la región factible se denominan soluciones factibles. De todas esas soluciones factibles,aquellas que hacen óptima (máxima o mı́nima) la función objetivo se llaman soluciones óptimas. Engeneral, un problema de programación lineal puede tener una, infinitas o ninguna solución.

    Lo que si se verifica es la siguiente propiedad: Si hay una única solución óptima, ésta se encuentraen un vértice de la región factible, y si hay infinitas soluciones óptimas, se encontrarán en un lado de laregión factible.

    Es posible que no haya solución óptima, pues cuando el recinto es no acotado, la función objetivopuede crecer o decrecer indefinidamente.

    Para resolver el problema, podemos abordarlo de dos formas, pero antes a aplicar cualquiera de ellassiempre hay que dibujar la región factible, resolviendo el sistema de inecuaciones lineales correspondiente,como se ha visto en las secciones anteriores (la región factible puede estar acotada o no), y se calculanlos vértices de dicha región.

    3.4.1. Resolución Geométrica

    En este caso se representa el vector director de la recta que viene dada por la ecuación de la funciónobjetivo, F (x, y) = A · x + B · y , que hay que maximizar o minimizar.

    El vector director de la recta A · x + B · y viene dado por v = (−B, A). Además, como lo único quenos importa es la dirección del vector y no su módulo (longitud), podemos dividir a las coordenadas delvector si los números son muy grandes, puesto que vectores con coordenadas proporcionales tienen lamisma dirección.

    Posteriormente, se trazan rectas paralelas a este vector que pasen por los vértices de la región factible(si es acotada) , o por todo el borde de la región factible (cuando no es acotada) y se observa en qué vérticela función F se hace máxima (o mı́nima) sin más que tener en cuenta cuál de las rectas tiene mayor (omenor) ordenada en el origen, es decir, qué recta corta en un punto mayor o menor al eje y.

    Ejemplo Maximizar la función F (x, y) = 2000x + 5000y sujeta a las restricciones siguientes: 2x + 3y ≥ −32x− y − 9 ≤ 02x− 5y − 5 ≥ 0La región factible en este caso es la que se puede ver en la figura 3.2.

    Los vértices son los puntos (0,−1), (5, 1)y(3,−3).

    Como la función es F (x, y) = 2000x + 5000y, el vector director es v = (−5000, 2000), que tiene lamisma dirección que el vector v = (−5, 2) y representándolo queda como se puede ver en la figura 3.3.

    Se trata ahora de trazar paralelas al vector que pasen por los vértices anteriores, como se puede veren la figura 3.4.

    Se observa gráficamente que de las tres paralelas trazadas, la que corta al eje y en un punto mayor esla que pasa por el punto (5, 1), que por tanto será la solución óptima al problema de máximos planteado.

    Para saber cuál es este valor máximo sustituimos en la función:

    F (5, 1) = 2000·5 + 5000·1 = 10000 + 5000 = 15000

    Luego la función tiene su solución óptima en el vértice (5, 1) donde toma el valor 15000, como sepuede ver en la figura 3.4.

  • 3.4. PROBLEMAS DE OPTIMIZACIÓN DE UNA FUNCIÓN SUJETA A RESTRICCIONES 29

    Figura 3.3: Región factible y vector de la función objetivo

    Figura 3.4: Región factible y vectores paralelos de la función objetivo

    3.4.2. Resolución Algebraica

    Consiste, simplemente, en sustituir cada uno de los vértices de la región en la función objetivo. Lasolución óptima vendrá dada por aquel que tome el mayor (o menor) valor, en función de que la funciónobjetivo sea maximizar o minimizar.

    Si resolvemos el problema anterior usando la forma algebraica, tendremos:

    La región factible es la misma que en el caso anterior, pues se trata del mismo problema.

    Los vértices eran los puntos (0,−1), (5, 1)y(3,−3).

    De esta forma sustituyendo las coordenadas de los vértices en la función objetivo tendremos:

    F (5, 1) = 2000 · 5 + 5000 · 1 = 10000 + 5000 = 15000F (0,−1) = 2000 · 0 + 5000 · (−1) = 0− 5000 = −5000F (3,−3) = 2000 · 3 + 5000 · (−3) = 6000− 15000 = −9000

    Vemos que el valor máximo se alcanza, igual que hemos obtenidos anteriormente, para el vértice (5, 1)y que dicho valor es 15000. La misma solución que se hab́ıa obtenido anteriormente.

  • 30 CAPÍTULO 3. MÉTODO GRÁFICO O MÉTODO GEOMÉTRICO

    Este tipo de problemas se puede resolver utilizando aplicaciones Java que simulan el método gráficoo método geométrico.

    Una imagen de este tipo de recursos informáticos se puede ver en la figura 3.5 y en la figura 3.6.

    Figura 3.5: Imagen de un Applet: Método Geométrico.

    Figura 3.6: Imagen de otro Applet: Método Geométrico.

  • Caṕıtulo 4

    Aplicaciones de la ProgramaciónLineal

    4.1. Introducción

    Después de estudiar detalladamente los conceptos básicos de Programación Lineal ubicados en uncontexto de aplicaciones de la Investigación Operativa en el mundo empresarial e industrial, se hacepreciso describir cómo es posible aplicar los conceptos anteriores en diferentes situaciones prácticas. Estedesarrollo de situaciones del mundo real constituye el auténtico desarrollo de la Programación Lineal.No se tratan de meras aplicaciones, sino del campo espećıfico natural de desarrollo de la ProgramaciónLineal. Sin casos prácticos como los que aqúı se van a desarrollar no se hubiera dado el auge real deesta técnica. Por otra parte, el conocimiento de aplicación de los principales conceptos de ProgramaciónLineal permite plantear la resolución de nuevos casos prácticos que surgen d́ıa a d́ıa en la Empresa, laIndustria y la Ingenieŕıa.

    De esta forma, el objetivo de este caṕıtulo es mostrar el vasto número de problemas de la vida realque se pueden abordar mediante las técnicas de Programación Lineal. Presentaremos aplicaciones a áreastan diversas como dirección de la producción, investigación de mercados, marketing, loǵıstica, finanzas,etc. En todos esos ámbitos, la Programación Lineal se revela como una herramienta insustituible en latoma de decisiones.

    4.2. Principales aplicaciones de la Programación Lineal

    En la figura 4.1 se pueden ver algunas de las principales aplicaciones de la Programación Lineal.

    4.3. Conceptos fundamentales

    Una vez se tiene un concepto general de lo que es la Programación Lineal, es importante conocer laforma de actuación particular de los algoritmos que resuelven programas lineales.

    De entre todos los algoritmos destaca por su importancia histórica y práctica el Algoritmo delSimplex. Dicho método fue desarrollado por Dantzig en 1947, alcanzando un éxito inusitado en lasdécadas posteriores con el desarrollo de los ordenadores.

    31

  • 32 CAPÍTULO 4. APLICACIONES DE LA PROGRAMACIÓN LINEAL

    Figura 4.1: Aplicaciones de la Programación Lineal.

    El conocimiento básico de dicho método ayuda a la comprensión de las diferentes formas de resoluciónde programas lineales.

    4.4. Aplicaciones de la Programación Lineal al Marketing

    La Programación Lineal se utiliza en el campo del marketing y la publicidad como una herramienta quenos permite determinar cuál es la combinación más efectiva de medios para anunciar nuestros productos.En muchas ocasiones partiremos de un presupuesto para publicidad fijo y nuestro objetivo será distribuirloentre las distintas opciones que se nos ofrecen (televisión, radio, periódicos, revistas, etc.) de forma quenuestros productos tengan la mayor difusión posible.

    En otros casos, las restricciones no serán presupuestarias sino que vendrán dadas por la disponibilidadde cada medio y por las poĺıticas publicitarias de nuestra propia empresa.

    4.4.1. Ejemplo de Medios de Comunicación

    Supongamos, por ejemplo, que trabajamos para una cadena nacional de bingos, el director de lacual nos otorga un presupuesto de 8.000 euros semanales para publicidad. Este dinero debe dedicarse apublicar anuncios en cuatro tipos de medios de difusión: TV, periódicos, y dos emisoras de radio. Nuestroobjetivo final no será otro que el de conseguir la mayor audiencia posible. En el cuadro que se muestraa continuación se recoge información referente a la audiencia esperada por anuncio, el coste del mismo,y el número máximo de anuncios que es posible insertar en cada medio por semana:

  • 4.4. APLICACIONES DE LA PROGRAMACIÓN LINEAL AL MARKETING 33

    Medio Audiencia por Anuncio Coste por Anuncio(euros) Número Máximo SemanalTV 5000 800 12

    Periódico 8500 925 5Radio 1 2400 290 25Radio 2 2800 380 20

    Además, los acuerdos contractuales de nuestra empresa requieren la contratación al menos 5 anunciosde radio por semana, aunque la dirección insiste en no dedicar a este medio más de 1800 euros a lasemana.

    Si usamos LINGO para plantear y resolver este problema, debemos considerar lo siguiente:

    Tenemos que considerar que todas las variables del problema son enteras y positivas, aśı, tendremosque el planteamiento del problema y la resolución usando el programa LINGO nos da la siguiente solución:

    Por tanto, la forma más efectiva de distribuir nuestro capital en base a las condiciones preestablecidas,será emitiendo 2 anuncios semanales en televisión, 5 en el periódico, y 6 en la radio 1. Ello hará queunos 66900 potenciales compradores conozcan nuestros productos, como puede verse en la solución queproporciona LINGO en la figura 4.2 y la figura 4.3.

    Figura 4.2: Modelización del Ejemplo de Marketing.

  • 34 CAPÍTULO 4. APLICACIONES DE LA PROGRAMACIÓN LINEAL

    Figura 4.3: Resolución con LINGO del Ejemplo de Marketing.

    4.5. Aplicaciones de la Programación Lineal a Estudios de Mer-cado

    La programación lineal es aplicable también a la investigación de mercados. En el siguiente ejemplo semuestra cómo los estad́ısticos pueden hacer uso de la Programación Lineal a la hora de diseñar encuestas:

    4.5.1. Ejemplo de Diseño de una Encuesta

    Supongamos que pretendemos realizar una encuesta para determinar la opinión de los españolesacerca del problema de la inmigración. A fin de que la misma sea significativa desde un punto de vistaestad́ıstico, exigiremos que ésta deba cumplir los siguientes requisitos:

    1. Entrevistar al menos un total de 2300 familias españolas.

    2. De las familias entrevistadas, al menos 1000 deben cumplir que su cabeza de familia no supere los30 años de edad.

    3. Al menos 600 de las familias entrevistadas tendrán un cabeza de familia con edad comprendidaentre los 31 y los 50 años.

    4. El porcentaje de entrevistados que pertenecen a zonas con elevada tasa de inmigración no debe serinferior a un 15 % del total.

  • 4.6. APLICACIONES DE LA PROGRAMACIÓN LINEAL A LA PRODUCCIÓN 35

    5. Finalmente, no más de un 20 % de los entrevistados mayores de 50 años pertenecerán a zonas conalta tasa de inmigración.

    Además, todas las encuestas deberán realizarse en persona. A continuación, en la tabla, indicamos elcoste estimado de cada encuesta según la edad del encuestado y si procede o no de una zona con unaalta tasa de inmigración:

    ZONA EDAD < 31 AÑOS EDAD 31-50 EDAD > 50 AÑOSTasa de inmigración elevada 7.50 euros 6.80 euros 5.50 euros

    Tasa de inmigración baja 6.90 euros 7.25 euros 6.10 euros

    Obviamente, nuestro objetivo será cumplir todos los requisitos anteriores minimizando el coste.

    Si planteamos y resolvemos el problema anterior usando el programa LINGO obtenemos lo siguiente:

    Aśı pues, debeŕıamos realizar la encuesta exclusivamente a:

    600 individuos del tipo I4 (de edad entre 31-50 que viven en zonas de mucha inmigración), 140 deltipo I5 (de edad > 50 que viven en zonas de mucha inmigración), 1000 del tipo N3 (de edad ≤ 30 y queNO viven en zonas de mucha inmigración), 560 del tipo N5 (encuestados de edad > 50 que NO viven enzonas de mucha inmigración).

    Ello supondŕıa unos costes estimados de 15166 euros, como podemos observar en las dos siguientesfiguras, que nos proporcionan las salidas del programa Lingo. (Ver figura 4.4 y figura 4.5

    4.6. Aplicaciones de la Programación Lineal a la Producción

    A menudo las técnicas de Programación Lineal permiten decidir sobre la cantidad más adecuada queuna empresa debe producir de cada uno de sus productos a fin maximizar los beneficios sin dejar decumplir con unos determinados requisitos (financieros, de demanda, contractuales, de disponibilidad dematerias primas, etc.).

    4.6.1. Ejemplo Combinación Óptima de Bienes

    Una empresa dedicada a la elaboración y venta de ropa para hombre produce cuatro tipos de corbatas,una de seda, otra de poliéster, y dos de poliéster /algodón. La tabla siguiente muestra el coste de cadauno de estos materiales y su disponibilidad:

    Material Coste por metro (en euros) Metros disponibles al mesSeda 21 euros 800

    Poliéster 6 euros 3000Algodón 9 euros 1600

    La empresa tiene contratos de larga duración para suministrar corbatas a cinco cadenas de tiendasde ropa. En dichos contratos se especifica que la empresa deberá suministrar unas cantidades mı́nimasmensuales de cada tipo de corbata y, que en caso de recibir una demanda superior al mı́nimo, será lapropia empresa la que decida si puede o no servir la cantidad extra solicitada. A continuación aparecenlos datos relevantes:

  • 36 CAPÍTULO 4. APLICACIONES DE LA PROGRAMACIÓN LINEAL

    Figura 4.4: Modelización del Ejemplo de Encuestas.

    Tipo Precio de venta Mı́nimo Demanda Metros Composiciónde corbata (euros) a servir Mensual necesarios

    Seda 6.70 6000 7000 0.125 100 % sedaPoliéster 3.55 10000 14000 0.08 100 % poliéster

    Algodón tipo1 4.31 13000 16000 0.10 50 % poliéster50 % algodón

    Algodón tipo2 4.81 6000 8500 0.10 30 % poliéster70 % algodón

    El objetivo de la empresa es elegir el plan de producción que maximice sus beneficios mensuales.

    Lo primero que debemos hacer en este problema será determinar qué beneficios nos reporta cada unade las corbatas vendidas y fabricadas. Aśı por ejemplo, cada corbata de seda requiere de 0.125 metros deeste material, a un coste de 21 euros cada metro, lo que nos da un coste por corbata de 2.62 euros. Comola vendemos a 6.70 euros, el beneficio que obtenemos será de 4.08 euros por cada unidad producida yvendida. El mismo razonamiento se aplicará a los restantes tres tipos de corbatas, con lo que obtendremosel planteamiento que se puede ver en la figura 4.6 en la que se puede observar que se ha introducido enel programa Lingo.

    La solución a nuestro problema, que se puede ver como se ha resuelto con el programa Lingo en lafigura 4.7, será producir cada mes 6400 corbatas de seda, 14000 de poliéster, 16000 de algodón tipo1, y8500 de algodón tipo2. Con esta solución obtendremos unos beneficios de 160052 euros al mes.

  • 4.7. OTRAS APLICACIONES DE LA PROGRAMACIÓN LINEAL 37

    Figura 4.5: Resolución con LINGO del Ejemplo de Encuestas.

    4.7. Otras aplicaciones de la Programación Lineal

    4.7.1. Planificación de la producción

    El establecer un plan de producción para un peŕıodo de semanas o meses resulta ser una tarea dif́ıcil eimportante en la mayoŕıa de las plantas de producción. El director de operaciones debe considerar muchosfactores: mano de obra, costes de inventario y almacenamiento, limitaciones de espacio, demanda, etc.Por lo general la mayoŕıa de las plantas producen más de un bien, con lo que la tarea anterior se complicaaún más. Como veremos en el siguiente ejemplo, el problema de la planificación se asemeja bastante alde la combinación óptima de bienes, pudiendo ser el objetivo maximizar beneficios o bien minimizar loscostes de producción más almacenamiento.

    4.7.2. Asignación de trabajos

    El objetivo aqúı será asignar de la forma más eficiente posible un trabajo a cada empleado o máqu