Está en la página 1de 24

20/04/2021

σ
βο
Χο Diana del Pilar Cobos del Angel
α
Introducción
En los modelos de programación lineal, todas las
funciones tanto de las restricciones como de la
αν

función objetivo, son lineales.

Aunque esta condición se cumple para muchos


problemas prácticos, con frecuencia esto no es así.

Muchos economistas, por ejemplo, han encontrado


que cierto grado de no linealidad es la regla, y no
la excepción, en los problemas de planeación
∆ι

económica.

Diana Cobos 20/04/2021 2

1
20/04/2021

Conceptos básicos

σ
de Programación No Lineal

De una manera general, el problema de


programación no lineal consiste en encontrar la

βο
solución del problema:

max f(x)
Sujeta a

Y donde f(x) y las son funciones dadas de

decisión.

Diana Cobos
Χο , que consta de n variables de

20/04/2021 3

Conceptos básicos
α
de Programación No Lineal
αν

En sí no se dispone de un algoritmo que resuelva


todos los problemas especificados que se ajustan a
este formato.

A continuación se muestran algunas de las


aplicaciones de algunos problemas a los que se le
ha aplicado la programación no lineal.
∆ι

Diana Cobos 20/04/2021 4

2
20/04/2021

σ
Aplicaciones de Programación No Lineal

Problema de mezcla de productos con elasticidad

βο
en los precios

En esta clase de problemas la meta es determinar la mezcla


óptima de los niveles de producción para los productos de una
empresa, dadas las limitaciones sobre los recursos necesarios
para producirlos, con el objeto de maximizar la ganancia total
de la empresa.

En algunos casos existe una ganancia unitaria fija asociada a

Χο
cada producto, con lo que la función objetivo que se obtiene es
lineal. Sin embargo en muchos problemas, ciertos factores
introducen no linealidades en la función objetivo

Diana Cobos 20/04/2021 5

Problema de mezcla de productos con elasticidad en los precios


EJEMPLO:
α
Un fabricante puede encontrar elasticidad en los precios
mediante los cuales la cantidad que se puede vender de un
producto tiene una relación inversa con el precio cobrado.
αν

La ganancia de la empresa por producir y vender x unidades


∆ι

esta dada por una función no lineal

Diana Cobos 20/04/2021 6

3
20/04/2021

Problema de mezcla de productos con elasticidad en los precios

σ
En la siguiente imagen se muestra la función de la ganancia

βο
La función objetivo global es una suma de funciones no lineales

Diana Cobos
Χο 20/04/2021 7

Problema de transporte con costos por volumen en


α
los precios de embarque

Una aplicación común del problema de transporte es determinar


un plan óptimo para mandar bienes desde varios orígenes hasta
varios destinos, dadas las restricciones de recursos y demanda,
αν

con el fin de minimizar el costo total de transporte.

El costo por unidad enviados de


un destino a otro no siempre
es fijo, a veces depende de la
cantidad mandada.
∆ι

Diana Cobos 20/04/2021 8

4
20/04/2021

Función del costo del transporte

σ
βο
Diana Cobos
Χο 20/04/2021 9

Aplicaciones de Programación No Lineal


α
En consecuencia, si cada combinación de origen y destino
tiene una función de costos similar, es decir, si el costo de
enviar unidades del origen i (i=1,2,…,m) al destino j
αν

(j=1,2,…,n) esta dado por una función no lineal, entonces la


función objetivo global que se va a minimizar es

Aun con esta función objetivo no lineal, es normal que las


restricciones sean del tipo lineales especiales que se ajustan
∆ι

al modelo del problema de transporte.

Diana Cobos 20/04/2021 10

5
20/04/2021

Ilustración gráfica de problemas de

σ
Programación no Lineal

Cuando un problema de programación no lineal tiene solo una o


dos variables, se puede representar gráficamente.

βο
Una representación grafica de este tipo proporciona una visión
global de las propiedades de las soluciones óptimas de
programación lineal y no lineal.

Ejemplo:

La siguiente figura muestra un problema en el que la segunda

Diana Cobos
Χο
restricción es una función no lineal 9𝑥12 + 5𝑥22 ≤ 216 . La solución
es 𝑥1 , 𝑥2 = 2,6

20/04/2021 11

Ilustración gráfica de problemas de Programación no Lineal


α
αν
∆ι

Diana Cobos 20/04/2021 12

6
20/04/2021

σ
Ilustración gráfica de problemas de
Programación no Lineal

Observación:

βο
La solución se encuentra sobre la región factible, pero no es
una solución factible en vértice (fev). La solución optima
pudo haber sido una solución fev con una función objetivo
diferente, pero que no necesite serlo significa que ya no se
puede aprovechar la gran simplicidad utilizada en
programación lineal que permite limitar la búsqueda de una
solución optima para las soluciones fev.

Diana Cobos
Χο 20/04/2021 13

Ilustración gráfica de problemas de Programación no Lineal


Ahora suponga que las restricciones lineales se conservan sin cambio pero
α
la función objetivo se hace no lineal.

𝑍 = 126𝑥1 − 9𝑥12 + 182𝑥2 − 13𝑥22


αν
∆ι

Diana Cobos 20/04/2021 14

7
20/04/2021

Ilustración gráfica de problemas de

σ
Programación no Lineal

Entonces la gráfica de la figura anterior indica que la solución

βο
óptima es que de nuevo se encuentra en frontera
de la región factible. (El valor óptimo es z = 857 ; así en la figura
muestra el hecho de que el lugar geométrico de todos los puntos
para los que z = 857 tiene en común con la región factible sólo
este punto, mientras que el lugar geométrico de los puntos con z
mas grande no toca la región factible en ningún punto.)

Por otro lado si,

Diana Cobos
Χο 20/04/2021 15

Ilustración gráfica de problemas de


α
Programación no Lineal
Entonces en la siguiente figura se ilustra que la solución óptima es
que se encuentra dentro de la frontera de la región
αν

factible. (Se puede comprobar que esta solución es óptima si se


usa cálculo para derivarla como un máximo global no restringido;
como también satisface las restricciones, debe ser óptima para el
problema restringido.)

Por lo tanto es necesario que un algoritmo general para resolver


problemas de este tipo tome en cuenta todas las soluciones en la
región factible, y no sólo aquellas que están sobre la frontera.
∆ι

Diana Cobos 20/04/2021 16

8
20/04/2021

Ilustración gráfica de problemas de Programación no Lineal

σ
βο
Diana Cobos
Χο 20/04/2021 17

Ilustración gráfica de problemas de


Programación no Lineal
α
Otra complicación que surge en programación no lineal es que un
máximo local no necesariamente es un máximo global (la solución
optima global).
Considérese la función de una sola variable graficada como se
αν

muestra en la siguiente figura.

En el intervalo 0 ≤ 𝑥 ≤ 5 esta función tiene tres máximos locales


∆ι

x=0, x=2, x=4 pero sólo uno de éstos (x=4) es un máximo global. De
igual manera, existen mínimos locales en x=1,3 y 5, pero sólo x=5
es un mínimo global.
Diana Cobos 20/04/2021 18

9
20/04/2021

Funciones Cóncavas y Convexas

σ
En general, los algoritmos de programación no lineal no pueden
distinguir entre un máximo local y el máximo global (excepto si
encuentran otro máximo local mejor), por lo que es
determinante conocer las condiciones bajo las que se garantiza

βο
que un máximo local es un máximo global en la región factible.

En cálculo, cuando se maximiza una función ordinaria


(doblemente diferenciable) de una sola variable f(x) sin
restricciones, esta garantía esta dada cuando

Χο
Una función de este tipo cuya curvatura siempre es “hacia abajo”
o que no tiene curvatura se llama CÓNCAVA. Cuando tiene
curvatura “hacia arriba” se llama función CONVEXA.
Diana Cobos 20/04/2021 19
α
αν
∆ι

Diana Cobos 20/04/2021 20

10
20/04/2021

σ
Tipos de Programación no Lineal

Los problemas de programación no lineal se presentan de


muchas formas distintas.

βο
Al contrario del Método Simplex para Programación Lineal, no
se dispone de un algoritmo que resuelva todos estos tipos
especiales de problemas. En su lugar, se han desarrollado
algoritmos para algunas clases (tipos especiales) de problemas
de Programación no Lineal.

Diana Cobos
Χο 20/04/2021 21

