Nonlinear Programming, Solved Problem

41
Nonlinear Programming G. Edgar Mata Ortiz

Transcript of Nonlinear Programming, Solved Problem

Page 1: Nonlinear Programming, Solved Problem

Nonlinear ProgrammingG. Edgar Mata Ortiz

Page 2: Nonlinear Programming, Solved Problem

Nonlinear Programming• ¿Qué es Programación no Lineal?

• Es un método para obtener el resultado óptimo con base en un modelo matemático en el que NO todas las relaciones entre variables y constantes pueden expresarse linealmente.

Algunas relaciones pueden

ser lineales, pero NO todas.

Page 3: Nonlinear Programming, Solved Problem

Nonlinear Programming•Programación lineal

•Con la finalidad de comparar, vamos a comentar un ejemplo de programación lineal.

Page 4: Nonlinear Programming, Solved Problem

Nonlinear Programming•Programación lineal

• En esta forma de optimización, las relaciones entre variables y constantes son lineales.

Page 5: Nonlinear Programming, Solved Problem

Nonlinear Programming• Ejemplo de programación lineal

•Una planta industrial emplea tres máquinas M1, M2 y M3 para fabricar dos artículos A1 y A2. Para la fabricación de A1 se requieren dos horas en la máquina M1, una hora en la M2 y tres horas en la M3; para el producto A2 hace falta una hora en la máquina M1, una hora en la M2 y 5 horas en la M3.

Page 6: Nonlinear Programming, Solved Problem

Nonlinear Programming• Ejemplo de programación lineal

• Se dispone de 180 horas en la máquina M1, 110 en la M2 y 480 en la M3. La ganancia obtenida por cada pieza del artículo A1 es de $50 y por cada pieza del artículo A2 es de $40.

• ¿Cuántas piezas de cada artículo deben fabricarse para que la ganancia sea la máxima posible?

Page 7: Nonlinear Programming, Solved Problem

Nonlinear Programming• Ejemplo de programación lineal

• El problema es planteado y se obtiene un modelo en el que todas las expresiones algebraicas son lineales.

Page 8: Nonlinear Programming, Solved Problem

Nonlinear Programming• Ejemplo de programación lineal

• Incluso la función objetivo es lineal.

Page 9: Nonlinear Programming, Solved Problem

Nonlinear Programming• La solución se obtiene resolviendo

sistemas de ecuaciones lineales

Page 10: Nonlinear Programming, Solved Problem

Nonlinear Programming•Un caso típico de programación no lineal

se presenta cuando las restricciones son lineales, pero la función objetivo no lo es.

•Por ejemplo:

• ¿Qué sucede si, con los datos del problema anterior, la función objetivo es cuadrática?

• z = 16x+10y – 0.08x2

Page 11: Nonlinear Programming, Solved Problem

Nonlinear Programming• El modelo del problema quedaría:

•Maximizar: z = 16x+10y – 0.08x2

• Sujeto a las restricciones:• 2x + y ≤ 180

• x + y ≤ 110

• 3x + 5y ≤ 480

• x≥0, y ≥ 0

Page 12: Nonlinear Programming, Solved Problem

Nonlinear Programming•Una buena forma de comprender el

problema consiste en trazar la gráfica de la función objetivo sobre el mismo plano en el que se encuentran las restricciones.

• z = 16x+10y – 0.08x2

Para poder trazar la gráfica, asigna un valor de z = 1,300.

Observa el comportamiento de la curva obtenida

Page 13: Nonlinear Programming, Solved Problem

Nonlinear Programming•Graficar la función objetivo:

• z = 16x+10y – 0.08x2

• Es necesario despejar la variable independiente y, (considerando z = 1,300).

16𝑥 + 10𝑦 − 0.08𝑥2 = 130010𝑦 = −16𝑥 + 0.08𝑥2 + 1300

𝑦 =−16𝑥 + 0.08𝑥2 + 1300

