Está en la página 1de 27

Unidad 1

Programación no
lineal

Modelos Estocásticos
2.1 Definición de PNL
Página 1 de 26

Introducción
En general, gran parte de los problemas de programación se abordan como problemas de
tipo lineal con función objetivo lineal y restricciones de tipo lineal. Sin embargo, no es
frecuente que sea así, al contrario, muchos economistas han descubierto que la regla
tiene a ser la no linealidad y no al contrario. Por ello es importante revisar en profundidad
los alcances de la programación no lineal, desde la formulación de problemas, las
interfaces gráficas y la resolución a través de la herramienta SOLVER complemento
ubicado en Excel. Finalmente, demostrar a través del uso de herramientas del cálculo
diferencial que los resultados son equivalentes a los problemas resueltos por las otras
herramientas como SOLVER.

En esta unidad se abordarán problemas que han sido modelados bajo el concepto de la no
linealidad en sus tres casos: Programación lineal sin restricciones, con restricciones de
igualdad y restricciones de desigualdad.

1. Modelos de programación no lineal (PNL)


1.1 Definición de PNL

Los modelos de programación no lineal representan problemas donde la función objetivo


del problema es no lineal o al menos una de las restricciones, de tal forma que no existe
una proporcionalidad del conjunto del recorrido en relación con el dominio de un
problema. Por ejemplo, problemas con economías o deseconomías de escala, donde la
proporcionalidad es inexistente.

Son los modelos donde las variables de decisión se expresan como funciones no lineales
ya sea en la función objetivo o restricciones de un modelo de optimización. Esta
característica particular de los modelos no lineales permite abordar problemas donde
existen economías o deseconomías de escala o en general donde los supuestos asociados
a la proporcionalidad no se cumplen.

Ejemplo:

Sea f(x) = 2x + 3, en este caso cuando voy reemplazando valores en la función desde el
dominio x=1 hasta x=5 y vamos aumentando de uno en uno y el recorrido aumenta de
forma proporcional de dos en dos. Esto significa que como existe una proporcionalidad el
Página 2 de 26

modelo es lineal, más aún si tomamos la función f(x) = 2x + 3 y la derivamos el resultado


es constante, f´(x) =2.
x f(x) f(x) ▽f(x)
1 f(1)= 2(1) + 3 5 -
2 f(2)= 2(2) + 3 7 2
3 f(3)= 2(3) + 3 9 2
4 f(4)= 2(4) + 3 11 2
5 f(5)= 2(5) + 3 13 2

En cambio, si la función objetivo es f(x) =x2, en este caso si el incremento del dominio es
uno a uno produce un cambio del recorrido que no mantendrá una proporcionalidad, ya
que el valor comienza a aumentar de una proporción no lineal. Más aún, si la f(x) =x2 es
derivada el resultado no será constante, por el contrario, dependerá del punto x donde se
encuentre en la curva, f´(x) = 2x.

x f(x) f(x) ▽f(x)


2
1 f(1)= (1) 1 -
2
2 f(2)= (2) 4 3
3 f(3)= (3)2 9 5
4 f(4)= (4)2 16 7
2
5 f(5)= (5) 25 9

1.2 Componentes del modelo de programación


Los modelos de programación no lineal (PNL) al igual que los problemas de programación
lineal o entera se componen de tres elementos:

1.2.1 Definición de variables


Las variables son las respuestas que están buscando en un modelo, son las interrogantes
que se desean obtener y deben ser definidas en unidad de tiempo y unidad de medida. De
igual forma se debe determinar cuántos elementos afecta a una variable de términos del
número de subíndices que tendrá asociados, por ejemplo; Xij = Número de unidades a
trasportar de la planta i al cliente j.

1.2.2 La función objetivo


La función objetivo está relacionada con el objetivo que se desea obtener o responder. La
función objetivo se relacionaría con la pregunta del nivel superior, es decir, la pregunta
fundamental. Así, por ejemplo, si en una situación se desean minimizar los costos, es muy
Página 3 de 26

probable que la pregunta de mayor nivel sea la que se relacione con aumentar la utilidad
en lugar de un interrogante que busque hallar la manera de disminuir los costos.

1.2.3 Definición de restricciones


En este caso las restricciones pueden representar:

• Limitaciones: Guarda relación con recursos limitados que no permite o impiden


tener todos los recursos disponibles, por ende, se produce una limitación. No
obstante, la mayoría de las veces resulta un tema que es exógeno, es decir que no
depende del modelo. Ejemplo: Horas máquina, Horas hombres, m2, m3,
presupuestos, etc.
• Restricciones técnicas: Guarda relación con aspectos técnicos de producción o de
otras áreas que son insalvables, ya que, técnicamente se deben realizar de una
forma y no se pueden modificar. Esto también representa en un componente o
elemento de tipo exógeno. Ejemplo: El largo no puede ser más del doble del alto.
• Comerciales o estratégicas: Guarda relación con restricciones autoimpuestas por
la de tipo endógenas. Por ejemplo: Si se vende el producto 1, no se puede vender
más del doble que del producto 2 para mantener una cartera de productos
balanceada.

1.3 Formulación de modelos de programación lineal


Ejemplo 1:

Una empresa que fabrica combustible (refinería) desea determinar dónde ubicar su planta
que recibirá el petróleo desde tres puertos ubicados geográficamente como se muestra en
la figura 1. El objetivo de la empresa es disminuir los costos de transporte por KM que son
equivalentes a C dólares el kilómetro.
Página 4 de 26

Figura 1: Mapa de la situación

Y D(R,B)

Puerto B
40 (30,40)
Puerto C
30
D(R,A) R (80,30)
(x, y)
Puerto A D(R,C) X
(0,0)
Solución: En este caso lo que busca la empresa es ubicar la refinería en un punto (x,y) de
tal forma de que la distancia de cada puerto a donde llega el crudo hasta la refinería en las
tres opciones sea mínimo, es decir, minimizar la distancia recorrida.

