• No se han encontrado resultados

Una solución del problema de programación convexa cuadrática con una restricción de igualdad lineal y variables acotadas

N/A
N/A
Protected

Academic year: 2020

Share "Una solución del problema de programación convexa cuadrática con una restricción de igualdad lineal y variables acotadas"

Copied!
66
0
0

Texto completo

(1)UNIVERSIDAD NACIONAL DE SAN AGUSTÍN DE AREQUIPA ESCUELA DE POSGRADO UNIDAD DE POSGRADO DE LA FACULTAD DE CIENCIAS NATURALES Y FORMALES. UNA SOLUCIÓN DEL PROBLEMA DE PROGRAMACIÓN CONVEXA CUADRÁTICA CON UNA RESTRICCIÓN DE IGUALDAD LINEAL Y VARIABLES ACOTADAS Tesis presentada por el Bachiller: Renzo Hubert Osorio Ccoya Para optar el Grado de Maestro en Ciencias: Matemáticas, con mención en Modelación Matemática Asesor: Dr. Angel Carlos Wilfredo Sangiacomo Carazas. AREQUIPA-PERÚ 2018.

(2) UNA SOLUCIÓN DEL PROBLEMA DE PROGRAMACIÓN CONVEXA CUADRÁTICA CON UNA RESTRICCIÓN DE IGUALDAD LINEAL Y VARIABLES ACOTADAS Tesis presentada por: Bach. Renzo Hubert Osorio Ccoya JURADO: Dra. María Luisa Torreblanca Todco: Mg. Ricardo Hancco Ancori: Dr. Angel Sangiacomo Carazas:.

(3) DEDICATORIAS A Dios quien ha permitido que la sabiduría dirija y guíe mis pasos A mis padres Bernardino e Isidora que siempre me apoyaron A mis hermanos Rubén, Ronne e Ingrid que me animaron A mi esposa Luz Marina por estar a mi lado A mis hijos Alexandra, Adriana y Renzo Fabricio por darme fuerzas A mi asesor Angel Sangiacomo por su apoyo y aportes A mis colegas y amigos por su compartir.

(4) Índice general 1.. Conceptos previos. 1. 1.1. Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1. 1.2. Conceptos y deniciones básicas . . . . . . . . . . . . . . . . . . . . . . . .. 1. 1.2.1. Conceptos topológicos . . . . . . . . . . . . . . . . . . . . . . . . .. 1. 1.2.2. Sucesiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2. 1.2.3. Funciones continuas y funciones diferenciables . . . . . . . . . . . .. 2. 1.2.4. Teorema de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4. 1.3. Nociones preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4. 1.3.1. Extremo de una función . . . . . . . . . . . . . . . . . . . . . . . .. 5. 1.4. Condiciones necesarias de primer orden . . . . . . . . . . . . . . . . . . . .. 5. 1.5.. Condiciones de segundo orden. . . . . . . . . . . . . . . . . . . . . . .. 8. 1.6. Condiciones sucientes para un mínimo relativo . . . . . . . . . . . . . . . 10 1.7. Minimización con restricciones . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.7.1. Condiciones necesarias de primer orden. Restricciones de igualdad . 11 1.7.2. Condiciones de segundo orden . . . . . . . . . . . . . . . . . . . . . 12 1.8. Dualidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.8.1. El Problema dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.8.2. Interpretación geométrica del problema dual . . . . . . . . . . . . . 16 1.8.3. Dualidad local y funciones convexas diferenciables . . . . . . . . . . 17 1.8.4. Restricciones de desigualdad . . . . . . . . . . . . . . . . . . . . . . 21 1.8.5. Dualidad convexa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.

(5) 1.8.6. Dualidad parcial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23. 2.. Algoritmo para solucionar problemas de programación convexa cuadrática con una restricción de igualdad lineal y variables acotadas 24 2.1. Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.2. El algoritmo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.2.1. Procedimiento para el problema separable. . . . . . . . . . . . . . . 25 2.2.2. Algoritmo para el problema general . . . . . . . . . . . . . . . . . . 29 2.3. Aproximación con una búsqueda lineal exacta . . . . . . . . . . . . . . . . 30 2.4. Aproximación con tamaño de paso 1 . . . . . . . . . . . . . . . . . . . . . 39 2.5. Implementación. computacional. del. problema. separable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.6. Implementación computacional de la aproximación con una búsqueda lineal exacta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.7. Implementación computacional de la aproximación con tamaño de paso 1 . 50 2.8. Funciones creadas para los programas. . . . . . . . . . . . . . . . . . . . . 53. 2.8.1. Función valor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.8.2. Función intervalo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.8.3. Función separable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.8.4. Función fmint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.8.5. Función pertenece . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.8.6. Función punto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56. Conclusiones. 58. Bibliografía. 59.

(6) Resumen En este trabajo se realiza un análisis del algoritmo para resolver un Problema de Programación Cuadrática Convexa con una restricción de igualdad y variables acotadas basado en resolver una sucesión de subproblemas separables. Se considerarán dos tipos de aproximaciones: la de búsqueda lineal exacta y la de aproximación con tamaño de paso 1. La implementación de los algoritmos en el Matlab (Octave) constan como un aporte particular. Palabras Claves: Programación cuadrática convexa, problema separable, proyección..

(7) Abstract In this work an analysis of the algorithm is performed to solve a Convex Quadratic Programming Problem with an equality constraint and bounded variables based on solving a succession of separable subproblems. Two types of approximations are considered: exact linear search and approximation with step size 1. The implementation of the algorithms in Matlab (Octave) is a particular contribution. Key words: Convex quadratic programming, separable problem, projection.

(8) Capítulo 1 Conceptos previos 1.1. Introducción. En este capítulo se revisarán algunos conceptos del análisis matemático cuyo propósito es que se sirva como referencia y repaso de algunas deniciones, notaciones y relaciones básicas que se usarán a lo largo de este trabajo, también estudiaremos resultados obtenidos de la optimización lineal y no lineal.. 1.2. Conceptos y deniciones básicas 1.2.1.. Conceptos topológicos. Denición 1.1 Al conjunto B (x, ε) = {y ∈ IRn / kx − yk < ε} se le llama una bola abierta de centro x ∈ IRn y radio ε > 0, B (x, ε) es también conocida como vecindad de x.. Denición 1.2 S es un conjunto abierto si ∀x ∈ S, ∃ε(x) > 0, tal que B (x, ε (x)) ⊂ S . Denición 1.3 S conjunto cerrado si su complemento S c es abierto Denición 1.4 Se dice que un conjunto S es acotado, si ∃M ∈ IR tal que kxk < M, ∀x ∈ S . 1.

(9) Denición 1.5 Se dice que los conjuntos Ai : i = 1, 2, 3, ... forman una cobertura abierta para el conjunto S, si cada conjunto Ai es abierto para todo i y S ⊂. ∞ S. Ai .. i=1. 1.2.2.. Sucesiones. Una sucesión de vectores x1 , x2 , ..., xk , ... denotada por {xk }∞ k=1 , o si se sobreentiende el conjunto de índices, simplemente por {xk }, que converge al límite x si |xk − x| → 0 cuando k → ∞ (esto es, si dado ε > 0, existe un N tal que para todo k > N implica que. |xk − x| < ε). Si {xk } converge a x se escribe xk → x o lim xk = x. Un punto x es un punto k→∞. de límite de la sucesión {xk } si existe una subsucesión {xk0 } que converge a x. Así x es un punto de límite de {xk } si existe un subconjunto K de enteros positivos tal que {xk }k∈K converge a x. Una esfera alrededor de x es un conjunto de la forma {y : |y − x| < ε} para algún ε > 0. A dicha esfera se le llama entorno de x y de radio ε. Un conjunto es compacto si es cerrado y acotado (esto es, si es cerrado y esta contenido dentro de alguna esfera de radio nito). Un resultado importante que se debe a Weierstrass, es que si S es un conjunto compacto y {xk } es una sucesión donde cada miembro pertenece a S , entonces. {xk } tiene algún punto límite en S (es decir, existe alguna subsucesión que converge a un punto de S ). Correspondiente a una sucesión acotada {rk }∞ k=1 de números reales, si se dene Sk = sup {rk : i ≥ k}, entonces {Sk } converge a algún número real S0 . Este número se llama límite superior de rk .. 1.2.3.. Funciones continuas y funciones diferenciables. Denición 1.6 Se dice que una función f : IRn → IRm es continua en el punto x ∈ IRn si dado ε > 0, existe un δ > 0 tal que kx − yk < δ ⇒ kf (x) − f (y)k < ε. Dicho de otra manera, si dada una vecindad V de f (x) existe una vecindad U de x tal que f (y) ∈ V para toda y ∈ U.. 2.

(10) Denición 1.7 Una función f : IRn → IRm es continua en IRn si es continua para toda x ∈ IRn . Un conjunto de funciones con valores reales f1 , f2 , f3 , ..., fn en IRn se puede considerar como una sola función vectorial f = (f1 , f2 , f3 , ..., fm ) Dicha función con valores vectoriales es continua si cada una de sus funciones componentes es continua en algún conjunto abierto de IRn , y se escribe f ∈ C . Si además cada función componente tiene primeras derivadas parciales continuas en este conjunto se escribe f ∈ C 1 . En general, si las funciones componentes tienen derivadas parciales continuas de orden k, se expresa f ∈ C k .. Denición 1.8 Si f ∈ C 1 es una función en IRn con valores reales, el gradiente de f se dene como el vector: ∇f (x) =. . ∂f (x) ∂f (x) , ∂x2 , ..., ∂f∂x(x) ∂x1 n. . A veces se utiliza alternativa fx (x) para gradiente de f (x). Denición 1.9 Si f ∈ C 2 el Hessiano de f en x se dene como la matriz de orden n × n denotada por F (x) o ∇2 f (x) como: F (X) =. . ∂ 2 f (x) ∂xj ∂xi. . Para una función con valores vectoriales f = (f1 , f2 , f3 , ..., fn ) la situación es similar. i h ∂fi (x) 1 Si f ∈ C , la primera derivada se dene como la matriz de m × n ∇f (x) = ∂xj . Si. f ∈ C 2 se puede denir los m Hessianos F1 (x) , F2 (x) , ..., Fm (x) correspondientes a las m funciones componentes. Ahora dado cualquier vector λt = (λ1 , λ2 , ..., λm ) ∈ IRm , se observa que la función con valor real λt f tiene gradiente igual a λt ∇f (x) y el Hessiano denotado por λt F, igual a: m P λt F (x) = λi Fi (x) i=1. Denición 1.10 i) Una matriz simétrica Q se dice semidenida positiva (Q ≥ 0) si X t QX ≥ 0, ∀X ∈ IRn . Es semidenida negativa (Q ≤ 0) si X t Q (X) ≤ 0, ∀X ∈ IRn. ii) Una matriz simétrica Q se dice denida positiva si X t QX > 0, ∀X ∈ IRn , X 6= 0. Es denida negativa (Q < 0) Si X t Q (X) < 0, ∀X ∈ IRn , X 6= 0 3.