Optimización no restringida
α
Los problemas de optimización no restringida no tiene
restricciones, por lo que la función objetivo es sencillamente

Maximizar f(x), sobre todos los valores 𝑥 = (𝑥1 , 𝑥2 , … , 𝑥𝑛 )


αν

La condición necesaria para que una solución especifica x = x* sea


optima cuando f(x) es una función diferenciable es:

Cuando f(x) es CÓNCAVA, esta condición también es suficiente,


con lo que la obtención de x* se reduce a resolver el sistema de
las n derivadas parciales iguales a cero.
∆ι

Pero cuando se trata de funciones no lineales f(x), estas


ecuaciones suelen ser no lineales también, en cuyo caso es poco
probable que se pueda obtener una solución analítica simultánea.
Diana Cobos 20/04/2021 22

11
20/04/2021

σ
Optimización Linealmente Restringida

Los problemas de optimización linealmente restringida se


caracterizan por restricciones que se ajustan por completo a

βο
la programación lineal, de manera que todas las funciones
de restricción 𝑔𝑖 𝑥 son lineales, pero la función objetivo es
no lineal.

El problema se simplifica mucho si sólo se tiene que tomar


en cuenta una función no lineal junto con una región
factible de programación lineal.

Diana Cobos
Χο 20/04/2021 23
α
Programación cuadrática

Estos tipos de problemas tienen restricciones lineales, pero la


función objetivo f(x) debe ser cuadrática. Entonces, la única
diferencia entre éstos y un problema de programación lineal
αν

es que algunos términos de la función objetivo incluyen el


cuadrado de una variable o el producto de dos variables.

Para este caso se han desarrollado muchos algoritmos, con la


suposición adicional de que f(x) es cóncava.

La programación cuadrática es muy importante, debido a que


las formulaciones de este tipo surgen de manera natural en
muchas aplicaciones.
∆ι

Diana Cobos 20/04/2021 24

12
20/04/2021

σ
EJEMPLO:

Ilustración de
cómo una solución
optima puede

βο
estar en un punto
en el que la
derivada es
negativa en lugar
de cero, porque
ese punto esta en
la frontera de una
restricción de no
negatividad.

Diana Cobos
Χο 20/04/2021 25

Programación convexa
α
Esta clase de programación abarca a una amplia clase de
problemas. Están todos los tipos anteriores cuando f(x) es
cóncava. Las suposiciones son
αν

1. f(x) es cóncava
2. Cada una de las restricciones 𝑔𝑖 𝑥 es convexa.

Programación separable

Una función separable es una función en la que cada término


incluye una sola variable, por lo que la función se puede
separar en una suma de funciones de variables individuales. Es
decir, si f(x) es una separable, se puede expresar como
∆ι

Diana Cobos 20/04/2021 26

13
20/04/2021

En donde cada 𝑓𝑖 (𝑥𝑖 ) incluye solo los términos con 𝑥𝑖 .

σ
En la terminología de programación lineal, los problemas de
programación separable satisfacen las suposiciones de aditividad
pero no las de proporcionalidad (para funciones lineales).

βο
Son casos especiales de programación convexa, en donde la
suposición adicional es:

Todas las funciones f(x) y 𝑔𝑖 𝑥 son funciones separables.

Es importante distinguir estos problemas. Los problemas de


programación separable se puede aproximar mediante problemas
de programación lineal y, entonces, se puede aplicar el método
simplex.

Diana Cobos
Χο 20/04/2021 27
α
Programación No Convexa

La programación NO CONVEXA incluye todos los problemas de


programación no lineal que no satisfacen las suposiciones de
programación convexa. En este caso, cuando se tenga éxito en
αν

encontrar un máximo local, no hay garantía de que sea


también un máximo global.

Por lo tanto no se tiene un algoritmo que garantice encontrar


una solución optima para todos estos problemas, pero existen
algunos algoritmos bastante adecuados para encontrar
máximos locales, en especial cuando las formas de las
funciones no lineales no se desvían demasiado de aquellas que
se supusieron para programación convexa.
∆ι

Diana Cobos 20/04/2021 28

14
20/04/2021

Programación geométrica

σ
Ésta surge cuando la función objetivo y las funciones de
restricción son de la siguiente forma:

βο
𝑔 𝑥 = 𝑐𝑖 𝑃𝑖 (𝑥)
𝑖=1

𝑎 𝑎 𝑎
Donde 𝑃1 𝑥 = 𝑥1 𝑖1 𝑥2 𝑖2 … 𝑥𝑛 𝑖𝑛 𝑝𝑎𝑟𝑎 𝑖 = 1,2, … , 𝑁

En tales casos, las 𝑐𝑖 y las 𝑎𝑖𝑗 representan las constantes


físicas y las 𝑥𝑖 son las variables de diseño. Estas funciones por
lo general no son cóncavas ni convexas, por lo que las
técnicas de programación convexa no se pueden aplicar

Diana Cobos
Χο
directamente a estos problemas.

20/04/2021 29

Programación geométrica
α
Sin embargo, existe un caso importante en el que el
problema se puede transformar en un problema de
programación convexa equivalente.

Esto es cuando todos los coeficientes 𝑐𝑖 en cada función


αν

son estrictamente positivos, es decir, las funciones son


polinomios positivos generalizados, y la función objetivo se
tiene que minimizar.

El problema equivalente de programación convexa con


variables de decisión 𝑦1 , 𝑦2 , … , 𝑦𝑛 se obtiene entonces al
establecer
∆ι

En todo el modelo original. De esta manera, puede


aplicarse un algoritmo de programación convexa.

Diana Cobos 20/04/2021 30

15
20/04/2021

σ
 Para la optimización de PNL, SOLVER usa un método
ascendente basado en un procedimiento de “búsqueda de
gradiente”.

βο
 Primero, el procedimiento encuentra una solución factible.
 A partir de ese punto inicial, se calcula la dirección que
permita mejorar más rápidamente el valor objetivo VO.
 Se sigue realizando el movimiento por medio de cambios en
las variables de decisión hasta encontrar la frontera de una
restricción ó hasta que el VO ya no pueda mejorar más.
 Se calcula una nueva dirección a partir de este punto y se
repite el procedimiento.

Χο
Se prosigue hasta que ya no es posible lograr mejoría alguna
en cualquier dirección, con lo cual se termina el
procedimiento.

Diana Cobos 20/04/2021 31


α
 Solver puede incurrir en errores de análisis numérico porque
la precisión de la aritmética de computadora es finita.
 Esto ocurre sobre todo en la optimización de modelos
altamente no lineales que incluyen números dentro de una
αν

gran gama de valores.


 Si los números más pequeños y más grandes del modelo
difieren en más de 7 dígitos, entonces Solver puede producir
estos errores.
 Si marca el cuadro de opciones de Solver “Usar escala
automática”, podrá evitar esos errores en muchos de los
casos.
 Sin embargo, esta opción no garantiza que será suprimido
este problema en todos los casos.
∆ι

 Para evitar este problema desde el principio es mejor


modificar manualmente la escala de los números que son muy
grandes o muy pequeños
Diana Cobos 20/04/2021 32

16
20/04/2021

σ
βο
Diana Cobos
Χο 20/04/2021 33
α
Celdas de variables
Final Reducido
αν

Celda Nombre Valor Degradado


$B$4 X1 Anuncios de prensa 39.35 0
$C$4 X2 Anuncios de televisión 60.65 0

Restricciones
Final Lagrange
Celda Nombre Valor Multiplicador
$G$10 Gasto total diario 100 1194.84
∆ι

Diana Cobos 20/04/2021 34

17
20/04/2021

σ
 El valor del Multiplicador de Lagrange (ML) es la tasa de
cambio instantánea del VO, cuando el i-ésimo LD, bi,

βο
aumenta permaneciendo iguales todos los demás datos.
 El i-ésimo multiplicador de Lagrange, refleja el valor
marginal del i-ésimo recurso. Por consiguiente, sus
unidades son:
unidades de la FO
u del LD de la restr i

 Un ML positivo indicaría que al aumentar el LD se

Χο
“beneficiaría” inicialmente el valor de la FO en un
modelo Max, e inicialmente se “perjudicaría” el valor de
la FO en un modelo Min.

Diana Cobos 20/04/2021 35


α
 Un ML negativo indicaría que al aumentar el LD se
“perjudicaría” inicialmente el valor de la FO en un modelo
Max, e inicialmente de “beneficiaría” el valor de la FO en
αν

