nonlinear programming, solved problem

Post on 17-Jul-2015

731 Views

Category:

Engineering

7 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Nonlinear ProgrammingG. Edgar Mata Ortiz

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.

Nonlinear Programming•Programación lineal

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

Nonlinear Programming•Programación lineal

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

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.

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?

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.

Nonlinear Programming• Ejemplo de programación lineal

• Incluso la función objetivo es lineal.

Nonlinear Programming• La solución se obtiene resolviendo

sistemas de ecuaciones lineales

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

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

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

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

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 =

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.

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.

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.

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?

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:

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.

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.

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.

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

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

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

• Agregar los coeficientes de la función objetivo.

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

• Agregar los coeficientes de la función objetivo.

Coeficientes de x, y.

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.

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.

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.

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

• Elegir celdas para los valores de x, y.

Coeficientes de x, y.

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.

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.

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.

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

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.

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

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

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

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

todas las fórmulas, se emplea SOLVER.

Nonlinear Programming• Datos necesarios para resolver el problema.

Nonlinear Programming• Datos necesarios para resolver el problema.

Nonlinear Programming• Solución generada por SOLVER.

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

top related