Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de...

23
Tema 1. Introducci´ on Omar J. Casas L´ opez bbbb Septiembre 2003 1 Problema general de Optimizaci´ on Llamamos problema de Investigaci´ on Operativa a todo problema que plantee encontrar el m´ ınimo o el m´ aximo de una funci´ on de una o de varias variables. Las variables pueden ser independientes o estar relacionadas de alguna forma mediante la especificaci´ on de ciertas condiciones que deben satisfacer. El problema general (P ) de Investigaci´ on Operativa se puede formular entonces mediante el siguiente modelo matem´ atico: min f (x) s.a. h i = 0, i I = {1, 2 ...,m} g j 0, j D = {1, 2 ...,k} x Ω donde f , h i y g i son funciones reales, definidas sobre un subconjunto medible Ω de un espacio vectorial de dimensi´ on finita E n , usualmente Ω R n . En el problema distinguiremos tres elementos importantes: 1. Variables principales, tambi´ en llamadas variables de decisi´ on o vari- ables estructurales del modelo, que son las variables para las que quer- emos encontrar el mejor valor posible. 2. Funci´ on Objetivo: Es la funci´ on cuyo extremo se desea determinar, la que expresa el objetivo del problema, tambi´ en llamada Funci´ on Crite- rio. 3. Restricciones: Conjunto de condiciones que deben cumplir las variables y que se expresan a trav´ es de un sistema de igualdades y/o desigual- dades (restricciones funcionales) o la especificaci´ on de un cierto con- junto restrictivo (restricciones de conjunto). 1

Transcript of Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de...

Page 1: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

Tema 1. Introduccion

Omar J. Casas Lopez bbbb

Septiembre 2003

1 Problema general de Optimizacion

Llamamos problema de Investigacion Operativa a todo problema que planteeencontrar el mınimo o el maximo de una funcion de una o de varias variables.Las variables pueden ser independientes o estar relacionadas de alguna formamediante la especificacion de ciertas condiciones que deben satisfacer.

El problema general (P ) de Investigacion Operativa se puede formularentonces mediante el siguiente modelo matematico:

min f(x)

s.a. hi = 0, i ∈ I = 1, 2 . . . , mgj ≤ 0, j ∈ D = 1, 2 . . . , kx ∈ Ω

donde f , hi y gi son funciones reales, definidas sobre un subconjunto medibleΩ de un espacio vectorial de dimension finita En, usualmente Ω ⊆ Rn.

En el problema distinguiremos tres elementos importantes:

1. Variables principales, tambien llamadas variables de decision o vari-ables estructurales del modelo, que son las variables para las que quer-emos encontrar el mejor valor posible.

2. Funcion Objetivo: Es la funcion cuyo extremo se desea determinar, laque expresa el objetivo del problema, tambien llamada Funcion Crite-rio.

3. Restricciones: Conjunto de condiciones que deben cumplir las variablesy que se expresan a traves de un sistema de igualdades y/o desigual-dades (restricciones funcionales) o la especificacion de un cierto con-junto restrictivo (restricciones de conjunto).

1

Page 2: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

Resolver el problema P significa hallar un conjunto de valores para lasvariables de decision que satisfagan las restricciones (Conjunto de SolucionesFactibles del problema P ) y que proporcione el mejor valor de la FuncionObjetivo entre todas las soluciones factibles posibles (solucion factible optimade P o simplemente solucion optima de P ).

De acuerdo con las caracterısticas de Ω podemos distinguir distintos gru-pos importantes de problemas:

1. Cuando Ω es subconjunto de un espacio de dimension finita con vari-ables continuas, el problema se reconoce como un problema de Investi-gacion Operativa con variables continuas.

2. Cuando Ω es finito o numerable, nos referimos a un problema de Progra-macion en Enteros o Discreto, los casos mas comunes son Ω = 0, 1n

o Ω = Zn.

Dentro de ambas clasificaciones tambien es posible otras atendiendo a lascaracterısticas de las funciones que intervienen en la descripcion del prob-lema, como pueden ser: linealidad, convexidad, diferenciabilidad, etc.

Al abordar un problema de Programacion Matematica conviene aplicartecnicas diferentes segun las caracterısticas de las restricciones y de la funcionobjetivo. Por ello conviene distinguir los problemas teniendo en cuenta suestructura:

1. Programacion Clasica: El caso mas simple consiste en optimizar unafuncion objetivo sin restricciones, pero tambien se incluyen los proble-mas en que todas las restricciones son de igualdad.

2. Programacion Lineal: Resuelve problemas donde todas las funcionesque intervienen, tanto la funcion objetivo como las restricciones, sonlineales

3. Programacion No Lineal: Incluye a los anteriores, pero debido a lacomplejidad de los metodos que utiliza, solo consideraremos los proble-mas donde al menos una de las funciones es no lineal e incluye algunarestriccion de desigualdad.