un modelo Min.
 No es posible decir sobre que rango de aumento o
disminución del LD es válido dicho ML.
 En el caso más ordinario el propio ML cambia en cuanto se
modifica el LD, por lo cual, el incremento y decremento
permisibles son cero.
 El Gradiente Reducido de una variable está relacionado
con las restricciones que imponen un límite o acotamiento
∆ι

superior o inferior para las variables de decisión

Diana Cobos 20/04/2021 36

18
20/04/2021

σ
 Un GR negativo para una variable de decisión indica que
aumentar la variable “perjudicará” inicialmente el valor

βο
de la FO en un modelo Max
 Un GR positivo para una variable, indica que aumentar la
variable “perjudicará” inicialmente el valor de la FO de un
modelo Min.
 Si una variable de decisión está en su acotamiento superior
el GR deberá ser no negativo en un modelo Max para que
la solución sea óptima; por lo contrario, disminuir la
variable mejoraría el valor de la FO.

Χο
Si una variable de decisión está en su acotamiento inferior
el GR deberá ser no positivo en un modelo Max para que la
sol sea óptima; por lo contrario, aumentar la variable
mejoraría el valor de la FO.
Diana Cobos 20/04/2021 37
α
 Si una variable de decisión está en su acotamiento superior
el GR deberá ser no positivo en un modelo Min para que la
solución sea óptima; por lo contrario, aumentar la variable
αν

mejoraría el valor de la FO.


 Si una variable de decisión está en su acotamiento inferior
el GR deberá ser no negativo en un modelo Min; por lo
contrario, disminuir la variable mejoraría el valor de la FO.
 Si una variable de decisión está entre sus acotamientos
superior e inferior , el gradiente reducido deberá ser cero
para que la solución sea óptima.
∆ι

Diana Cobos 20/04/2021 38

19
20/04/2021

σ
βο
Diana Cobos
Χο
20/04/2021 39
α
αν
∆ι

Diana Cobos 20/04/2021 40

20
20/04/2021

σ
βο
Diana Cobos
Χο
20/04/2021 41
α
αν
∆ι

Diana Cobos 20/04/2021 42

21
20/04/2021

σ
 No existe un solo método de optimización preferible para

βο
optimizar la PNL.
 Se podrían contar entre 10 y 15 métodos diferentes de
optimización para la PNL.
 Tres tipos de procedimientos parecen ser los más útiles:
 Gradiente reducido generalizado (GRG)
 Programación lineal sucesiva(PLS)
 Programación cuadrática sucesiva (PCS)

 Solver utiliza un método del tipo GRG





Χο
Los modelos no lineales se dividen en dos clases:
Los que podemos resolver
Los que podemos tratar de resolver

Diana Cobos 20/04/2021 43


α
αν
∆ι

Diana Cobos 20/04/2021 44

22
20/04/2021

σ
 Un conjunto convexo de puntos es aquel en el que dado
cualquier par de puntos contenido en el conjunto, el

βο
segmento de recta que los une también está contenido en
su totalidad en el conjunto.
 Los problemas de PNL que podemos aspirar a resolver
deben tener conjuntos de restricciones convexas.

Χο Diana Cobos 20/04/2021 45


α
 En un problema de PNL de dos variables, una función cóncava
tiene la propiedad de que el segmento de recta que conecta dos
puntos cualesquiera de la función nunca entra al espacio ubicado
αν

por arriba de la gráfica.


 Una función convexa en el mismo contexto tiene la propiedad de
que el segmento de recta que conecta dos puntos cualesquiera
de la gráfica de la función nunca entra en el espacio ubicado por
debajo de la gráfica.
∆ι

Diana Cobos 20/04/2021 46

23
20/04/2021

σ
 Un programa cóncavo es un modelo Max con una función objetivo
cóncava y un conjunto de restricciones convexo.
 Un programa convexo es un modelo Min con una función objetivo

βο
convexa y un conjunto de restricciones convexo.
 Una característica muy importante de los modelos de
programación cóncavos (o convexos) es que para ese tipo de
problemas, cualquier punto óptimo restringido local es también
un óptimo restringido global.

Χο Diana Cobos 20/04/2021 47


α
αν
∆ι

24

También podría gustarte