Programación Matemática para Economistas 1 2.- Técnicas generadoras. Como hemos mencionado anteriormente, las denominadas técnicas generadoras son aquellas que no incorporan información a priori en el proceso y, por tanto, es el analista el que plantea y resuelve el problema. Dentro de estas técnicas existen dos métodos de resolución, el Método de la ponderación y el Método de la restricción. Ambos métodos intentarán determinar las soluciones eficientes asociadas al problema y, dependiendo de los casos, podremos asegurar la eficiencia y la eficiencia propia. El primero que describimos es el de las ponderaciones. 2.1.- Método de la Ponderación. Dado nuestro problema multiobjetivo: Max ( f 1 (x), f 2 (x),L , f p (x)) s. a x ∈ X el método de las ponderaciones consiste en construir un problema monoobjetivo asociado a él, mediante una escalarización de la función vectorial objetivo, de forma que a cada función fi se le asocia un valor λi, dicho valor tendrá una triple misión dentro del proceso, la primera es simplemente de cálculo u operativa, la segunda sería la información sobre la importancia relativa que se le asigna al correspondiente objetivo fi, y por último, la eliminación de unidades. Comentada posteriormente. Así el problema escalarizado o problema ponderado es: p Max λ i f i ( x) ∑ Pλ i =1 s. a x ∈ X p donde las ponderaciones verifican que: ∑ λ = 1, i =1 i λ i ≥ 0 ∀ i = 1,L, p . El siguiente teorema nos va a caracterizar las soluciones obtenidas por este método, dependiendo de la asignación que se le haga a los pesos. R. Caballero, T. Gómez, M. González, M. Hernández, F. Miguel, J. Molina, M.M. Muñoz, L. Rey, F. Ruiz Programación Matemática para Economistas 2 Teorema 1. Dado un problema de programación multiobjetivo: Max ( f 1 (x), f 2 (x),L , f p (x)) s. a x ∈ X y su correspondiente problema escalarizado: p λ i f i ( x) Max ∑ Pλ i =1 s. a x ∈ X . entonces: i) Si todas las ponderaciones asignadas λi son estrictamente mayores que cero, la solución obtenida es propiamente eficiente. ii) Si alguna es nula, la solución es débilmente eficiente. iii) Si con alguna ponderación nula la solución del problema es única, entonces ésta es eficiente. Demostración. Veamos la eficiencia razonando por reducción al absurdo. Supongamos que x* solución del problema ponderado con alguna ponderación nula o ninguna, (el razonamiento es análogo en ambos casos) no es eficiente, entonces existirá un vector factible x tal que: f i ( x) ≥ f i (x* ) i = 1,..., p * para algun j ∈ {1,..., p} f j (x) > f j (x ) en el caso de eficiencia y: f i ( x) > f i ( x * ) i = 1,..., p en el de eficiencia débil. Como las ponderaciones asociadas son o estrictamente positivas o alguna nula, al multiplicar y sumar, en ambos casos tendríamos que: p p ∑ f ( x) ≥ ∑ f ( x ) * i =1 i i =1 i lo cual contradice que x* sea la solución de Pλ. Si tenemos un problema con dos objetivos, al escalarizar la función objetivo tendremos: R. Caballero, T. Gómez, M. González, M. Hernández, F. Miguel, J. Molina, M.M. Muñoz, L. Rey, F. Ruiz Programación Matemática para Economistas 3 λf1(x) + (1 - λ)f2(x) En el caso de programación multiobjetivo bicriterio, el método de las ponderaciones no es más que la tradicional programación paramétrica (Sección 5.3.1), por tanto se podría tratar el problema como tal, es decir, ir calculando los valores de λ que nos proporcionan un cambio en la base, lo cual se traduce en un cambio de vértice en el conjunto de oportunidades. Así en nuestro ejemplo el problema sería: M a x λ ( 4 x + 3 y ) + ( 1 − λ )( − 3 x − 2 y ) s. a x + y ≤ 5 2x + y ≤ 8 x ≥1 x, y ≥ 0 Si operamos en la función objetivo tenemos: (7λ - 3)x + (5λ - 2)y, obteniendo para λ = 0 la función opuesta de la contaminación. Al utilizar la programación paramétrica, nos basamos en la tabla final y a partir de ella modificamos lo necesario para obtener el valor concreto de λ que nos proporciona el primer cambio. Así si consideramos la tabla final asociada al valor λ = 0 obtenemos: B P3 P4 P1 CB 0 0 7λ - 3 P0 4 6 1 7λ - 3 P1 0 0 1 0 5λ - 2 P2 1 1 0 0 P3 1 0 0 0 0 P4 0 1 0 0 0 P5 1 2 -1 Para calcular el valor de λ que mantiene la base imponemos que los correspondientes cj - zj no básicos mantengan el signo, así: 1 c 2 − z 2 = (5λ − 2) − ( 0 0 7λ − 3) 1 = 5λ − 2 ≤ 0 0 1 c 5 − z 5 = 0 − ( 0 0 7λ − 3) 2 = +7λ − 3 ≤ 0 −1 ⇒ ⇒ 2 ≥λ 5 3 ≥λ 7 y la base se mantiene para valores de λ ∈ [0, 2/5]. Posteriormente le daríamos a λ el valor 2/5 y operaríamos de la misma forma. R. Caballero, T. Gómez, M. González, M. Hernández, F. Miguel, J. Molina, M.M. Muñoz, L. Rey, F. Ruiz Programación Matemática para Economistas 4 Apliquemos ahora propiamente el método de las ponderaciones a nuestro ejemplo. Si no atendemos al desarrollo paramétrico, el cual está limitado a problemas bicriterios, tendríamos que ir dándole valores al parámetro λ hasta que se cambie de vértice, resultando evidente que esta actuación está limitada y en la práctica general, cuando se utilizan ordenadores, se establecen programas para que sea la máquina la que asigne valores automáticamente. Veamos a continuación un estudio manual. Dado nuestro problema: M ax B ( x, y) = 4 x + 3 y M in C ( x , y ) = 3 x + 2 y s. a x + y ≤ 5 2x + y ≤ 8 x ≥1 x, y ≥ 0 Como tenemos dos objetivos, al ponderar y considerar la contaminación con criterio de máximo, el problema ponderado responde a: M a x λ ( 4 x + 3 y ) + ( 1 − λ )( − 3 x − 2 y ) s. a x + y ≤ 5 2x + y ≤ 8 x ≥1 x, y ≥ 0 La asignación del valor de las ponderaciones es la clave de esta técnica. Dado que los problemas que tratamos son lineales, sabemos que la solución está en un vértice, o a lo más, en un tramo frontera, así que la forma de proceder es ir dándole valores al parámetro λ y ver qué solución resulta. Asimismo, como en este ejemplo los dos criterios, aunque estén medidos en distintas unidades, tienen un rango de variación parecido, no normalizamos los pesos, realizaremos dicha actuación, como antes comentamos, cuando los rangos de variación sean muy dispares. Así, la siguiente tabla nos muestra los valores obtenidos para los distintos pesos asignados: R. Caballero, T. Gómez, M. González, M. Hernández, F. Miguel, J. Molina, M.M. Muñoz, L. Rey, F. Ruiz Programación Matemática para Economistas Ponderación λ λ=0 λ = 0.125 λ = 0.25 λ = 0.45 λ = 0.5 λ = 0.751 λ=1 Solución (1, 0) (1, 0) (1, 0) (1, 4) (3, 2) (3, 2) (3,2) 5 f1 = B 4 4 4 16 18 18 18 -f2 = -C -3 -3 -3 -11 -13 -13 -13 Si comparamos la tabla con el desarrollo paramétrico vemos como para λ = 0.45 que es mayor que 0.4 la solución ha cambiado y, por tanto, también la base. Tras la asignación de diferentes ponderaciones, observamos que hemos obtenido tres vértices distintos pero la elección presenta la misma dificultad, puesto que donde se mejora el beneficio, la contaminación es más grande. De todas formas, una vez presentada esta información al decisor, es él el que tiene que decidir con qué combinación quedarse, ya que, el analista terminaría una vez que presenta la tabla de resultados. El efecto gráfico al ponderar las funciones lo podemos ver en las siguientes figuras: Para λ = 0.25 R. Caballero, T. Gómez, M. González, M. Hernández, F. Miguel, J. Molina, M.M. Muñoz, L. Rey, F. Ruiz Programación Matemática para Economistas Para λ = 0.45 Para λ = 0.5 En esta ponderación obtenemos todo el segmento que al vértice (1, 4) con el vértice (3, 2). R. Caballero, T. Gómez, M. González, M. Hernández, F. Miguel, J. Molina, M.M. Muñoz, L. Rey, F. Ruiz 6 Programación Matemática para Economistas 7 Y para λ = 0.75 Otra forma de proceder también en los problemas bicriterio sería, utilizando el programa LINDO realizar el siguiente cambio: Max λf1(x) + (1 - λ)f2(x) s.a x ∈ X llamamos a f1 - f2 = z y consideramos el problema: Max f2(x) + λ(f1 - f2) = f2 (x) + λz s.a x ∈ X z∈R A partir de aquí se realiza un análisis de sensibilidad sobre z que nos determina los correspondientes valores de cambio de base y vértice. 2.2.- Método de la restricción. El método de la restricción es el más antiguo dentro de la programación multiobjetivo, pero es a su vez uno de los más pobres en cuanto a resultados importantes por la propia construcción y naturaleza de su establecimiento. Asimismo la obtención de las R. Caballero, T. Gómez, M. González, M. Hernández, F. Miguel, J. Molina, M.M. Muñoz, L. Rey, F. Ruiz Programación Matemática para Economistas 8 soluciones es más complicada y, en general, no podremos asegurar la eficiencia de las soluciones obtenidas. El planteamiento sería el siguiente. Dado nuestro problema multiobjetivo: Max ( f 1 (x), f 2 (x),L , f p (x)) s. a x ∈ X el método de la restricción, o método de las restricciones, consiste también en construir un problema monoobjetivo asociado, en el cual se fija una de las funciones como objetivo y las restantes se introducen como restricciones, una vez determinada una cota asociada a cada una de ellas, es decir, el problema resultante es: Pi Max f i (x) s. a x ∈ X f j (x) ≥ K j j = 1,..., i i ≠ j donde la cota que le imponemos a cada una de las funciones se tomará dentro de su rango de [ variación Ki ∈ f i min , f i max ] . En esta técnica, a diferencia del método de las ponderaciones, no tenemos asegurada que la solución sea eficiente, salvo que la solución obtenida sea única. Este resultado lo recogemos en el siguiente teorema. Teorema 2. Si x* es la única solución óptima de Pk, para algún i = 1, ..., p, siendo K el vector de cotas asociado, entonces se verifica que x* es solución óptima de Pareto del problema multiobjetivo original. Demostración. Supongamos que x* no es eficiente. Existirá entonces un punto x factible tal que: f i (x) ≥ f i (x* ) i = 1,..., p * f j (x) > f j (x ) con al menos un j ∈ {1,..., p} i) Si j = k, entonces x* no puede ser solución de Pk. ii) Si j ≠ k entonces x* es también solución de Pk, lo cual contradice nuestra hipótesis de partida, dado que partimos de la unicidad de solución, y x* es, por tanto, solución óptima de Pareto. R. Caballero, T. Gómez, M. González, M. Hernández, F. Miguel, J. Molina, M.M. Muñoz, L. Rey, F. Ruiz Programación Matemática para Economistas 9 La asignación de cotas, que es la clave del método, nos hace que se modifique el conjunto de oportunidades, y esto implica un problema adicional, dado que si las imponemos demasiado optimistas o grandes el conjunto no se modifica y nos resultaría un problema consistente en maximizar uno de los objetivos, y, si por el contrario, las imponemos demasiado pesimistas o pequeñas podemos plantear un problema con un conjunto de oportunidades vacío. La terminología utilizada, en términos de grande y pequeño es relativa a la naturaleza del problema que se esté estudiando. En nuestro ejemplo, supongamos que tomamos como función objetivo la contaminación y que consideramos que los beneficios son mayores o iguales a nueve unidades. La asignación de la cota se realiza en coherencia con el rango de variación, el cual es para f1 = B ∈ [4, 18]. El problema de restricción que se nos genera es: M in C ( x , y ) = 3 x + 2 y s. a x + y ≤ 5 2x + y ≤ 8 x ≥1 4x + 3y ≥ 9 x, y ≥ 0 La solución a este problema lineal es (1, 5/3). Gráficamente obtenemos: R. Caballero, T. Gómez, M. González, M. Hernández, F. Miguel, J. Molina, M.M. Muñoz, L. Rey, F. Ruiz Programación Matemática para Economistas 10 Si tomamos ahora como función objetivo los beneficios e imponemos que el nivel de contaminación sea menor o igual que siete, tenemos: M ax B ( x, y) = 4 x + 3 y s. a x + y ≤ 5 2x + y ≤ 8 x ≥1 3x + 2 y ≤ 7 x, y ≥ 0 La solución de este nuevo problema es el punto (1, 2) y gráficamente la modificación es: La siguiente tabla nos refleja las soluciones obtenidas tras asignar otras cotas: Cota f1 ≥ 9 f1 ≥ 16 Solución (1, 5/3) (1, 4) f1 = B 9 16 f2 = C 19/3 11 f2 ≤ 7 f2 ≤ 12 (1, 2) (2, 3) 10 17 7 12 R. Caballero, T. Gómez, M. González, M. Hernández, F. Miguel, J. Molina, M.M. Muñoz, L. Rey, F. Ruiz Programación Matemática para Economistas 11 Las soluciones que obtenemos por este método serán como en todo problema de programación lineal, o vértices o tramos frontera, con respecto al nuevo conjunto de oportunidades generado al introducir la restricción o restricciones correspondientes, pero con respecto al conjunto de oportunidades original son o pueden ser soluciones interiores. La decisión que se tiene que llevar a cabo, al resolver los distintos problemas al igual que antes es objetiva y corresponde al decisor, puesto que encontraremos soluciones que no son comparables. De esta forma, en ambos métodos el problema es doble, de una parte, cómo tomar las ponderaciones en el método de las ponderaciones y cómo asignar las cotas a cada una de las funciones en el de la restricción, y por otra, una vez resuelto qué solución tomar. De manera natural se hace necesaria la incorporación de más información para que el proceso de decisión se pueda llevar a cabo de una manera más fiable. R. Caballero, T. Gómez, M. González, M. Hernández, F. Miguel, J. Molina, M.M. Muñoz, L. Rey, F. Ruiz