En el estudio de los problemas de Investigacion Operativa distinguiremoscuatro objetivos fundamentales:

1. Modelizacion matematica.

2. Caracterizacion de las soluciones, obtencion de condiciones necesariasy/o suficientes de extremo.

2

Page 3: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

3. Formulacion de metodos de solucion.

4. Experimentacion numerica.

Aunque para la formulacion de cualquier modelo matematico y en par-ticular de un modelo de Investigacion Operativa, no es posible establecerrecetas, podemos senalar algunos principios metodologicos importantes.

En primer lugar resulta indispensable comprender el fenomeno o procesoque se desea representar a traves del modelo, el cual aparece frecuentementerelacionado con otros. Es preciso identificar con precision el problema que sedesea resolver y los aspectos de este que se desean considerar explıcitamenteen el modelo.

Se deben asumir algunas simplificaciones del problema real en aras deque el modelo resultante constituya un compromiso balanceado entre su rep-resentatividad y su complejidad desde el punto de vista de su tratabilidadmatematica. Este compromiso no tiene porque alcanzarse en un unico in-tento.

Frecuentemente resulta conveniente comenzar con una representacion biensimple, mediante la cual vamos adentrandonos en el problema, precisando lasdirecciones en que la modelizacion debe ser refinada. Existen dos peligrosimportantes: hundirse en los detalles o flotar en una generalidad imprecisa.

En cualquier caso para formular adecuadamente un modelo de Investi-gacion Operativa, necesitamos poder dar respuesta a las siguientes pregun-tas:

1. ¿Que es lo que se puede y se debe decidir en el problema?, las respuestasa esta pregunta nos permite definir las variables de decision.

2. ¿Cual es el criterio que se utilizara para escoger la mejor decision?, nospermite formular la funcion objetivo del modelo.

3. ¿Bajo que condiciones tiene lugar el proceso que se pretende modelar?.¿Cuales elementos restrictivos aparecen en el problema?, nos permiteformular el sistema de restricciones.

3

Page 4: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

2 Algunos Problemas Clasicos de I.O.

2.1 Problema de la Dieta o de Mezcla

Se desea determinar la dieta mas economica, que satisfaga un mınimo de re-querimientos basicos para garantizar una buena salud, el problema puede re-sumirse de forma general de la siguiente manera, formulado por el economistaGeorge J. Stiegler en 1945.

Considerados n alimentos diferentes A1, A2, .... , An, que contienen melementos nutritivos basicos fundamentales N1, N2, .... , Nn, tales que bi esla cantidad mınima que una persona debe consumir del elemento nutritivoNi, se trata de calcular la combinacion de cantidades x1, x2, .... , xn, de losalimentos Ai que debe incluir una dieta de coste mınimo, siendo ci el costeunitario del alimento Ai y aij la cantidad de elemento nutritivo Ni contenidaen una unidad de alimento Aj.

Atendiendo a los aspectos anteriores, podemos definir las variables delproblema como:xi: cantidad de unidades del alimento Ai a consumir.

El costo de todos los alimentos que se consumen sera :

z =n∑

i=1

cixi

La cantidad de unidades del nutriente j que se consumen sera:

n∑i=1

aijxi ≥ bj ∀j = 1, ...,m

El modelo general correspondiente a este problema se puede expresar dela siguiente manera:

min z = c1x1 + c2x2 + .... + cnxn

s. a. a11x1 + a12x2 + .... + a1nxn ≥ b1

a21x1 + a22x2 + .... + a2nxn ≥ b2

......................................... ≥ · · ·am1x1 + am2x2 + .... + amnxn ≥ bm

x1, x2, . . . , xn ≥ 0

4

Page 5: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

Expresado en forma matricial:

min z = cx

s. a. Ax ≥ b

x ≥ 0

En este caso tambien pudieran existir restricciones en cuanto a lımites enla cantidad de algunos alimentos, etc.

2.2 El Problema de Transporte

Se desea transportar un cierto producto desde n orıgenes (almacenes, puer-tos, fabricas, etc.) hasta m destinos (ciudades, tiendas, etc.). Las cantidadesexistentes en los orıgenes las denotamos por ai con i = 1, 2, ..., n, y las de-mandas en los destinos por dj con j = 1, 2, ...,m. El coste de transporte porunidad desde el origen i al destino j esta dado por cij. Se desea encontrar lacantidad de unidades que han de ser transportadas desde cada origen hastacada destino con el menor costo posible y deben satisfacerse las demandasen los destinos.

En terminos de Programacion Lineal el problema fue planteado por Koop-man y por Hitchcock en 1941, de forma general de la siguiente manera:

Definimos la variable

xij : cantidad de unidades transportadas desde el origen i al destino j.Modelo:

min z =m∑

i=1

n∑j=1

cijxij

s.a.n∑

j=1

xij ≤ ai existencia en orıgenes

m∑i=1

xij ≥ dj demanda en destinos

xij ≥ 0 ∀i = 1, ...,m; ∀j = 1, ..., n

Se puede apreciar que: para que el problema tenga solucion debe cumplirseque la existencia en los orıgenes ai sea mayor o igual que la demanda en losdestinos dj. Podemos encontrar en la practica diferentes generalizacionesde este problema que presenta una estructura particular, observe la estruc-tura de la matriz del sistema de restricciones, y que juega un papel muyimportante dentro de la Programacion Lineal.

5

Page 6: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

Como el problema es de Programacion Lineal, se puede resolver medianteel algoritmo Simplex, pero dada su estructura especial, se suelen utilizaralgoritmos especıficos.

2.3 El Problema de Asignacion

Problema tıpico de Programacion Lineal Discreta, la variable xij es una vari-able binaria, solo toma los valores 0 o 1.

Es un caso particular del Problema de Transporte en el que m = n, ai = 1y bj = 1. Supongamos que tenemos n individuos y n trabajos a realizar, yque asignar el individuo i al puesto de trabajo j conlleva un coste de cij.

xij =

1, si el individuo i se asigna al puesto j0, si i no se asigna al puesto j

El problema de Programacion Lineal a resolver consiste en:

min z =n∑

i=1

n∑j=1

cijxij

s.a.n∑

j=1

xij = 1

n∑i=1

xij = 1

xij =

10

∀i, j = 1, 2, ..., n

La primera restriccion significa que cada persona solo puede realizar untrabajo, y la segunda corresponde a que todas las tareas deben ser asignadas.

De nuevo se puede aprovechar la estructura especial del problema, lamatriz A esta formada por 0 y 1, para disenar un algoritmo especıfico que loresuelva.

2.4 Problema de Flujo en Redes o Grafos

En este tipo de problemas se considera un grafo o red (un sistema de tuberıas,ferrocarriles, carreteras, comunicaciones, etc.) a traves del cual se desea man-dar un producto homogeneo (aceite, granos, coches, mensajes, etc.) desdeciertos vertices del grafo llamados vertices fuente, hasta otros vertices de

6

Page 7: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

destino, llamados sumideros. Ademas de estas dos clases de vertices, el grafopuede contener vertices intermedios, donde no se genera ni se consume elproducto que esta fluyendo por el grafo.

El grafo G = (X, U) ∈ Rn esta compuesto por el conjunto de verticesX ∈ Rn finito y no vacıo, y el conjunto de conexiones entre los vertices U , nes la cantidad de vertices en el grafo, fi representa el flujo entrante o salientedel vertice xi, mij la capacidad maxima de flujo en la conexion entre el verticei y el vertice j y cij es el precio de mandar una unidad del producto desde elvertice i hasta el vertice j.

Las variables xij representan el flujo que circula entre los vertices i y j.Tenemos restricciones de conservacion del flujo en todos los vertices:

n∑j=1

xij − xji = fi

y las restricciones relacionadas con la capacidad de los arcos o conexiones:

−mij ≤ xij ≤ mij ∀i < j

donde i < j evita la posible duplicacion de restricciones.La funcion Objetivo es minimizar el precio total:

min z =n∑

i=1

m∑j=1

cijxij

Supongamos que la siguiente red representa una red de ferrocarriles deuna zona, los numeros representan el tiempo necesario en recorrer cada arco.Dos locomotoras estan en el punto 2 y una en el punto 1, se deben transportaral punto 6. Determinar la ruta que deben seguir para invertir el menor tiempoposible.

7

Page 8: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

Sea bi el numero de locomotoras que se demandan en el vertice i (bi > 0)o que se ofrecen (bi < 0) con i = 1, 2, .., 6 ; es decir:

b1 = −1 ; b2 = −2 ; b3 = 0 ; b4 = 0 ; b5 = 0 ; b6 = 3

Sea xij el numero de locomotoras que se transportan entre los vertices iy j. Asumimos que xij = 0 si no hay enlace entre los vertices i y j.

min z =6∑

i=1

6∑j=1

cijxij

s.a.6∑

i=1

xij −6∑

j=1

xij = bi i = 1, ..., 6

xij ∈ 0, 1, 2, 3

Los problemas de flujo en grafos son abundantes en la practica, de hecholos sistemas de abastecimiento de agua, los sistemas de redes de comuni-cacion y otros, conducen a este tipo de problemas. Ademas de encontrarlas soluciones de los problemas de optimizacion, puede resultar interesanteanalizar el conjunto de soluciones y en como cambia dicho conjunto cuandofallan algunos elementos del sistema.

8

Page 9: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

2.5 Problema de Estimacion de Parametros

Clase de problema de optimizacion muy frecuente en la practica, consiste enseleccionar entre una familia de curvas la que mejor se ajusta a un conjuntode datos obtenidos empıricamente.