(11) 1.2.4.. Teorema de Taylor. Un grupo de resultados que suele utilizarse en el análisis, se conoce con el nombre de teorema de Taylor o teorema de valor medio. Si f ∈ C 1 en una región que contiene el segmento de recta [x1 , x2 ], entonces existe θ, 0 ≤ θ ≤ 1 tal que:. f (x2 ) = f (x1 ) + ∇f (x1 + θ (x2 − x1 )) (x2 − x1 ) Además, si f ∈ C 2 , entonces existe θ, 0 ≤ θ ≤ 1 tal que:  f (x2 ) = f (x1 ) + ∇f (x1 ) (x2 − x1 ) + 12 (x2 − x1 )t F (x1 + θ (x2 − x1 )) (x2 − x1 ) donde F denota el Hessiano de f. 1.3. Nociones preliminares El problema de optimización no lineal se dene de la siguiente manera:. Mı́n f (x) hj (x) = 0, j = 1, 2, ..., m. (1.1). gj (x) ≥ 0, j = m + 1, ..., p x∈Ω donde:. f : IRn → IR una función continua que denota la función objetivo hj : IRn → IR son funciones continuas que denotan las restricciones de desigualdad gj : IRn → IR son funciones continuas que denotan las restricciones de igualdad x = (x1 , ..., xn )t es un vector columna en el espacio euclidiano n dimensional El problema anterior también se representa como mı́n {f (x) /x ∈ Ω} donde el Ω se dene como Ω = {x/ hj (x) = 0, gk (x) ≥ 0 , x ∈ IRn , ∀j, k} que es llamado conjunto factible o región de factibilidad. En consecuencia x∗ ∈ Ω, es llamada solución factible para el problema (1.1) puesto que satisface todas las restricciones.. 4.

(12) 1.3.1.. Extremo de una función. Sea f : IRn → IR, se dice que f tiene un mínimo local en un punto x ∈ Df si existe un número real δ > 0 tal que f (x) ≥ f (x∗ ) para todo x que pertenece al dominio de f y kx − x∗ k < δ Si la desigualdad anterior es reemplazada por una desigualdad estricta f (x) > f (x∗ ) ,. x 6= x∗ , se dice que f tiene un mínimo local estricto en x∗ . Empezaremos tratando los problemas de optimización de la forma:. M inimizar f (x). (1.2). x∈Ω Donde f es una función real y Ω el conjunto factible, es un subconjunto de IRn . En primer lugar se centra la atención en el caso en que Ω = IRn , que corresponde al caso totalmente sin restricciones, para luego tener en cuenta casos donde Ω es algún subconjunto de IRn . Primeramente se especican aquellas condiciones que se deben satisfacer en un punto de (1.2) Estas condiciones son simples extensiones a IRn de las bien conocidas condiciones de la derivada para una función de una variable, que se cumplen en un punto máximo o mínimo. 1.4. Condiciones necesarias de primer orden Direcciones factibles: Para deducir condiciones necesarias satisfechas por un punto mínimo relativo o punto mínimo local, la idea básica es considerar un movimiento que se aleje del punto en una dirección dada. En cualquier dirección dada, la función objetivo se puede considerar como función de una variable, donde el parámetro dene el movimiento en esta dirección, por lo que se puede aplicar el cálculo ordinario de una variable así, dado. x ∈ Ω, se puede decir que el es una dirección factible en x si existe algún α > 0, tal que 5.

(13) x + αd ∈ Ω, 0 < α < α . Con este sencillo concepto se puede enunciar algunas condiciones sencillas satisfechas por los puntos mínimos relativos.. Proposición 1.1 (condiciones necesarias de primer orden) Sean Ω un subconjunto de IRn , y f ∈ C 1 , una función en Ω, entonces para cualquier d ∈ IRn que se sea una dirección. factible en x∗ , resulta ∇f (x∗ ) d ≥ 0. Prueba. Para cualquier α, 0 < α < α, el punto x (α) = x∗ + αd ∈ Ω, para α, 0 < α < α se dene la función g (α) = f (x (α)). Entonces, g tiene un mínimo relativo en α = 0 de donde resulta :. 0. g (α) − g (0) = g (0) + o (α). (1.3). donde o(α) denota que tienden a cero más rápido que α. Si g 0 (0) < 0 entonces para valores sucientemente pequeños de α > 0,el lado derecho de (1.3) será negativo y, por tanto g (α) − g (0) < 0, lo cual contradice la naturaleza minimal de g (0). Así :. g 0 (0) = ∇f (x∗ ) d ≥ 0. Un caso muy interesante es aquel donde x∗ está en el interior de Ω (Ω = IRn ). En este caso, hay direcciones factibles que salen en todas direcciones desde x∗ y, por tanto,. ∇f (x∗ ) d ≥ 0 para todo d ∈ IRn . Esto implica que el gradiente ∇f (x∗ ) = 0. Corolario 1.1 (caso sin restricciones) Sea Ω un subconjunto de IRn y f ∈ C 1 , una función en Ω, si x∗ es un mínimo relativo de f en Ω y x∗ un punto interior de Ω, entonces ∇f (x∗ ) = 0. Las condiciones necesarias en el caso no restringido puro producen n ecuaciones (una por cada componente de ∇f (x)) de n incógnitas (las componentes de x∗ ), que en muchos casos se pueden resolver para determinar la solución. 6.

(14) Ejemplo 1.1 Dado el problema: Minimizar f (x1 , x2 ) − x21 − x1 x22 −3x2 No hay restricciones, luego Ω = IR2 al igualar las derivadas parciales de f resulta las dos condiciones:. 2x1 − x2 = 0 −x1 + 2x2 = 3. que tienen la solución única x1 = 1, x2 = 2, el cual es un punto mínimo global de f.. Ejemplo 1.2 Resolver el problema: Minimizar f (x1 , x2 ) = x21 − x1 + x2 + x1 x2 Sujeto a x1 ≥ 0 x2 ≥ 0. Este problema tiene un mínimo global en x1 = 12 , x2 = 0. En este punto: ∂f ∂x1. = 2x1 − 1 + x2 = 0. ∂f ∂x2. = 1 + x1 =. 3 2. Luego cualquier d = (d1 , d2 ) factible tiene d1 arbitraria y d2 ≥ 0 de aquí nos damos cuenta que como las derivadas parciales con respecto a x2 no se anulan en la solución, y cualquier dirección factible tiene una componente x2 mayor. que. cero,. resulta. ∇f (x∗ ) d ≥ 0, para todo d ∈ IR2 , tal que d es una dirección factible en el punto. que. 1 ,0 2. . .. Nota: Se debe resolver por ejemplo usando los multiplicadores de Lagrange y teniendo en cuenta las condiciones de Kuhn - Tucker.. 7.

(15) 1.5.. Condiciones de segundo orden. La proposición 1 demostrada anteriormente se basa en la realización de un aproximación de primer orden a la función f en las proximidades del punto mínimo relativo por la serie de Taylor. Para conseguir condiciones adicionales se debe tener en cuenta aproximaciones de orden superior. Las condiciones de segundo orden, que se denen en función de la matriz hessiana. f , son de gran importancia teórica y van a predominar en buena parte del análisis que presentamos aquí .. Proposición 1.2 (condiciones necesarias de segundo orden) Sea Ω un subconjunto de IRn , y f ∈ C 2 una función en Ω si x∗ es un punto mínimo relativo de f en Ω, entonces para cualquier d ∈ IRn que sea una dirección factible en x∗ resulta: a) ∇f (x∗ ) d ≥ 0 b) Si ∇f (x∗ ) d = 0, entonces dt ∇2 f (x∗ ) d ≥ 0. Prueba. La condición (a) es precisamente la proposición 1.1, y la segunda se aplica solo si. ∇f (x∗ ) d = 0. Para este caso lo haremos introduciendo la función x (α) = x∗ + αd y la función compuesta g (α) = f (x (α)) como antes. Como sabemos que g 0 (0) = 0, se obtiene. g (α) − g (0) = 21 g 00 (0) α2 + 0 (α2 ) . Si g 00 (0) < 0, el lado derecho de la ecuación anterior es negativo para α sucientemente pequeña, está última armación contradice la denición de mínimo relativo de g (0) . Así, que concluimos: g 00 (0) = dt ∇2 f (x∗ ) d ≥ 0. Ejemplo 1.3 Para el problema del ejemplo 1.2 de la anterior sección, si se cumple para d = (d1 , d2 ), entonces: ∇f (x∗ ) d = 23 d2 8.

(16) Así, la condición (b) de la proposición 1.2 solo se aplica si d2 = 0. En este caso se tiene dt ∇2 f (x∗ ) d = 2d21 ≥ 0, con lo que se satisface la condición (b).. Proposición 1.3 (Condiciones necesarias de segundo orden: caso sin restricciones) Sea x∗ un punto interior del conjunto Ω, y supóngase que x∗ es un punto mínimo en Ω, de la función f ∈ C 2 , entonces:. a) ∇f (x∗ ) = 0 b) ∀d ∈ IRn , dt ∇2 f (x∗ ) d ≥ 0 Para simplicar la notación, se puede denotar por ∇2 f (x) la matriz de n × n de las segundas derivadas de f , y el Hessiano de f por la notación alternativa F (x). La condición (b) equivale a armar que la matriz F (x) es semidenida positiva. Como se observará, la matriz F (x∗ ), que aparece de manera bastante natural en el análisis de las condiciones necesarias, tienen papel fundamental en el análisis de métodos iterativos de solución de problemas de optimización sin restricciones. La estructura de esta matriz es la determinante primaria de la tasa de convergencia de algoritmos diseñados para minimizar la función f.. Ejemplo 1.4 Considérese el siguiente problema: Minimizar: f (x1 .x2 ) = x31 − x21 x2 + 2x22 Sujeto a x1 ≥ 0, x2 ≥ 0 Si se supone que la solución esta en el interior del conjunto, es decir si x1 > 0, x2 > 0, entonces las condiciones necesarias de primer orden son: 3x21 − 2x1 x2 = 0, −x21 + 4x2 = 0 ⇒ x2 =  2 x ⇒ 3x21 − 2x1 41 = 0 ⇒ 6x21 − x31 = 0 ⇒ x21 (6 − x1 ) = 0,. luego :    x1 = 0,         x1 = 6,. x2 = 0 ∨ x2 = 9 9. x21 4.

(17) Que tiene como soluciones x1 = x2 = 0, que es un punto frontera, pero también hay una solución en x1 = 6, x2 = 9, se observa que para x1 ja en x1 = 6, el objetivo alcanza un mínimo relativo a x2 en x2 = 9. A la inversa de este hecho, el punto x1 = 6, x2 = 9 no es un punto mínimo relativo, porque la matriz hessiana es: . .  6x1 − 2x2 −2x1  F (x1 .x2 ) =   −2x1 4. que evaluada en la solución propuesta x1 = 6, x2 = 9 da: . .  18 −12  F (6, 9) =   −12 4. Esta matriz no es semidenida positiva, pues su determinante es negativo. Así la solución propuesta no es un punto mínimo relativo.. 1.6. Condiciones sucientes para un mínimo relativo Reforzando algo la segunda condición de la proposición anterior, se obtiene un conjunto de condiciones que implican que el punto x∗ sea un mínimo relativo. Se presentan aquí condiciones que solo son aplicables a problemas sin restricciones o a problemas donde el mínimo es interior a la región factible, pues las condiciones correspondientes a los problemas en los que el mínimo se alcanza en un punto frontera del conjunto factible son muy difíciles y su valor práctico o teórico es marginal.. Proposición 1.4 (condiciones sucientes de segundo orden: Caso sin restricciones) Sea f ∈ C 2 una función denida en una región, en la que el punto x∗ es un punto interior además, supóngase que: a) ∇f (x∗ ) = 0. 10.

(18) b) F (x∗ ) es denida positiva Entonces, x∗ es un punto mínimo relativo estricto de f. Prueba. Como F (x∗ ) es denida positiva, hay un a > 0 tal que para todo d. d t F (x∗ ) d ≥ a |d|2 . Así, por el teorema de Taylor(con residuos)    f (x∗ + d) − f (x∗ ) = 12 d t F (x∗ ) d + O |d|2 ≥ a2 |d|2 + O |d|2 Para |d| pequeño, el primer término de la derecha domina el segundo, lo que implica que ambos lados son positivos para una d pequeña.. 1.7. Minimización con restricciones 1.7.1.. Condiciones necesarias de primer orden. Restricciones de igualdad. Lema 1.1 Sea x∗ un punto extremo local de f sujeto a estas restricciones. Entonces todo y ∈ IRk que cumpla ∇h (x∗ ) y = 0. debe cumplir también ∇f (x∗ ) y = 0. Prueba. Si y es un vector cualquiera en el plano tangente en x∗ , y x (t) una curva uniforme cualquiera en la supercie de restricción que pasa por x∗ con derivada y en x∗ , esto es. x (0) = x∗ , x0 (0) = y , y h (x (t)) =0 para −a ≤ t ≤ a, para algún a > 0. Como x∗ es un punto regular. El plano tangente es idéntico al conjunto de las y que satisface ∇h (x∗ ) y = 0. Entonces, como x∗ es un punto extremo local restringido de f , se tiene: d f dt. (x (t)). t=0. = 0, 11.

(19) de otra manera:. ∇f (x∗ ) y = 0 El Lema anterior expresa que ∇f (x∗ ) es ortogonal al plano tangente en x∗ . A continuación se concluye que esto implica que ∇f (x∗ ) es una combinación lineal de los gradientes de h en x∗ , una relación que se da lugar a la introducción de los multiplicadores de Lagrange.. Teorema 1.1 Sea x∗ un punto extremo de f sujeto a las restricciones h (x) = 0 . Supongamos, además que x∗ es un punto regular de estas restricciones. Entonces existe un λ ∈ IRn tal que: ∇f (x∗ ) + λt ∇h (x∗ ) = 0. Prueba. A partir del lema se puede concluir que el valor del programa lineal Maximizar ∇f (x∗ ) y sujeto a. ∇h (x∗ ) y = 0. es cero. Así, por el teorema de dualidad de la programación lineal el problema dual es factible. En especial existe un λ ∈ IRn tal que ∇f (x∗ ) + λt ∇h (x∗ ) = 0 En esta sección se supone que, h ∈ C 2. 1.7.2.. Condiciones de segundo orden. Condiciones necesarias de segundo orden. Supóngase que x∗ es un mínimo local de f sujeto a h (x) = 0, y que x∗ es un punto regular de estas restricciones. Entonces, existe un λ ∈ IRn tal que. ∇f (x∗ ) + λt ∇h (x∗ ) = 0. (1.4). Si se representa por: M = {y : ∇h (x∗ ) y = 0}, entonces la matriz. L (x∗ ) = F (x∗ ) + λt H (x∗ ) 12. (1.5).

(20) es denida positiva en M , esto es, y t L (x∗ ) y ≥ 0 para todo y ∈ M. Prueba. Del cálculo elemental, es evidente que para toda curva diferenciable dos veces en la supercie de restricción S pasa por x∗ (con x (t) = x∗ + td; y donde x (0) = x∗ ), resulta:. d2 f (x (t)) dt2. ≥0. (1.6). = x0 (0)t F (x∗ ) x0 (0) + ∇f (x∗ ) x00 (0). (1.7). t=0. Por denición. d2 f (x (t)) dt2. t=0. Además al diferenciar dos veces la relación λt h (x (t)) = 0, se obtiene. x0 (0)t λt H (x∗ ) x0 (0) + λt ∇h (x∗ ) x00 (0) = 0. (1.8). Al sumar (7) y (8), teniendo en cuenta (6), se produce el resultado d2 f dt2. = x0 (0)t L (x∗ ) x0 (0) ≥ 0. (x (t)) t=0. como x0 (0) es arbitrario en M, se deduce de inmediato la conclusión.. Condiciones necesarias de segundo orden. Supóngase que hay un punto x∗. que. satisface h (x) = 0, y hay un λ ∈ IRn tal que. ∇f (x∗ ) + λt ∇h (x∗ ) = 0. (1.9). Si consideramos también que la matriz L (x∗ ) = F (x∗ ) + λt H (x∗ ) es denida positiva en M = {y : ∇h (x∗ ) y = 0}, esto es, para y ∈ M, y 6= 0, se cumple que y t L (x∗ ) y > 0. Entonces, x∗ es un mínimo local estricto de f sujeto a h (x) = 0.. Prueba. Si x∗ no es un punto mínimo relativo estricto, existe una sucesión de puntos factibles. {yk } que converge a x∗ tal que para cada k, f (yk ) ≤ f (x∗ ) . Pondremos a cada yk de la 13.

(21) forma yk = x∗ + δk sk , donde sk ∈ IRn , |sk | = 1, y δk > 0 para cada k . Es evidente que. δk → 0 y la sucesión {sk } , al ser acotada, debe tener una subsucesión convergente que tiende a algún s∗ . Hagamos que converja a s∗ . También se tiene h (yk ) − h (x∗ ) = 0, y dividimos entre δk haciendo k → ∞ se observa que ∇h (x∗ ) s∗ = 0 Ahora por el teorema de Taylor, para cada j se tiene. 0 = h (yk ) = hj (x∗ ) + δk ∇hj (x∗ ) sk +. δk2 t 2 s ∇ hj (aj ) sk 2 k. (1.10). δk2 t 2 s V f (a0 ) sk 2 k. (1.11). y. 0 ≥ f (yk ) − f (x∗ ) = δk V f (x∗ ) sk +. donde cada aj es un punto en el segmento de recta que une a x∗ y a yk Al multiplicar (1.10) por λj y sumarle (1.11) se obtiene teniendo en cuenta (1.9):   m P δk2 t 2 2 0 ≥ 2 sk ∇ f (a0 ) + λi ∇ hi (ai ) sk i=1. la cual es una contradicción cuando k → ∞. 1.8. Dualidad El concepto de dualidad en matemática surge con regular frecuencia, en abstracto a cada objeto matemático corresponde otro objeto matemático que tiene ciertos elementos en común con el original. También sucede que el estudio del dual complementa y agrega información sobre el problema original. Además, puede haber varios duales y en programación no lineal el que más interés ha despertado es el lagrangeano originalmente estudiado por Dom, Mangasarian, Stoer y Wolfe. Los métodos duales se basan en la opinión de que son los multiplicadores de Lagrange. 14.

(22) las incógnitas fundamentales asociadas a un problema con restricciones, una vez conocidos estos multiplicadores, la determinación del punto solución es sencilla. Por tanto, los métodos duales no tratan directamente el problema con restricción original, sino que se aplican a un problema alternativo, el problema dual.. 1.8.1.. El Problema dual. Considérese el problema general de programación no lineal al cual se le llamará Primal (P). Problema Primal (P) Minimizar f (x) Sujeto a: g (x) ≤ 0. h (x) = 0 x∈X Donde g : IRn → IRn. h : IRn → IRn f : IRn → IR x ⊂ IRn Entonces, un problema dual viene dado por el siguiente problema dual lagrangeano (D) Maximizar ` (λ, µ) Sujeto a µ ≥ 0 Donde ` (λ, µ) = ı́nf x {f (x) + λt h (x) + µt g (x) /x ∈ X} Nótese que la función lagrangeana ` (λ, µ) puede tomar el valor de −∞ para alguna pareja de (λ, µ) y que en el dual las restricciones g (x) y h (x) han sido incorporados a la función objetivo mediante multiplicadores de Lagrange λ, µ respectivamente. Además, los multiplicadores de Lagrange asociados a las restricciones g (x) ≤ 0 están restringidos a no negatividad, mientras los que están asociados a las h (x) no tienen restricciones de signo. 15.

(23) Finalmente nótese que el dual es un problema de maximin, ya que se trata de maximizar el ínmo de una función. Por esta razón también se le conoce como el problema dual máx - mín.. 1.8.2.. Interpretación geométrica del problema dual. El dual lagrangeano tiene una interpretación geométrica que se vera a continuación. Por razones de simplicación y sin perder generalidad, se considera un ejemplo con una sola restricción de desigualdad g (x) ≤ 0 y se supondrá que no existen restricciones de estricta igualdad. Así, el primal será: Minimizar f (x) Sujeto a: g (x) ≤ 0. x∈X Ahora sea G = {(w, z) /w = g (x) , z = f (x) , x ∈ X}, de manera que G es la imagen de X bajo el mapeo (g, f ) . El problema primal pide encontrar un punto en G tal que. w ≤ 0 y que minimice z . En el plano (w, z), esto signica encontrar un punto en G a la izquierda del eje z , cuya ordenada al origen sea mínima, y el punto óptimo es (w∗ , z ∗ ) Ahora supóngase que µ ≥ 0 es un número dado. Para encontrar ` (µ) se requiere el mínimo de f (x) + µg (x) sobre toda x ∈ X . Entonces, si w = g (x) y z = f (x) para. x ∈ X, se requiere minimizar z + µw sobre cualquier pareja (z, w) ∈ G. Esto equivale a deslizar la línea z + µw = α, en forma paralela a si misma lo más abajo posible, de modo que esta soporte a G. Así la línea es tangente a G en el punto (z1 , w1 ) y ` (u) es la ordenada al origen donde la línea intercepta al eje z (nótese que ahí es donde w = 0). Así el problema dual se puede interpretar como encontrar la pendiente del hiperplano de soporte de G, cuya ordenada z al origen sea máxima. Este hiperplano pasa por (w∗ , z ∗ ) y su pendiente es −µ∗ y l (µ∗ ) − z ∗ . Además nótese que las funciones objetivo del dual y el primal tienen el mismo valor óptimo. 16.

(24) 1.8.3.. Dualidad local y funciones convexas diferenciables. En los últimos años, la dualidad ha tenido una función central en el desarrollo y unicación de la teoría de la optimización. Desde este punto de vista han aparecido nuevas y valiosas interpretaciones de los multiplicadores de Lagrange y la evolución de muchos algoritmos efectivos para amplias clases de problemas prácticos. Las primeras formas de la teoría se enunciará en función de las derivadas de las funciones implicadas y serán de carácter local, no global. Estas teorías, a pesar de su importante impacto teórico, no fueron adecuadas para los cálculos. Más adelante al imponer hipótesis de convexidad se desarrollo una teoría global completa, formulada solo teniendo en cuenta las funciones mismas y no sus derivadas y adecuadas para los cálculos. Sin embargo, una teoría de dualidad requiere un mismo de hipótesis de convexidad para poder ser aplicada en más ocasiones; esto da lugar, de manera bastante natural, al concepto de exigir solo convexidad local y una teoría de dualidad local. Se consideran problemas no lineales de la forma:. Mı́n f (x). (1.12). h (x) = 0 donde x ∈ IRn , h (x) ∈ IRp y f, h ∈ C 2 Se centra la atención en una solución local x∗ de (1.12) Suponiendo que x∗ es un punto regular de las restricciones, entonces como ya se sabe habrá un vector (la) λ∗ multiplicador de Lagrange correspondiente, tal que:. ∇f (x∗ ) + (λ∗ )t ∇h (x∗ ) = 0. (1.13). y el hessiano del lagrangeano. L (x∗ ) = F (x∗ ) + (λ∗ )t H (x∗ ). 17. (1.14).

(25) Debe ser semidenido positivo en el subespacio tangente. M = {x : ∇h (x∗ ) x = 0} Ahora se introduce la hipótesis especial de convexidad local necesaria para el desarrollo de la teoría de dualidad. En especial, se supone que el hessiano L (x∗ ) es denido positivo. Como es lógico, ha de hacerse hincapié en que por esto se entiende que L (x∗ ) es denido positivo en todo el espacio IRn , no solo en el subespacio M . La hipótesis garantiza que el lagrangeano l (x) = f (x) + (λ∗ )t h (x) es totalmente convexo en x∗ . Con esta hipótesis, el punto x∗ no es solo una solución local al problema con restricciones sino también al problema sin restricciones:. mı́n f (x) + (λ∗ )t h (x). (1.15). pues satisface las condiciones de suciencia de primera y segunda orden para un punto mínimo local. Además para cualquier λ próximo a λ∗ , la función f (x) + λt h (x) tendrá un punto mínimo local en un punto x próximo a x∗ . Esto se deduce observando que, por el teorema de la función implícita, la ecuación:. ∇f (x) + λt ∇h (x) = 0. (1.16). tiene una solución x próxima a x∗ cuando λ esta cerca de λ∗ debido a que L∗ es no singular, y por el hecho de que, en esta solución x, el hessiano F (x)+(λ)t H (x) es denido positivo. Así mismo localmente hay una correspondencia única entre λ y x por la solución del problema sin restricciones.. mı́n f (x) + λt h (x) además esta correspondencia es continuamente diferenciable:. 18. (1.17).

(26)   θ (λ) = mı́n f (x) + λt h (x). (1.18). Se entiende que el mínimo se toma localmente respecto a x próximo a x∗ . Entonces el problema con restricciones original es equivalente a la maximización local sin restricciones de la función θ respecto de λ. Por tanto, se establece una equivalencia entre un problema con restricciones en x y un problema sin restricciones en λ. Para determinar la relación de dualidad se deben probar dos lemas importantes. En los enunciados siguientes, se denota por x (λ) la solución única a (1.17) en el contorno de. x∗ .. Lema 1.2 La función dual θ tiene gradiente: ∇θ (λ) = h (x (λ))t. (1.19). Prueba. Explícitamente, se tiene de (1.18) θ (λ) = f (x (λ)) + λt h (x (λ)) Así:. ∇θ (λ) = [∇f (x (λ)) + λt ∇h (x (λ))] ∇x (λ) + h (x (λ))t como el primer término de la derecha se anula por la denición de x (λ) se obtiene (1.19) El lema 1.2 es de gran importancia práctica, pues muestra que el gradiente de la función dual es sencillo de calcular. Una vez evaluada la función dual, por minimización respecto a x, el h (x)t correspondiente, que es el gradiente, se puede evaluar sin cálculos adicionales. El hessiano de la función dual se puede expresar a partir del hessiano del lagrangeano, se utiliza la notación L (x, λ) = F (λ)+λt H (x) , para indicar explícitamente la dependencia de λ. Entonces se tiene el siguiente lema.. 19.

(27) Lema 1.3 El hessiano de la función es: ϑ (λ) = −∇h (x (λ)) L−1 (x(λ), λ)∇h(x(λ))t. (1.20). Prueba. El hessiano es la derivada del gradiente. Así por el lema 1.2: ϑ (λ) = ∇h (x (λ)) ∇x (λ). (1.21). por denición, se tiene. ∇f (x (λ)) + λt ∇h (x (λ)) = 0 y al diferenciar esto con respecto a λ, se tiene:. L (x (λ) , λ) ∇x (λ) + ∇h (x (λ))t = 0 despejando ∇x (λ) y sustituyendo en (1.21) se obtiene (1.20) Como L−1 (x (λ)) es denida positiva, y ∇h (x (λ)) es de rango completo cerca de x∗ , se tiene como consecuencia inmediata del lema 1.3 que el hessiano de p × p de θ es denido negativo. Como era de esperarse, este hessiano desempeña un papel fundamental en el análisis de los métodos duales.. Teorema 1.2 [Teorema de dualidad local] Supóngase que el problema: Mı́n f (x). (1.22). h(x) = 0. tiene una solución local en x∗ con valor correspondiente r∗ y multiplicador de Lagrange λ∗ . Supóngase también que x∗ es un punto regular de las restricciones y que el correspondiente. hessiano del lagrangeano L∗ = L (x∗ ) es denido positivo. Entonces el problema dual:. M áx θ (λ). (1.23). tiene una solución local en λ∗ con valor correspondiente r∗ y x∗ como punto correspondiente a λ∗ en la denición de θ. 20.

(28) Prueba. Es evidente que x∗ corresponde a λ∗ en la denición de θ Ahora, en λ∗ se tiene por el lema 1.2:. ∇θ (λ∗ ) = h (x∗ )t = 0 y por el lema 1.3, el hessiano de θ es denido negativo. Así, λ∗ satisface las condiciones de suciencia de primero y segundo orden para un punto máximo sin restricciones de θ. Por denición de θ resulta que el valor correspondiente θ (λ∗ ) es r∗ .. Ejemplo 1.5 Considérese el problema de dos variables: Minimizar. −xy. sujeto. (x − 3)2 + y 2 = 5. Las condiciones necesarias de primer orden son: −y + (2x − 6) λ = 0 −x + 2yλ = 0. junto con la restricción. Estas ecuaciones tiene una solución en x = 4, y = 2, λ = 1 El hessiano correspondiente es:  del lagrangeano   2 −1  L=  , como es denido positivo, se concluye que la solución obtenida es −1 2. un mínimo local. Como L es denido positivo, se puede aplicar la teoría de la dualidad local cerca de esta solución. Se dene:    θ (λ) = mı́n −xy + λ (x − 3)2 + y 2 − 5. que da como resultado: θ (λ) = válido para λ >. 1.8.4.. 1 2. 4λ+4λ3 −80λ5 (4λ2 −1)2. Se verica fácilmente que θ tiene máximo local en λ = 1. Restricciones de desigualdad. Para problemas con restricciones de desigualdad y también para los de igualdad, el desarrollo anterior solo requiere una pequeña modicación. 21.

(29) Considere el problema:. Mı́n f (x) h(x) = 0. (1.24). g(x) ≤ 0 donde g (x) ∈ IRm , g ∈ C2 , y el resto como antes. Supóngase que x∗ es una solución local de (1.24) y un punto regular de las restricciones. Entonces, como se sabe que hay multiplicadores de Lagrange λ∗ y µ∗ > 0 tales que:. ∇f (x∗ ) + (λ∗ )t ∇h (x∗ ) + (µ∗ )t ∇g (x∗ ) = 0. (1.25). (µ∗ )t g (x∗ ) = 0. (1.26). se impone la hipótesis de convexidad local de que el hessiano del lagrangeano:. L (x∗ ) = F (x∗ ) + (λ∗ )t H (x∗ ) + (µ∗ )t G (x∗ ). (1.27). es denido positivo (en todo el espacio) Para λ y µ ≥ 0 cerca de λ∗ y µ∗ , se dene la función dual:.   θ (λ, µ) = mı́n f (x) + λt h (x) + µt g (x). (1.28). donde el mínimo se toma localmente próximo a x∗ . Entonces, es fácil mostrar, con un desarrollo paralelo al anterior para las restricciones de igualdad, que θ alcanza un máximo local a λ,µ ≥ 0 en λ∗ , µ∗ .. 22.

(30) 1.8.5.. Dualidad convexa. Si, además de las otras hipótesis, se supone que las funciones f y g son convexas y. h es afín, entonces (1.24) es un problema de programación convexa. En este caso, x∗ es una solución global, además de local. Es más, el lagrangeano f (x) + λt h (x) + µt g (x) es convexo para cualquier λ, µ ≥ 0, por lo que la minimización (1.28) se puede tomar como global. Todo esto implica que todos los resultados de dualidad son válidos en este caso, con operaciones globales sustituyendo a las locales.. 1.8.6.. Dualidad parcial. No es necesario los multiplicadores de Lagrange de todas las restricciones de un problema en la denición de función dual. En general, si se cumple la hipótesis de convexidad local, se puede denir la dualidad local respecto a cualquier subconjunto de restricciones funcionales. Así, por ejemplo, el problema:. Mı́n f (x) h(x) = 0 g(x) ≤ 0 se podría denir la función dual solo respecto a las restricciones de igualdad. En este caso, se denirá:. θ (λ, µ) = mı́n. . f (x) + λt h (x). g(x)≤0. (1.29). donde el mínimo se toma localmente cerca de la solución x∗ pero restringido por las restricciones restantes g (x) ≤ 0. De nuevo, la función dual así denida alcanzará un máximo local en el multiplicador de Lagrange optimal λ∗ .. 23.

(31) Capítulo 2 Algoritmo para solucionar problemas de programación convexa cuadrática con una restricción de igualdad lineal y variables acotadas 2.1. Introducción. En este trabajo proponemos un algoritmo para resolver el problema:. Mı́n f (x) = 12 xt Dx + ct x at x = b. (2.1). l≤x≤u donde D es una matriz simétrica, semidenida positiva de orden n, y x, c, l, u, a ∈ IRn , tal que a ≥ 0, l ≤ u, y at l ≤ b ≤ at u. Bajo estas condiciones el dominio de factibilidad:. X = {x ∈ IRn : at x = b; l ≤ x ≤ u}, es no vacío Nosotros obtendremos una solución óptima para este problema resolviendo una sucesión de subproblemas separables de la forma:. 24.

(32) t 1 Mı́n f (x) = xt 4x + ck x 2. (2.2). donde x ∈ X y4 es una matriz diagonal con entradas positivas. El problema (2.2) es fácil de resolver porque es separable y una solución eciente esta basada en buscar un λ adecuado (el multiplicador de Lagrange correspondiente a at x = b). El proceso iterativo para resolver (2.1) determina xk+1 (una solución fáctible para (2.1)) usando la solución óptima xk para (2.2).. 2.2. El algoritmo. Primeramente veremos como solucionar el problema (2.2). 2.2.1.. Procedimiento para el problema separable.. Este procedimiento determina una solución óptima para el problema de programación convexa cuadrática teniendo una función objetivo separable con una restricción de igualdad lineal y variables acotadas. min g (x) = 12 xt 4x + ct x sujeto a: at x = b. l≤x≤u donde 4 = (dij ) es una matriz diagonal con dij > 0; 1 ≤ i ≤ n y a ≥ 0 Nosotros introducimos el problema lagrangiano:. mı́n g (x) + λ (at x − b) sujeto a: l ≤ x ≤ u Hallando sus puntos críticos tenemos: i) 4x + c + λa = 0 ii) at x = b 25.

(33) De (i) obtenemos. djj xj + cj + λaj = 0 xj (λ) = −. j = 1, ..., n. cj +λaj djj. Teniendo en cuenta que las variables son acotadas. lj ≤ −. cj +λaj djj. ≤ uj ⇒ −. cj +djj uj aj. ≤λ≤−. cj +djj lj aj. luego:.    uj    c +λa xj (λ) = − j djj j      lj La función. , si λ < − , si −. cj +djj uj aj. cj +djj uj aj. , si λ > −. ≤λ≤−. cj +djj lj aj. cj +djj lj aj. r (λ) = at x (λ) es creciente (pues a ≥ 0), lineal por partes y continua por tanto sus puntos críticos son:. −. cj +djj uj aj. y. −. cj +djj lj aj. ∀j tal que aj 6= 0. Consiguientemente hallamos el valor λ∗ para el cual se cumple r (λ∗ ) = b; ello se obtiene por interpolación entonces x (λ∗ ) es una solución óptima de (2.2).. Ejemplo 2.1 mı́n x2 + y2 sujeto a: x + y = 1 −1 ≤ x ≤ 0 0≤y≤1. Parametrizando tenemos:    0    x (λ) = − λ2      −1    1    y (λ) = − λ2      0. y. , λ<0 , 0≤λ≤2 , λ>2 , λ < −2 , −2 ≤ λ ≤ 0 , λ>0. 26.

(34) r (λ) = x (λ) + y (λ). luego los puntos críticos son: λ = −2,. λ = 0,. λ=2. en este caso no es necesario interpolar pues: r (−2) = 1. Es decir λ∗ = −2; por tanto la solución óptima es: x (−2) = 0 y (−2) = 1. y el valor mínimo es 1. 27.

(35) Ejemplo 2.2 mı́n x2 + 2y2 − 2x sujeto a: 2x + y = 3 1≤x≤2 0≤y≤1. Parametrizando tenemos:    2    x (λ) = 1−λ      1    1 ,    y (λ) = − λ4 ,      0 ,. y. , λ < −1 , −1 ≤ λ ≤ 0 , λ>0 λ < −4 −4 ≤ λ ≤ 0 λ>0. r (λ) = 2x (λ) + y (λ). luego los puntos críticos son: λ = −4,. λ = −1,. λ=0. como: r (−4) = 5; r (−1) =. 17 ; 4. r (0) = 2. interpolamos resolviendo 2(1 − λ) −. λ 4. = 3 entonces λ∗ = − 49 ; por tanto la solución. óptima es:  x − 94 =  y − 49 =. 13 9 1 9. y el valor mínimo es − 97. Ejemplo 2.3 mı́n x21 + 2x22 + x23 − 2x1 + x3 sujeto a: 2x1 + x2 + x3 = 6 1 ≤ x1 ≤ 2 −1 ≤ x2 ≤ 1 2 ≤ x3 ≤ 4. 28.

(36) Parametrizando tenemos:    2    x1 (λ) = 1−λ      1    1 ,    x2 (λ) = − λ4 ,      −1 ,    4    x3 (λ) = − λ+1 2      2. y. , λ < −1 , −1 ≤ λ ≤ 0 , λ>0 λ < −4 −4 ≤ λ ≤ 4 λ>4 , λ < −9 , −9 ≤ λ ≤ −5 , λ > −5. r (λ) = 2x1 (λ) + x2 (λ) + x3 (λ). luego los puntos críticos son: λ = −9,. λ = −5,. λ = −4,. λ = −1. λ = 0,. λ=4. como: r (−9) = 9; r (−5) = 7; r (−4) = 7 r (−1) =. 25 ; 4. r (0) = 4 r (4) = 3. interpolamos resolviendo 2(1 − λ) − λ4 + 2 = 6 entonces λ∗ = − 89 ; por tanto la solución óptima es:  x1 − 89 = 17 9  x2 − 98 = 29  x3 − 98 = 2. y el valor mínimo es. 2.2.2.. 53 9. Algoritmo para el problema general. Aquí daremos el algoritmo para resolver (2.1) Paso 1.- Sea 4 = (dij ) una matriz diagonal con djj > 0; 1 ≤ j ≤ n Determinar una solución inicial x0 como una solución óptima de (2.2) con ck = c; 29.

(37) k=0 Paso 2.- Determinar la solución óptima x̄k para el problema (2.2) donde ck = c + (D − 4) xk Paso 3.- Comprobar si se cumple el criterio para detener el proceso. Si no se cumple pasar al paso 4. Paso 4.- xk+1 = xk + rk (x̄k − xk );. k = k + 1, y. mover al paso 2. El criterio para detener el problema y el tamaño de paso rk tienen que ser especicados. Dos diferentes aproximaciones son estudiados en las secciones siguientes. La primera aproximación usa la búsqueda de una línea exacta en cada iteración y la segunda usa un tamaño de paso igual a la unidad (rk = 1) La primera aproximación requiere menos iteraciones pero más cálculos en cada uno, lo que no ocurre con la segunda, la desventaja de la segunda aproximación es que necesita una condición adicional para asegurar la convergencia.. 2.3. Aproximación con una búsqueda lineal exacta El problema (1.1) es del tipo. mı́n f (x) x∈X donde f es una función convexa diferenciable y X es un conjunto convexo compacto. Sea h (x) una función diferenciable estrictamente convexa en X Entonces el siguiente algoritmo puede ser usado para resolver este problema: Paso 1.- Elegir x0 ∈ X y k = 0. 30.

(38) Paso 2.- Determinar la solución óptima xk de:. mı́n h (x) + [∇f (xk ) − ∇h (xk )]t x. (2.3). Paso 3.- Si kx̄k − xk k < ε, xk es una buena aproximación de la solución óptima de (2.1) y el procedimiento termina. Paso 4.- (búsqueda lineal) determinar. rk = máx {r/xk + r(x̄k − xk ) ∈ X} y. rk = mı́nr∈[0,rk ] {f (xk + r(x̄k − xk ))} xk+1 = xk + rk (x̄k − xk ),. k = k + 1, volver al paso 2. Para resolver (2.1) usando este algoritmo tomamos:. f (x) = 12 xt Dx + ct x,. X = {x/at x = b, l ≤ x ≤ u}. y h (x) = 21 xt 4x, donde 4 = [dij ] es una matriz diagonal con dij > 0, 1 ≤ j ≤ n Nosotros probaremos que xk − xk es una dirección descendente.. Teorema 2.1 Si xk 6= xk , entonces (xk − xk ) es una dirección factible descendiente para f en xk .. De otra manera (cuando xk = xk ), xk es una solución óptima del problema.. Prueba. Como xk es la solución óptima del problema (2.3) se sigue que:. [∇h (xk ) + ∇f (xk ) − ∇h (xk )]t (x − xk ) ≥ 0, ∀x ∈ X En particular para x = xk. [∇h (xk ) + ∇f (xk ) − ∇h (xk )]t (xk − xk ) ≥ 0 31. (2.4).

(39) luego:. ∇f (xk )t (xk − xk ) ≤ − [∇h (xk ) − ∇h (xk )]t (xk − xk ) < 0 Si xk 6= xk ya que ∇h es estrictamente monótona. Así, (xk − xk ) es una dirección descendente para f en xk . Ahora si xk = xk entonces (2.4) se reduce a:. ∇f (xk )t (x − xk ) ≥ 0. ∀x ∈ X. Esto implica que xk es una solución óptima para el problema (2.1) La función objetivo de (2.3) puede ser escrita como: t. h (x) + [∇f (xk ) − ∇h (xk )]t x = 12 [x − xk + 4−1 ∇f (xk )] 4 [x − xk + 4−1 ∇f (xk )] + ∇f (xk )t xk − 21 (xk )t 4xk − 12 ∇f (xk )t 4−1 ∇f (xk ) por lo tanto la solución óptima xk de (2.3) es la proyección de xk − 4−1 ∇f (xk ) en el conjunto X con respecto a la norma inducida por 4. Es decir x̄k = Px (xk − 4−1 ∇f (xk )) luego también:. kPx (x) − P x (y)k ≤ kx − yk de aquí que Px es continua. El teorema 2.2 completará la prueba de convergencia, se hará notar que en vez de una búsqueda lineal exacta, la prueba del teorema 2.2 requiere solo que xk+1 pertenezca al segmento de línea factible L [xk , x ek ] (donde x ek = xk + r̄k (xk − xk )) y que el tamaño de paso satisface el siguiente criterio de decrecimiento:.  f (xk+1 ) ≤ f (xk ) + ρk. ı́nf x∈[xk ,e xk ].  {f (x) − f (xk )} , 0 < α ≤ ρk ≤ 1. (2.5). Cuando una búsqueda lineal exacta es usada, lo anterior se reduce al caso ρk = 1, para todo k.. 32.

(40) Teorema 2.2 (i) Cada punto límite de la sucesión {xk } generada por el algoritmo y la relación (2.5) es una solución óptima del problema (2.1). (ii) Si f es estrictamente convexa, entonces la sucesión {xk } converge a una única solución óptima.. Prueba. (i) Asumimos que xk 6= xk , para todo k , de otra manera el teorema 2.1 implica que la solución exacta ha sido obtenida. Sea x∗ cualquier punto límite de la sucesión {xk } . Entonces existe una subsucesión {xk }k∈K → x∗ . Sea {xk }k∈K la sucesión asociada a los puntos generados en el paso 2, como Px es continúa, se sigue que {xk }k∈K →. x ∈ X. Ya que xk − xk es una dirección descendente de f en xk cuando xk 6= xk , {f (xk )} es monótona no creciente. Además ya que X es compacto, {f (xk )} es acotada inferiormente por lo tanto. lı́mk→∞ [f (xk+1 ) − f (xk )] = 0. (2.6). Usando la relación (2.5): f (xk+1 )−f (xk ) ρk. ≤ ı́nf x∈L[xk ,xk ] {f (x)} − f (xk ) ≤ f (xk + r(xk − xk )) − f (xk ). Para todo r ∈ h0, rk i . Así para cualquier sucesión γk ∈ h0, rk i , se sigue de (2.6) que:. lı́mk→∞ f (xk + γk (xk − xk )) − f (xk ) ≥ 0 Tomando una sucesión {γk } tal que γk → 0 :. f (xk + γk (xk − xk )) − f (xk ) ≥0 k→∞ γk. ∇f (x∗ )t (x − x∗ ) = lı́m. 33. (2.7).

(41) También, ya que xk es una solución óptima de (2.3). [∇h (xk ) + ∇f (xk ) − ∇h (xk )]t (x − xk ) ≥ 0, ∀x ∈ X. (2.8). y en particular para x = xk ,. [∇h (xk ) + ∇f (xk ) − ∇h (xk )]t (xk − xk ) ≥ 0 Tomando el límite de k ∈ K hacia el innito. [∇h (x) + ∇f (x∗ ) − ∇h (x∗ )]t (x∗ − x) ≥ 0. (2.9). Si (2.7) es substituida en (2.9) entonces. [∇h (x) − ∇h (x∗ )]t (x∗ − x) ≥ 0 Más como ∇h es monótona, implica que. [∇h (x) − ∇h (x∗ )]t (x − x∗ ) ≥ 0, por lo tanto: [∇h (x) − ∇h (x∗ )]t (x − x∗ ) = 0. (2.10). Ya que h es estrictamente convexa, ∇h es estrictamente monótona, y (2.10) implica que x = x∗ En (2.8) tomando el límite, tenemos:. [∇h (x) + ∇f (x∗ ) − ∇h (x∗ )]t (x − x) ≥ 0. ∀x ∈ X. Pero si x = x∗ se tiene. ∇f (x∗ )t (x − x∗ ) ≥ 0. ∀x ∈ X. Así x∗ es una solución óptima del problema. (ii) Es trivial, pues toda función estrictamente convexa tiene un único punto mínimo (en un compacto). 34.

(42) Teorema 2.3 t. (i) Supongamos que xk − xk D xk − xk > 0. Sea ξ ∈ IR tal que f (xk + ξ(xk − xk )) = . mı́nr∈IR f (xk + r(xk − xk )). Entonces: ξ=. (xk −xk )t Dxk +ct (xk −xk ) (xk −xk )t D(xk −xk ). ≥0. Por tanto rk = mı́n {rk , ξ} . Además, si rk = ξ = 0, entonces xk es una solución óptima del problema (2.1). (ii) Supongamos que (xk − xk )t D (xk − xk ) = 0. Entonces rk = rk , o ct (xk − xk ) = 0 y xk es una solución del problema (2.1).. Prueba. (i) Supongamos que (xk − xk )t D (xk − xk ) > 0. Tomando que ξ es el valor de r tal que: df (xk +r(xk −xk )) dr. =0. por tanto:. ∇f (xk + ξ(xk − xk )) (xk − xk ) = 0 o. ξ (xk − xk )t D (xk − xk ) + (xk − xk )t Dxk + ct (xk − xk ) = 0 Si y solo si:. ξ=. (xk −xk )t Dxk +ct (xk −xk ) (xk −xk )t D(xk −xk ). =. ∇f (xk )t (xk −xk ) (xk −xk )t D(xk −xk ). ya que (xk − xk ) es una dirección descendente, si xk 6= xk , entonces ξ ≥ 0,. mı́n {r̄k , ξ} De otra forma, si rk = ξ = 0 entonces, substituyendo en (2.4). 35. rk =.

(43) 0 = ∇f (xk )t (xk − xk ) ≥ [∇h (xk ) − ∇h (xk )]t (xk − xk ) ≥ 0 por lo tanto [∇h (xk ) − ∇h (xk )]t (xk − xk ) = (xk − xk )t 4 (xk − xk ) = 0 y esto implica que xk = xk . Del teorema 2.1 se sigue que xk es una solución óptima problema (2.1). (ii) Supongamos que (xk − xk )t D (xk − xk ) = 0. Entonces D (xk − xk ) = 0 ya que D es simétrica y semidenida positiva, por tanto: df (xk +r(xk −xk )) dr. = ct (xk − xk ) y. ∇f (xk )t (xk − xk ) = ct (xk − xk ) Si ct (xk − xk ) < 0, entonces f (xk + r(xk − xk )) es una función decreciente de r y. rk = r k Si ct (xk − xk ) = 0, entonces ∇f (xk )t (xk − xk ) = 0, y xk es una solución óptima del problema (2.1).. Ejemplo 2.4 mı́n f (x, y) = 21x2 + 14y2 − 24xy + 6x + 8y x+y =1 0≤x≤1 0≤y≤1. Aquí tenemos que X = {(x, y) ∈ IR2 /x + y = 1, 0 ≤ x ≤ 1, 0 ≤ y ≤ 1}. Iteración 1 i) Tomamos x0 = (0, 1) ∈ X h (x, y) = x2 + y 2 ∇f (x, y) = (42x − 24y + 6, 28y − 24x + 8) ∇h (x, y) = (2x, 2y) ∇f (x0 ) = (−18, 36) ,. ∇h (x0 ) = (0, 2) 36.

(44) ii) mı́nx∈X x2 + y 2 − 18x + 34y cuya solución es x0 = (1, 0). En el gráco se muestran las curvas de nivel de la función objetivo anterior, del nivel -18 al -14; al igual que el conjunto X:. iii) x0 , x0 no están muy próximos iv) rk = 1 rk = x1 =. 27 59 27 32 , 59 59. . Iteración 2 i) ∇f (x1 ) =. 720 720 , 59 59. . ,. ∇h (x1 ) =. 54 64 , 59 59. ii) mı́nx∈X x2 + y 2 + 666 x + 656 y 59 59 37. .

(45) 27 32 , 59 ) . cuya solución es x1 = ( 59. En el gráco se muestran las curvas de nivel de la función objetivo anterior, del nivel 9 al 13; al igual que el conjunto X:. iii) x1 , x1 son iguales, el procedimiento termina. Por lo tanto la solución es x∗ = (0, 457627; 0, 542373) y además f (x∗ ) = 9, 64407 es el valor mínimo. En el gráco se muestran las curvas de nivel de la función objetivo f del nivel 6 al 10; al igual que el conjunto X:. 38.

(46) 2.4. Aproximación con tamaño de paso 1 En esta sección determinaremos condiciones en las matrices D y 4 para permitir. rk = 1,. ∀k en el paso 4 del algoritmo de la sección 2.2 en este caso no se requiere. ninguna búsqueda lineal, y en cada iteración tomamos xk+1 = xk . Estas condiciones se seguirán directamente de la analogía entre este método y las iteraciones de Jacobi para resolver sistemas de ecuaciones lineales.. 1 mı́nn xt Dx + ct x x∈IR 2. (2.11). es equivalente a resolver el sistema lineal. Dx = −C. 39. (2.12).

(47) El método de Jacobi puede ser usado para resolver esto. La expresión (2.12) puede escribirse como:. 4x + (D − 4) x = −C De acuerdo al método de Jacobi, iniciando con x0 generamos una sucesión {xk } como sigue:. (2.13). xk+1 = −4−1 (D − 4) xk − 4−1 C. Nosotros veremos que este procedimiento converge si k4−1 (D − 4)k < 1. Además notemos que xk+1 de (2.13) es la solución óptima de:. mı́nx∈IRn h (x) + [∇f (xk ) − ∇h (xk )]t x Ya que la única diferencia entre (2.13) y (2.1) es, el dominio de factibilidad.. Teorema 2.4 Si k4−1 (D − 4)k < 1 para cualquier norma natural, el procedimiento en la sección 2.2 con tamaño de paso 1 es convergente.. Prueba. 1. ya que kxk4 = (xt 4x) 2 es una norma de IRn , supongamos que x∗ es una solución óptima de (2.1), al igual que en la sección 2.3, se sigue que:. x∗ = Px (x∗ − 4−1 ∇f (x∗ )) Luego:. kxk+1 − x∗ k4. Px xk − 4−1 ∇f xk. =. . − Px (x∗ − 4−1 ∇f (x∗ )). 4. kxk − x∗ − 4−1 D (xk − x∗ )k4. ≤. ≤ k4−1 (4 − D)k4 kxk − x∗ k4 Ya que el procedimiento dene una contracción si: k4−1 (4 − D)k4 < 1 1. 1. 1. 1. Además, ya que 4 2 4−1 (4 − D) 4− 2 = I − 4 2 D4− 2 es simétrica, tenemos:   1 1 1 1 4 2 4−1 (4 − D) 4− 2 = ρ 4 2 4−1 (4 − D) 4− 2 2. donde ρ (M ) denota el radio espectral de M , y como 4−1 (4 − D) es semejante a 1. 1. 4 2 4−1 (4 − D) 4− 2 , tenemos: 40.

(48)  1  1 ρ 4 2 4−1 (4 − D) 4− 2 = ρ (4−1 (4 − D)) De donde: 1. 1. k4−1 (4 − D)k4 = 4 2 4−1 (4 − D) 4− 2. 2. y se sigue que:. k4−1 (4 − D)k4 = ρ (4−1 (4 − D)) Por lo tanto este procedimiento converge si: k4−1 (4 − D)k < 1 para cualquier norma natural (ya que ρ (M ) ≤ kM k; para toda norma natural). Se sigue de este teorema que si la matriz D es estrictamente diagonal dominante y si. 4 = diag (D) (es decir δij = dij ); entonces el procedimiento converge, De hecho:   Pn 1 −1 −1 k4 (4 − D)k1 = kI − 4 Dk1 = sup1≤j≤n dij i=1 |dij | < 1 i6=j. Ejemplo 2.5 mı́n f (x, y) = 21x2 + 14y2 − 24xy + 6x + 8y x+y =1 0≤x≤1 0≤y≤1. Aquí tenemos que X = {(x, y) ∈ IR2 /x + y = 1, 0 ≤ x ≤ 1, 0 ≤ y ≤ 1}. Iteración 1 i) Tomamos x0 = (0, 1) ∈ X no necesariamente debe estar en la región factible . . . .  60 0   42 −24  4= , D =   , c = (6, 8) 0 60 −24 28 c1 = c + (D − 4)x0 = (−18, −24). ii) mı́nx∈X 60x2 + 60y 2 − 18x − 24y cuya solución es x1 = (0, 45; 0, 55). iii) x0 , x1 no están muy próximos. 41.

(49) Iteración 2 i) c2 = c + (D − 4)x1 = (−15, 3; −20, 4) ii) mı́nx∈X 60x2 + 60y 2 − 15, 3x − 20, 4y cuya solución es x2 = (0, 4575; 0, 5425). iii) x1 , x2 no están muy próximos. Iteración 3 i) c3 = c + (D − 4)x2 = (−15, 255; −20, 340) ii) mı́nx∈X 60x2 + 60y 2 − 15, 255x − 20, 340y cuya solución es x3 = (0, 457625; 0, 542375). iii) x2 , x3 no están muy próximos. Iteración 4 i) c4 = c + (D − 4)x3 = (−15, 25425; −20, 339) ii) mı́nx∈X 60x2 + 60y 2 − 15, 25425x − 20, 339y cuya solución es x4 = (0, 457627; 0, 542373). iii) x3 , x4 están muy próximos Por lo tanto la solución es x∗ = (0, 457627; 0, 542373) y además f (x∗ ) = 9, 64407 es el valor mínimo.. 42.

(50) 2.5. Implementación computacional del problema separable Aquí presentamos el programa. subseparable. en Octave o Matlab, para resolver el. problema separable de la subsección 2.2.1: min g (x) = 12 xt 4x + ct x sujeto a: at x = b. l≤x≤u donde 4 = (dij ) es una matriz diagonal con dij > 0; 1 ≤ i ≤ n y a ≥ 0. El código del programa en Matlab (Octave) es el siguiente: %clear; d=input('ingresar la diagonal='); c=input('ingresar el vector lineal='); l=input('ingresar cotas inferiores='); u=input('ingresar cotas superiores='); a=input('ingresar el vector de la restriccion lineal='); b=input('ingresar la constante de la igualdad lineal='); D=diag(d); n=length(c); for j=1:n. % B(j,1) y B(j,2) son los puntos criticos para la variable x(j). B(j,1)=-(c(j)+D(j,j)*u(j))/a(j); B(j,2)=-(c(j)+D(j,j)*l(j))/a(j); end; disp('puntos criticos:'); disp(B); for j=1:n R(j,1)=a*valor(B,D,c,l,u,a,B(j,1))'; R(j,2)=a*valor(B,D,c,l,u,a,B(j,2))'; end; disp('evaluacion en los puntos criticos (a.x):'); disp(R); cont=0; %variable para saber si un punto critico cumple la restriccion. 43.

(51) for j=1:n for p=1:2 if R(j,p)==b cont=1; disp('el punto critico donde se cumple la restriccion es:'); disp(B(j,p)); disp('obteniendo el punto minimo:'); x=valor(B,D,c,l,u,a,B(j,p)); disp(x); disp('El valor minimo es:'); y=0.5*x*D*x'+c*x'; disp(y); end; end; end; %aqui hallaremos el parametro t si la restriccion no coincide con ninguno de los puntos criticos if cont==0 disp('no es ninguno de los puntos criticos, interpolaremos para hallar el parametro t'); pos=intervalo(R,b,n); %indica en que parte de la denicion de la variable esta %disp(pos); cotas=zeros(n,3); %se crea la matriz cotas, primera columna cotas superiores, tercera columna cotas inferiores cotas(:,1)=u'; cotas(:,3)=l'; %disp(cotas); cal=pos.*cotas; %se crea la matriz que nos indica si la denicion de la parametrizacion para la variable es constante %disp(cal); t=b; for j=1:n %se resta a b las parametrizaciones constantes for p=1:3 t=t-a(j)*cal(j,p); end; end; %disp(t); sum1=0; sum2=0; for j=1:n % se halla el parametro t despejando en las parametrizaciones que no son constantes if pos(j,2)==1. 44.

(52) sum1=sum1+a(j)*c(j)/D(j,j); sum2=sum2+a(j)*a(j)/D(j,j); end; end; %disp([sum1,sum2]); t=-(t+sum1)/sum2; disp('parametro hallado t:'); disp(t); disp('obteniendo el punto minimo:'); x=valor(B,D,c,l,u,a,t); disp(x); disp('El valor minimo es:'); y=0.5*x*D*x'+c*x'; disp(y); end;. Aquí consideramos como variables de ingreso: d es la diagonal de la matriz 4 c es el vector de la parte lineal de la función objetivo l es el vector de cotas inferiores u es el vector de cotas superiores a es el vector que corresponde a la restricción lineal b es la constante de la restricción lineal. Ejemplo 2.6 min x21 + 2x22 + x23 + 2x24 − 2x1 + x3 + 2x4 sujeto a: 2x1 + x2 + x3 + 3x4 = 15 1 ≤ x1 ≤ 2 0 ≤ x2 ≤ 1 1 ≤ x3 ≤ 2 3 ≤ x4 ≤ 4 45.

(53) En este caso tenemos: d = (2, 4, 2, 4) c = (−2, 0, 1, 2) l = (1, 0, 1, 3) u = (2, 1, 2, 4) a = (2, 1, 1, 3) b = 15. Ejecutando en Matlab tenemos: >>subseparable ingresar la diagonal=[2,4,2,4] ingresar el vector lineal=[-2,0,1,2] ingresar cotas inferiores=[1,0,1,3] ingresar cotas superiores=[2,1,2,4] ingresar el vector de la restriccion lineal=[2,1,1,3] ingresar la constante de la igualdad lineal=15 puntos criticos: -1.0000. 0. -4.0000. 0. -5.0000. -3.0000. -6.0000. -4.6667. evaluación en los puntos criticos (a.x): 14.2500. 12.0000. 15.5000. 12.0000. 16.7500. 14.7500. 19.0000. 15.8333. no es ninguno de los puntos criticos, interpolaremos para hallar el parametro t parametro hallado t: 46.

(54) -3.3333 obteniendo el punto minimo: 2.0000. 0.8333. 1.1667. 3.0000. El valor minimo es: 27.9167. 2.6. Implementación computacional de la aproximación con una búsqueda lineal exacta Aquí presentamos el programa buslineal en Octave o Matlab utilizando la aproximación con una búsqueda lineal exacta para resolver el problema:. Mı́n f (x) = 12 xt Dx + ct x at x = b l≤x≤u Donde D es una matriz simétrica, semidenida positiva de orden n, y x, c, l, u, a ∈ IRn , tal que a ≥ 0, l ≤ u, y at l ≤ b ≤ at u. El código del programa en Matlab (Octave) es el siguiente: %clear; Df=input('ingresar la matriz denida positiva Df='); c=input('ingresar el vector lineal c='); l=input('ingresar cotas inferiores l='); u=input('ingresar cotas superiores u='); a=input('ingresar el vector de la restriccion lineal a='); b=input('ingresar la constante de la igualdad lineal b='); x0=input('ingresar punto de inicio Xo='); n=length(c); D=2*eye(n); r=1; paso=0; while r>=0.0001. 47.

(55) paso=paso+1; fprintf('En la iteraccion %5.0f:\n',paso); ck=c+((Df-D)*x0')'; d=diag(D); x=separable(d,ck,l,u,a,b); r=norm(x-x0); disp('solucion al problema separable:'); disp(x); if r>=0.0001 av=x-x0; tf=punto(x0,av,l,u); t=fmint(tf,x0,av,Df,c); x=x0+t*av; disp('mejor aproximacion='); disp(x); else disp('ya son proximos'); end; x0=x; end; disp('punto de minimo:'); disp(x0); y=0.5*x0*Df*x0'+c*x0'; disp('valor minimo:'); disp(y);. Aquí consideramos como variables de ingreso: Df es la matriz hessiana de la función a optimizar (matriz denida positiva) c es el vector de la parte lineal de la función objetivo l es el vector de cotas inferiores u es el vector de cotas superiores a es el vector que corresponde a la restricción lineal. 48.

(56) b es la constante de la restricción lineal x0 es el punto inicial que pertenece a la región factible. Ejemplo 2.7 min x21 + x22 + 2x23 + x1 x2 − x1 x3 − 2x2 x3 + 2x1 − x2 + x3 sujeto a: x1 + 2x2 + 2x3 = 11 1 ≤ x1 ≤ 3 −1 ≤ x2 ≤ 1 3 ≤ x3 ≤ 5. En estecaso tenemos:  1 −1   2    Df =  1 2 −2     −1 −2 4 c = (2, −1, 1) l = (1, −1, 3) u = (3, 1, 5) a = (1, 2, 2) b = 11 x0 = (1, 0, 5). Ejecutando en Matlab tenemos: >> buslineal ingresar la matriz denida positiva Df=[2,1,-1;1,2,-2;-1,-2,4] ingresar el vector lineal c=[2,-1,1] ingresar cotas inferiores l=[1,-1,3] ingresar cotas superiores u=[3,1,5] ingresar el vector de la restriccion lineal a=[1,2,2] ingresar la constante de la igualdad lineal b=11 ingresar punto de inicio Xo=[1,0,5] En la iteraccion 1: 49.

(57) solucion al problema separable: 313 mejor aproximacion: 313 En la iteraccion 2: solucion al problema separable: 2.2000 1.0000 3.4000 mejor aproximacion: 2.5000 1.0000 3.2500 En la iteraccion 3: solucion al problema separable: 2.5000 1.0000 3.2500 ya son proximos punto de minimo: 2.5000 1.0000 3.2500 valor minimo: 23.5000. 2.7. Implementación computacional de la aproximación con tamaño de paso 1 Aquí presentamos el programa. paso1 en Octave o Matlab utilizando la aproximación. con tamaño de paso1 para resolver el problema:. Mı́n f (x) = 12 xt Dx + ct x at x = b l≤x≤u 50.

(58) Donde D es una matriz simétrica, semidenida positiva de orden n, y x, c, l, u, a ∈ IRn , tal que a ≥ 0, l ≤ u, y at l ≤ b ≤ at u. El código del programa en Matlab (Octave) es el siguiente: %clear; Df=input('ingresar la matriz denida positiva Df='); D=input('ingresar la matriz diagonal D='); c=input('ingresar el vector lineal c='); l=input('ingresar cotas inferiores l='); u=input('ingresar cotas superiores u='); a=input('ingresar el vector de la restriccion lineal a='); b=input('ingresar la constante de la igualdad lineal b='); x0=input('ingresar punto de inicio Xo='); n=length(c); r=1; paso=0; while r>=0.0001 paso=paso+1; fprintf('En la iteraccion %5.0f:\n',paso); ck=c+((Df-D)*x0')'; x=separable(diag(D),ck,l,u,a,b); disp(x); r=norm(x-x0); x0=x; end; disp('punto de minimo:'); disp(x0); y=0.5*x0*Df*x0'+c*x0'; disp('valor minimo:'); disp(y);. Aquí consideramos como variables de ingreso: Df es la matriz hessiana de la función a optimizar (matriz denida positiva) D es la matriz diagonal tal que kD−1 (Df − D)k < 1 c es el vector de la parte lineal de la función objetivo. 51.

(59) l es el vector de cotas inferiores u es el vector de cotas superiores a es el vector que corresponde a la restricción lineal b es la constante de la restricción lineal x0 es el punto inicial que no necesariamente pertenece a la región factible. Ejemplo 2.8 min x21 + x22 + 2x23 + x1 x2 − x1 x3 − 2x2 x3 + 2x1 − x2 + x3 sujeto a: x1 + 2x2 + 2x3 = 11 1 ≤ x1 ≤ 3 −1 ≤ x2 ≤ 1 3 ≤ x3 ≤ 5. En estecaso tenemos:   2  Df =   1  −1   3 0  D=  0 3  0 0 c = (2, −1, 1). −1   2 −2    −2 4  0   0    3 1. l = (1, −1, 3) u = (3, 1, 5) a = (1, 2, 2) b = 11 x0 = (1, 0, 5). Ejecutando en Matlab tenemos: >> paso1 ingresar la matriz denida positiva Df=[2,1,-1;1,2,-2;-1,-2,4] 52.

(60) ingresar la matriz diagonal D=[3,0,0;0,3,0;0,0,3] ingresar el vector lineal c=[2,-1,1] ingresar cotas inferiores l=[1,-1,3] ingresar cotas superiores u=[3,1,5] ingresar el vector de la restriccion lineal a=[1,2,2] ingresar la constante de la igualdad lineal b=11 ingresar punto de inicio Xo=[1,0,5] En la iteraccion 1: 313 En la iteraccion 2: 2.4667 1.0000 3.2667 En la iteraccion 3: 2.5022 1.0000 3.2489 En la iteraccion 4: 2.4999 1.0000 3.2501 En la iteraccion 5: 2.5000 1.0000 3.2500 En la iteraccion 6: 2.5000 1.0000 3.2500 punto de minimo: 2.5000 1.0000 3.2500 valor minimo: 23.5000. 2.8. Funciones creadas para los programas En esta sección listamos las funciones valor, intervalo, separable, fmint, pertenece y punto creadas para la implementación de los anteriores programas. 53.

Referencias

Documento similar

Es el proceso mediante el cual se realiza una elección entre diferentes alternativas o formas para resolver diferentes problemas a los que nos enfrentamos en la vida, estas se

La empresa presentaba algunos problemas en el proceso administrativo como: no tenían establecido los objetivos del año, ni las estrategias para cumplir con los objetivos;

[r]

(1886-1887) encajarían bien en una antología de textos históricos. Sólo que para él la literatura es la que debe influir en la historia y no a la inversa, pues la verdad litera- ria

entorno algoritmo.

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas

De- bido a las conexiones históricas entre el derecho natural y el derecho civil, las explicaciones filosóficas de la responsabilidad extracontractual son más adecuadas para

Con el presente estudio se definió el impacto de una rotación con maíz, sobre los principales índices ecológicos de las poblaciones de la mesofauna del suelo, y en el índice