0% encontró este documento útil (0 votos)
17 vistas9 páginas

Io 2

Cargado por

gmeza2018
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
17 vistas9 páginas

Io 2

Cargado por

gmeza2018
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Programación No Lineal: Fundamentos, Métodos

y Aplicaciones

Lic. Ignacio Acuña

3 de junio de 2025

1. Introducción a la Programación No Lineal


La Programación No Lineal (PNL) es una rama de la optimización matemática que
resuelve problemas donde la función objetivo o al menos una restricción son no li-
neales, como funciones cuadráticas, exponenciales, logarítmicas o trigonométricas. A
diferencia de la Programación Lineal (PL), que asume relaciones lineales, la PNL mo-
dela sistemas complejos en ingeniería, economía, ciencia de datos y logística, donde
las no linealidades reflejan comportamientos reales, como economías de escala o diná-
micas físicas.
Por ejemplo, consideremos:

Minimizar f ( x, y) = x2 + y2 , sujeto a x + y = 1

La función objetivo f ( x, y) = x2 + y2 es cuadrática (no lineal), y la restricción es lineal.


La PNL busca el punto en la recta x + y = 1 que minimice la distancia al origen al
cuadrado. Este problema ilustra cómo la PNL combina flexibilidad con desafíos, co-
mo múltiples óptimos locales o regiones factibles no convexas, requiriendo métodos
avanzados.
La PNL es esencial porque los modelos lineales a menudo son insuficientes para
capturar la complejidad de fenómenos reales. Sin embargo, su resolución es más com-
plicada debido a la no linealidad, lo que motiva el desarrollo de técnicas como los
multiplicadores de Lagrange, las condiciones de Karush-Kuhn-Tucker (KKT) y algo-
ritmos numéricos.

2. Diferencias con la Programación Lineal


La Programación Lineal y la Programación No Lineal comparten el objetivo de
optimizar una función sujeta a restricciones, pero difieren en:

Naturaleza de las funciones:

• PL: Función objetivo y restricciones lineales. Ejemplo:

Maximizar Z = 3x + 5y, sujeto a x + y ≤ 10, x, y ≥ 0

1
• PNL: Función objetivo o restricciones no lineales. Ejemplo:

Minimizar f ( x, y) = x2 + y2 , sujeto a x + y ≥ 1

Región factible:

• PL: Poliedro convexo; el óptimo está en un vértice.


• PNL: Puede ser no convexa, con múltiples óptimos locales.

Resolución:

• PL: Métodos como Simplex garantizan un óptimo global.


• PNL: Métodos iterativos (gradientes, Newton) enfrentan desafíos como con-
vergencia a óptimos locales.

Aplicaciones:

• PL: Asignación de recursos lineales.


• PNL: Modelos complejos, como diseño estructural o aprendizaje automáti-
co.

La PL es más simple pero menos flexible. La PNL„ aborda problemas donde las no
linealidades son críticas, aunque a costa de mayor complejidad computacional.

3. Formulación Matemática General


Un problema de PNL se formula como:

Minimizar (o maximizar) f ( x ),
sujeto a gi (x) ≤ 0, i = 1, . . . , m,
h j (x) = 0, j = 1, . . . , p,

donde:

x ∈ Rn : Vector de variables (x1 , . . . , xn ).

f (x): Función objetivo, posiblemente no lineal.

gi (x): Restricciones de desigualdad.

h j (x): Restricciones de igualdad.

La no linealidad en f , gi o h j permite modelar relaciones complejas, pero introduce


desafíos como múltiples óptimos o regiones factibles no convexas.

4. Tipos de Problemas de PNL


Los problemas de PNL se clasifican por convexidad y presencia de restricciones.

2
4.1. Convexos vs. No Convexos
Convexos:
• La función objetivo es convexa (minimización) o cóncava (maximización), y
el conjunto factible es convexo.
• Un mínimo local es global, simplificando la resolución.
• Ejemplo: Minimizar f ( x, y) = x2 + y2 .
No Convexos:
• Función objetivo o conjunto factible no convexos, con posibles múltiples
óptimos locales.
• Ejemplo: Minimizar f ( x ) = x4 − 4x2 .

4.2. Con Restricciones vs. Sin Restricciones


