DIOP_U3_A1_IRMG
Short Description
Descripción: X...
Description
4-9-2017
Investigación de operaciones DS-DIOP-1702-B1-001 Docente: Araceli Esquivel López Unidad 3. Modelos de programación no lineal Actividad 1. Importancia de los Métodos de programación no lineal en el desarrollo de software
Investigación de operaciones DS-DIOP-1702-B1-001 Docente: Araceli Esquivel López
Actividad 1. Importancia de los Métodos de programación no lineal en el desarrollo de software Introducción “La programación no lineal tiene como objetivo la optimización de funciones no lineales o lineales sujeto a restricciones no lineales (o funciones no lineales sujeto a restricciones lineales). Las típicas áreas de aplicación son: valoración de proyectos, problemas de diseño estructural, ajuste de curvas, asignación de recursos, diseño de procesos, etc.” (De la Fuente y Priori, 1996, p.14). En esta actividad relacionarás este tipo de métodos con el desarrollo de software. Propósito Esta actividad tiene la finalidad de que comprendas, analices y describas características de los algoritmos de solución para la programación no lineal e identifiques su importancia en el desarrollo de software. Instrucciones 1. Analiza y explica el concepto de programación no lineal. En matemáticas, programación no lineal (PNL) es el proceso de resolución de un sistema de igualdades y desigualdades sujetas a un conjunto de restricciones sobre un conjunto de variables reales desconocidas, con un función objetivo a maximizar (o minimizar), cuando alguna de las restricciones o la función objetivo no son lineales. ("Programación no lineal", 2017) 2. Identifica Los tipos de métodos de programación no lineal. Según los contenidos de la asignatura son los siguientes: (UnADM:2017:2) Para problemas de programación no lineal son: Optimización clásica de programación no lineal Puntos de inflexión, máximos y mínimos Para problemas no restringidos en programación no lineal Multiplicadores de LaGrange (LAMDA)
Los métodos a usar dependen del tipo de problema a resolver, y éstos pueden ser: Optimización no restringida Programación no convexa Optimización linealmente restringida Programación geométrica Programación cuadrática Programación fraccional Programación convexa Problema de complementariedad Programación separable
Ingeniería en Desarrollo de Software
Irma Rosa Martínez García U3.A1. Importancia de los métodos de programación no lineal en el desarrollo de software ES1521200767
1
Investigación de operaciones DS-DIOP-1702-B1-001 Docente: Araceli Esquivel López 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. (Unidad III: Programación no lineal:2017) Puntos de inflexión: Máximos y mínimos. Los puntos de inflexión se refieren a un punto donde los valores de x en una función continua pasan de un tipo de concavidad a otro. (UnADM:2017:8) Un punto de inflexión es un punto donde cambia la curvatura de la función. Puntos minimax. El punto minimax de la función lagrangiana es otro concepto relacionado con la solución de un problema de optimización. Si bien su definición no le hace útil a la hora de la resolución directa del problema, sí constituye un paso intermedio muy importante en la obtención del problema dual, que estudiaremos más adelante. En esta sección definimos dicho punto y estudiamos su relación con otro concepto, el punto de silla de la lagrangiana. (Unidad III: Programación no lineal:2017) 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. Aplicaciones web (x)
Sistemas informáticos (y)
200𝑥 2
250𝑦 2
Restricción no más de 28 unidades de software
1
3
Restricción de no más de 38 unidades de tiempo
2
2
𝑥 ≥ 0
𝑦 ≥ 0
Función objetivo: 𝑧 = 200𝑥 2 + 250𝑦 2 Unidades monetarias
Restricción de valor
4. Menciona y explica el método de programación no lineal que utilizarás para obtener los resultados solicitados Para resolver este tipo de problemas, podemos utilizar la programación cuadrática 5. Describe el algoritmo de solución a utilizar para resolver el modelo 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 (Hillier:2010:507), como en este caso.
Ingeniería en Desarrollo de Software
Irma Rosa Martínez García U3.A1. Importancia de los métodos de programación no lineal en el desarrollo de software ES1521200767
1
Investigación de operaciones DS-DIOP-1702-B1-001 Docente: Araceli Esquivel López Lo más importante en cualquier metodología y cualquier tipo de problemática es plantear correctamente la función objetivo así como las variables y las restricciones para entonces sí, determinar cómo plantear la solución y la metodología a seguir. En este caso sería plantear la función objetivo, variables y restricciones, matriz del problema a resolver, condiciones KKT (en este caso), plasmar en una tabla (en Excel) correspondiente al método simplex donde introduciremos las variables artificiales y actualizando la fila objeto. 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. Siguiendo el video recomendado por la docente en línea, usé el Solver para resolver el problema planteado. 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.
Ingeniería en Desarrollo de Software
Irma Rosa Martínez García U3.A1. Importancia de los métodos de programación no lineal en el desarrollo de software ES1521200767
2
Investigación de operaciones DS-DIOP-1702-B1-001 Docente: Araceli Esquivel López
3
El proceso del Solver fue indicarle la celda donde queremos el resultado de la función objetivo que es el ingreso 𝑧 = 200𝑥 2 + 250𝑦 2 después se colocan las celdas que van a cambiar y que son los valores de x y y, para terminar colocando las restricciones. Después de darle clic a Resolver, el resultado que nos da el Solver es de 72,200 unidades monetarias. Para calcular cuánto debería de pagar la empresa por una unidad adicional de software y por una unidad adicional de tiempo, lo que hago es incrementar en uno cada restricción, vuelvo a correr el Solver y el diferencial es lo que podría pagarse como adicional.
Ingeniería en Desarrollo de Software
Irma Rosa Martínez García U3.A1. Importancia de los métodos de programación no lineal en el desarrollo de software ES1521200767
Investigación de operaciones DS-DIOP-1702-B1-001 Docente: Araceli Esquivel López
4
Como podemos ver en la restricción, ya estábamos sobrados en unidad de software, por lo que incrementar en uno, no hizo diferencia alguna por lo que no se puede pagar más por adicionar una unidad de software ya que no hay ingreso extra. Ahora con una unidad de tiempo extra:
Aquí sí hay diferencia entre 72,200 y 76,050 unidades monetarias y ésta es 3,850 que es lo que se debe pagar por una unidad de tiempo adicional. La curva ya con el valor máximo quedaría:
Ingeniería en Desarrollo de Software
Irma Rosa Martínez García U3.A1. Importancia de los métodos de programación no lineal en el desarrollo de software ES1521200767
Investigación de operaciones DS-DIOP-1702-B1-001 Docente: Araceli Esquivel López
5
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. 10. Guarda la actividad en formato de Word o equivalente con el nombre DIOP_U3_A1_XXYZ Sustituye las XX por las dos primeras letras del primer nombre, la Y por la inicial del apellido paterno y la Z por la inicial del apellido materno. Nota: no se aceptarán trabajos en PDF o
equivalente. 11. Consulta los criterios de evaluación de la actividad para considerar los aspectos a evaluar. 12. Envía el archivo a tu Docente en línea mediante la herramienta Foro con subida de archivos para recibir retroalimentación. Espera y atiende la retroalimentación correspondiente. 13. Ingresa a la participación de mínimo uno de tus compañeros y realiza una aportación indicando la forma en que enriqueció tu propia concepción sobre la importancia de los métodos de programación no lineal en el desarrollo de software y la forma de aplicarlos.
Conclusión Sigue siendo muy complejo y algo pesado el investigar, leer, ver tutoriales sin muchos ejemplos a qué echar mano, sin embargo, la temática es sumamente interesante y se confirma la valía de estos conocimientos. Es muy enriquecedor tratar de elaborar estos problemas esperando haber entendido un poco de la metodología y siguiendo nuestros instintos para determinar que la respuesta es la correcta o al menos lo más aproximado a ser correcta. En cuanto a la aplicación en el desarrollo de software, ésta metodología, pienso yo, es derivada de la lineal y así debe ser ya que en la realidad los problemas no son sólo lineales, hay muchos problemas que cuentan con demasiadas variables y restricciones que tenemos que considerar para poder hacer los planteamientos adecuados. Ingeniería en Desarrollo de Software
Irma Rosa Martínez García U3.A1. Importancia de los métodos de programación no lineal en el desarrollo de software ES1521200767
Investigación de operaciones DS-DIOP-1702-B1-001 Docente: Araceli Esquivel López
Referencias UnADM, 2017, Investigación de operaciones Unidad 3 “Modelos de programación no lineal”, pp. 23 Hillier, F., & Lieberman, G. (2010). Introducción a la investigación de operaciones. México D.F.: McGraw-Hill. Pp. 978. Taha, H., & González Pozo, V. (2004). Investigación de operaciones. México: Pearson Educación. Pp. 830. Programación no lineal. (2017). Es.wikipedia.org. Recuperado 5 Septiembre 2017, a partir de https://es.wikipedia.org/wiki/Programaci%C3%B3n_no_lineal Unidad III: Programación no lineal (2017). Recuperado 5 Septiembre 2017, a partir de http://itpn.mx/recursosisc/3semestre/investigaciondeoperaciones/Unidad%20III.pdf
Ingeniería en Desarrollo de Software
Irma Rosa Martínez García U3.A1. Importancia de los métodos de programación no lineal en el desarrollo de software ES1521200767
6
View more...
Comments