Está en la página 1de 7

Ingeniera de Telecomunicacin

Planificacin Avanzada de Redes de Comunicaciones Curso 2006-2007


Pablo Pavn Mario

Prctica 1. Introduccin a la optimizacin mediante herramienta MS Excel Solver (I)


Objetivos
El objetivo de esta prctica es introducir al alumno en la utilizacin de la herramienta Solver, ejecutada sobre la aplicacin Microsoft Excel, para resolver problemas de programacin o optimizacin matemtica finita. Minimizar/maximizar f(x1,...,xn) Sujeto a las restricciones: g1(x1,...,xn)0 ... gm(x1,...,xn)0 h1(x1,...,xn) 0 ... hm(x1,...,xn)0 s1(x1,...,xn)= 0 ... sp(x1,...,xn)= 0 donde todas, algunas o ninguna de las variables de decisin xi pueden tener la restriccin de ser enteras.

La resolucin de cada problema de optimizacin, requiere lo siguiente: Planteamiento del problema sobre la pgina Excel - Variables de decisin - Funcin objetivo - Restricciones Especificacin de la situacin de estos parmetros dentro de la pgina a travs del cuadro de dilogo Parmetros de Solver (a la que se accede a travs de HerramientasSolver).

Lanzamiento del algoritmo de obtencin de la solucin. Anlisis de los resultados obtenidos.

Documentacin empleada
La informacin necesaria para resolver esta prctica se encuentra en: Pgina web http://www.solver.com (se recomienda el tutorial ah presente). Ayuda de la aplicacin Microsoft Excel. Instrucciones bsicas presentes en este enunciado.

1. Instalacin de la herramienta Excel Solver


A continuacin se describen las instrucciones para la instalacin de la herramienta de optimizacin seleccionada: 1. Inicie Excel. 2. Seleccione HerramientasComplementos. 3. Marque en la lista de Complementos Disponibles aquel que aparezca indicado como Solver. 4. Seleccione Aceptar. A partir de ese momento la herramienta Solver debe estar disponible en el men Herramientas.

2. Significado de los mens Solver


La ventana Parmetros del Solver se utiliza para describir el problema de optimizacin.

Celda objetivo: debe indicar la celda donde se encuentra la frmula que calcula la funcin objetivo a maximizar o minimizar.

Valor de la celda objetivo: debe especificarse si la funcin objetivo debe ser minimizada, o maximizada. Si la casilla Valores de se encuentra activada, la solucin buscada intentar que la funcin objetivo sea igual al valor ah indicado. - Cambiando las celdas: contiene la ubicacin de las variables de decisin del problema. Sujeto a las siguientes restricciones: en este cuadro se seleccionan las celdas que contienen las funciones restriccin. Cada restriccin se aade mediante el botn Agregar..., lanzndose el cuadro de dilogo que se muestra a continuacin.

Referencia de celda: Especifica la ubicacin de la celda con la frmula correspondiente a la restriccin que se va a aadir. - Tipo de restriccin: Se pueden aadir restricciones del tipo , , =, int (el contenido de la celda debe ser un entero), bin (el contenido de la celda debe ser entero 0 1). - Restriccin: Para el caso de restriccin tipo , , =, debe especificarse aqu un valor numrico o una referencia a una celda con un valor constante (no una funcin). Nota: Por defecto, las variables de decisin no tienen la restriccin de ser no-negativas. Esta condicin debe aadirse en la ventana de Opciones si es necesaria. Restablecer todo: borra el problema de optimizacin planteado, volviendo las variables de decisin a sus valores iniciales. Estimar: No ser utilizada. Opciones: Permite abrir un cuadro de dilogo de configuracin de opciones generales de la optimizacin:

Tiempo: Nmero de segundos antes de que Solver se detenga. Obviamente, Solver se detendr antes en el caso de haber llegado a la solucin ptima. Iteraciones: dem para el nmero de iteraciones del algoritmo de resolucin del problema de optimizacin. Precisin: Exactitud en los clculos numricos del algoritmo Solver. Por ejemplo, marca lo cerca que debe estar de cumplirse una restriccin de igualdad para que se considere igual al resultado del lado izquierdo. Tolerancia: Se especifica para programacin entera. Indica un porcentaje dentro del cual se garantiza la optimalidad de la solucin. Si se desea llegar a la solucin ptima exacta, debe ponerse el valor cero en este campo, aunque ello puede suponer un notable incremento en el tiempo de ejecucin. Convergencia. Adoptar modelo lineal: En el caso de que el problema de optimizacin a resolver sea lineal (entero, o no), es extremadamente recomendable el marcar esta casilla, ya que provoca que se empleen algoritmos optimizacin ms eficientes que aprovechan la linealidad del problema. Nota: En ocasiones, sobre problemas lineales en los que se activa esta opcin, Solver lanza una alarma indicando que no se cumplen las condiciones de linealidad (a pesar de que s se cumplen). Esto es debido a una comprobacin numrica que Solver realiza, que puede proporcionar resultados errneos. Cambiando el valor del campo precisin de 0.000001 a 0.0001 se puede eliminar este falso error. Asumir no negativos: En el caso de que las variables de decisin tengan todas la restriccin de ser no negativas, el marcar esta casilla hace innecesario y redundante el aadir las n restricciones xi0. Usar escala automtica: En el caso de que varias variables y datos del problema tengan escalas muy diferentes, el marcar esta casilla realiza un ajuste en la misma. Mostrar resultado de iteraciones: Marcar esta casilla en el caso de que se desee que Excel muestre la evolucin de las variables de decisin en cada una de las iteraciones del algoritmo, donde se va aproximando hacia el ptimo. Estimacin, Derivadas, Hallar por: Los valores de estos campos afectan al tipo de algoritmo que se emplear para la resolucin de los problemas de programacin no lineal.