Construcción del modelo

a. Definir las variables

X = Coordenada AX donde estará ubicada la planta

Y = Coordenada AY donde estará ubicada la planta

b. Función Objetivo

Minimizar la suma de las distancias desde los puertos hasta el lugar donde estará ubicada
la planta R.

Minimizar DTOTAL (X,Y) = D(R,A) + D(R,B) + D(R,C)

En función de Pitágoras y la distancia entre dos puntos


Página 5 de 26

Figura 2: Marco conceptual de distancia entre dos puntos

Figura 3: Distancia entre dos puntos

En base a estas dos figuras la función objetivo quedará:

𝑀𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟 √(𝑥 − 0)2 + (𝑦 − 0)2 + √(𝑥 − 30)2 + (𝑦 − 40)2 + √(𝑥 − 80)2 + (𝑦 − 30)2

Este ejemplo correspondería a un problema de programación no lineal sin restricciones, la


resolución de este, la construcción algebraica y el marco de resolución matemático de
este tipo de problema se verá más adelante.

Ejemplo 2:

Una empresa les vende a dos tipos de clientes cuyas demandas son:

Cliente 1: d1 = 6.000 – 30p1

Cliente 2: d2 = 6.000 – 50 p2

Actualmente el costo total de producción de una unidad es de 10 USD.

a. Programación no lineal sin restricciones

Formula un modelo de programación no lineal que permita determinar cuáles precios se


deben cobrar a cada cliente de tal forma de maximizar la utilidad. Solución:

i. Definición de variables

p1 = dólares a cobrar al cliente 1 por una unidad.


Página 6 de 26

p2 = dólares a cobrar al cliente 2 por una unidad.

ii. Definición la función objetivo

U(p1, p2)= Ingreso – costo = Precio x Cantidad - costo

U(p1, p2)= p1 x d1 + p2 x d2 – 10 (d1 + d2)

Como la función objetivo está en función de p1 y p2 no pueden existir otras


variables que no están relacionadas con estos precios, por lo que debemos usar d 1
= 6.000 – 30p1; d2 = 6.000 – 50 p2. Luego:

U(p1, p2)= p1 x (6.000 – 30p1) + p2 x (6.000 – 50 p2) – 10 (6.000 – 30p1 + 6.000 – 50


p 2)

U(p1, p2)= 6.000p1 -30p12 + 6.000p2 -50p22 – 120.000 + 300p1 +500p2

U(p1, p2)= 6.300p1 -30p12 + 6.500p2 -50p22 -120.000

b. Programación no lineal con restricciones de igualdad

Formula un modelo de programación no lineal que permita obtener un precio único para
ambos clientes de tal forma de maximizar la utilidad. Solución:

i. Definición de variables

p1 = Dólares a cobrar al cliente 1 por una unidad.

p2 = Dólares a cobrar al cliente 2 por una unidad.

ii. Definición de la función objetivo

U(p1, p2)= 6.300p1 -30p12 + 6.500p2 -50p22 -120.000

iii. Restricciones

Igualdad de precios: p1 = p2

No negatividad; p1, p2 ≥ 0

c. Programación no lineal con restricciones de desigualdad


Página 7 de 26

Formula un modelo de programación no lineal que permita determinar el precio a cobrar


a cada segmento de tal forma de maximizar la utilidad, pero entendiendo que no se puede
producir más de 4.000 unidades diarias con los recursos disponibles. Solución:

i. Definición de variables

p1 = Dólares a cobrar al cliente 1 por una unidad.

p2 = Dólares a cobrar al cliente 2 por una unidad.

ii. Definición de la función objetivo

U(p1, p2)= 6.300p1 -30p12 + 6.500p2 -50p22 -120.000

iii. Restricción

Capacidad de producción: d1+ d2 ≤ 4.000; luego sabemos que: d1 = 6.000 – 30p1; d2


= 6.000 – 50 p2.

6.000 – 30p1 + 6.000 – 50 p2 ≤ 4.000

12.000 -30p1 – 50p2 ≤ 4.000

30p1 + 50p2 ≥ 8.000

No negatividad; p1, p2 ≥ 0

1.4 Modelo de programación no lineal sin restricciones


Sea x = (x1, x2, x3, …,xn) y una función objetivo f(x) = f(x1, x2, x3, …,xn), de tal forma que este
modelo solo tiene función objetivo que puede ser de maximización o minimización pero
con un dominio en IRn.

Primal) Max o Min f(x) = f(x1, x2, x3, …,xn)

s.a x є IRn

En este caso, el ejercicio tiene tres formas de resolución:


Página 8 de 26

1.4.1 Por desarrollo algebraico

En los casos que la función objetivo sea un lugar geométrico conocido: circunferencia,
elipse, parábola o hipérbola, comentando la ecuación general se puede obtener una
aproximación a la solución óptima.

Tomando como referencia el ejemplo 2 a.

U(p1, p2)= 6.300p1 -30p12 + 6.500p2 -50p22 -120.000

Podemos apreciar que, dado que los coeficientes numéricos que acompañan a las
variables al cuadrado tienen el mismo signo, pero son valores distintos, estamos en
presencia de una elipse.

Def 1: Si los coeficientes que acompañan a las variables al cuadrado tienen mismo signo y
son el mismo valor (Número), estamos en presencia de una circunferencia.

Def 2: Si los coeficientes que acompañan a las variables al cuadrado tienen distinto signo y
son el mismo valor (Número) o distinto, estamos en presencia de una hipérbola.

Def 3: Si en una ecuación cónica una variable está al cuadrado y la otra no, estamos en
presencia de una parábola.

Sigamos con el ejemplo 2 a)

Dada la función objetivo: U(p1, p2)= 6.300p1 -30p12 + 6.500p2 -50p22


𝑈(𝑝1, , 𝑝2, ) = 30(210𝑝1 − 𝑝12 ) + 50(130𝑝2 − 𝑝22 ) − 120.000

