DIOP_U3_A1_ARGD

February 28, 2018 | Author: W-Brian Beoulve | Category: Mathematical Optimization, Function (Mathematics), Differential Calculus, Linearity, Software
Share Embed Donate


Short Description

Descripción: X...

Description

Nombre de la materia: investigación de operaciones Alumno: Armando Alexis Grande Domínguez Matricula: ES1611302294 Docente: Araceli Esquivel López Actividad 1 importancia de los métodos de programación no lineal en ds Cuarto semestre Unidad 3 Ingeniería en desarrollo de software

Importancia de los Métodos de programación no lineal en el desarrollo de software. Instrucciones: 1. Analiza y explica el concepto de programación no lineal. 2. Identifica: Los tipos de métodos de programación no lineal. Optimización clásica de programación no lineal. Puntos de inflexión: Máximos y mínimos. 3. Lee el siguiente planteamiento e identifica el método de programación no lineal a utilizar para obtener los requerimientos solicitados: Una empresa de software produce aplicaciones web y sistemas informáticos, obteniendo ingresos de 200x2 + 250y2 unidades monetarias, siendo “x” el número aplicaciones web producidas e “y” el de sistemas informáticos. Para producir una aplicación web se necesitan una unidad de software y dos horas de trabajo, y para producir un sistema informático se necesitan tres unidades de software y dos horas de trabajo. Se dispone de 28 unidades de software y de 38 horas de trabajo. Se requiere al jefe del proyecto que calcule el número de aplicaciones web y de sistemas informáticos que se deben producir para maximizar los ingresos y que se calcule la cantidad que estaría dispuesta a pagar la empresa por una unidad adicional de software y por una hora más de trabajo. 4. Menciona y explica el método de programación no lineal que utilizarás para obtener los resultados solicitados. 5. Describe el algoritmo de solución a utilizar para resolver el modelo. 6. Utiliza un programa (los que seleccionaste en la unidad 2 o un programa de hoja de cálculo) donde puedas introducir datos del modelo y te ayude a calcularlo. 7. Resuelve el ejercicio con ayuda del programa seleccionado y describe la solución. 8. Describe el procedimiento realizado para llegar a la solución e imprime las pantallas donde se muestre el proceso en forma clara y detallada. 9. Integra tus conclusiones explicando cuál es la importancia de utilizar los métodos de programación no lineal en el ámbito del desarrollo de software.

Concepto de programación no lineal. Es el conjunto de métodos que se encargan de la problemática de optimizar la función objetivo donde existen restricciones de no igualdad y/o igualdad, donde no todas las ecuaciones son lineales.

Métodos de programación no lineal. 1. 2. 3. 4. 5. 6. 7. 8.

Optimización no restringida. Optimización restringida linealmente. Programación cuadrática. Programación convexa. Programación separable. Programación no convexa. Programación geométrica. Programación fraccional.

Optimización clásica de programación no lineal. Cuando la restricción es inexistente, o es una de igualdad con una cantidad menor o igual de variables que la función objetivo, el cálculo deberá ser diferencial.

Puntos de inflexión: Máximos y mínimos. Los puntos de inflexión son aquellos puntos en donde la curva cambia su dirección con respecto al eje dependiente. Se dice que el punto de inflexión máximo es cuando el valor, en un tramo de estudio de la curva, llega al punto con mayor valor en relación con la variable dependiente. Asimismo, el punto de inflexión mínimo es cuando el valor de la variable dependiente se encuentra en el su menor valor.

Los tipos de métodos de programación no lineal. 

Optimización no restringida.

Si la restricción no existe, o es una restricción de igualdad, con menor o igual número de variables que la función objetivo entonces, el cálculo diferencial, da la respuesta, ya que solo se trata de buscar los valores extremos de una función. 

Optimización linealmente restringida.

Los problemas de optimización restringida linealmente se caracterizan por restricciones que se ajustan por completo a la programación lineal, de manera que todas las funciones de restricción gi(x) son lineales, pero la función objetivo f (x) es no lineal. El problema se simplifica de manera notable si sólo se tiene que tomar en cuenta una función no lineal junto con una región factible de programación lineal. 

Programación cuadrática

Los problemas de programación cuadrática tienen restricciones lineales, pero ahora 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. 

Programación convexa.

La programación convexa abarca una amplia clase de problemas, entre los cuales, como casos especiales, se puede mencionar todos los tipos anteriores cuando f (x) es una función cóncava que debe maximizarse. Los supuestos son: 1. f (x) es cóncava. 2. Cada una de las gi(x) es convexa. 

Programación separable.

La programación separable es un caso especial de programación convexa, en donde el supuesto adicional es: Todas las funciones f (x) y gi(x) son separables. 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. Por ejemplo, si f (x) es una función separable, se puede expresar como

𝑛

𝑓(𝑥) = ∑ 𝑓𝑗 (𝑥𝑗 ) 𝑗=1