En Cinetica Quımica es conocida la formula de Kassel:

k = zT n exp(− E

RT)

que brinda una expresion de la velocidad de reaccion de k como funcion dela temperatura T , los parametros z, n y E estan asociados a la reaccion es-pecıfica de que se trate. Se desea estimar estos parametros para una reacciondada y para ello se dispone de m mediciones ki con i = 1, ...,m para m valoresdiferentes de la temperatura Ti. Se trata entonces de determinar los valoresde z, n y E para los cuales el modelo teorico ajusta mejor las medicionesobtenidas experimentalmente.

El criterio mas difundido en la practica es el de minimizar la norma L2

del vector error, cuya i-esima componente viene dada por la diferencia entreel valor teorico correspondiente a la temperatura Ti, de acuerdo al modeloconsiderado, y el valor experimental, esto es:

minm∑

i=1

[ri(z, n, E)]2 =m∑

i=1

[z(Ti)n exp(− E

RTi

)− ki]2

En este problema se trata de minimizar una funcion no lineal de variasvariables sin restricciones, es un tıpico problema de Programacion Clasica.

2.6 Problema de la Cadena Colgante

Se tiene una cadena con sus extremos fijos en dos puntos separados entre sıa una distancia de 16 pies. La cadena consta de 20 eslabones de metal, cadauno de ellos con una longitud de un pie. Se desea determinar la posicion deequilibrio de la cadena.

Asumimos como referencia la lınea horizontal en que se encuentran situa-dos los extremos de la cadena y que la masa de cada eslabon esta concentradaen su centro.

La solucion puede encontrarse minimizando la energıa potencial de la ca-dena. La energıa potencial de la cadena es la suma de las energıas potencialesde cada uno de sus eslabones y la de un eslabon a su vez es igual a su altura(respecto a algun punto de referencia) multiplicada por su peso.

9

Page 10: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

Suponemos los eslabones numerados del 1 al 20 comenzando por el primerode la izquierda y que el eslabon i genera un desplazamiento xi en el eje x yun desplazamiento yi en el eje y. Asumiendo peso unitario en cada eslabonse tiene que la energıa potencial de la cadena se puede describir como:

1

2y1+(y1+

1

2y2)+(y1+y2+

1

2y3)+...+(y1+...+yn−1+

1

2yn) =

n∑i=1

(n−i+1

2)yi

donde n = 20 en nuestro ejemplo.La cadena esta sujeta a dos restricciones, el desplazamiento vertical total

es cero y el desplazamiento horizontal es de 16 pies. De este modo el modeloqueda:

min z =n∑

i=1

(n− i +1

2)yi

s.a.n∑

i=1

yi = 0

n∑i=1

(1− y2i )

12 = 16

Teniendo en cuenta los ejemplos anteriores, se puede apreciar que el papeldel modelador en el caso de problemas de Programacion Lineal es mucho masactivo que en los problemas de Programacion no Lineal, donde las relacionesfuncionales que intervienen en el problema, ası como las variables en muchoscasos estan determinadas explıcitamente por la naturaleza del problema.

Por ejemplo en el caso del problema de Estimacion de parametros, separte de un modelo teorico ya conocido en la Cinetica Quımica, en el casode la Cadena Colgante se trabaja con la formula de la energıa potencial.

10

Page 11: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

3 Problemas de Programacion Lineal

Una empresa produce dos tipos de pintura, una para interiores y otra paraexterior, a partir de dos materias primas M1 y M2. Para producir una unidadde pintura exterior se necesitan 6 toneladas de M1 y 1t de M2, mientras quepara producir una unidad de pintura interior se necesitan 4 toneladas deM1 y 2t de M2. La disponibilidad maxima diaria de M1 y de M2, es de24 t y de 6 t, respectivamente. El beneficio que se obtiene por tonelada depintura exterior es de 5, y el de interior es de 4. Un estudio de mercado hacesuponer que la demanda de pintura para interiores es, como mucho, de 2t, yla demanda de pintura para exterior no excede a la de interiores en mas de1t. El problema consiste en determinar la cantidad de pintura de cada tipoque debe producir la empresa diariamente, para obtener maximo beneficio.

En el problema anterior se presentan los elementos tıpicos de cualquierproblema de Investigacion Operativa:

1. unas variables de decision que hay que determinar o alternativas a elegir(en este caso la cantidad de pintura exterior y de interior a producir)

2. una funcion objetivo que hay que optimizar, maximizar o minimizar(en este caso el beneficio)

3. unas restricciones que se deben satisfacer necesariamente (disponibili-dad de materias primas y demanda)

Para resolver problemas de Investigacion Operativa como el del ejemplo,es necesario formularlo en lenguaje matematico:

Definimos las variables del problema:x1: produccion diaria de pintura para exteriores.x2: produccion diaria de pintura para interiores.