10𝑦 = −1.6𝑥 + 0.008𝑥2 + 130

Page 14: Nonlinear Programming, Solved Problem

Nonlinear Programming• Tabulación para graficar la función objetivo:

𝑦 = −1.6𝑥 + 0.008𝑥2 + 130

x y0 −1.6𝑥 + 0.008𝑥2 + 130 = −1.6(0) + 0.008(0)2+130 = 130

20 −1.6𝑥 + 0.008𝑥2 + 130 = −1.6(20) + 0.008(20)2+130 = 101.2

40 −1.6𝑥 + 0.008𝑥2 + 130 = −1.6(40) + 0.008(40)2+130 = 78.8

60 −1.6𝑥 + 0.008𝑥2 + 130 = −1.6(60) + 0.008(60)2+130 =

80 −1.6𝑥 + 0.008𝑥2 + 130 = −1.6(80) + 0.008(80)2+130 =

100 −1.6𝑥 + 0.008𝑥2 + 130 = −1.6(100) + 0.008(100)2+130 =

120 −1.6𝑥 + 0.008𝑥2 + 130 = −1.6(120) + 0.008(120)2+130 =

140 −1.6𝑥 + 0.008𝑥2 + 130 = −1.6(140) + 0.008(140)2+130 =

Page 15: Nonlinear Programming, Solved Problem

Nonlinear Programming• z = 16x+10y – 0.08x2

El área de soluciones factibles no cambia, ya que solamente se

modificó la función objetivo, no las restricciones.

Page 16: Nonlinear Programming, Solved Problem

Nonlinear Programming• z = 16x+10y – 0.08x2

A(0, 96)B(0, 0)C(90, 0)D(70, 40)E(35, 75)

El área de soluciones factibles no cambia, ya que solamente se

modificó la función objetivo pero no las restricciones.

Page 17: Nonlinear Programming, Solved Problem

Nonlinear Programming• z = 16x+10y – 0.08x2

Debido a la curvatura de la

función objetivo, la solución óptima no

necesariamente se encontrará en

un vértice del área de

soluciones factibles.

Page 18: Nonlinear Programming, Solved Problem

Nonlinear Programming• ¿Cómo determinar la solución óptima?

• ¿Cómo sabemos si existe dicha solución óptima?

• En caso de que exista, ¿es única esta solución óptima?

Page 19: Nonlinear Programming, Solved Problem

Nonlinear Programming• Existen muchos tipos de problemas de

programación no lineal, dependiendo de las características de las funciones involucradas; restricciones y función objetivo.

• Existen varios algoritmos para resolver cada uno de los diferentes tipos de problemas.

• El ejemplo planteado recibe el nombre de:

Page 20: Nonlinear Programming, Solved Problem

Nonlinear Programming• Programación cuadrática

• Se distingue de la programación lineal porque, aunque tiene restricciones lineales, la función objetivo es cuadrática.

• La solución de este tipo de problemas es importante porque numerosas aplicaciones se ajustan al modelo y, muchas otras, se pueden resolver mediante una sucesión de aproximaciones de programación cuadrática.

Page 21: Nonlinear Programming, Solved Problem

Nonlinear Programming• Programación cuadrática

• Si se cumplen las condiciones:

• Karush – Kuhn – Tucker (KKT) es posible resolver estos problemas mediante una versión modificada del algoritmo simplex.

• La modificación al método simplex consiste en agregar una regla de entrada restringida:• Al elegir la variable básica entrante, se excluye cualquier

variable no básica cuya variable complementaria sea básica.

Page 22: Nonlinear Programming, Solved Problem

Nonlinear Programming• Uso de software

• La mayoría de los algoritmos para resolver problemas de programación lineal forman parte de diversos programas de computadora.

• En las siguientes diapositivas se muestra el proceso seguido para determinar la solución óptima empleando la herramienta SOLVER de Excel.

Page 23: Nonlinear Programming, Solved Problem

Nonlinear Programming• Programación cuadrática en Solver de Excel.

• El primer paso es introducir los datos de las restricciones en forma de tabla.

Page 24: Nonlinear Programming, Solved Problem

Nonlinear Programming• Programación cuadrática en Solver de Excel.

• Agregar los coeficientes de la función objetivo.

Page 25: Nonlinear Programming, Solved Problem

Nonlinear Programming• Programación cuadrática en Solver de Excel.

• Agregar los coeficientes de la función objetivo.

Coeficientes de x, y.

Page 26: Nonlinear Programming, Solved Problem

Nonlinear Programming• Programación cuadrática en Solver de Excel.

• Agregar los coeficientes de la función objetivo.

Coeficientes de x, y.

Coeficientes de x2, y2.

Page 27: Nonlinear Programming, Solved Problem

Nonlinear Programming• Programación cuadrática en Solver de Excel.

• Agregar los coeficientes de la función objetivo.

• El coeficiente de y2 es cero, porque la función objetivo no contiene dicho término.

Page 28: Nonlinear Programming, Solved Problem

Nonlinear Programming• Programación cuadrática en Solver de Excel.

• Agregar los coeficientes de la función objetivo.

• El coeficiente de y2 es cero, porque la función objetivo no contiene dicho término.

Page 29: Nonlinear Programming, Solved Problem

Nonlinear Programming• Programación cuadrática en Solver de Excel.

• Elegir celdas para los valores de x, y.

Coeficientes de x, y.

Page 30: Nonlinear Programming, Solved Problem

Nonlinear Programming• Programación cuadrática en Solver de Excel.

• Elegir celdas para los valores de x, y.

Coeficientes de x, y.

Coeficientes de x2, y2.

Page 31: Nonlinear Programming, Solved Problem

Nonlinear Programming• Programación cuadrática en Solver de Excel.

• Elegir celdas para los valores de x, y.

Los valores de x, y se irán cambiando para maximizar

la función objetivo

Coeficientes de x, y.

Coeficientes de x2, y2.

Page 32: Nonlinear Programming, Solved Problem

Nonlinear Programming• Programación cuadrática en Solver de Excel.

• Agregar una tabla que, mediante fórmulas, calculará la cantidad de recursos empleados con base en los valores de x, y.

Page 33: Nonlinear Programming, Solved Problem

Nonlinear Programming• Programación cuadrática en Solver de Excel.

• Las fórmulas que se emplearán son:

• Las celdas C4, C5, C6, D4, D5, D6 hacen referencia a la tabla de datos de

las restricciones anotadas en la parte superior de la hoja de Excel

Page 34: Nonlinear Programming, Solved Problem

Nonlinear Programming• Programación cuadrática en Solver de Excel.

• También hace falta una celda en la que se calcula el valor de la función objetivo.

Page 35: Nonlinear Programming, Solved Problem

Nonlinear Programming• Programación cuadrática en Solver de Excel.

• Fórmula de la celda que se va a maximizar:

Page 36: Nonlinear Programming, Solved Problem

Nonlinear Programming• Programación cuadrática en Solver de Excel.

Page 37: Nonlinear Programming, Solved Problem

Nonlinear Programming• Una vez que se completa la hoja de Excel con

todas las fórmulas, se emplea SOLVER.

Page 38: Nonlinear Programming, Solved Problem

Nonlinear Programming• Datos necesarios para resolver el problema.

Page 39: Nonlinear Programming, Solved Problem

Nonlinear Programming• Datos necesarios para resolver el problema.

Page 40: Nonlinear Programming, Solved Problem

Nonlinear Programming• Solución generada por SOLVER.

Page 41: Nonlinear Programming, Solved Problem

Gracias• https://www.facebook.com/licemata

• https://twitter.com/licemata

• Twitter: @licemata

• http://licmata-math.blogspot.mx/

• http://www.scoop.it/t/mathematics-learning

• http://www.spundge.com/@licmata

• http://www.slideshare.net/licmata

• www.freelibros.org