3. Ejemplo de problema de programacin lineal: problema de las dietas


Este problema fue publicado como problema de programacin lineal y resuelto por el mtodo del simplex por el Stigler (1945). El problema original consista en determinar las cantidades de 77 alimentos que deban ser adquiridos minimizando el coste total, con la restriccin de que deban satisfacer una determinadas necesidades vitales. En esta seccin, el alumno deber encontrar la solucin a un problema de optimizacin semejante, con menor nmero de variables. Enunciado Un granjero especializado en la explotacin de ganado, debe decidir qu piensos ha de comprar para la alimentacin de sus animales. El catlogo de piensos disponibles es corto, ya que nicamente puede seleccionar 4 tipos de piensos, A, B, C, D. Cada uno de los piensos que puede adquirir tiene dos nutrientes M y N. Las conversaciones con el veterinario de la granja le indican que las necesidades de alimentacin, medidas en kg de nutrientes que deben ingerir la suma de sus animales al da, es de 5500 kg de nutriente M y 8700 kg de nutriente N. Las necesidades de alimentacin deben ser cubiertas a travs de las compras diarias de piensos que deben realizarse. Para ello el granjero se basa en datos del catlogo de cada pienso: kg de nutriente M kg de nutriente N por tonelada de por tonelada de pienso pienso 200 300 150 270 100 140 45 90 Coste por tonelada de pienso 90 81 40 24

Pienso Pienso Pienso Pienso

A B C D

Plantee y resuelva el problema de optimizacin con la herramienta Solver, que responda a la pregunta: Cuntas toneladas de cada pienso debe comprar el granjero al da de tal manera que se satisfagan las necesidades de alimentacin, y el coste sea mnimo? Respuesta 1) Escriba el planteamiento como problema de optimizacin 2) Escriba la solucin ptima alcanzada: Toneladas de pienso de A. Toneladas de pienso de B. Toneladas de pienso de C. Toneladas de pienso de D. Coste total de la compra.

4. Ejemplo de problema de programacin lineal entera


En el problema anterior, el granjero no tena ninguna restriccin en cuanto a la compra de un nmero fraccionado de toneladas. Esto no suele ser lo habitual. Modifique el problema anterior adecuadamente, de manera que el granjero nicamente tenga la posibilidad de hacer pedidos por un mltiplo entero de una cantidad, dependiente de cada pienso (marcada por su departamento de ventas). Pienso Pienso Pienso Pienso A: Pedidos mltiplo de 1 tonelada. B: Pedidos mltiplo de 2 toneladas. C: Pedidos mltiplo de 5 toneladas. D: Pedidos mltiplo de 2,8 toneladas.

Cuntas toneladas de cada pienso debe comprar ahora el granjero al da de tal manera que se satisfagan las necesidades de alimentacin, y el coste sea mnimo? 1) Escriba el planteamiento como problema de optimizacin 2) Escriba la solucin ptima alcanzada: Toneladas de pienso de A. Toneladas de pienso de B. Toneladas de pienso de C. Toneladas de pienso de D. Coste total de la compra.

5. Ejemplo de problema de programacin no lineal


Deseamos colocar un almacn en un punto geogrfico de coordenadas (x,y), tal que el coste de trasladar la mercanca del almacn hacia los destinos sea mnimo. Los destinos de las mercancas son: A (7,2). B (3,8). C (15,4). D (1,13).

Las mercancas a transportar son: Destino Destino Destino Destino A: 9 unidades. B: 3 unidades. C: 12 unidades. D: 5 unidades.

El coste de transporte de una unidad de mercanca es una funcin lineal C (d,u) = kdu, d=distancia almacn-destino u=unidades a transportar Plantear el problema de programacin no lineal subyacente, y resolverlo mediante la herramienta Solver. Mostrar en una grfica los datos y la solucin del problema.

Plantear y resolver el mismo problema para el caso de que se obligue a que el almacn se encuentre a una distancia del punto (5,5) menor a 3 unidades. Mostrar en una grfica los datos, las restricciones y la solucin del problema.

También podría gustarte