El objetivo de la empresa consiste en maximizar sus beneficios:

Funcion Objetivo: max z = 5x1 + 4x2

En la produccion se deben tener en cuenta las siguientes restricciones:

1. Necesidades de materias primas y disponibilidad de las mismas:M1 : 6x1 + 4x2 ≤ 24M2 : x1 + 2x2 ≤ 6

11

Page 12: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

2. No debemos producir menos de lo que se demanda:x2 ≤ 2x1 ≤ x2 + 1 ⇔ x1 − x2 ≤ 1

3. Ademas es claro la no negatividad:x1 ≥ 0 y x2 ≥ 0

Luego el modelo del problema que tenemos que resolver queda, de lasiguiente forma:

max z = 5x1 + 4x2

s.a. 6x1 + 4x2 ≤ 24

x1 + 2x2 ≤ 6

x2 ≤ 2

x1 − x2 ≤ 1

x1 ≥ 0 ; x2 ≥ 0

Notemos que todas las funciones son lineales, luego el problema es deProgramacion Lineal.

4 Resolucion Grafica

Cuando solo hay dos o tres variables, un problema de Programacion Linealse puede resolver graficamente. Para ello:

1. Se representa graficamente el Conjunto de Soluciones Factible, que es laregion determinada por las restricciones verdaderas y de no negatividaddel problema.

2. Se representa la direccion de maximo crecimiento, dada por el gradientede la funcion objetivo, si este es lineal, la direccion es constante en todoslos puntos.

3. Trazar paralelas a la funcion objetivo o curvas de nivel en el sentidodel gradiente, creciendo si el problema es de maximizar o decreciendo(en sentido opuesto a la direccion del gradiente) si el problema es deminimizar, la ultima interseccion de estas paralelas con el conjunto desoluciones factibles es la solucion optima del problema.

12

Page 13: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

Problema del Ejemplo anterior:

max z = 5x1 + 4x2

s.a. 6x1 + 4x2 ≤ 24

x1 + 2x2 ≤ 6

x2 ≤ 2

x1 − x2 ≤ 1

x1 ≥ 0 ; x2 ≥ 0

Grafico

La solucion (x1, x2) viene dada por la interseccion entre las igualdades dosy cuatro. La primera restriccion es redundante, no aporta nada al Conjuntode Soluciones Factibles y aumenta la cantidad de iteraciones en la resolucionalgorıtmica.

x1 + 2x2 = 6

x1 − x2 = 1

Luego : 3x2 = 5

de donde : x2 = 5/3

x1 = 8/3

Por tanto : z = 20

Observaciones:

1. El Conjunto de Soluciones Factibles determinado por restricciones lin-eales es un conjunto convexo, por ello esta teorıa juega un papel tanimportante en la Investigacion Operativa.

2. La solucion se encuentra en la frontera del Conjunto de SolucionesFactible, si el problema es lineal su solucion esta en un vertice, estaes una propiedad general de los problemas de Programacion Lineal,como demostraremos. Por esta razon no podemos encontrar la solucion

13

Page 14: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

derivando simplemente, como se hace en el metodo de Lagrange, sinembargo esta propiedad es la base del algoritmo Simplex.

4.1 Ejemplos Geometricos

Cuando solo hay dos o tres variables, es posible representar y resolver graficamentelos problemas de optimizacion, veamos algunos ejemplos de dos variables, queilustran las ideas que hemos introducido hasta el momento.

Ejemplo 1: Conjunto factible acotado y solucion unica.

max z = 2x + y

s.a. 3y + x ≤ 2

x; y ≥ 0

La solucion se alcanza en uno de los vertices del polıgono que representaal Conjunto de Soluciones Factibles.

Ejemplo 2: Conjunto factible acotado y solucion degenerada.

max z = 3x + 9y

s.a. x + 4y ≤ 8

x + 2y ≤ 4

x; y ≥ 0

En este caso hay restricciones redundantes que no siempre es facil dereconocer, el algoritmo SIMPLEX repetirıa las mismas secuencias de itera-ciones sin mejorar el valor de la funcion objetivo y sin terminar los calculos,caemos en un ciclo.

Ejemplo 3: Conjunto factible acotado e infinitas soluciones.

max z = 2x + 4y

s.a. x + 2y ≤ 5

x + y ≤ 4

x; y ≥ 0

La funcion objetivo es proporcional a una de las restricciones verdaderas,la solucion optima esta dada por dos vertices del polıgono, los puntos (0; 2.5)

14

Page 15: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

y (3; 1) y la combinacion lineal de los mismos, el segmento que une ambosvertices. Por tanto la solucion es:

S = λ(0; 2.5) + (1− λ)(3; 1); λ ∈ [0; 1]

Ejemplo 4: Conjunto factible no acotado.

max z = 2x + y

s.a. x− y ≤ 10

2x ≤ 40

x; y ≥ 0

Si el Conjunto de Soluciones Factibles no es acotado, la solucion optimapuede existir pero no esta garantizado.

Ejemplo 5: No hay solucion factible.

max z = 3x + 2y

s.a. 2x + y ≤ 2

3x + 4y ≥ 12

x; y ≥ 0

Las restricciones no se satisfacen simultaneamente, el modelo no tienesolucion factible, y por tanto tampoco hay solucion optima.

Ejemplo 6: Problema no lineal con funcion objetivo lineal.

max z = x + y + 2

s.a. x2 + y2 ≤ 50

x; y ≥ 0

En los problemas de Programacion no Lineal, la solucion no tiene quecoincidir con los vertices del Conjunto de Soluciones Factibles, en este casoel mınimo se alcanza en el punto (0; 0) y el maximo en el punto (5; 5), queno son ambos puntos extremos.

Ejemplo 7: Problema no lineal con funcion objetivo no lineal.

max z = 16− x2 − y2

s.a. x + y ≤ 4

x; y ≥ 0

15

Page 16: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

En este problema el maximo se alcanza en el punto (0; 0) y tiene dosmınimos uno en el punto (0; 4) y el otro en (4; 0). En este tipo de problemasla solucion optima no siempre se alcanza en la frontera, si la funcion objetivoes min z = (x − 1)2 + (y − 1)2 entonces el optimo se alcanza en el punto(1; 1) que es un punto interior del Conjunto de Soluciones Factibles.

5 Tipos de formulaciones de los Modelos

En general un problema de Programacion Matematica siempre se puede es-cribir de la siguiente forma estandar:

min z = c1x1 + c2x2 + ... + cnxn

s.a. a11x1 + a12x1 + .... + a1nxn = b1

a21x1 + a22x2 + .... + a2nxn = b2

......................................... = ...

am1x1 + am2x2 + .... + amnxn = bm

x1, x2, ...., xn ≥ 0

o matricialmente:

min z = ctx

s.a. Ax = b

x ≥ 0

donde :M = 1, 2, ...,m conjunto de los ındices asociados a las restricciones ver-daderas.N = 1, 2, ..., n conjunto de los ındices asociados a las variables.c = (c1, c2, ..., cn)t ∈ Rn vector de los coeficientes en la funcion objetivo.x = (x1, x2, ..., xn)t ∈ Rn vector de las variables.b = (b1, b2, ..., bm)t ∈ Rm vector de los terminos independientes.Am×n matriz asociada a las restricciones verdaderas, donde aij es el elementode posicion (i, j) de la matriz A con i ∈ M y j ∈ N .

Observaciones:

1. x ≥ 0 significa que xi ≥ 0 para todo i, y usaremos esta convencion enlo que sigue.

16

Page 17: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

2. podemos suponer que r(A) = m ya que si alguna restriccion es redun-dante puede eliminarse.

3. el caso mas interesante es si m < n, ya que si m ≥ n el sistema esincompatible o compatible determinado

Ejemplo (Variables de Holgura)

Problema Original (PO)

max z = 3x1 + x2

s.a. x1 + x2 ≤ 2

x1 ≥ 0; x2 ≥ 0

Forma Estandar (PE)

min z = −3x1 − x2

s.a. x1 + x2 + x3 = 2

x1; x2; x3 ≥ 0

Si (x1, x2, x3) es la solucion de la forma estandar, entonces (x1, x2) esla solucion original, si esto no fuera ası, entonces se llega facilmente a unacontradiccion.

5.1 Transformaciones de problemas

Con frecuencia es conveniente transformar un problema en otro con las mis-mas soluciones pero con algunas caracterısticas diferentes para lo cual setienen en cuenta las siguientes observaciones:

1. Cambio de la Funcion Objetivo : Si una funcion f tiene un maximo(local o global) en un punto x, entonces la funcion −f tiene un mınimo(del mismo tipo) en dicho punto.

max f(x1, x2, ..., xn) ⇐⇒ min −f(x1, x2, ..., xn)

2. Eliminacion de una constante en la Funcion Objetivo: Si la funcionobjetivo es de la forma f(x)+k y eliminamos la constante k, el problemaque obtenemos tiene los mismos optimos.

17

Page 18: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

3. Cambio de igualdades por desigualdades: Toda ecuacion de la forma:

n∑j=1

aijxj = bi

puede expresarse como dos desigualdades:

n∑j=1

aijxj ≥ bi

y la otra:

−n∑

j=1

aijxj ≤ −bi

4. Cambio de desigualdades por igualdades:

- si la restriccion es :

a11x1 + a12x2 + .... + a1nxn ≤ b1

se anade una variable de holgura xn+1 ≥ 0

a11x1 + a12x2 + .... + a1nxn + xn+1 = b1

5. Cambio de una desigualdad: Podemos cambiar ≤ por ≥ y viceversa,multiplicando por −1, si la restriccion es :

a11x1 + a12x2 + .... + a1nxn ≥ b1

se multiplica todo por −1 y queda:

−a11x1 − a12x2 − ....− a1nxn ≤ −b1

6. Condicion de signo:

- Si una variable xi esta restringida a valores negativos, se puede susti-tuir por una variables no negativa haciendo yi = −xi, de modo quexi ≤ 0 se sustituye por yi ≥ 0.

- Si una variable xi no esta restringida a valores positivos, se puedesustituir por variables no negativas haciendo:xi = x′i − x

′′i con x′i ≥ 0 , x

′′i ≥ 0

ya que cualquier numero es diferencia de dos numeros positivos.

18

Page 19: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

Ejemplos:

Escribir en forma estandar los siguientes problemas:(1) Problema Original (PO)

max z = 3x1 + 2x3

s.a. x1 + x2 + x3 ≤ 1

x1 − x2 ≥ 5

xi ≥ 0

Forma Estandar (PE)

min z = −3x1 − 2x3

s.a. x1 + x2 + x3 + xh1 = 1

−x1 + x2 + xh2 = −5

xi ≥ 0

(2) Problema Original (PO)

min z = 2x1 + x2

s.a. x1 − 2x2 = 0

x2 ≥ 1

x1 = x′1 − x′2x′1 ≥ 0; x′2 ≥ 0

Forma Estandar (PE)

min z = 2(x′1 − x′2) + x2

s.a. x′1 − x′2 − 2x2 = 0

x2 − x3 = 1

x′1, x′′

1 , x2, x3 ≥ 0

(3) Problema Original (PO)

max z = x1 + 4x2 + x3

s.a. 2x1 − 2x2 + x3 = 4

x1 − x3 = 1

x3 ≥ 0 ; x2 ≥ 0

x1 = x′1 − x′′

1

19

Page 20: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

Forma Estandar (PE)

min z = x′′

1 − x′1 − 4x2 − x3

s.a. 2x′1 − 2x′′

1 − 2x2 + x3 = 4

x′1 − x′′

1 − x3 = 1

x′1, x′′

1 , x2, x3 ≥ 0

5.2 Forma Canonica

Otra forma de escribir el problema que es util para estudiar ciertos aspectosdel mismo es la llamada forma canonica que consiste en:

- si el problema es de mınimos:

min z = ctx

s.a. Ax ≥ b

x ≥ 0

- si el problema es de maximos:

max z = ctx

s.a. Ax ≤ b

x ≥ 0

Siempre es posible escribir un problema de Programacion Lineal en formacanonica.

Otra Interpretacion del Conjunto de Soluciones Factibles

El problema en forma estandar es:

min z = ctx

s.a. Ax = b

x ≥ 0

Sea ai la i-esima fila de la matriz A, es decir, A = (a1, a2, ..., an), entoncesel conjunto de soluciones factibles se puede escribir:

s.a. Ax = b

x ≥ 0

⇔n∑

j=1

aijxj = b ∀i = 1, ...,m

xi ≥ 0; i = 1, 2, ..., n

20

Page 21: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

Es decir, el vector b se debe escribir como una combinacion lineal de lascolumnas de la matriz A.

Definiciones:

Consideremos un problema de Programacion Lineal:

min z = ctx

s.a. Ax = b

x ≥ 0

- Conjunto de Soluciones Factibles es el conjunto de todos los puntosque cumplen las restricciones del problema. Si el problema no tiene restric-ciones, entonces todas las soluciones son factibles y el Conjunto de SolucionesFactibles es todo Rn.

- Se dice que un problema es no factible o infactible y no tiene solucionoptima, si el Conjunto de Soluciones Factibles es vacıo.

- Cualquier elemento perteneciente al Conjunto de Soluciones Factiblesse denomina Solucion Factible.

- Una Solucion Optima (mınima o maxima) de f(x) = ctxes una solucionfactible x tal que ctx ≤ ctx para cualquier otra solucion factible x, lo quesignifica que f(x) ≥ (≤)f(x); ∀x ∈ S.

- Una condicion de acotacion sobre una variable xi es una restriccion dela forma xi ≤ c o xi ≥ c, en el primer caso es una acotacion superior y en elsegundo inferior. Un conjunto es acotado si todos sus elementos lo son.

- Se dice que un problema es no acotado si hay soluciones factibles perono hay solucion optima.

- Una restriccion de desigualdad gi(x) ≤ bi o gi(x) ≥ bi se dice que estasaturada o activa en una solucion factible x si se cumple con la igualdad, esdecir gi(x) = bi.

- Una solucion factible es interior si no satura ninguna de las restricciones,y es una solucion de frontera si satura una o varias restricciones.

21

Page 22: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

6 Datos Historicos