30(𝑝12 − 210𝑝1 ) + 50(𝑝22 − 130𝑝2 ) = −120.000 − 𝑈(𝑝1, , 𝑝2, )

30(𝑝1 − 105)2 − 30(105)2 + 50(𝑝2 − 65)2 − 50(65)2 = −120.000 − 𝑈(𝑝1, , 𝑝2, )

30(𝑝1 − 105)2 + 50(𝑝2 − 65)2 = 330.750 + 211.250 − 120.000 − 𝑈(𝑝1, , 𝑝2, )

30(𝑝1 − 105)2 + 50(𝑝2 − 65)2 = 422.000 − 𝑈(𝑝1, , 𝑝2, )

En relación con la ecuación general de la elipse:


Página 9 de 26

30(𝑝1 − 105)22 + 50(𝑝2 − 65)22 = 422.000 − 𝑈(𝑝1, , 𝑝2, )


30(𝑝1 − 105) + 50(𝑝2 − 65) = 422.000 − 𝑈(𝑝1, , 𝑝2, ) /150

(𝑝1 − 105)2 (𝑝2 − 65)2 422.000 − 𝑈(𝑝1, , 𝑝2, )


Se obtiene (1) 2 + 2 =
(√5) (√3) 150

En este caso podemos apreciar que la Utilidad máxima posible se alcanza en USD 422.000
(𝑝1 −105)2 (𝑝2 −65)2
dado que la expresión 2 y la expresión 2 al estar al cuadrado no pueden ser
√5 √3
expresiones negativas, por ende, el lado derecho de la igualdad no puede ser negativo,
eso implica que dado que la utilidad está representada por la expresión U(p1,p2) el
máximo valor que queremos que alcance es infinito, no obstante en la expresión (1) lo
máximo que puede alcanzar para no ser un valor negativo es USD 422.000. Ahora cuando
alcanza dicho valor la expresión del lado derecho de (1) se hace cero y para que la
igualdad se cumpla entonces p1 =105 y p2=65. En este caso, esta última solución
representará la solución óptima del problema y el USD 422.000 el valor óptimo.

1.4.2 A través del Solver del Excel

Solver es una herramienta que está incorporada como un complemento en Excel. Puede
consultar el manual que está dentro de esta unidad y de igual forma la cápsula donde se
muestra una aplicación del programa.

FUNCION OBJETIVO P1 P2
422.000 105 65

En este caso SOLVER les entregará la solución óptima del problema y el valor de la función
objetivo.

1.4.3 Por condiciones de primer y segundo orden


1.4.3.1 Condiciones de primer orden

En este caso dado que tenemos una función objetivo f(x1, x2, x3, …,xn) con x є IRn debemos
obtener un máximo o un mínimo depende de la naturaleza del problema y eso se produce
donde la pendiente es igual a cero o la derivada parcial o gradiente sea igual a cero. Con
Página 10 de 26

esto se encontrarán los puntos críticos que son los candidatos a máximo y/o mínimos o
punto de silla, según sea el caso.

▽ f(x1, x2, x3, …,xn) = (0,0,0…,0)

1.4.3.2 Condiciones de segundo orden

En este caso se debe realizar la segunda derivada direccional y luego calcular el hessiano
para determinar las características de los puntos críticos.

Notación: 𝐹𝑥𝑖 = Derivada de F respecto de xi (DF/dxi).

𝐹𝑥1 𝑥1 ⋯ 𝐹𝑥1 𝑥𝑛
▽2 f(x1, x2, x3, …,xn) = [ ⋮ ⋱ ⋮ ]= H (Hessiano)
𝐹𝑥𝑛𝑥1 ⋯ 𝐹𝑥𝑛𝑥𝑛

Una vez calculado el hessiano se debe calcular su determinante que dará lugar a una
expresión que llamaremos L

Det (H) = L

(1) Caso con un solo punto crítico: Si L es un número real y un valor constante se pueden
obtener tres escenarios

(1) Caso 1: Si L < 0, entonces el punto crítico encontrado no es ni máximo ni mínimo,


es punto de silla.

(2) Caso 2: Si L > 0, Entonces el punto crítico será

(1) Máximo global, ssi 𝐹𝑥𝑖 𝑥𝑖 < 0. Para todo i=1,…, n

(2) Mínimo Global, ssi 𝐹𝑥𝑖 𝑥𝑖 > 0. Para todo i=1,…, n

(3) Caso 3: Si L=0, no se puede concluir nada.


Página 11 de 26

Esto pasa cuando la función objetivo es de tipo convexa

Máximo Global 𝛻𝐹(𝑥1 , 𝑥2 ) = (0,0)

𝛻𝐹(𝑥1 , 𝑥2 ) = (0,0)

Mínimo Global

(4) Caso con más de un punto crítico: Si tenemos dos puntos críticos P1 =(x11,x21); P2
=(x12,x22)

En este caso L no será un número real por defecto, si no que una expresión algebraica a la
cual denominaremos; L =M(x1,x2)

(1) Caso 1: Si L= M(P1) < 0 y/o L= M(P2) < 0 entonces el (los) punto(s) crítico(s)
encontrado (s) no (son) es ni máximo, ni mínimo, es (son) punto de silla.

(2) Caso 2: Si M(P1) > 0 y/o M(P2) > 0, Entonces el punto crítico será

(1) Máximo local, , ssi 𝐹𝑥𝑖 𝑥𝑖 < 0. Para todo i=1,…, n

(2) Mínimo local, ssi 𝐹𝑥𝑖 𝑥𝑖 > 0. Para todo i=1,…, n

(3) Caso 3: Si L(P1) =0 o L(P2) = 0, no se puede concluir nada.

Pueden ocurrir sucesos alternos

1. Si G(P1) > 0 y G(P2) < 0; en este caso P1 se debe analizar si es máximo o mínimo
local, en el caso de P2 será punto de silla.

2. Si G(P1) < 0 y G(P2) > 0; en este caso P2 se debe analizar si es máximo o mínimo
local, en el caso de P1 será punto de silla.

Esto pasa cuando la función objetivo es de tipo NO convexa


Página 12 de 26

Máximo Local
𝛻𝐹(𝑥1 , 𝑥2 ) = (0,0)

Curvas NO CONVEXAS

𝛻𝐹(𝑥1 , 𝑥2 ) = (0,0)

Mínimo Local

Ejemplo 3: Ejemplo 1: F(x1, x2)= -2x12 - x22.


Determine el valor máximo que puede tomar esta función .

(1) Condición de primer orden: 𝜵𝑭(𝒙𝟏 , 𝒙𝟐 ) = (𝟎, 𝟎) ; (-4x1, -2x2) = (0,0);

(1) -4x1 = 0; x1 = 0

(2) -2x2 =0; x2 = 0

(3) Existe un solo punto crítico que es el punto (0,0)

(2) Condición de segundo orden

𝐹𝑥1 𝑥1 𝐹𝑥1 𝑥2 −4 0
H=[ ]= [ ]
𝐹𝑥2 𝑥1 𝐹𝑥2 𝑥2 0 −2

L=Det (H) = 𝐹𝑥1 𝑥1 x 𝐹𝑥2 𝑥2 – 𝐹𝑥2 𝑥1 x 𝐹𝑥1 𝑥2 = (-4 x -2) – (0 x 0) = 8 > 0

En este caso el valor de L es mayor que cero, y como la diagonal de H son menor que cero,
el punto crítico en este caso, representa un Máximo Global.

Ejemplo 4: F(x1,x2)= x13- 3x12 +3x22 – x23


Determine el (los) valor (es) máximo(s) y/o mínimo (a) que puede tomar esta función.
Página 13 de 26

1. Condiciones de primer orden

𝜵𝑭(𝒙𝟏 , 𝒙𝟐 ) = (𝟎, 𝟎)

DF/dx1 = Fx1; DF/dx2 = Fx2

(3x12 – 6x1, 6x2 -3x22)= (0,0)

(1) 3x12- 6x1 = 0; 3x1 (x1–2)=0; 3x1 =0; (a) x1=0 (b) (x1 – 2)=0 ; x1 =2

(2) 6x2 -3x22 =0; 3x2 (2–x2)=0; 3x2 =0; (c) x2=0 (b) (2 – x2)=0 ; x2 =2

Existen 4 puntos críticos (0,0); (2,0); (0,2) (2,2)

2. Condiciones de segundo orden (la segunda derivada de F(x1,x2))

(3x12 – 6x1, 6x2 -3x22) = (0,0)

Fx1 Fx2

𝐹𝑥1 𝑥1 𝐹𝑥1 𝑥2 6𝑥 − 6 0
H=[ ]= [ 1 ], DET(H) = L= Fx1x1 x Fx2x2 – Fx2x1 x Fx1x2 =
𝐹𝑥2 𝑥1 𝐹𝑥2 𝑥2 0 6 − 6𝑥2

= (6𝑥1 − 6) x(6 − 6𝑥2 ) – (0 x 0)= (𝟔𝒙𝟏 − 𝟔) x(𝟔 − 𝟔𝒙𝟐 ) =L = M(x1,x2)

Dado M(x1,x2) = (6𝑥1 − 6) x(6 − 6𝑥2 ) se deben reemplazar cada uno de los puntos
críticos (0,0); (2,0);(0,2) (2,2) en M(x1,x2) de tal forma de analizar que representa
cada punto.

L (0,0) = (6 ∗ 0 − 6) x (6 − 6 ∗ 0)= -6 * 6 = -36 < 0; (0,0) Punto de Silla

L (2,0) = (6 ∗ 2 − 6) x (6 − 6 ∗ 0)= 6 x 6 = 36 > 0; Como la diagonal es > 0; (2,0)


Mínimo local.

L (0,2) = (6 ∗ 0 − 6) x (6 − 6 ∗ 2)= -6 x -6 = 36 > 0; Como la diagonal es < 0; (0,2)


Máximo local.

L (2,2) = (6 ∗ 2 − 6) x (6 − 6 ∗ 2)= 6 x -6 = -36 < 0; (2,2) Punto de Silla.


Página 14 de 26

1.5 Modelo de programación no lineal con restricciones de


igualdad
Estos modelos son resueltos a través del modelo de Lagrange que se muestra a
continuación. Para efectos prácticos solo se considerarán dos variables en el modelo con
dos restricciones de igualdad. Para más variables y más restricciones consultar la
bibliografía.

En este caso este ejercicio tiene dos formas de resolución:

1.5.1 Por condiciones de primer y segundo orden

Función objetivo Máx o Min F(x1, x2)

Sujeto a (s.a): q1(x1,x2) = a; Sea Restricción1: R1: q1(x1 ,x2) – a = 0

q2(x1,x2) = b; Sea Restricción2: R2: q2(x1 ,x2) – b = 0

x1,x2 ≥ 0

Las condiciones de primer y segundo orden se aplican sobre la función objetivo y las
restricciones.

1. Condición de primer orden:

(a) Lagrange = 𝛻𝐹(𝑥1 , 𝑥2 ) + 𝜇1 𝛻𝑅1 (𝑥1 , 𝑥2 ) + 𝜇2 𝛻𝑅2 (𝑥1 , 𝑥2 ) = (0,0), de igual forma se
deben incorporar en la resolución de este sistema la restricciones de igualdad: (b)
q1(x1,x2)=a; (c) q2(x1 ,x2) = b.

Con este sistema (a), (b) y (c) se obtienen los llamados puntos críticos que son los
candidatos a: Máximo, Mínimo o punto de silla.

2. Condiciones de segundo orden

Es la segunda derivada o Hessiano 𝜵𝑳𝒂𝒈𝒓𝒂𝒏𝒈𝒊𝒂𝒏𝒐(𝟐) (𝒙𝟏 , 𝒙𝟐 ) este elemento es una


matriz y el orden de dicha matriz será n (Filas) x n (Columnas), donde n es el número de
variables del problema.
𝒅𝑭 𝒅𝑭
Notación: 𝒅𝒙 = 𝑭𝒙𝟏 ; = 𝑭 𝒙𝟐
𝟏 𝒅𝒙𝟐
Página 15 de 26

Hessiano

𝑭 𝒙𝟏 𝒙𝟏 𝑭 𝒙𝟏 𝒙𝟐 𝑹𝟏𝒙𝟏 𝒙𝟏 𝑹𝟏𝒙𝟏 𝒙𝟐 𝑹𝟐𝒙𝟏 𝒙𝟏 𝑹𝟐𝒙𝟏 𝒙𝟐 𝑳𝒙 𝒙 𝑳 𝒙𝟏 𝒙𝟐


=[ ] + 𝝁𝟏 [ ]+ 𝝁𝟐 [ ]= [ 𝟏 𝟏 ]
𝑭 𝒙𝟐 𝒙𝟏 𝑭 𝒙𝟐 𝒙𝟐 𝑹𝟏𝒙𝟐 𝒙𝟏 𝑹𝟏𝒙𝟐 𝒙𝟐 𝑹𝟐𝒙𝟐 𝒙𝟏 𝑹𝟐𝒙𝟐 𝒙𝟐 𝑳 𝒙𝟐 𝒙𝟏 𝑳 𝒙𝟐 𝒙𝟐

Para determinar si un punto crítico es máximo, mínimo o punto de silla

Se calcula L= DET (HESSIANO) G (x1,x2) = 𝑳𝒙𝟏 𝒙𝟏 x 𝑳𝒙𝟐 𝒙𝟐 – 𝑳𝒙𝟐 𝒙𝟏 x 𝑳𝒙𝟏 𝒙𝟐

(a) Caso con un solo punto crítico: Si L es un número real y un valor constante se pueden
obtener tres escenarios.

(1) Caso 1: Si L < 0, entonces el punto crítico encontrado no es ni máximo, ni


mínimo, es punto de silla.

(2) Caso 2: Si L > 0, Entonces el punto crítico será

(1) Máximo global, ssi 𝐹𝑥𝑖 𝑥𝑖 < 0. Para todo i=1,…, n

(2) Mínimo Global, ssi 𝐹𝑥𝑖 𝑥𝑖 > 0. Para todo i=1,…, n

(3) Caso 3: Si L=0, no se puede concluir nada.

(b) Caso con más de un punto crítico; Si tenemos dos puntos críticos P1 =(x11,x21); P2
=(x12,x22)

En este caso L no será un número real por defecto, si no que una expresión algebraica a la
cual denominaremos; L =G(x1,x2)

(4) Caso 1: Si L= G(P1) < 0 y/o L= G(P2) < 0 entonces el (Los) punto(s) crítico(s)
encontrado (s) no (son) es ní máximo, ni mínimo, es (son) punto de silla.

(5) Caso 2: Si G(P1) > 0 y/o G(P2) > 0, Entonces el punto crítico será

(1) Máximo local, , ssi 𝐹𝑥𝑖 𝑥𝑖 < 0. Para todo i=1,…, n

(2) Mínimo local, ssi 𝐹𝑥𝑖 𝑥𝑖 > 0. Para todo i=1,…, n

Pueden ocurrir sucesos alternos

3. Si G(P1) > 0 y G(P2) < 0; en este caso P1 se debe analizar si es máximo o mínimo local,
en el caso de P2 será punto de silla.
Página 16 de 26

4. Si G(P1) < 0 y G(P2) > 0; en este caso P2 se debe analizar si es máximo o mínimo local,
en el caso de P1 será punto de silla.

Ejemplo 5: Resolvamos el ejemplo 2b) Dos clientes que tenían distinto nivel se sensibilidad
al precio d1 =6.000 – 30p1 y d2 =6.000 –50p2. El costo de producción era de 10 USD por
unidad.

Sabemos que la función utilidad es: U (p1,p2) = 6.300p1 – 30p12 + 6.500p2 – 50p22 - 120.000

Se desea contestar la siguiente pregunta:

¿Cuál será la utilidad máxima si debo cobrar el mismo precio a ambos segmentos de
clientes?

Solución

U(p1,p2)= 6.300p1 – 30p12 + 6.500p2 – 50p22 - 120.000

p1= p2; R1= p1 – p2 =0

L(p1,p2) = (6.300 – 60p1, 6.500 -100p2)+ µ (1,-1)= (0,0);

(6.300 – 60p1, 6.500 -100p2) + (µ, - µ) =(0,0)

(6.300 – 60p1 + µ, 6.500 -100p2 - µ) = (0,0)

(1) 6.300 - 60p1 + µ = 0

(2) 6.500 – 100p2 - µ =0

(3) p1 = p2

Al resolver este sistema se obtiene como punto crítico: p1=80=p2 y µ =-1.500

Luego debemos analizar si este punto representa un máximo o un mínimo


𝑭𝑷 𝟏 𝑷 𝟏 𝑭𝑷 𝟏 𝑷 𝟐 𝑹𝑷 𝑷 𝑹 𝑷 𝟏 𝑷𝟐 −𝟔𝟎 𝟎 𝟎 𝟎
Hessiano=[ ]+ 𝝁[ 𝟏 𝟏 ]= [ ]+ 𝝁 [ ]=
𝑭𝑷 𝟐 𝑷 𝟏 𝑭𝑷 𝟐 𝑷 𝟐 𝑹 𝑷𝟐 𝑷𝟏 𝑹 𝑷 𝟐 𝑷𝟐 𝟎 −𝟏𝟎𝟎 𝟎 𝟎
−𝟔𝟎 𝟎
[ ]
𝟎 −𝟏𝟎𝟎
Det (Hessiano)= (-60 x -100) – (0 x 0) = 6.000 > 0, como la diagonal tiene signo negativo,
estamos en presencia de un máximo global.
Página 17 de 26

Luego la U (80,80) = 6.300(80) – 30(80)2 + 6.500(80) – 50(80)2 - 120.000= 392.000

1.5.2 A través de Solver de Excel


Solver es una herramienta que está incorporada como un complemento en Excel. Puede
consultar el manual que está dentro de esta unidad y de igual forma la cápsula donde se
muestra una aplicación del programa.

FUNCION OBJETIVO P1 P2
392.000 80 80

Restricción formula Desigualdad Lado Derecho


0 = 0

1.6 Modelo de programación no lineal con restricciones de


desigualdad
En este caso este tipo de ejercicios tiene dos formas de resolución

1.6.1 Método de Karush - Kuhn - Tucker (KKT)


Consideramos un problema más general de optimización:

P) Min o Max f(x)

S.a. g1(x) = a

g2(x) ≤ b

g3(x) ≥ c

𝒙𝒊 ≥ 𝟎

En este caso estamos abordando un problema de tipo general con una restricción de
igualdad, otra de tipo menor o igual y finalmente una de tipo mayor o igual.

Para efecto de la resolución de este tipo de modelo, deben ser abordado de la misma
forma que el método simplex es decir como un problema de minimización en su formato
estándar. Por ende, si el P) es de Maximización f(x), se escribe su equivalente
Minimización –f(x). En cambio, si el P) es de Minimización f(x) se trabaja de esta forma.
Página 18 de 26

En estos problemas de PNL con desigualdad es muy importante analizar la convexidad del
problema, para ello debemos analizar:

1.6.1.1 Convexidad de un problema de PNL

(1) Convexidad de la función objetivo: En este caso son necesarios:

(1.1) El gradiente o derivada direccional de f(x)

(1.2) El hessiano de f (La segunda derivada del gradiente de f) para determinar si la


función objetivo será o no convexa.

(1.2.1) Si la función objetivo es lineal, se asume automáticamente que será


convexa, dado que no tendrá hessiano.

(1.2.2) Si el resultado del hessiano de f es un número real distinto de cero,


entonces la función objetivo será convexa

(1.2.3) Si el Hessiano es una expresión algebraica en función de las variables


originales del problema, en ese caso la función objetivo será NO
convexa.

(2) Convexidad de la región de puntos factibles:

Para analizar la convexidad de la región de puntos factibles o dominio de factibilidad,


revisemos el siguiente teorema:

Teorema Podemos caracterizar si un conjunto cualquiera es convexo o no, de acuerdo con


la siguiente definición:

D  IRn, un conjunto no vacío, es convexo ssi x + (1-) y  D, para todo x  D, y  D


con   [0,1].

Esto significa de forma práctica lo siguiente: Si tomamos dos puntos A y B dentro de la


región de puntos factibles (RPF) y lo unimos con una recta, si todos los puntos
pertenecientes a dicha recta quedan dentro de la RPF, entonces dicha RPF será convexa,
por el contrario, si al menos un punto queda fuera de dicha RPF, entonces la RPF será no
convexa.

B
B A
A

Convexo No Convexo
Página 19 de 26

Ejemplo 6: Sea 𝒇(𝒙𝟏 , 𝒙𝟐 ) = 𝒙𝟐𝟏 + 𝒙𝟐𝟐

En este caso el gradiente será: 𝛻𝑓(𝑥1 , 𝑥2 ) = (2𝑥1 , 2𝑥2 )


2 0
Luego el Hessiano será: H=[ ]
0 2
El determinante de dicho hessiano es 4 como es un número real distinto de cero, la función
objetivo será CONVEXA

Ejemplo 7: Maximizar 𝑓(𝑥1 , 𝑥2 ) = 2𝑥1 + 4𝑥2

Sujeta a: 𝑥12 + 𝑥22 ≥ 4 (R1)

𝑥12 + 𝑥22 ≤ 16 (R2)

La convexidad se puede analizar con la fórmula vectorial de ampliación mediante un


multiplicador o de forma gráfica.

R
R 2
A B
1
C

En la gráfica de la RPF, se puede apreciar que A y B pertenecen a la región de puntos


factibles, sin embargo, C no pertenece a dicha región. Por ende, la RPF es NO Convexa.

Cabe destacar que, si la región de puntos factibles solo está definida por restricciones
lineales, de forma automática la RPF será Convexa.

El método de KKT consiste en ir activando en forma secuencial, todas las combinaciones


posibles de restricciones que posee el problema. Entre más restricciones tenga un
problema, mayor será el número de sistemas que se deberán resolver.

Cabe destacar que el número de combinaciones a resolver en un problema de esta


naturaleza, será: (Número de Variables) (Número de restricciones)= N° de sistemas de ecuaciones.
Página 20 de 26

Dependiendo de la convexidad o no de la función objetivo o el espacio solución de las


restricciones (RPF), se define la naturaleza final del problema y eso la magnitud final del
mismo.

La siguiente tabla lo resume:

ÍTEM Caso 1 Caso 2 Caso 3 Caso 4


Función
Convexo Convexo No Convexo No Convexo
objetivo
Región de
puntos Convexo No Convexo Convexo No Convexo
factibles
Naturaleza
del Convexo No Convexo
problema

En los problemas convexos una vez que se cumplan las condiciones de KKT no se sigue
avanzado en la resolución de sistemas de ecuaciones, dado que se ha encontrado la
solución óptima del problema. En el caso que el problema sea NO convexo se deben
resolver todos los sistemas de ecuaciones y luego determinar de todos los puntos posibles
que cumplen las condiciones de KKT y determinar cuál de ellos representa la solución
óptima del problema.

1.6.1.2 Condiciones de KKT

Las condiciones de KKT aparecen en relación con un sistema de ecuaciones

a. Primero se debe transformar el problema primal P) en el problema primal de KKT P*) en


donde la función objetivo (FO) debe quedar como función de Minimización y todas las
restricciones se deben dejar como de tipo ≤ a cero o en su defecto = a cero.

P) Min F(𝑥1 , 𝑥2 ) P*) Min F(𝑥1 , 𝑥2 )

s.a. g1(𝑥1 , 𝑥2 ) = a g1(𝑥1 , 𝑥2 ) – a=0

g2(𝑥1 , 𝑥2 ) ≤ b g2(𝑥1 , 𝑥2 ) –b ≤ 0

g3(𝑥1 , 𝑥2 ) ≥ c c- g3(𝑥1 , 𝑥2 ) ≤ 0

𝑥1 , 𝑥2 ≥ 0 − 𝑥1 ≤ 0

− 𝑥2 ≤ 0
Página 21 de 26

Luego se obtiene las derivadas de cada una para construir el lagrangiano

P*) Min F(𝑥1 , 𝑥2 ) Donde se define como: ▽F(𝑥1 , 𝑥2 )

s.a. ℎ1 : g1(𝑥1 , 𝑥2 ) – a=0 Donde se define como: ▽ℎ1 (𝑥1 , 𝑥2 )

ℎ2 : g2(𝑥1 , 𝑥2 ) –b ≤ 0 Donde se define como: ▽ ℎ2 (𝑥1 , 𝑥2 )

ℎ3 : c- g3(𝑥1 , 𝑥2 ) ≤ 0 Donde se define como: ▽ℎ3 (𝑥1 , 𝑥2 )

ℎ4 : − 𝑥1 ≤ 0 Donde se define como: ▽ ℎ4 (𝑥1 , 𝑥2 )

ℎ5 : − 𝑥2 ≤ 0 Donde se define como: ▽ ℎ5 (𝑥1 , 𝑥2 )

Posteriormente se escribe el sistema de ecuaciones de KKT

 F(𝑥1 , 𝑥2 ) + λ 1  ℎ1 (𝑥1 , 𝑥2 ) + λ 2 ℎ2 (𝑥1 , 𝑥2 ) + λ 3 ℎ3 (𝑥1 , 𝑥2 ) + µ1  ℎ4 (𝑥1 , 𝑥2 ) + µ 2 ℎ5


(𝑥1 , 𝑥2 ) =(0,0)

λ1 (g1(𝑥1 , 𝑥2 ) –a)=0

λ2 (g2(𝑥1 , 𝑥2 ) –b)=0

λ3 (c- g3(𝑥1 , 𝑥2 ))=0

µ 1 (− 𝑥1 )=0

µ 2 (− 𝑥2 )=0

Donde se asocia el λ (lamda) a las restricciones propias del modelo y el µ (miu) a las
restricciones de no negatividad.

1.6.1.3 Procesos operativos de resolución

En este caso se debe ir activando las restricciones en función del Número de


combinaciones que se pueden obtener, en este caso 25 = 32 (2 variables y 5 restricciones
dado que se incluyen las N-N)

Una restricción estará activa siempre y cuando su multiplicador sea distinto de cero
(Recordar que una restricción activa es aquella que usa todo el recurso disponible o pasa
por el óptimo) y estará desactivada si su multiplicador es cero. Este sistema de
activaciones dará paso a sistemas de ecuaciones lineales a resolver, en los cuales se irán
generando casos posibles en efecto para este modelamiento (32 casos). Cada caso nos
dará uno o más puntos de posible solución, en cada sistema y se debe determinar si estos
casos van o no cumpliendo las condiciones de KKT.
Página 22 de 26

(1) Condición 1 de KKT = El o los punto(s) obtenido (s) debe (n) pertenecer a la región
de puntos factibles. En caso contrario no se cumple KKT.

(2) Condición 2 de KKT= Si se cumple la condición 1, se procede con la condición 2,


esta condición está supeditada el valor o signo de los multiplicadores lambda y
miu.

(2.1) Si los multiplicadores de las restricciones de tipo (mayor igual o menor igual
del problema original P)) son todos ≥ 0 en el sistema de ecuación que se resuelve
en cada caso y en las restricciones de igualdad el o los multiplicadores son
números reales mayores que cero, se dice que se cumple la condición 2 de KKT.
En caso contrario, si al menos una de las condiciones no se cumple y se debe
descartar este punto y resolver otro sistema.

Como se mencionó anteriormente, si el problema es convexo cuando encuentre un


sistema de ecuaciones con un punto que cumpla ambas condiciones, estarán en presencia
de la solución óptima del problema y se detienen ahí. En cambio, si el problema es NO
convexo deben resolver los 32 sistemas de ecuaciones.

Ejemplo 6: Consideremos el problema:

Min (2x1 – 5)2 + (2x2 – 1)2

s.a. x1 + 2x2  2

x 1, x 2  0

Determinar la solución óptima del problema.

Solución:

1. Plantear las condiciones de KKT

f (x1,x2) = (2x1 – 5)2 + (2x2 – 1)2 ∆f (x1,x2) = (8x1-20, 8x2- 4)

g (x1,x2) = x1 + 2x2 – 2 ≤ 0 ∆g(x1,x2) = (1 , 2)

h1(x1, x2) = -x1 ≤ 0 ∆h 1(x1, x2) = (-1, 0)

h2(x1, x2) = -x2 ≤ 0 ∆h1(x1, x2) = (0, -1)

2. Plantear la gráfica para comprender mejor el sistema (www.desmos.com)


Página 23 de 26

3. Naturaleza del problema


8 0
1. Función Objetivo: ∆f (x1,x2) = (8x1-20, 8x2- 4) y H[ ]=64. Función objetivo
0 8
CONVEXA.

2. Región de puntos factibles: Como es lineal es convexa

3. Naturaleza del problema: Problema Convexo.

4. Sistemas de ecuaciones

Dos variables y tres restricciones (Se deben considerar las restricciones de no negatividad
si estas forman parte del problema.

Conclusión: 23= 8 Sistemas de ecuaciones.

5. Condiciones de KKT

(8x1-20, 8x2- 4) + λ1 (1, 2) + µ1 (-1 , 0) + µ2 (0 , -1) = (0 , 0)

(1) λ1 (x1 + 2x2 – 2) = 0

(2) µ1 (-x1) =0

(3) µ2 (-x2) =0

Una vez determinado el sistema de ecuaciones de KKT, se procede al método de


activación de restricciones y resolución de sistemas de ecuaciones.

6. Sistemas de ecuaciones (8 Casos)

6.1 Caso 1: Todas las restricciones desactivadas: λ1 = 0, µ1 = 0 y µ2 = 0

En este caso, el sistema queda: (8x1-20, 8x2- 4) = (0, 0), resolviendo el sistema de
ecuaciones, se obtiene el punto crítico: x1 = 20/8 = 5/2 y x2 = ½

Podemos apreciar que este punto queda fuera de RPF por ende no cumple la
condición 1 de KKT, por lo que se descarta.

6.2 Caso 2: Activando (2), λ1 = 0, µ1 ≠ 0 y µ2 = 0

En este caso, el sistema queda: (8x1-20, 8x2- 4) + µ1 (-1, 0) = (0, 0) resolviendo el


sistema de ecuaciones, se obtiene el punto crítico: x1 = 0, x2 = ½ y µ1 = -20

Podemos apreciar que este punto está dentro de la RPF por ende cumple la
condición 1 de KKT. Sin embargo, el multiplicador µ1 es menor que cero, por lo que
Página 24 de 26

no cumple la condición 2 (µ1 es restricción de tipo ≥ 0 en el problema inicial). Por lo


tanto, también se descarta.

6.3 Caso 3: Activando (3), λ1 = 0, µ1 = 0 y µ2 ≠ 0

En este caso, el sistema queda: (8x1-20, 8x2- 4) + µ2 (0, -1) = (0, 0) resolviendo el
sistema de ecuaciones, se obtiene el punto crítico: x1 = 5/2, x2 = 0 y µ2 = -4

Podemos apreciar que este punto está dentro de la RPF por ende cumple la
condición 1 de KK. Sin embargo, el multiplicador µ2 es menor que cero, por lo que
no cumple la condición 2 (µ2 es restricción de tipo ≥ 0 en el problema inicial). Por lo
tanto, también se descarta.

6.4 Caso 4: Activando (1), λ1 ≠0, µ1 = 0 y µ2 = 0

En este caso, el sistema queda: (8x1-20, 8x2- 4) + λ1 (1, 2) = (0, 0) y x1 + 2x2 – 2 = 0

resolviendo el sistema de ecuaciones, se obtiene el punto crítico: x1 = 11/10, x2 = -


1/10 y λ1 = 122/10.

Podemos apreciar que este punto queda está fuera de la RPF por ende NO cumple
la condición 1 de KKT. Por lo tanto, también se descarta.

6.5 Caso 5: Activando (1) y (2), λ1 ≠ 0, µ1 ≠ 0 y µ2 = 0

En este caso, el sistema queda: (8x1-20, 8x2- 4) + λ1 (1, 2) + µ1 (-1, 0) = (0, 0)

resolviendo el sistema de ecuaciones, se obtiene el punto crítico: x1 = 0, x2 = 1 y λ1


= -2 y µ1= -22

Podemos apreciar que este punto está dentro de la RPF por ende cumple la
condición 1 de KKT. Sin embargo, los multiplicadores λ1 y µ1 son menores que cero,
por lo que no cumple la condición 2. Por lo tanto, también se descarta.

6.6 Caso 6: Activando (2) y (3), λ1 = 0, µ1 ≠ 0 y µ2 ≠ 0

En este caso, el sistema queda: (8x1-20, 8x2- 4) + µ1 (-1, 0) + µ2 (0, -1) = (0, 0)

resolviendo el sistema de ecuaciones, se obtiene el punto crítico: x1 = 0, x2 = 0 y µ1


= -20 y µ2= -4

Podemos apreciar que este punto está dentro de la RPF por ende cumple la
condición 1 de KKT. Sin embargo, los multiplicadores µ1 y µ2 son menores que cero,
por lo que no cumple la condición 2. Por lo tanto, también se descarta.
Página 25 de 26

6.7 Caso 7: Activando (1) y (3), λ1 ≠ 0, µ1 = 0 y µ2 ≠ 0

En este caso, el sistema queda: (8x1-20, 8x2- 4) + λ1 (1, 2) + µ2 (0, -1) = (0, 0)

resolviendo el sistema de ecuaciones, se obtiene el punto crítico: x1 = 2, x2 = 0 y λ1


= 4 y µ2= 4.

Podemos apreciar que este punto está dentro de la RPF por ende cumple la
condición 1 de KKT, de igual forma los multiplicadores µ1 y µ2 son mayores que
cero, por lo que cumple la condición 2. Por lo tanto, la solución óptima del sistema
será x1 = 2, x2 = 0 y el valor óptimo F (2,0) = (2x2 – 5)2 + (2x0 – 1)2 = (-1)2 + (-1)2= 2

1.6.2 A través de Solver


Solver es una herramienta que está incorporada como un complemento en Excel. Puede
consultar el manual que está dentro de esta unidad y de igual forma la cápsula donde se
muestra una aplicación del programa.

Conclusiones
La programación no lineal es una herramienta muy importante para modelar problemas
donde las razones de modelo no están explicadas en la programación lineal ni entera,
dado que muchas problemáticas reales están formuladas en relación con este tipo de
programación. El aprendizaje de esta herramienta, el uso de DEMOS y SOLVER de Excel,
permite mostrar de forma más tangible las aplicabilidades y las formas de resolución de
cada modelo.
Página 26 de 26

Referencias bibliográficas

Hillier, F. y Lieberman, G. (1997) Introducción a la Investigación de Operaciones. México


D.F.: Mc Graw Hill

Ortiz C., Varas, S. y Vera J. (2000) Optimización y modelos de gestión. Santiago de Chile:
Dolmén.

Ingrese aquí el nombre de la


asignatura

También podría gustarte