MODELIZACIÓN Eduardo Ramos Méndez Catedrático de Universidad ÍNDICE PRÓLOGO 1 IX El modelo de programación no lineal 1 1.1 El modelo de programación no lineal . . . . . . . 1.2 Funciones convexas y generalizaciones . . . . . . 1.3 Condiciones de óptimo en programación no lineal . . 1.4 Algoritmos de programación no lineal . . . . . . 1.5 Algoritmos de optimización sin restricciones . . . . 1.6 Algoritmos de optimización con restricciones . . . . P ROBLEMAS DE AUTOEVALUACI ÓN . . . . . . . . S OLUCIONES DE LOS PROBLEMAS DE AUTOEVALUACI ÓN 2 Modelos de optimización en redes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 . 25 . 69 . 95 111 140 193 195 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 234 262 288 343 345 197 2.1 Grafos . . . . . . . . . . . . . . . . . . 2.2 Árboles y arborescencias . . . . . . . . . . . 2.3 Caminos . . . . . . . . . . . . . . . . . 2.4 Flujos . . . . . . . . . . . . . . . . . . P ROBLEMAS DE AUTOEVALUACI ÓN . . . . . . . . S OLUCIONES DE LOS PROBLEMAS DE AUTOEVALUACI ÓN BIBLIOGRAFÍA 349 ÍNDICE ALFABÉTICO 351 PRÓLOGO Audiencia Este libro tiene como objetivo principal servir de texto base para la asignatura Modelización del grado de Matemáticas que se imparte en la Universidad Nacional de Educación a Distancia (UNED) de España. Está dirigido también al lector interesado en una introducción a los modelos de programación no lineal y de optimización en redes. El planteamiento del texto tiene principalmente carácter matemático, haciendo especial énfasis en los desarrollos teóricos y su base formal. Se supone una formación matemática propia de quienes están cursando el grado de Matemáticas. En concreto, son precisos los conocimientos de Álgebra lineal, Geometrı́a analı́tica y Análisis matemático obtenidos en los primeros semestres del grado. También es preciso tener un buen conocimiento del modelo de Programación lineal estudiado en el curso precedente del grado. Contenidos La asignatura Modelización forma parte de la materia Investigación Operativa del grado de Matemáticas que se imparte en la UNED de España, y completa el estudio de los modelos de optimización iniciado con la asignatura Programación lineal y entera. El programa de estudio se divide en dos unidades didácticas: una dedicada a los modelos de optimización determinista no lineales y otra dedicada a los modelos de optimización en redes. El modelo matemático general de optimización estática determinista se conoce habitualmente como modelo de programación no lineal. Este modelo consiste, esencialmente, en buscar el óptimo de una función numérica de n variables condicionado a la satisfacción de un conjunto de condiciones de restricción que tienen también, en general, la forma de funciones no lineales de n variables con valores reales. La consideración de este tipo de funciones abre paso a la posibilidad de representar de manera adecuada numerosas situaciones reales que surgen en las aplicaciones de los más diversos campos: fı́sica, ingenierı́a, economı́a, etc. En los primeros apartados se presentan varios ejemplos de dichas aplicaciones, que sirven de motivación para el estudio del objeto matemático denominado problema de programación no lineal. La exposición de la programación no lineal se divide en dos grandes bloques. En primer lugar, se aborda el problema desde una perspectiva teórica, a fin de identificar qué condiciones deben cumplir, de un modo general, las soIX luciones del problema de optimización. Este estudio no sólo tiene interés por sı́ mismo, sino que es también la base para fundamentar la búsqueda de métodos prácticos para la resolución del problema. En el estudio de las condiciones de óptimo desempeña un papel primordial la noción de convexidad de las funciones, y sus generalizaciones, que se analizan con detenimiento. El objetivo principal del apartado teórico consiste en establecer las denominadas condiciones de Karush, Kuhn y Tucker que constituyen un teorema fundamental que enlaza con el procedimiento clásico de los multiplicadores de Lagrange. El segundo bloque se dedica a exponer el fundamento teórico y funcionamiento práctico de diferentes familias de algoritmos, que permiten encontrar numéricamente la solución del problema de programación no lineal. Este estudio se divide, a su vez, en dos grandes grupos. El primero se limita al caso de problemas sin restricciones, no tanto por sus posibles aplicaciones prácticas, sino, principalmente, porque se utilizan como subrutinas en problemas con restricciones. Dentro de este grupo, se estudian distintos algoritmos aplicables a diferentes tipos de funciones de acuerdo con sus caracterı́sticas y propiedades. El segundo grupo de métodos está integrado por procedimientos destinados a resolver el problema general con restricciones. Este grupo también está subdividido en dos conjuntos, según la manera básica de actuar del procedimiento algorı́tmico: los métodos directos, que trabajan con el problema tal como está formulado y responden a la idea de explorar direcciones de búsqueda que cumplan las condiciones de restricción, y los métodos indirectos, que transforman el problema original en otro problema cuya resolución es, en principio, más simple y que se agrupan bajo la familia de los métodos de penalización. La segunda unidad didáctica se dedica al estudio de los modelos de optimización en redes. Sin lugar a dudas, los problemas de redes son uno de los ámbitos de aplicación en el que los modelos de optimización han alcanzado los más notables éxitos. La elegancia de los planteamientos, la solidez de los algoritmos numéricos y la sencilla interpretación de las soluciones obtenidas son algunas de las principales razones por las cuales los modelos de redes deben constituir un capı́tulo fundamental de la modelización matemática. El soporte formal de una red de optimización es el objeto matemático denominado grafo, cuyo estudio constituye el apartado teórico de partida sobre el cual fundamentar los modelos que se estudian a continuación. Estos modelos son tres: los modelos de árbol y arborescencias, los modelos de caminos y los modelos de flujo. La exposición que se hace de todos ellos es muy similar. Se comienza por presentar algunos ejemplos caracterı́sticos de la situación que se quiere modelar; a continuación, se analizan los correspondientes algoritmos de solución; finalmente, se ilustran con un ejemplo de su puesta en práctica. Método de estudio El texto está concebido para el estudio individual, según la metodologı́a propia de la enseñanza a distancia. Cada tema se desarrolla de manera autoX suficiente, motivando los conceptos y resultados introducidos y presentando ejemplos de los mismos. Las demostraciones y ejemplos se exponen con detalle, deteniéndose incluso en aspectos elementales, con objeto de facilitar lo más posible la comprensión del texto en las primeras lecturas. Es aconsejable leer el texto de manera activa, reflexionando sobre los problemas planteados y tratando de adelantarse a la solución de los mismos. Esta recomendación es especialmente útil para la lectura de los ejemplos. Al finalizar cada unidad didáctica se incluye un breve conjunto de problemas de autoevaluación que permiten comprobar tanto el grado de asimilación de los conocimientos como el nivel de desarrollo de las habilidades prácticas que persigue el estudio de la asignatura. Aunque se presentan unas indicaciones sucintas de la solución de los mismos, es recomendable realizar un detenido análisis de dichos problemas. Agradecimientos La composición técnica del libro se ha realizado mediante el software TEX, utilizando el formato LATEXy diversos comandos desarrollados por el autor. En la preparación del original ha sido inestimable la colaboración de Eugenio Tranchero. Con la atenta lectura del borrador, Rafael Sanmartı́n ha contribuido a la cuidadosa depuración de las erratas e incorporación de diversas sugerencias que han enriquecido el texto final. Queremos hacer constar nuestro agradecimiento a ambos. Madrid, Diciembre de 2012. XI UNIDAD DIDÁCTICA I El modelo de programación no lineal Introducción 3 INTRODUCCIÓN La formulación más general del modelo de optimización estática y determinista es el modelo de programación no lineal. Esta unidad didáctica se dedica al estudio de este modelo y puede dividirse en dos grandes partes: la primera dedicada a la búsqueda y formulación de condiciones teóricas de optimalidad y la segunda que se ocupa del diseño de algoritmos para la obtención de la solución numérica. Tras introducir los conceptos básicos y presentar algunos ejemplos de aplicación del modelo, se desarrollan algunas condiciones teóricas de optimalidad para el problema de programación no lineal. Este estudio es interesante no sólo desde el punto de vista teórico sino porque a partir de dichas condiciones es posible idear algoritmos de solución. Una de las condiciones de existencia de óptimo más conocidas es el teorema de Weierstrass, que garantiza que cualquier función continua definida en un conjunto compacto alcanza en él su máximo y su mı́nimo. Esta condición es no computable, en el sentido que de ella no es posible extraer criterios numéricos susceptibles de ser programados en un computador. Las condiciones de óptimo que estudiaremos aquı́ son, en su mayor parte, condiciones de las que pueden seguirse criterios numéricos de óptimo. Para ello es necesario suponer hipótesis de diferenciabilidad y convexidad a las funciones del problema. La convexidad es una hipótesis clave para la obtención de las condiciones de óptimo más relevantes. Por ello es preciso hacer un detenido estudio de las propiedades de las funciones convexas y de sus extensiones como la cuasiconvexidad y la pseudoconvexidad. Luego se expondrán diversas condiciones, necesarias y suficientes, que debe cumplir el óptimo del problema de programación no lineal. El apartado dedicado a la exposición de algoritmos para la resolución numérica de los problemas de programación no lineal está dividido en dos bloques. Inicialmente, se estudiarán algunos métodos para la optimización de una función sin presencia de condiciones de restricción y posteriormente se analizará el caso general en el que se considerarán problemas con restricciones. Si bien es cierto que la mayorı́a de las aplicaciones prácticas de los modelos de optimización incluye restricciones, el estudio de las técnicas de optimización sin restricciones es importante por varias razones. En primer lugar, muchos algoritmos de optimización con restricciones resuelven el problema transformándolo en una sucesión de problemas sin restricciones, utilizando para ello, por ejemplo, multiplicadores de Lagrange, funciones de penalización o funciones barrera. En segundo lugar, otros algoritmos de optimización con restricciones actúan de la manera siguiente: parten de un punto y, a continua- 4 C AP ÍTULO 1 El modelo de programación no lineal ción, buscan una dirección a lo largo de la cual optimizan la función criterio. Este problema de búsqueda del óptimo a lo largo de una dirección de mejora de la función objetivo es un problema sin restricciones, o bien, con frecuencia, con simples restricciones de acotación. Finalmente, varias de las técnicas de optimización sin restricciones pueden extenderse de una manera natural para incluir restricciones, por lo que pueden servir para idear y motivar procedimientos de solución para problemas con restricciones. Presentaremos diversos algoritmos para la minimización de una función de una y varias variables; unos aplicables a cualquier función, incluso aunque no sea diferenciable, y otros más fuertes basados en la utilización de derivadas. En el último apartado de la unidad didáctica se aborda el estudio de los métodos numéricos para resolver el modelo más general, es decir, el problema de programación no lineal con restricciones. Este estudio de los algoritmos de optimización con restricciones incluirá dos grandes familias: los métodos de direcciones factibles y los métodos de penalización. O BJETIVOS Conocer el modelo de programación no lineal. Determinar las condiciones teóricas que deben verificar las soluciones óptimas del problema de programación no lineal. Saber resolver teóricamente el problema de programación no lineal. Conocer el concepto de algoritmo para resolver numéricamente el problema de programación no lineal. Conocer y saber aplicar diversos algoritmos para la optimización sin restricciones de una función numérica. Conocer las principales familias de algoritmos para la resolución numérica de un problema de programación no lineal general. Saber aplicar los métodos numéricos para resolver prácticamente un modelo de programación no lienal. C ONTENIDOS 1.1 El modelo de programación no lineal 1.1.1 Definiciones 1.1.2 Solución gráfica de un problema de programación no lineal 1.1.3 Ejemplos de problemas de programación no lineal 1.1.3.1 Diseño de prototipos 1.1.3.2 Localización de equipos 1.1.3.3 Modelo de producción-inventario 1.1.3.4 Modelo de construcción de una autopista Introducción 1.1.3.5 Un modelo para la administración óptima de recursos hidráulicos 1.1.3.6 Ajuste de curvas 1.1.3.7 Estimación de modelos de correlación para tablas de contingencia 1.2 Funciones convexas y generalizaciones 1.2.1 Definiciones y propiedades básicas 1.2.1.1 Continuidad de las funciones convexas 1.2.1.2 Derivada direccional de una función convexa 1.2.1.3 Subgradiente de una función convexa 1.2.2 Funciones convexas diferenciables 1.2.2.1 Funciones convexas una vez diferenciables 1.2.2.2 Funciones convexas dos veces diferenciables 1.2.3 Máximos y mı́nimos de funciones convexas 1.2.3.1 Minimización de una función convexa 1.2.3.2 Maximización de una función convexa 1.2.4 Generalización de funciones convexas 1.2.4.1 Funciones cuasiconvexas 1.2.4.2 Funciones cuasiconvexas diferenciables 1.2.4.3 Funciones estrictamente cuasiconvexas 1.2.4.4 Funciones fuertemente cuasiconvexas 1.2.4.5 Funciones pseudoconvexas 1.2.5 Convexidad en un punto 1.3 Condiciones de óptimo en programación no lineal 1.3.1 Problemas sin restricciones 1.3.1.1 Condiciones necesarias de óptimo 1.3.1.2 Condiciones suficientes de óptimo 1.3.2 Problemas con restricciones de desigualdad 1.3.2.1 Condiciones de óptimo de tipo geómetrico 1.3.2.2 Condiciones de óptimo de Fritz John 1.3.2.3 Condiciones de óptimo de Karush, Kuhn y Tucker 1.3.3 Problemas con restricciones de igualdad y desigualdad 1.3.3.1 Condiciones de óptimo de tipo geométrico 1.3.3.2 Condiciones de óptimo de Fritz John 1.3.3.3 Condiciones de óptimo de Karush, Kuhn y Tucker 1.4 Algoritmos de programación no lineal 1.4.1 Algoritmos y convergencia 1.4.1.1 Conceptos básicos 1.4.1.2 Convergencia de algoritmos 1.4.1.3 Composición de aplicaciones algorı́tmicas 5 6 UNIDAD DID ÁCTICA 1 El modelo de programación no lineal 1.4.1.4 Minimización a lo largo de direcciones independientes 1.4.2 Comparación entre algoritmos 1.4.2.1 Orden de convergencia de un algoritmo 1.5 Algoritmos de optimización sin restricciones 1.5.1 Minimización unidimensional sin usar derivadas 1.5.1.1 Búsqueda Uniforme 1.5.1.2 Método de la sección áurea 1.5.1.3 Método de búsqueda de Fibonacci 1.5.2 Minimización unidimensional con derivadas 1.5.2.1 Método de Newton unidimensional 1.5.3 Carácter cerrado de la aplicación algorı́tmica de búsqueda lineal 1.5.4 Minimización multidimensional sin usar derivadas 1.5.4.1 El método de Hooke y Jeeves 1.5.5 Minimización multidimensional con derivadas 1.5.5.1 El método del descenso más pronunciado 1.5.5.2 Método de Newton 1.5.6 Métodos de direcciones conjugadas 1.5.6.1 El método de Davidon, Fletcher y Powell 1.6 Algoritmos de optimización con restricciones 1.6.1 Métodos de direcciones factibles 1.6.1.1 Método de Zoutendijk para problemas con restricciones lineales 1.6.1.2 Método de Zoutendijk para problemas con restricciones no lineales de desigualdad 1.6.1.3 Método de Zoutendijk para restricciones no lineales de igualdad 1.6.1.4 Convergencia del método de Zoutendijk 1.6.1.5 El algoritmo de Topkis-Veinott 1.6.1.6 Convergencia del método de Topkis y Veinott 1.6.1.7 El método del gradiente reducido de Wolfe 1.6.2 Métodos de penalización 1.6.2.1 Métodos de penalización exterior 1.6.2.2 Métodos de la función barrera El modelo de programación no lineal 1.1 7 El modelo de programación no lineal 1.1.1 Definiciones El problema general de programación matemática puede formularse de la manera siguiente. PROBLEMA DE PROGRAMACIÓN MATEMÁTICA Definición 1.1. Optimizar f ( x) sujeto a x∈S siendo x = (x1 , x2 , . . . , xn ) un vector de En , f : En −→ E1 y S ⊂ En un subconjunto cualquiera. La función f se denomina función objetivo, función criterio o función económica y es la función que se quiere optimizar, término que engloba dos posibilidades: maximizar o minimizar. El conjunto S es la región factible. Si S es vacı́o, el problema se dice no factible. Los puntos x ∈ S son las soluciones factibles o solución realizables. Según sea el conjunto S se tienen dos grandes grupos de problemas: Problemas sin restricciones: S = En Es poco frecuente que una situación real pueda modelarse de manera precisa mediante un problema sin restricciones. Sin embargo es importante el estudio de este tipo de problemas porque se utilizan como subrutinas en la resolución de problemas con restricciones. Problemas con restricciones: S = {x ∈ X ⊂ En | gi (x) ≤ 0, i = 1, . . . , m; hi (x) = 0, i = 1, . . . , ℓ} donde X es un subconjunto de En , gi : En −→ E1 , i = 1, . . . , m, se llaman restricciones de desigualdad y hi : En −→ E1 , i = 1, . . . , ℓ son las restricciones de igualdad. Según las caracterı́sticas de las funciones del problema y de las variables se tienen diferentes tipos de problemas de programación matemática. Si todas las funciones del problema, objetivo y restricciones, son funciones lineales entonces se trata de un problema de programación lineal. Si la función del objetivo es una función cuadrática y las restricciones son lineales se habla de un problema de programación cuadrática. Si en el planteamiento del problema entran consideraciones de probabilidad el problema es de programación estocástica; si se incluye el tiempo en la formulación del problema, se trata de un problema de programación dinámica. Como puede verse hay varios modelos de 8 UNIDAD DID ÁCTICA 1 El modelo de programación no lineal programación matemática. En esta unidad didáctica estudiaremos los problemas de programación no lineal cuya forma general se presenta en la siguiente definición. PROBLEMA DE Definición 1.2. PROGRAMACIÓN Minimizar NO LINEAL f ( x) sujeto a gi (x) ≤ 0 hi (x) = 0 x ∈ X i = 1, . . . , m i = 1, . . . , ℓ siendo f , g1 , . . . , gm , h1 , . . . , hℓ funciones definidas en En con valores en E1 , X un subconjunto de En y x un vector de n componentes (x1 , . . . xn ). En la definición 1.2 la expresión minimizar puede sustituirse por maximizar. Ambos términos pueden considerarse equivalentes para el desarrollo teórico, puesto que si se tiene un problema de minimización es posible formular otro equivalente de maximización, y recı́procamente, sin más que tener en cuenta la igualdad Min f = −Max − f Asimismo, es obvio decir que el problema podrı́a haberse formulado con restricciones de desigualdad del tipo ’mayor o igual’, g(x) ≥ 0, sin más que tener en cuenta que la condición g(x) ≥ 0 es equivalente a −g(x) ≤ 0. Como se sigue de la formulación anterior, el problema de programación no lineal consiste en encontrar, si existen, valores de las variables x1 , . . . , xn que satisfacen todas las restricciones y minimizan la función f . Se puede considerar entonces la siguiente formulación alternativa. PROBLEMA DE PROGRAMACIÓN Definición 1.3. Hallar, si existe, x = (x1 , . . . , xn ) perteneciente a la región factible NO LINEAL: FORMULACIÓN ALTERNATIVA S = {x ∈ X ⊂ En | gi (x) ≤ 0, i = 1, . . . , m; hi (x) = 0, i = 1, . . . , ℓ} tal que f ( x) ≥ f ( x ) , para todo x ∈ S En general, dadas las caracterı́sticas de las funciones no lineales, la condición f (x) ≥ f (x) para cualquier punto factible, que caracteriza a la solución óptima del problema, es de difı́cil comprobación práctica. Por ello, es habitual considerar otras alternativas en el concepto de solución óptima del problema de programación no lineal. Al respecto debemos notar dos hechos: en primer lugar, sólo los puntos factibles pueden ser óptimos; en segundo lugar, la optimalidad de un punto x viene dada por su relación con otros puntos factibles pertenecientes a un en- El modelo de programación no lineal Mı́nimo global Mı́nimo local débil 9 Mı́nimo local fuerte Figura 1.1: Mı́nimo global y mı́nimos locales (débil y fuerte). torno del punto considerado, es decir, a los puntos pertenecientes a un conjunto de la forma Nε (x) = {x ∈ En | ||x − x|| < ε }, siendo ε > 0 un escalar. Esto nos conduce a definir diversos conceptos de solución óptima del problema de minimización. MÍNIMO LOCAL FUERTE DEL PROBLEMA DE PROGRAMACIÓN NO LINEAL Definición 1.4. Un punto x es un mı́nimo local fuerte del problema de programación no lineal si existe un entorno de x, Nε (x) con ε > 0, tal que i) f (x) está definida en Nε (x). ii) f (x) < f (x) para todo x ∈ S ∩ Nε (x), x 6= x. En el caso en que x sea el único punto factible también se considera un mı́nimo local fuerte. MÍNIMO LOCAL DÉBIL DEL PROBLEMA DE PROGRAMACIÓN NO LINEAL Definición 1.5. Un punto x es un mı́nimo local débil del problema de programación no lineal si existe un entorno de x, Nε (x) con ε > 0, tal que i) f (x) está definida en Nε (x). ii) f (x) ≤ f (x) para todo x ∈ S ∩ Nε (x), x 6= x. iii) x no es un mı́nimo local fuerte. Las definiciones anteriores implican que un punto x no es un mı́nimo local cuando existe un entorno del punto con al menos otro punto con valor menor de la función objetivo. La mayor parte de los resultados que pueden obtenerse en programación no lineal son resultados que caracterizan mı́nimos locales. En las aplicaciones prácticas estas caracterizaciones proporcionan resultados suficientemente satisfactorios. No obstante en algunos casos es posible caracterizar el mı́nimo global que, como se ha indicado en la definición 1.2, viene caracterizado de la manera siguiente. 10 UNIDAD DID ÁCTICA 1 El modelo de programación no lineal MÍNIMO GLOBAL Definición 1.6. Un punto x es un mı́nimo global si DEL PROBLEMA f ( x) ≤ f ( x) DE PROGRAMACIÓN para todo x ∈ S NO LINEAL Figura 1.2: La función y = x3 . Figura 1.3: La función y = ex . La figura 1.1 representa diversos tipos de mı́nimo de una función. No todos los problemas de programación no lineal, incluso aunque su región factible sea no vacı́a, tienen que tener solución óptima, ni siquiera en el caso de que la función objetivo esté acotada. Por ejemplo, la función f (x) = x3 no tiene mı́nimo finito, figura 1.2, y la función f (x) = ex , aun siendo acotada inferiormente, no alcanza su mı́nimo, figura 1.3. Las definiciones que se han dado de mı́nimo local fuerte y débil no son computables. Exigen el cálculo del valor de la función en un entorno con infinitos puntos, lo cual no es viable desde el punto de vista computacional, ni siquiera admitiendo la posibilidad de evaluar la función en un conjunto finito de puntos representativos. Por tanto, hay que buscar otra manera de comprobar la optimalidad de una solución dada. Si las funciones del problema poseen ciertas propiedades, tales como la diferenciabilidad, es posible encontrar condiciones que se pueden calcular. Éstas van a ser el tipo de condiciones que se van a estudiar en esta unidad didáctica. 1.1.2 Solución gráfica de un problema de programación no lineal Algunos problemas de programación no lineal con dos o tres variables pueden admitir una representación gráfica en el plano o en el espacio, a partir de la cual puede razonarse el modo de encontrar la solución óptima del mismo. Veamos un ejemplo. EJEMPLO 1.1 Consideremos el siguiente problema de programación no lineal Minimizar f (x1 , x2 ) ≡ (x1 − 3)2 + (x2 − 2)2 sujeto a g 1 ( x1 , x2 ) ≡ x21 −x2 −3 ≤ 0 g 2 ( x1 , x2 ) ≡ x2 −1 ≤ 0 g3 (x1 , x2 ) ≡ −x1 ≤0 La representación del problema en el plano cartesiano (x1 , x2 ) se encuentra en la figura 1.4. Para determinar la región factible, representamos en el plano cada una de las tres restricciones g1 , g2 y g3 . La curva gi = 0, i = 1, 2, 3, divide al plano en dos regiones, una formada por los puntos (x1 , x2 ) en los cuales gi (x1 , x2 ) ≤ 0 y otra en los que se verifica la desigualdad gi (x1 , x2 ) ≥ 0. Es sencillo averiguar cuál es la región correspondiente a cada desigualdad sin más que observar el valor que toma gi en un punto cualquiera, por ejemplo en el origen. La región factible será la intersección de las tres regiones correspondiente a las tres restricciones. En la figura 1.4 viene representada en color oscuro. El modelo de programación no lineal g1 ≤ 0 x2 f = f = 2 = mı́nimo 3 • 2 • 1 g2 ≤ 0 −2 11 x2 − 1 = 0 x1 −1 1 3 4 5 Solución óptima −1 Región factible −2 −3 2 g3 ≤ 0 Figura 1.4: Representación gráfica de un problema de programación no lineal Para determinar la solución óptima, representamos las curvas de nivel de la función objetivo, es decir, las curvas de la forma f (x1 , x2 ) = k, donde k es una constante. En la figura 1.4 √ se ve que dichas curvas son circunferencias centradas en el punto (3, 2) con radio k y se representan con lı́neas de puntos. La solución óptima del problema será un punto de la región factible tal que la circunferencia de nivel que pase por él sea la de menor radio, entre todas las que tienen puntos en común con la región factible. Dicho de otra manera, el punto óptimo será el ‘primer’ punto de la región factible al cual alcancen las curvas de nivel de la función objetivo al hacer crecer a la constante k. En la figura 1.4 se aprecia que dicho punto es el punto del cuadrante x1 ≥ 0, x2 ≥ 0 en el que se cortan las restricciones g1 y g2 , es decir, es la solución, con valores no negativos, del sistema de ecuaciones x21 − x2 − 3 = 0 y x2 − 1 = 0, que corresponde al punto x1 = 2, x2 = 1. En este punto la función objetivo vale f (2, 1) = 2 que es el valor mı́nimo buscado. Podemos observar que el mı́nimo sin restricciones de la función objetivo es precisamente el punto (3, 2), en el cual f (3, 2) = 0. Éste es el menor valor que puede tomar f . De hecho, el valor de la función objetivo en el punto (x1 , x2 ) no es más que el cuadrado de la distancia euclı́dea desde el punto (x1 , x2 ) al punto (3, 2). Este problema tiene una interpretación sencilla: se trata de encontrar el punto de la región factible que está a menor distancia del punto (3, 2). 1.1.3 Ejemplos de problemas de programación no lineal 1.1.3.1 Diseño de prototipos Supongamos que se quiere diseñar un contenedor, cerrado en el fondo y abierto por la parte superior, para transportar M metros cúbicos de un árido 12 UNIDAD DID ÁCTICA 1 El modelo de programación no lineal desde un punto A a otro punto B. El costo del fondo y de las partes laterales es de a euros por metro cuadrado, mientras que el costo de las extremos es de b euros por metro cuadrado. La caja no tiene precio de reventa y cada viaje de ida y vuelta entre A y B cuesta c euros. Se desea saber qué dimensiones debe tener el contenedor para que el coste conjunto de fabricación y transporte sea lo menor posible. El modelo matemático Variables: El contenedor queda determinado al conocer sus dimensiones. Por tanto, podemos considerar las siguientes variables: • x1 = metros de largo, • x2 = metros de ancho, • x3 = metros de alto. Restricciones: • Condiciones naturales de no negatividad de las dimensiones: x1 , x2 , x3 ≥ 0 Función objetivo: Hay que considerar el coste total de la operación, es decir, el coste de fabricar el contenedor más el coste de los viajes necesarios para transportar los M metros cúbicos del árido. • Fabricación: • Transporte: Coste fabricación Coste viajes = = = = = Coste fondo a x1 x2 + + Coste de cada viaje c c Coste laterales × 2a x1 x3 + + Viajes necesarios Coste extremos 2b x2 x3 cúbicos mercancı́a × Metros Capacidad contenedor M × x1 x2 x3 En sı́ntesis, el modelo de programación no lineal para el problema del diseño de un contenedor es el siguiente: Minimizar f (x1 , x2 , x3 ) = a x1 x2 + 2a x1 x3 + 2b x2 x3 + c sujeto a x1 , x2 , x3 ≥ 0 M x1 x2 x3 El modelo de programación no lineal 13 1.1.3.2 Localización de equipos Muchas empresas de servicios se enfrentan, con frecuencia, con el problema de determinar la ubicación óptima de sus centros de actividades. Situaciones caracterı́sticas son la colocación de máquinas en una factorı́a, la ubicación de los distintos departamentos dentro una fábrica, la propia localización de las fábricas o almacenes en un región geográfica a fin de servir una red de clientes, la localización de los equipos de emergencia en un área urbana, como la policı́a, bomberos, etc., los servicios sociales como las escuelas, centros sanitarios y otros varios. Plantearemos a continuación un modelo sencillo relativo a este tipo de problemas. Sea un conjunto de mercados cuyas localizaciones geográficas son fijas y conocidas, y cuyas demandas de un determinado producto son también conocidas. Se pretenden satisfacer dichas demandas mediante una red de almacenes cuyas capacidades son asimismo conocidas. Se trata de determinar en dónde han de ubicarse dichos almacenes, de forma que la distancia total recorrida al enviar los productos desde los almacenes a los puntos de demanda sea lo menor posible. Para fijar ideas, supongamos que el número de mercados es n, con demandas conocidas r j , j = 1, . . . , n, y situados en los puntos de coordenadas (a j , b j ), j = 1, . . . , n. Supongamos, asimismo, que se ha decidido satisfacer dicha demanda mediante un conjunto de m almacenes, cada uno de ellos con capacidad ci , i = 1, . . . , m. El problema es determinar en qué lugares hay que situar los almacenes para que el coste de transportar la mercancı́a desde dichos almacenes a los mercados sea lo menor posible, supuesto que se satisfacen las necesidades de cada mercado y no se supera la disponibilidad de cada almacén. El modelo matemático Variables: Llamemos (xi , yi ) a la localización desconocida del almacén i. Sea di j la distancia desde el almacén i al mercado j, i = 1, . . . , m; j = 1, . . . , n. Podemos considerar diferentes medidas de distancia. di j = |xi − a j | + |yi − b j | di j = [(xi − a j )2 + (yi − b j )2 ]1/2 Para cada una de ellas tendremos un modelo diferente. Por otra parte, llamemos wi j al número de unidades del producto enviadas desde el almacén i al mercado j, i = 1, . . . , m; j = 1, . . . , n. Restricciones: 14 UNIDAD DID ÁCTICA 1 El modelo de programación no lineal • Demanda de los mercados: m ∑ wi j ≥ r j j = 1, . . . , n i= 1 • Disponibilidad de los almacenes: n ∑ wi j ≤ ci i = 1, . . . , m j =1 Función objetivo: m n ∑ ∑ wi j di j i= 1 j = 1 En resumen, el problema de localizar los almacenes y determinar el patrón de envı́o puede establecerse de la manera siguiente: m Minimizar n ∑ ∑ wi j di j i= 1 j = 1 sujeto a m ∑ wi j ≥ rj j = 1, . . . , n ∑ wi j ≤ ci i = 1, . . . , m i= 1 n j =1 wi j ≥ 0 i = 1, . . . , m; j = 1, . . . , n Como hay que determinar wi j y di j se tiene un problema de programación no lineal. Si en lugar de di j se introduce en el modelo su expresión en función de (xi , yi ) y (a j , b j ) se tiene un problema de programación no lineal en las variables x1 , . . . , xm ; y1 , . . . , ym y w11 , . . . , wmn . Podemos observar que si la localización de los almacenes es fija, entonces las di j son conocidas y el problema anterior no es otro que el conocido problema del transporte1 . 1.1.3.3 Modelo de producción-inventario Consideremos una compañı́a que fabrica un determinado producto con la finalidad de satisfacer una demanda conocida y que precisa hacer una planificación de la producción para un total de K perı́odos de tiempo. Se admite que durante cualquier perı́odo la demanda puede satisfacerse mediante las unidades disponibles en inventario al comienzo del perı́odo y la producción durante dicho perı́odo. La demanda es conocida y resulta ser dk unidades de producto en el perı́odo k = 1, . . . , K. Cada trabajador tiene capacidad para producir p unidades de producto en cada perı́odo, si bien la máxima cantidad de producto que se puede fabricar durante un determinado perı́odo está restringida por la 1 Ver Ramos, E. (2012): Programación lineal y entera, Ediciones Académicas, pg. 331. El modelo de programación no lineal 15 capacidad de producción del equipo de que se dispone, por lo que no puede exceder de b unidades. Se supone que es posible contratar temporalmente mano de obra cuando se necesita y despedirla cuando es superflua. Sin embargo para desalentar grandes fluctuaciones en la cantidad de personal contratado, existe un coste de contratación que es proporcional al cuadrado de la diferencia entre la mano de obra contratada al final de un perı́odo y el comienzo del siguiente, con constante de proporcionalidad igual a c1 . Por otra parte, se supone que se incurre en un coste de almacenamiento que es proporcional al inventario que pasa de un perı́odo al siguiente, cuya constante de proporcionalidad es c2 . El modelo pretende determinar la fuerza laboral de que debe disponer la empresa y el correspondiente inventario durante los periodos 1, . . . , K, de forma que se satisfaga la demanda de los clientes y se minimice el coste total de operación de la fábrica. Como datos iniciales se sabe que el inventario y la fuerza laboral existente al comienzo de las operaciones es respectivamente I0 y L0 . El modelo matemático Variables: Las variables que definen el modelo son: Ik = nivel del inventario al finalizar el perı́odo k = 1, . . . , K. Lk = fuerza laboral existente al finalizar el perı́odo k = 1, . . . , K. Podemos considerar la variable auxiliar: uk = fuerza laboral adquirida al comienzo del periodo k = 1, . . . , K. Observemos que si uk < 0 se entiende que la fuerza laboral se ha reducido en el perı́odo k una cantidad uk . Restricciones: • Equilibrio de la fuerza laboral: Lk = Lk−1 + uk k = 1, . . . , K • Equilibrio del inventario: Ik = Ik−1 + p Lk−1 − dk k = 1, . . . , K • Limitaciones de producción: 0 ≤ Lk ≤ b p k = 1, . . . , K • No negatividad del nivel de inventario: Ik ≥ 0 k = 1, . . . , K 16 UNIDAD DID ÁCTICA 1 El modelo de programación no lineal Función objetivo: El coste de operación incluye los costes de estabilidad de la plantilla y el coste de almacenamiento: K ∑ (c1 u2k + c2 Ik ) k=1 El problema de producción-inventario puede establecerse como sigue: K ∑ (c1 u2k + c2 Ik ) Minimizar k=1 sujeto a Lk = Lk−1 + uk Ik = Ik−1 + p Lk−1 − dk b 0 ≤ Lk ≤ p Ik ≥ 0 k = 1, . . . , K k = 1, . . . , K k = 1, . . . , K k = 1, . . . , K 1.1.3.4 Modelo de construcción de una autopista Supongamos que se quiere construir una carretera sobre un terreno desigual. Se supone que el costo de construcción es proporcional a la cantidad de escombro que hay que añadir o remover. Sea T la longitud de la carretera y sea c(t ) la altura conocida del terreno para t ∈ [0, T ]. El modelo tiene como objetivo encontrar la ecuación y(t ) que describe la altura óptima de la carretera para t ∈ [0, T ]. Las restricciones que se pueden considerar son varias. En concreto, para evitar que la pendiente de la carretera sea excesiva se puede exigir que la pendiente máxima no debe exceder de b1 , es decir, |ẏ(t )| ≤ b1 Además, para reducir los inconvenientes de la conducción, la razón de cambio de la pendiente de la carretera no debe exceder de b2 , es decir, |ÿ(t )| ≤ b2 Además como condiciones inicial y final se ha de cumplir que y(0) = a, y(T ) = b. El modelo matemático El problema puede establecerse de la forma siguiente: Minimizar Z T 0 sujeto a |ẏ(t )| |ÿ(t )| y( 0) y( T ) |y(t ) − c(t )| dt ≤ ≤ = = b1 t ∈ [0, T ] b2 t ∈ [0, T ] a b El modelo de programación no lineal 17 Tal como está formulado se trata del problema de control óptimo continuo, en el cual la variable de control es u(t ) = |y(t ) − c(t )| que es la cantidad de tierra que hay que remover. Podemos plantear el problema anterior de manera aproximada mediante un problema de programación no lineal. Para ello, pongamos y1 = y; y2 = ẏ y dividamos la carretera en K intervalos, suponiendo por simplicidad que cada uno de ellos tiene longitud 1. Denotemos c(k), y1 (k), y2 (k) respectivamente por ck , y1,k e y2,k . Aproximaremos ẏ e ÿ por diferencias finitas, teniendo presente que hemos supuesto que la longitud del intervalo es igual a 1. El problema se puede plantear de la forma siguiente: K Minimizar ∑ |y1,k − ck | k=1 sujeto a y1,k − y1,k−1 −b1 −b2 y1,0 y1,K = ≤ ≤ = = y2,k−1 k = 1, . . . , K y2,k ≤ b1 k = 0, . . . , K − 1 y2,k − y2,k−1 ≤ b2 k = 1, . . . , K − 1 a b 1.1.3.5 Un modelo para la administración óptima de recursos hidráulicos Consideremos el esquema de la figura 1.5 que representa una presa hidráulica que cierra un rı́o y embalsa el agua para uso agrı́cola y generación de corriente eléctrica. Se supone que la central eléctrica está cercana al rı́o. Parte del agua destinada al uso agrı́cola llega directamente desde la presa, mientras que la otra parte alcanza su destino después de haber pasado por la central eléctrica. Vamos a desarrollar un modelo de optimización para la administración de los recursos hidráulicos tanto para la generación de energı́a como para el uso agrı́cola. El modelo matemático Para construir el modelo adoptaremos un horizonte de planificación de N perı́odos de tiempo, correspondientes al tiempo de vida previsto para las principales inversiones, tales como la construcción de la presa, las canalizaciones, etc. Variables: En este problema podemos considerar dos tipos de variables: 1. Variables de diseño: 18 UNIDAD DID ÁCTICA 1 El modelo de programación no lineal yj Presa xM j xAj Central Eléctrica Rı́o xPA j Zona Agrı́cola Canal Principal xPM j Figura 1.5: Esquema de un sistema de utilización de recursos de agua. S U = = E = Capacidad de la presa. Capacidad del canal que suministra agua a la agricultura. Capacidad de la planta eléctrica. 2. Variables operativas: En la figura pueden identificarse fácilmente las siguientes variables para j = 1, . . . , N. yj xAj = = xPA j = xPM j = xMj = Cantidad de agua que recibe la presa. Cantidad de agua liberada desde la presa a la agricultura. Cantidad de agua liberada para potencia eléctrica y luego para la agricultura. Cantidad de agua liberada para potencia eléctrica y luego devuelta al rı́o. Cantidad de agua liberada desde la presa directamente en el rı́o. Consideramos también las siguientes variables auxiliares para j = 1, . . . , N: El modelo de programación no lineal sj fj δ = = = 19 Cantidad de agua existente en la reserva. Cantidad de energı́a producida. 0,1 variable binaria utilizada en la función objetivo. Restricciones: 1. Restricciones de generación de potencia. • La potencia generada no puede exceder a la energı́a potencial del agua suministrada, de forma que: PA f j ≤ xPM ψ (s j ) γ ℓ j + xj en donde ψ (s j ) es una función conocida proporcionada por los técnicos de ingenierı́a eléctrica que depende del agua s j almacenada en la reserva en el periodo j, γ es un factor conocido de conversión de potencia y ℓ es la eficiencia conocida del sistema de potencia. • La potencia generada no puede exceder de la capacidad de generación de la planta eléctrica, por lo que: f j ≤ αj E ℓHj en donde α j es un factor de carga conocido y H j número de horas de operación, que se supone dado en el modelo. • La capacidad de la planta ha de estar dentro de lı́mites aceptables dados, es decir, E ′ ≤ E ≤ E ′′ 2. Restricciones de reserva. • Si se desprecian las pérdidas por evaporación, entonces la cantidad de agua y j que recibe la presa debe ser igual al cambio en la cantidad almacenada en la presa y al agua liberada para diferentes propósitos. Esto puede expresarse como: PA s j+1 − s j + xAj + xMj + xPM j + xj = yj • Un segundo conjunto de restricciones establece que el agua almacenada en la reserva deberı́a ser adecuada y estar dentro de los lı́mites aceptables, es decir S′ ≤ s j ≤ S′′ 3. Restricción acerca del agua que hay que liberar obligatoriamente. Inicialmente es necesario especificar que una cierta cantidad de agua conocida M j debe liberarse corriente abajo para satisfacer las necesidades del rio. Esto puede escribirse como xMj + xPM j ≥ Mj 20 UNIDAD DID ÁCTICA 1 El modelo de programación no lineal 4. Capacidad del canal. Finalmente necesitamos especificar que la capacidad del canal U deberı́a ser adecuada para manejar las necesidades agrı́colas. Por tanto: xAj + xPA j ≤U Función objetivo: El objetivo es minimizar el coste total descontado asociado con la reserva, planta de potencia y canal de la agricultura, menos las ganancias derivadas de la generación de potencia y la agricultura. Vamos a discutir estos costes. 1. Planta de energı́a Asociada con la planta de energı́a tenemos el coste: N C (E ) + ∑ β j Ĝe (E ) j =1 δ ( N en donde C (E ) es el coste de la planta de energı́a, estructuras asociadas y equipos de transmisión en función de la capacidad de la planta E, Ĝe (E ) es el coste anual de operación, mantenimiento y costes de reemplazamiento de los equipos de energı́a en función de E y β j es el factor de descuento para dar el valor presente del coste en el perı́odo j. Las ganancias descontadas asociadas con la venta de electricidad pueden expresarse como: ) ) ( ∑ β j [ p j Fj + pd ( f j − Fj ) ] + (1− δ ) j =1 n ∑ β j [ p j f j + ps (Fj − f j ) ] j =1 en donde Fj es la demanda de energı́a de la firma conocida que puede venderse a un precio conocido p f . La expresión anterior se completa con la condición δ = 1 si f j > Fj y δ = 0, si f j < Fj . Si δ = 1 el exceso de energı́a f j − Fj puede venderse a precio de saldo conocido pd , mientras que si δ = 0 se incurre en una penalidad de ps (Fj − f j ) puesto que es necesario comprar electricidad de otras empresas. 2. Reserva y canal • Los costes de capital descontados vienen dados por Cr (S) + α Cℓ (U ) en donde Cr (S) es la función que da el coste de la presa cuando su capacidad es S, Cℓ (U ) es la función de coste del canal El modelo de programación no lineal 21 principal cuando su capacidad es U y α es un escalar para tener en cuenta el menor tiempo de vida del canal comparado con la presa. • Los costes de operación descontados vienen dados por N ∑ βj j =1 h Cbr (S) + Cbℓ (U ) i 3. Beneficios del riego La cosecha producida por el riego puede expresarse como una función R del agua usada para riego durante el perı́odo j. Entonces los beneficios de la agricultura vienen dados por N ∑ βj R j =1 xAl + xPA j Aquı́ se ha despreciado el agua suministrada por la lluvia. En resumen, el problema consistirá en minimizar los costes netos sometidos a todo el conjunto de restricciones. 1.1.3.6 Ajuste de curvas En una investigación cientı́fica, en campos tales como la biologı́a, quı́mica, economı́a, etc. suele interesar el observar una variable y que depende del tiempo t, según una relación que el investigador supone tiene una cierta forma funcional, por ejemplo, lineal, cuadrática, logarı́tmica, exponencial, etc. Dicha relación depende de unos parámetros que la caracterizan, y el objetivo de la investigación es estimar dichos parámetros a partir de una muestra de observaciones. Un criterio de estimación clásico es el criterio de mı́nimos cuadrados. Con este criterio el problema de estimación es un problema de programación no lineal. Por ejemplo, supongamos que la hipótesis del investigador es que una variable económica Y depende del tiempo t según una relación de tipo exponencial de la forma Y = a + bect donde a, b, c son parámetros del modelo que hay que estimar. Supongamos que se dispone de una muestra y1 , y2 , . . . , ym de valores de la variable Y , correspondientes a los valores del tiempo t1 ,t2 , . . . ,tm . Según el criterio de mı́nimos cuadrados, los valores de a, b, c que mejor ajustan la curva se obtienen resolviendo el siguiente problema de minimización: m Minimizar F (a, b, c) = ∑ (yi − (a + bect ))2 i i= 1 22 UNIDAD DID ÁCTICA 1 El modelo de programación no lineal En ocasiones pueden introducirse en el problema restricciones en los parámetros, del tipo a, b ≥ 0, c ≤ 0 u otras que permiten al investigador añadir condiciones al modelo. 1.1.3.7 Estimación de modelos de correlación para tablas de contingencia La prensa publica frecuentemente tablas que recogen la opinión de los ciudadanos sobre diversas cuestiones de interés social. Supongamos, por ejemplo, que interesa conocer el grado de acuerdo de la población con respecto a cierta decisión del gobierno. Para ello se puede realizar una encuesta a una determinada muestra de la población y, si se clasifica a los individuos de acuerdo con su opción polı́tica, los resultados pueden venir tabulados de la forma siguiente: Opción polı́tica Mucho Suficiente Poco Algo Nada NS / NC TOTAL A B C D 10 5 5 0 41 27 24 2 94 76 38 8 94 80 18 8 81 29 15 1 17 6 0 1 337 223 100 20 TOTAL 20 94 216 200 126 24 680 Una tabla como la anterior recibe el nombre de tabla de contingencia. En una investigación como ésta, puede interesar estimar cual es la distribución de probabilidad subyacente en la tabla, dadas las frecuencias observadas. El método usual en estadı́stica para hacerlo es suponer que dicha distribución sigue un modelo dependiente de una serie de parámetros que hay que estimar mediante algún criterio. Los modelos de asociación y correlación para la tabla se basan en la idea de convertir las variables cualitativas que se están observando en variables cuantitativas, asignando para ello valores numéricos a las filas y columnas. Dicho valores se denominan usualmente puntuaciones canónicas, y forman parte de los parámetros del modelo. Esto permite tratar la tabla con herramientas del análisis estadı́stico de variables cuantitativas. Por ejemplo, un modelo de correlación que explica la distribución de probabilidad de la tabla puede ser de la forma siguiente: pi j = pi. p. j (1 + λ xi y j ) i = 1, . . . , I; j = 1, . . . , J en donde pi j es la probabilidad de la casilla i, j, pi. , p. j son parámetros pertenecientes respectivamente a las filas y a las columnas, con el significado de probabilidades marginales, λ es un parámetro con el significado de una medida de correlación y xi , y j son parámetros pertenecientes a las filas y a las columnas con el significado de las puntuaciones canónicas mencionadas anteriormente. El modelo de programación no lineal 23 En este modelo se supone que la probabilidad de la casilla i, j depende de cinco parámetros: pi. , parámetro que tiene el significado de probabilidad total de la fila, p. j parámetro que tiene el significado de probabilidad total de la columna, xi parámetro que significa el valor de la fila i en la variable canónica (cuantitativa) que recorre las filas, de modo similar a como la variable cualitativa “opción polı́tica” las recorrı́a, y j parámetro que significa el valor de la columna j en la variable canónica (cuantitativa) que recorre las columnas, de modo análogo a como lo hacı́a la variable (cualitativa) “grado de acuerdo”, y λ parámetro que hace referencia al nivel de correlación existente entre las filas y las columnas. En el modelo pueden introducirse condiciones que deban cumplir los parámetros. De manera natural ∑ pi j = 1 ij que implica la restricción en los parámetros ∑ pi. p. j (1 + λ xi y j ) = 1 i = 1, . . . , I; j = 1, . . . , J ij Por otra parte, dado que los parámetros pi. , p. j tienen el significado de probabilidades totales marginales son naturales las condiciones ∑ pi j = pi. i = 1, . . . , I ∑ pi j = p. j j = 1, . . . , J j i lo cual conduce a las siguientes restricciones en los parámetros: ∑ p. j (1 + λ xiy j ) = 1 i = 1, . . . , I ∑ pi. (1 + λ xi y j ) = 1 j = 1, . . . , J j i También es usual incluir condiciones que fijen el origen y la escala en las puntuaciones canónicas: ∑ xi pi. = 0 ∑ x2i pi. = 1 ∑ y j p. j = 0 ∑ y2j p. j = 1 i j i j Otro tipo de restricciones en las puntuaciones canónicas que permiten recoger la ordenación (mucho – suficiente – poco – algo – nada – ns/nc) que existe en la variable “grado de acuerdo” son las siguientes: y j ≤ y j +1 j = 1, . . . , J − 1 24 UNIDAD DID ÁCTICA 1 El modelo de programación no lineal Restricciones naturales son pi. ≥ 0 i = 1, . . . , I p. j ≥ 0 j = 1, . . . , J Como criterio de estimación se pueden emplear varios. Utilizando el criterio de máxima verosimilitud la función que hay que minimizar es − ∑ pˆi j ln( pi. p. j (1 + λ xi y j )) ij en donde pˆi j representa la frecuencia relativa observada. En resumen, el problema de estimación de la distribución de probabilidad subyacente en la tabla, cuando se supone un modelo de correlación es el siguiente problema de programación no lineal. Minimizar − ∑ pˆi j ln( pi. p. j (1 + λ xi y j )) ij sujeto a ∑ pi. p. j (1 + λ xi y j ) = 1 i = 1, . . . , I; j = 1, . . . , J ij ∑ p. j (1 + λ xiy j ) = 1 i = 1, . . . , I ∑ pi. (1 + λ xi y j ) = 1 j = 1, . . . , J j i ∑ xi pi. = 0 i ∑ x2i pi. = 1 i ∑ y j p. j = 0 j ∑ y2j p. j = 1 j y j ≤ y j +1 j = 1, . . . , J − 1 pi. ≥ 0 i = 1, . . . , I p. j ≥ 0 j = 1, . . . , J
© Copyright 2024