La posibilidad de utilizar los metodos del calculo diferencial y del calculovariacional para resolver ciertos tipos de problemas de Optimizacion, pre-sentes en la Fısica y en la Geometrıa, es conocida y aplicada desde mediadosdel siglo XVIII, pero en realidad era relativamente poco lo que se conocıaantes de los anos cuarenta del siglo XX, acerca de la solucion de proble-mas de optimizacion con funciones de varias variables. Se podıan resolveralgunos problemas de mınimos cuadrados y el metodo de maximo descensohabıa sido aplicado en algunos problemas fısicos, era conocido el metodo deNewton para funciones de varias variables.

En 1939 se publican en la Union Sovietica los trabajos de L.U. Kan-torovich, basicos en el surgimiento y desarrollo de la Programacion Lineal.En 1941 se formulan por Koopman y por Hitchcock problemas de transportey en 1945 es planteado el problema de la dieta optima por el economistaGeorge J.Stiegler.

La formulacion de un procedimiento numerico para resolver problemas deProgramacion Lineal, el metodo Simplex, es propuesto por George Dantzigen 1947, mientras trabajaba en ciertos tipos de problemas de optimizacionpara las fuerzas aereas de los Estados Unidos, y se publica en 1951, marcandoel inicio del gran interes por la teorıa y las aplicaciones de la InvestigacionOperativa.

En la decada de los anos 50 aparecen numerosos resultados teoricos deimportancia, A. Charnes y C.E. Lemke publican el metodo Simplex Revisadoen 1952, en 1954 Lemke formula el metodo Dual-Simplex, en 1956, Dantzig,Ford y Fulkerson publican el algoritmo Primal-Dual. En estos anos Dantzigy Wolfe tambien publican resultados importantes sobre teorıa de dualidad yel principio de descomposicion.

El interes por la Programacion No Lineal se desarrolla simultaneamentecon el interes por la Programacion Lineal, en 1951 H.W. Kuhn y A.W. Tuckerpublican un importante artıculo ”Nonlinear Programing” en el que se formu-lan condiciones necesarias y suficientes de optimo para problemas de Opti-mizacion, que constituyen la fundamentacion teorica para una gran cantidadde trabajos posteriores en Programacion no Lineal, algunas generalizacionesde sus trabajos teoricos aparecen publicados en 1958, en el libro ”Studies inLinear and Nonlinear Programing”.

A partir de 1955 aparecieron numerosos trabajos relacionados con la Pro-gramacion Cuadratica, donde las restricciones son lineales, pero la funcionobjetivo es cuadratica.

Las tecnicas de gradiente han sido de interes en la Matematica y enla Fısica, sin embargo, es el trabajo teorico aparecido en el libro ”Studies

22

Page 23: Tema 1. Introducci´on · Omar J. Casas L´opez bbbb Septiembre 2003 1 Problema general de Optimizacion ... i y g i son funciones reales, definidas sobre un subconjunto medible Ω

in Linear and Nonlinear Programing”, ya mencionado, el que provoca quese centrara la atencion en las posibilidades de este tipo de tecnica para laresolucion de problemas de Programacion no Lineal.

En sus inicios todos estos metodos eran muy ineficientes, en 1959 se rev-oluciona nuevamente el desarrollo de esta disciplina, con la publicacion deun reporte de W.C. Davidon en el que se introducen los metodos de metricavariable, tambien conocidos como Cuasi-Newton. En 1960 Gomory desar-rolla algoritmos para resolver problemas de Programacion Lineal en Enterosutilizando cortes.

En la antigua Union Sovietica en 1979, Khachiyan publica en ruso ‘”APolynomial Algorithm in Linear Programming”, desarrollando la idea debusqueda de solucion desde los puntos interiores. En 1984 Narendra Kar-markar anuncia, en su artıculo ‘”A New Polynomial-Time Algorithm forLinear Programming”, el desarrollo de un nuevo algoritmo para resolverproblemas grandes, con muchos miles y aun decenas de miles de restricciones,demasiado grande para utilizar el metodo Simplex, hasta 50 veces mas rapidoque este, utilizando un enfoque diferente al utilizado por el metodo Simplex,que analiza las soluciones factibles en los vertices sobre la frontera de laregion factible. El algoritmo de Karmarkar es un algoritmo de Puntos Inte-riores que corta a traves del interior de la region factible para alcanzar unasolucion optima aproximada.

En los ultimos anos el desarrollo de la Informatica ha repercutido deforma considerable en el desarrollo de la Investigacion Operativa y a su vezcon el surgimiento de nuevas estrategias de solucion, como es el caso de losmetodos de puntos interiores para la Programacion Lineal y los de secuen-ciacion cuadratica para problemas no lineales, ademas se dedica un esfuerzoconsiderable a la implementacion computacional eficiente de los metodosconocidos, lo que presupone el empleo de las tecnicas mas avanzadas delAnalisis Numerico.

23