Sin Restricciones:
• Optimizar f (x) sin restricciones, buscando ∇ f = 0.
• Ejemplo: Minimizar f ( x ) = x2 .
Con Restricciones:
• Incluyen restricciones de igualdad o desigualdad, requiriendo métodos co-
mo Lagrange o KKT.
• Ejemplo: Minimizar f ( x, y) = x2 + y2 sujeto a x + y = 1.

5. Métodos de Resolución
La PNL requiere métodos especializados debido a las no linealidades. A continua-
ción, se detallan los principales, con énfasis en su fundamentación matemática.

5.1. Métodos del Gradiente


Buscan el óptimo siguiendo la dirección del gradiente (∇ f ):
x k +1 = x k − α ∇ f ( x k )
donde α es el tamaño del paso. Son efectivos para problemas sin restricciones, pero
pueden converger lentamente en problemas no convexos.

5.2. Multiplicadores de Lagrange


Para restricciones de igualdad (h j (x) = 0), se define el lagrangiano:
L(x, λ) = f (x) + ∑ λ j h j (x)
Los puntos críticos satisfacen:
∇L = 0
Este método equilibra la función objetivo con las restricciones.

3
Condiciones KKT
Estas condiciones son necesarias para que un punto x ∗ sea óptimo (mínimo local),
bajo ciertas condiciones regulares. Son una extensión del método de Lagrange para
cuando hay restricciones de desigualdad.
Las condiciones KKT son:
1. Condición de estacionariedad (gradiente):
m p
∇ f ( x ) + ∑ λ i ∇ gi ( x ) + ∑ µ j ∇ h j ( x ∗ ) = 0
∗ ∗
i =1 j =1

Esta condición dice que la combinación lineal del gradiente de la función objetivo
y de las restricciones es cero, usando los multiplicadores λi (para desigualdades)
y µ j (para igualdades).
2. Condición primal (viabilidad):
gi ( x ∗ ) ≤ 0, h j (x∗ ) = 0
El punto x ∗ debe satisfacer todas las restricciones del problema.
3. Condición dual:
λi ≥ 0
Los multiplicadores de desigualdad no pueden ser negativos.
4. Condición de complementariedad:
λ i gi ( x ∗ ) = 0

¿Qué significa que una restricción esté activa o inactiva?


Una restricción activa en x ∗ significa que se cumple con igualdad, es decir:
gi ( x ∗ ) = 0
Es como si fuera una restricción de igualdad en ese punto. Aquí, el multiplicador
λi puede ser positivo.
Una restricción inactiva significa que no está “tocando” el límite, es decir:
gi ( x ∗ ) < 0
En ese caso, su multiplicador debe ser cero:
λi = 0

Esta relación se llama complementariedad y se expresa como:


λ i gi ( x ∗ ) = 0
Esto asegura que:
Si gi ( x ∗ ) < 0, entonces λi = 0
Si λi > 0, entonces gi ( x ∗ ) = 0

4
Ejemplo intuitivo
Imagina que caminas por un pasillo con paredes (restricciones). Quieres minimizar
una función, pero no puedes atravesar las paredes.

Si estás pegado a una pared (la estás tocando), esa restricción está activa, y puede
“empujarte” con una fuerza (multiplicador λi > 0).

Si estás lejos de la pared, la restricción está inactiva y no influye en tu movi-


miento (su multiplicador es λi = 0).

5.3. Métodos Heurísticos


Para problemas no convexos, algoritmos como recocido simulado ofrecen solucio-
nes aproximadas cuando los métodos exactos son inviables.

5.4. Herramientas Computacionales


Software como Python (SciPy), MATLAB y LINGO resuelven problemas de PNL
numéricamente. LINGO es ideal para modelar funciones no lineales, como se muestra
en los ejemplos.

6. Explicación Detallada de Restricciones de Desigual-


dad
Las restricciones de desigualdad (gi (x) ≤ 0) son comunes en PNL y difieren de
las restricciones de igualdad (h j (x) = 0) porque no requieren que la solución esté
exactamente en la frontera de la restricción, sino que puede estar en el interior de la
región factible.

6.1. Concepto de Restricciones de Desigualdad


Una restricción de desigualdad gi (x) ≤ 0 define una región factible donde gi (x)
puede ser negativa (interior) o cero (frontera). Por ejemplo, en:

Maximizar f ( x ) = x − x2 , sujeto a 0 ≤ x ≤ 1

las restricciones 0 ≤ x ≤ 1 se reescriben como:

− x ≤ 0, x−1 ≤ 0

Estas restricciones indican que x debe estar en el intervalo [0, 1]. La solución puede
estar: - En el interior (0 < x < 1), donde las restricciones no son activas (− x < 0,
x − 1 < 0). - En la frontera (x = 0 o x = 1), donde al menos una restricción es activa
(− x = 0 o x − 1 = 0).

5
6.2. Rol de las Condiciones KKT
Las condiciones KKT son esenciales para restricciones de desigualdad porque: -
**Multiplicadores no negativos (λi ≥ 0)**: Garantizan que las restricciones de des-
igualdad contribuyen al gradiente en la dirección correcta. - **Complementariedad
(λi gi (x∗ ) = 0)**: Si una restricción no es activa (gi (x∗ ) < 0), su multiplicador es cero
(λi = 0), indicando que no afecta la optimalidad. Si es activa (gi (x∗ ) = 0), λi ≥ 0 pue-
de ser positivo. - **Estacionariedad**: El gradiente de la función objetivo se equilibra
con los gradientes de las restricciones activas.

6.3. Importancia en PNL


Las restricciones de desigualdad amplían la flexibilidad de la PNL, permitiendo
soluciones en el interior o en la frontera. Las condiciones KKT manejan esta dualidad,
asegurando que solo las restricciones activas influyan en la optimalidad.

7. Ejemplos Manuales Resueltos


A continuación, se resuelven dos ejemplos manualmente, con cálculos detallados,
análisis de derivadas, convexidad/cóncavidad, y códigos en Python para verificar las
soluciones.

7.1. Ejemplo 1: Minimización con Restricción de Igualdad


Problema: Minimizar f ( x, y) = x2 + y2 sujeto a x + y = 1.
Análisis Matemático: La función f ( x, y) = x2 + y2 representa la distancia al origen
al cuadrado, y la restricción x + y = 1 es una recta. Buscamos el punto en la recta más
cercano al origen.
1. **Lagrangiano:**

L( x, y, λ) = x2 + y2 + λ( x + y − 1)

2. **Derivadas parciales:** - Con respecto a x:


∂L
= 2x + λ = 0 ⇒ λ = −2x
∂x
- Con respecto a y:
∂L
= 2y + λ = 0 ⇒ λ = −2y
∂y
- Con respecto a λ:
∂L
= x+y−1 = 0 ⇒ x+y = 1
∂λ
3. **Resolución del sistema:** Igualamos:

−2x = −2y ⇒ x=y

Sustituyendo en x + y = 1:

x+x =1 ⇒ 2x = 1 ⇒ x = 0,5, y = 0,5

6
Calculamos λ:
λ = −2x = −2(0,5) = −1
Verificamos:
λ = −2y = −2(0,5) = −1
El valor de λ = −1 es consistente en ambas ecuaciones, indicando que el sistema no
tiene contradicciones.
4. **Evaluación de la función objetivo:**

f (0,5, 0,5) = (0,5)2 + (0,5)2 = 0,25 + 0,25 = 0,5

5. **Análisis de convexidad:** Calculamos la Hessiana de f ( x, y): - Primeras deri-


vadas:
∂f ∂f
= 2x, = 2y
∂x ∂y
- Segundas derivadas:

∂2 f ∂2 f ∂2 f ∂2 f
= 2, = 0, = 0, =2
∂x2 ∂x∂y ∂y∂x ∂y2

- Hessiana:  
2 0
Hf =
0 2
- Determinantes:  
2 0
det([2]) = 2 > 0, det =4>0
0 2
La Hessiana es definida positiva, por lo que f es convexa estricta. Esto asegura que
(0,5, 0,5) es un mínimo global, ya que cualquier punto crítico en un problema convexo
con restricciones convexas (la recta x + y = 1 es convexa) es óptimo.
6. **Si fuera cóncava:** Si f fuera cóncava (Hessiana definida negativa), el punto
sería un máximo. Por ejemplo, si f ( x, y) = − x2 − y2 , la Hessiana sería:
 
−2 0
Hf =
0 −2

Definida negativa, indicando un máximo. En nuestro caso, la convexidad confirma el


mínimo.
7. **Significado de λ = −1:** El valor λ = −1 indica la sensibilidad del valor
óptimo respecto a cambios en la restricción.
Condición de Optimalidad: La Hessiana definida positiva y la restricción convexa
confirman que (0,5, 0,5) es un mínimo global.
Resultado: Mínimo en (0,5, 0,5), f = 0,5.

7.2. Ejemplo 2: Maximización con Restricciones de Desigualdad


Problema: Maximizar f ( x ) = x − x2 sujeto a 0 ≤ x ≤ 1.

7
7.3. Ejemplo 3: Maximizar el Área de un Rectángulo Bajo Restricción
de Perímetro
Problema: Maximizar el área de un rectángulo A = x · y, sabiendo que su períme-
tro es fijo: 2x + 2y = 20.
Formulación Matemática:
Maximizar f ( x, y) = x · y
sujeto a 2x + 2y = 20

Resolución Analítica (Lagrange):


1. Lagrangiano:
L( x, y, λ) = xy + λ(20 − 2x − 2y)
2. Derivadas:
∂L y
= y − 2λ = 0 ⇒ λ=
∂x 2
∂L x
= x − 2λ = 0 ⇒ λ=
∂y 2
⇒x=y
3. Sustituyendo en la restricción:

2x + 2x = 20 ⇒ x = y = 5

4. Área máxima:
A = x · y = 5 · 5 = 25
Interpretación: El área máxima se alcanza cuando el rectángulo es un cuadrado.
Esto es consistente con el resultado clásico de geometría.
Tipo de función: La función f ( x, y) = x · y no es ni cóncava ni convexa en todo R2 ,
pero bajo la restricción lineal tiene un único óptimo.
Resultado numérico: x = y = 5, área óptima A = 25. Coincide con el resultado
analítico.

7.4. Ejemplo 4: Método de Newton sin Restricciones


Problema: Minimizar la función f ( x ) = x4 − 3x3 + 2
Análisis Manual (Newton):
1. Derivada primera:
f ′ ( x ) = 4x3 − 9x2
2. Derivada segunda:
f ′′ ( x ) = 12x2 − 18
3. Fórmula del Método de Newton:
f ′ ( xn )
x n +1 = x n −
f ′′ ( xn )
4. Iteraciones a mano (por ejemplo con x0 = 0,5) hasta convergencia.
Interpretación: Newton encuentra raíces de f ′ ( x ) = 0, es decir, puntos críticos
donde podría haber mínimo o máximo. Se verifica con la segunda derivada.

8
Resultado: El método converge a un mínimo local, dependiendo del punto inicial.
Este método puede fallar si f ′′ ( x ) = 0, o si la función no es suficientemente "suave".
Comentario: Newton es muy eficiente cuando la función es bien comportada y
se tiene una buena estimación inicial. No maneja restricciones, por lo que es útil en
problemas sin restricciones.

Ejercicio: Compañía Petrolífera


Una compañía petrolífera debe determinar cuántos barriles de petróleo hay que
extraer en los próximos dos años.
Si la compañía extrae x1 millones de barriles durante el primer año, podrá vender
cada barril a **30 euros**. Si extrae x2 millones de barriles durante el segundo año,
podrá vender cada barril a **35 euros**.
El costo para extraer x1 millones de barriles en el primer año es de 2x12 millones
de euros, y el costo para extraer x2 millones de barriles en el segundo año es de 3x22
millones de euros.
Se puede extraer como máximo un total de 20 millones de barriles, y se dispone de
un presupuesto máximo de 250 millones de euros para la extracción.

Formular el problema de programación no lineal para maximizar las ganancias.

8. Ejercicios para Modelar en LINGO


Formule los siguientes problemas en LINGO (sin código): 1. Minimizar f ( x, y) =
x2 + 2y2 sujeto a x + y ≤ 2, x, y ≥ 0. 2. Maximizar f ( x, y) = xy sujeto a x2 + y2 ≤ 4,
x, y ≥ 0. 3. Minimizar f ( x ) = x4 − 4x2 sujeto a −2 ≤ x ≤ 2.

También podría gustarte