Programación no convexa.

La programación no convexa incluye todos los problemas de programación no lineal que no satisfacen los supuestos de programación convexa. En este caso, aun 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 cuenta con un algoritmo que garantice encontrar una solución óptima para todos estos problemas; sin embargo, 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 supuso para programación convexa. 

Programación geométrica.

Cuando se aplica programación no lineal a problemas de diseño de ingeniería, muchas veces la función objetivo y las funciones de restricción toman la forma 𝑁

𝑔(𝑥) = ∑ 𝑐𝑖 𝑃𝑖 (𝑥), 𝑖=1

Donde 𝑃𝑖 (𝑥) = 𝑥1𝑎𝑖1 𝑥2𝑎𝑖2 … 𝑥𝑛𝑎𝑖𝑛

En tales casos, ci y aj con frecuencia representan las constantes físicas, mientras que las xj son las variables de diseño. Estas funciones por lo general no son ni cóncavas ni convexas, por lo que las técnicas de programación convexa no se pueden aplicar en forma directa a estos problemas de 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. Este caso es aquel en el que todos los coeficientes ci de cada función son estrictamente positivos, es decir, las funciones son polinomios positivos generalizados (ahora llamados polinomios), y la función objetivo se tiene que minimizar. El problema equivalente de programación convexa con variables de decisión y1,y2, . . ., y n se obtiene al establecer

𝑥𝑗 = 𝑒 𝑦𝑗 ,



𝑝𝑎𝑟𝑎 𝑗 = 1,2, … 𝑛

Programación fraccional.

Suponga que la función objetivo se encuentra en la forma de una fracción, esto es, la razón o cociente de dos funciones,

𝑓(𝑥) =

𝑓1 (𝑥) 𝑓2 (𝑥)

Estos problemas de programación fraccional surgen, por ejemplo, cuando se maximiza la razón de la producción entre las horas-hombre empleadas (productividad), o la ganancia entre el capital invertido (tasa de rendimiento), o el valor esperado dividido entre la desviación estándar de alguna medida de desempeño de una cartera de inversiones (rendimiento/riesgo). Se han formulado algunos procedimientos de solución especiales para ciertas formas de f1(x) y f2(x).



Problema de complementariedad.

Encuentra una solución factible para el conjunto de restricciones 𝑤 = 𝐹(𝑧)

𝑤 ≥ 0,

𝑧≥0

que también satisface la restricción de complementariedad,

𝑤𝑡𝑧 = 0 Aquí, w y z son vectores columna, F es una función dada con valores vectoriales y el superíndice T denota la transpuesta El problema no tiene función objetivo, de manera que, desde un punto de vista técnico, no es un problema de programación no lineal completo

 Optimización clásica de programación no lineal. Si la restricción no existe, o es una restricción de igualdad, con menor o igual número de variables que la función objetivo entonces, el cálculo diferencial, da la respuesta, ya que solo se trata de buscar los valores extremos de una función.

 Puntos de inflexión: Máximos y mínimos. Un punto de inflexión es un punto donde cambia la curvatura de la función. Si x=a es un punto de inflexión → f” (a)=0

Es el punto que en una función continua separa la parte convexa de la cóncava, se llama punto de inflexión de la función. En ellos la función no es cóncava ni convexa sino que hay cambio de concavidad a convexidad o al revés. La curva atraviesa la tangente matemáticamente la deriva segunda de la función f en el punto de inflexión es cero o no existe, en cálculo de varias variables a esos puntos se les conoce como de ensilladura. Máximos Los niveles máximos de existencia se establecen lo bastante altos como para garantizar un suministro adecuado en todo momento durante el ciclo de pedidos, pero lo bastante bajos como para prevenir el exceso y derroche de existencias

Mínimos El nivel mínimo de las existencias se establece al nivel más bajo posible, pero incluyen un margen de seguridad para prevenir que se agoten.

Máximo y mínimos Este método de máximo mínimos utiliza la requisición representa la cantidad que se supone es más conveniente por comprar.

y que

Entonces el punto máximo del inventario se fijará como la suma del mínimo real más la cantidad de la requisición solicitada El mínimo real será entonces el punto mínimo, por el cual no se permitirá que se disminuya las materias primas antes de que se efectué un nuevo pedido

Las variables de decisión del problema son: x : el número aplicaciones web producidas y : el de sistemas informáticos Optimizar la variable. Función objetivo Z=f(x,y)=200x2 + 250y2 función Al analizar el problema anterior, sabiendo que se cuenta con una función objetivo cuadrática y con restricciones lineales, el método a emplear seria de programación no lineal cuadrática con restricciones lineales. Programación Cuadrática Un problema de Programación Cuadrática es aquél que contiene una función objetivo cuadrática y restricciones lineales:

Los métodos para resolver problemas cuadráticos es necesario definir las condiciones suficientes y necesarias, para poder satisfacer el punto de solución, para que este se pueda considerar como una solución óptima, las necesidades de estas condiciones nos lleva principalmente en conocer o estudiar las teorías de Lagrange y de Karush-Khun y Tucker que se caracterizan para condiciones de puntos óptimos dentro de la programación lineal Un problema de Programación Cuadrática es aquél que contiene una función objetivo cuadrática y restricciones lineales 𝑛

𝑛

𝑛

min 𝑓(𝑥) = ∑ 𝐶𝑗 𝑋𝑗+ ∑ ∑ 𝑞𝑖𝑗 𝑥𝑗 𝑥𝑖 𝑗=1

𝑖=1 𝑗=1

Sujeto a: 𝑛

𝑠. 𝑎 ∑ 𝑎𝑖𝑗 𝑥𝑗 ≥ 𝑏𝑖

𝑖 = 1…..𝑚

𝑖=1

𝑥𝑗 ≥ 0 En notación matricial: min 𝑓(𝑥) = 𝑐𝑥 + 𝑥 𝑇 𝑄𝑥 Sujeto a: 𝑠. 𝑎 𝑔1 (𝑥) = 𝑥 ≥ 0 𝑔2 (𝑥) = 𝐴𝑥 − 𝑏 ≥ 0 Condiciones de Kuhn-Tucker 𝛁𝒇(𝒙) = 𝒄 + 𝒙𝑻 (𝑸 + 𝑸𝑻 ) 𝟏 𝛁𝒈𝟏 (𝒙) = [ ] 𝟏 𝛁𝒈𝟐 (𝒙) = 𝑨𝑻 Si la función objetivo es convexa, es decir la matriz Q es una matriz cuadrada y definida positiva, y las restricciones son lineales, las condiciones de Kuhn-Tucker son necesarias y suficientes para encontrar el óptimo de la funcion.En este caso nuestra función es convexa.

https://www.google.com.mx/search?q=200x%5E2+%2B+250y%5E2&source=lnms &sa=X&ved=0ahUKEwj2vuDlnoLWAhXPZiYKHSshAAgQ_AUICSgA&biw=1366&bi h=662&dpr=1 objetivo con variables al cuadrado

variables

concepto

Unidad de software

x y

Aplicación web sistemas informáticos disponibilidad

1 3

Horas de trabajo 2 2

28

38

Restricciones lineales. 𝑥 + 3𝑦 ≤ 28 2𝑥 + 2𝑦 ≤ 38 𝑥 ≥ 0; 𝑦 ≥ 0 Solución Gráfica: Intersecciones de restricciones con ejes: Restricción 1: X + Y ≤ 28 X=0

Y=0

0+Y = 28

X+0 = 28

Y = 28

X = 28

Restricción 2: X2 + Y2 ≤ 38 X2 = 0

Y2 = 0

0*2+Y2 = 38

X2+Y*0 = 38

Y2 = 38

X2 = 38

Y = 19

X = 19

costo 200 250

Con la gráfica vemos que las restricciones son representadas por una curva convexa, por lo que la función objetivo es cóncava, como lo habíamos mencionado.

Identificación de variables Variables Variables decisión de holgura X H1 Y H2

Z = 200x 2 + 250y2 Sujeto a: X + Y ≤ 28 X2 + Y2 ≤ 38 Y X, Y ≥ 0

Planteamiento de Ecuaciones Z = -200x - 250y = 0 X + H1 = 28 X2 + Y2 + H2 = 38 Y X, X, H1, H2 ≥ 0

Tabla matricial X1 0 2 -200

X2 0 2 -250

H1 1 0 0

H2 0 1 0

Solución 28 38 0

Columna y fila pivote X1 H1 0 H2 2 Z -200

X2 0 2 -250

H1 1 0 0

H2 0 1 0

Solución 28 38 0

H1 H2 Z

Elemento pivote debe dar 1 y la columna pivote convertir los coefcientes a 0 X1 X2 H1 H2 Solución H1 0 0 1 0 28 H2 1 1 0 0.5 19 Z 50 0 0 125 4750 Z = 4750 Z = 200x + 250y Z = 0 + 4750

X1 = 0 X2 = 19 Z = (200*0) + (250*19) Z = 4750

19

6. Utiliza un programa (los que seleccionaste en la unidad 2 o un programa de hoja de cálculo) donde puedas introducir datos del modelo y te ayude a calcularlo.

Utilizaremos el solver de Excel para calcularlo:

7. Resuelve el ejercicio con ayuda del programa seleccionado y describe la solución. Solución: aplicaciones sistemas Variables: X Y Valor: 3.807886555 2.12132034 Funcion Objetivo: X2 Valor: 14.50000002 Factores: 200 Restricciones: Unidades Horas

X 1 2

Y2 4.5 250 Y 3 2

Ingresos 4,025.00 $ Limite calculado 28.00000001 38.00000003

Simbolo
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF