Herramientas de análisis numérico aplicadas a la resolución de problemas de programación lineal en procesos metalúrgicos

Documentos relacionados
Herramientas de análisis numérico para la resolución de problemas de programación lineal

1: INTRODUCCIÓN AL USO DE LA HOJA DE CALCULO EXCEL COMO HERRAMIENTA PARA DESARROLLAR PROBLEMAS EN INGENIERÍA. SOLVER, REGRESION LINEAL MULTIPLE

Práctica 1. Introducción a la optimización mediante herramienta MS Excel Solver (I)

Buscar en la Ayuda. Más en Office.com: Descargas Plantillas

Pontificia Universidad Católica del Perú

Capítulo 3 Macros Introducción

Microsoft Office XP Excel XP (III)

Datos técnicos y económicos A B B B C C C Coste variable por min (um)

Buscando soluciones óptimas con Excel. Ampliación de Informática

Apéndice de programación en Excel

Práctica 2: Análisis de sensibilidad e Interpretación Gráfica

Para conocer la conveniencia de la aplicación SOLVER de EXCEL Microsoft, se utilizará un ejemplo práctico:

Seminario 55. Excel Experto

SOLVER PARA WINDOWS. 1 Es necesario instalarlo previamente desde el paquete de Microsoft Office.

WinQSB. Módulo de Programación Lineal y Entera. Al ejecutar el módulo Linear and Integer Programming, la ventana de inicio es la siguiente:

MICROSOFT EXCEL 2007 NIVEL AVANZADO. Contenido

Funciones de Búsqueda y Referencia con Microsoft Excel 2010

OPTIMIZACION DETERMINISTICA

Herramientas computacionales para la Programación n Lineal

UNIDAD 4 Creando reportes de consolidación de datos mediante el uso de funciones y formatos condicionales.

Cómo utilizar Solver en Excel 2007 y 2010 (maximizar los beneficios de producción)

Unidad 2. Funciones y fórmulas básicas de las hojas de cálculo

2.2 CREAR TABLAS Y GRÁFICOS.

Profesor(a): Ing. Miriam Cerón Brito

PASOS PARA CREAR FUNCIONES CON VBA

ESCUELA DE INFORMÁTICA

UNIDAD 5. Problema de Transporte

UNIDAD 2- LA CREACIÓN DE TABLAS EN ACCESS 2010

Seminario 1. Excel Básico

Si el comando Solver no aparece en el menú Herramientas, deberá instalar la macro automática Solver como sigue:

Base de datos. Objetivo. Contenido

Hoja electrónica Microsoft Excel

CONTROLES... 2 ACTIVAR FICHA PROGRAMADOR... 2 INSERTAR CASILLA DE VERIFICACION... 2 INSERTAR BOTON DE OPCION... 4

Vamos a profundizar un poco sobre los distintos tipos de datos que podemos introducir en las celdas de una hoja de cálculo

UNIDAD II HOJA ELECTRÓNICA

Parámetrizar datos de captura en un libro de trabajo

Computación Aplicada. Universidad de Las Américas. Aula virtual de Computación Aplicada. Módulo de Excel 2013 LIBRO 2

Antes de pasar a los ejemplos de creación de hipervínculos en Excel es conveniente conocer los tipos de hipervínculos que tenemos disponibles:

3.2. MANEJO DEL ENTORNO

Computación Aplicada. Universidad de Las Américas. Aula virtual de Computación Aplicada. Módulo de Excel 2013 LIBRO 3

Pasos para cambiar la orientación de la página

Informática I ACI-191. Taller de Informática

Método Simplex. Programación Lineal. Integrantes: Karla Vanessa Moraga Correa José Tomás Mejías Hernández

COLEGIO DE BOYACÁ SE-GU SISTEMA DE GESTIÓN DE LA CALIDAD VERSIÓN 1.0

Crear una macro automáticamente

Computación Aplicada. Universidad de Las Américas. Aula virtual de Computación Aplicada. Módulo de Excel 2013 LIBRO 6

NATIONAL SOFT HOTELES GUÍA DE CONFIGURACIÓN DEL FORMATO DE FACTURAS

FUNCIONES EN EXCEL III

Uso del programa SOLVER de MS Excel

Operaciones básicas con hojas de cálculo

Unidad 4. Tablas dinámicas y macros para la organización de informes

CESDE ESCUELA DE PROCESOS TECNOLÓGICOS E INDUSTRIALES MACROS VBA GUÍA 2 INTRODUCCIÓN A VBA Y FUNCIONES

MICROSOFT EXCEL. Es una aplicación para manejar hojas de cálculo. Una hoja de cálculo es una especie de tabla cuyas casillas o celdas pueden contener:

USO HERRAMIENTAS EXCEL PARA LA PREDICCION

WinQSB. Módulo de Programación Lineal y Entera. Al ejecutar el módulo Linear and Integer Programming, la ventana de inicio es la siguiente

ULADECH Escuela Profesional de Contabilidad

Userform ("INT") Capital Inicial C(4;0,18)= Tiempo. t= 4 C(4;0,18)= Interés. i= 18,0 %

FECHA DE ENTREGA DE LAS ESPECIFICACIONES AL ESTUDIANTE: Adjunto a la Primera Prueba Parcial

Tema 08: Programación Lineal (Problema de Asignación #1) Cada proyecto requiere al menos de dos carpinteros, de dos pintores y de dos electricistas.

Mathematics 4.0 Microsoft Mathematics 4.0

CONFIGURACION DE PLANTILLAS

ADMINISTRACIÓN FINANCIERA. Documento sobre la función buscar objetivo y el complemento SOLVER de la planilla de cálculos Excel

Tabla dinámica. En la tabla anterior, los títulos de columnas Mes, Tipo, Vendedor, Región, Unidades y Ventas se convertirán en nombres de campos.

Consulta Avanzado. Objetivo. Contenido. Consulta avanzado. Sesión 1. Aprender a usar las funciones consultav, consulta H, Si y es Error.

Utilización de Funciones en OpenOffice.org Calc

Identifica los tipos de datos y funciones. Tipos de Datos: Excel soporta 5 tipos de datos, estos son:

MANUAL DE USUARIO. FOR-TSM (Forecasting Time Series Models)

Describir las actividades que se requieren para configurar el correo electrónico corporativo, a través de Microsoft Outlook.


Fórmulas. Fórmulas Diapositiva 1

SUPERINTENDENCIA NACIONAL DE BIENES ESTATALES GUÍA DE USUARIO

La cinta de opciones se ha diseñado para ayudarle a encontrar fácilmente los comandos necesarios para completar una tarea.

FORMATO DE CELDAS EXCEL Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

FECHA DE ENTREGA AL ESTUDIANTE: Adjunto a la primera prueba parcial

EVIDENCIA. CUESTIONARIO ALUMNO(A): GRUPO EVALUACIÓN

Excel Fundamentos de Excel. Área académica de Informática

Sesión No. 9. Contextualización INFORMÁTICA 1. Nombre: Hojas de cálculo (Microsoft Excel)

Anexo I. Manual Crystal Ball

Operación de Microsoft Excel

Formato. Formato Diapositiva 1

5.2. Combinar celdas Ajustar texto a la celda Insertar filas y columnas Insertar filas Insertar columnas. 5.5.

Fundamentos de Programación

Módulo de Elaboración de la Solicitud de Fraccionamiento para Municipalidades. Manual de Usuario VERSION 1.0

NOTA TÉCNICA SOBRE EL USO DEL SOLVER EXCEL Versión 2.0. Gutiérrez Villaverde, Herberth E. 1

Estos argumentos posicionales trabajan con todos los datos que hay en la dirección especificada hasta que se encuentran con una celda vacía

Crear una plantilla basada en una plantilla existente

ADMINISTRACIÓN FINANCIERA

BOLETINES, CALENDARIOS Y ETIQUETAS

CRRERA CORTA DE ESPECIALISTA EN EXCEL EMPRESARIAL

Insertar y eliminar elementos

INGENIERÍA TELEINFORMÁTICA

APRENDE A REALIZAR UNA MACRO

1. La ventana de Excel

Los complementos proporcionan comandos y funciones. opcionales de Excel, que deben ser instalados y, en algunos

MÓDULO SE: SISTEMAS DE ECUACIONES

Contenido BDPROMEDIO (función BDPROMEDIO)... 1

Fundamentos de Excel

Transcripción:

Herramientas de análisis numérico aplicadas a la resolución de problemas de programación lineal en procesos metalúrgicos Librería Solver Integrada en Microsoft Excel (Frontline Systems) Luis Marín Escalona Julio de 2oo7

Índice Como hacer referencia a la librería Solver en el editor de Visual Basic 3 Función SolverAdd 7 Descripción 7 Sintaxis 7 Función SolverChange 8 Descripción 8 Sintaxis 8 Función SolverDelete 9 Descripción 9 Sintaxis 9 Función SolverFinish 10 Descripción 10 Sintaxis 10 Función SolverFinishDialog 11 Descripción 11 Sintaxis 11 Función SolverGet 12 Descripción 12 Sintaxis 12 Función SolverLoad 15 Descripción 15 Sintaxis 15 Función SolverOk 16 Descripción 16 Sintaxis 16 Función SolverOkDialog 17 Descripción 17 Sintaxis 17 Función SolverOptions 18 Descripción 18 Sintaxis 18 Función SolverReset 20 Descripción 20 Sintaxis 20 Función SolverSave 21 Descripción 21 Sintaxis 21 Función SolverSolve 22 Descripción 22 Sintaxis 22 Ejemplos 23 Ejercicios Propuestos 26 Luis Marín Escalona Librería Solver (Frontline Systems) 2

Como hacer referencia a la librería Solver en el editor de Visual Basic Todas las funciones incorporadas dentro de esta librería requieren que se establezca una referencia a Solver y un modulo activo en el editor de Visual Basic. Para establecer correctamente una referencia a Solver debe seguir los siguientes pasos. 1) Insertar un modulo de Visual Basic. Luis Marín Escalona Librería Solver (Frontline Systems) 3

2) Establecer una referencia a la Solver haciendo clic en Herramientas > Referencias 3) Seleccionar la librería Solver.xls Luis Marín Escalona Librería Solver (Frontline Systems) 4

4) Aceptar el cuadro de dialogo que se muestra a continuación. Si por algún motivo dentro del cuadro de dialogo anterior, no se encuentra dicha librería, debe establecer la referencia siguiendo los siguientes pasos. 5) Haga clic en examinar Luis Marín Escalona Librería Solver (Frontline Systems) 5

6) Ubique la librería Solver.xla en forma manual, por lo general se encuentra: En versiones de Microsoft Office en español C:\Archivos de Programa\Microsoft Office\Office\Macros\Solver C:\Archivos de Programa\Microsoft Office\Office10\Macros\Solver C:\Archivos de Programa\Microsoft Office\Office11\Macros\Solver En versiones de Microsoft Office en ingles C:\Program Files\Microsoft Office\Office\Library\Solver C:\Program Files\Microsoft Office\Office10\Library\Solver C:\Program Files\Microsoft Office\Office11\Library\Solver Luis Marín Escalona Librería Solver (Frontline Systems) 6

Función SolverAdd Descripción La función SolverAdd se utiliza para agregar restricciones al problema planteado, es equivalente a hacer clic en la opción Agregar del menú de herramientas de Solver. Sintaxis SolverAdd (CellRef, Relation, FormulaText) CellRef: Requiere una referencia o rango de celdas al lado izquierdo de la restricción. Relation: Requiere números enteros (1, 2, 3, 4, 5) la relación aritmética entre el lado izquierdo y el lado derecho de la restricción se especifica en la tabla 1. Si el valor asignado a Relation es 4 o 5, CellRef debe hacer referenciar a celdas cambiantes. FormulaText: El lado derecho de una restricción. Relation Relación Aritmética 1 <= 2 = 3 >= 4 Las celdas referenciadas por CellRef tendrán como valor final enteros. 5 Las celdas referenciadas por CellRef tendrán como valor final 0 o 1. Luis Marín Escalona Librería Solver (Frontline Systems) 7

Función SolverChange Descripción Cambia una restricción existente, es equivalente a hacer clic en la opción Cambiar del menú de herramientas de Solver. Sintaxis SolverChange(CellRef, Relation, FormulaText) CellRef: Requiere una referencia o rango de celdas al lado izquierdo de la restricción. Relation: Requiere números enteros (1, 2, 3, 4, 5) la relación aritmética entre el lado izquierdo y el lado derecho de la restricción se especifica en la tabla 1. Si el valor asignado a Relation es 4 o 5, CellRef debe referenciar a celdas cambiantes. FormulaText: El lado derecho de una restricción. Si CellRef y Relation no coinciden con una restricción existente, se debe usar la función SolverDelete y SolverAdd para cambiar la restricción. Luis Marín Escalona Librería Solver (Frontline Systems) 8

Función SolverDelete Descripción Elimina una restricción existente, es equivalente a hacer clic en la opción Eliminar del menú de herramientas de Solver. Sintaxis SolverDelete(CellRef, Relation, FormulaText) CellRef: Requiere una referencia o rango de celdas al lado izquierdo de la restricción. Relation: Requiere números enteros (1, 2, 3, 4, 5) la relación aritmética entre el lado izquierdo y el lado derecho de la restricción se especifica en la tabla 1. Si el valor asignado a Relation es 4 o 5, CellRef debe referenciar a celdas cambiantes. FormulaText: El lado derecho de una restricción. Luis Marín Escalona Librería Solver (Frontline Systems) 9

Función SolverFinish Descripción Le indica a Microsoft Excel que hacer con los resultados y el tipo de reporte a crear, una vez que la resolución del problema ha finalizado. Sintaxis SolverFinish(KeepFinal, ReportArray) KeepFinal: Es una variable opcional que puede tomar como valores 1 o 2. Si KeepFinal toma el valor de 1 o se omite su valor, los parámetros finales de solución permanecen en las celdas cambiantes reemplazando cualquier otro valor. Si KeepFinal es 2, los parámetros finales de solución son descartados, y se restauran los parámetros iniciales del problema. ReportArray: es una variable opcional que puede tomar los valores de 1, 2 o 3. El tipo de reporte que puede crear Microsoft Excel cuando se ha llevado a cabo la resolución del problema, puede ser un reporte de respuestas (1), un análisis de sensibilidad (2) o un reporte con los limites el campo de solución (3). Para especificar el reporte que desea visualizar debe usar la función Array, por ejemplo: ReportArray:= Array(1,3) Luis Marín Escalona Librería Solver (Frontline Systems) 10

Función SolverFinishDialog Descripción Le indica a Microsoft Excel que hacer con los resultados y el tipo de reporte a crear, una vez que la resolución del problema ha finalizado. Es equivalente a la función SolverFinish, pero con la salvedad que aparece un cuadro de dialogo después de solucionado el problema. Sintaxis SolverFinishDialog(KeepFinal, ReportArray) KeepFinal: Es una variable opcional que puede tomar como valores 1 o 2. Si KeepFinal toma el valor de 1 o se omite su valor, los parámetros finales de solución permanecen en las celdas cambiantes reemplazando cualquier otro valor. Si KeepFinal es 2, los parámetros finales de solución son descartados, y se restauran los parámetros iniciales del problema. ReportArray: es una variable opcional que puede tomar los valores de 1, 2 o 3. El tipo de reporte que puede crear Microsoft Excel cuando se ha llevado a cabo la resolución del problema, puede ser un reporte de respuestas (1), un análisis de sensibilidad (2) o un reporte con los limites el campo de solución (3). Para especificar el reporte que desea visualizar debe usar la función Array, por ejemplo: ReportArray:= Array(1,3) Luis Marín Escalona Librería Solver (Frontline Systems) 11

Función SolverGet Descripción Devuelve información con la configuración actual de Solver. La configuración de Solver se especifica en las opciones de Parámetros y Opciones del menú de herramientas de Solver. Sintaxis SolverGet(TypeNum, SheetName) TypeNum: Requiere números enteros. La siguiente tabla especifica los parámetros del menú de herramientas de Solver. SheetName: Variable opcional que representa el nombre del la hoja que contiene la información del modelo, Si esta variable se omite, se asume que la hoja que contiene esta información es la hoja activa. Luis Marín Escalona Librería Solver (Frontline Systems) 12

La siguiente tabla especifica los parámetros del menú de herramientas de Solver. TypeNum Retorna 1 La celda objetivo del problema, o el error #N/A si Solver no tiene una Hoja activa. 2 Un número correspondiente a la función objetivo. (1) Maximizar, (2) Minimizar, (3) Igualar a un valor (Value Of). 3 El valor a igualar la función objetivo. 4 Las celdas cambiantes. 5 El número de restricciones 6 Una matriz con el lado izquierdo de cada restricción en formato de texto. 7 Una matriz con el número correspondiente a la relación aritmética entre el lado izquierdo y el lado derecho de cada restricción.: 1 representa <=, 2 representa =, 3 representa >=, 4 representa enteros, y 5 representa binarios. 8 Una matriz con el lado derecho de cada restricción en formato de texto. Luis Marín Escalona Librería Solver (Frontline Systems) 13

La siguiente tabla especifica los parámetros de la opción Opciones del menú de herramientas de Solver. TypeNum Retorna 9 El tiempo máximo de cálculo. 10 El número máximo de iteraciones 11 La precision 12 El valor de tolerancia entera. 13 True, si se asume el modelo lineal, en caso contrario False. 14 True, si se muestra el resultado de las iteraciones, en caso contrario False. 15 True, si se usa escala automática, en caso contrario False. 16 Un número correspondiente al tipo de estimación.: 1 representa Lineal, y 2 representa Cuadrática. 17 Un número correspondiente al tipo de derivadas.: 1 representa progresivas, y 2 representa Centrales. 18 Un número correspondiente al tipo de búsqueda: 1 representa Newtoniana, y 2 representa Gradiente Conjugado. 19 El valor de convergencia. 20 Verdadero si se asumen valores no negativos. Luis Marín Escalona Librería Solver (Frontline Systems) 14

Función SolverLoad Descripción Carga los parámetros de Solver que se han guardado en la hoja activa. Sintaxis SolverLoad(LoadArea) LoadArea: Requiere como variable una referencia a una hoja activa y un rango de celdas en la cual se desee cargar un modelo específico. La primera celda en LoadArea contiene una formula con la función objetivo, la segunda celda contiene una formula para las celdas cambiantes, las celdas siguientes contienen las restricciones y las últimas celdas contiene eventualmente matrices con los parámetros de Solver. El rango representado por el argumento LoadArea puede ser una hoja de trabajo o cualquier hoja, pero se debe especificar su nombre si la hoja no esta activa. Por ejemplo: SolverLoad("Hoja2!A1:A3") Carga un modelo en para la Hoja2 en la eventualidad de que la Hoja2 no este activa. Luis Marín Escalona Librería Solver (Frontline Systems) 15

Función SolverOk Descripción Define un modelo básico de Solver, es equivalente a hacer clic en el menú de Parámetros de Solver, especificando las opciones del modelo. Sintaxis SolverOk(SetCell, MaxMinVal, ValueOf, ByChange) SetCell: Variable opcional que hace referencia a la celda objetivo de la hoja de trabajo active. Es equivalente a especificar la celda objetivo en el menú de herramientas de Solver. MaxMinVal: Variable opcional que puede tomar los valores de 1, 2 o 3 dependiendo del objetivo del problema, ya sea maximizar, minimizar o igualar a un determinado valor, la siguiente tabla describe los valores que puede tomar esta variable. MaxMinVal 1 Maximizar. 2 Minimizar. 3 Especificar un valor. ValueOf: Variable opcional. Si MaxMinVal es 3, se debe especificar el valor de la función objetivo. ByChange: Variable opcional que especifica el rango de celdas que deberán cambiar con el fin de cumplir con los requerimientos del modelo. Luis Marín Escalona Librería Solver (Frontline Systems) 16

Función SolverOkDialog Descripción Igual a la función SolverOk, con la salvedad que en este caso se muestra el cuadro de dialogo de Solver. Sintaxis SolverOkDialog(SetCell, MaxMinVal, ValueOf, ByChange) SetCell: Variable opcional que hace referencia a la celda objetivo de la hoja de trabajo active. Es equivalente a especificar la celda objetivo en el menú de herramientas de Solver. MaxMinVal: Variable opcional que puede tomar los valores de 1, 2 o 3 dependiendo del objetivo del problema, ya sea maximizar, minimizar o igualar a un determinado valor, la siguiente tabla describe los valores que puede tomar esta variable. MaxMinVal 1 Maximizar. 2 Minimizar. 3 Especificar un valor. ValueOf: Variable opcional. Si MaxMinVal es 3, se debe especificar el valor de la función objetivo. ByChange: Variable opcional que especifica el rango de celdas que deberán cambiar con el fin de cumplir con los requerimientos del modelo. Luis Marín Escalona Librería Solver (Frontline Systems) 17

Función SolverOptions Descripción Especifica opciones avanzadas del modelo, esta función y sus argumentos corresponden a las opciones en el cuadro de dialogo Opciones del menú de herramientas de Solver. Sintaxis SolverOptions(MaxTime, Iterations, Precision, AssumeLinear, StepThru, Estimates, Derivatives, Search, IntTolerance, Scaling, Convergence, AssumeNonNeg) MaxTime: Variable opcional que especifica la máxima cantidad de tiempo en segundos en que Microsoft Exel espera resolver el problema. Este valor debe ser un entero positivo. El valor por defecto, adecuado para la mayoría de problemas pequeños es 100, sin embargo se pueden ingresar valores mayores como 32.767. Iterations: Variable opcional que especifica la máxima cantidad de iteraciones en que Microsoft Exel espera resolver el problema. Este valor debe ser un entero positivo. El valor por defecto, adecuado para la mayoría de problemas pequeños es 100, sin embargo se pueden ingresar valores mayores como 32.767. Precision: Variable opcional que puede tomar valores entre 0 y 1 y especifica el grado de precisión para ser usado en la resolución del modelo. El grado de precisión por defecto es 0.000001. Un decimal mayor como por ejemplo 0.0001 indica un grado de precisión menor. En general para obtener altos grados de precisión se deben indicar decimales menores, sin embargo el tiempo que Solver se toma en resolver el problema resulta mayor. AssumeLinear: Variable opcional que toma el valor de True para que Solver asuma un modelo lineal, esta opción solo se puede utilizar cuando todas las restricciones en el modelo son lineales. El valor por defecto de esta opción es False. StepThru: Variable opcional que toma el valor de True para hacer que Solver se detenga en cada solución trivial, el valor por defecto de esta variable es False. Luis Marín Escalona Librería Solver (Frontline Systems) 18

Estimates: Variable opcional que especifica el tipo de aproximación utilizada para obtener una estimación inicial de la variables básicas del modelo. Si la variable Estimates toma el valor 1, el tipo de aproximación será tangencial, si toma el valor 2 el tipo de aproximación será cuadrática. La aproximación tangencial se basa en un método de interpolación lineal. La aproximación cuadrática se basa en un método de interpolación cuadrática. El valor por defecto es 1 (estimación tangencial). Derivatives: Variable opcional que especifica derivación progresiva o central para la estimación de la función objetivo en el espacio solución restringido por las ecuaciones de restricción. Si la variable Derivatives toma el valor 1, el tipo de derivación será progresiva, si toma el valor 2 el tipo de derivación será central. La derivación central requiere de un numero mayor de cálculos, sin embargo se recomienda su uso en modelos que tienen problemas de convergencia. El valor por defecto es 1 (derivación progresiva). Search: variable opcional que especifica el algoritmo de convergencia que se utilizara en cada iteración para decidir en que dirección se encuentra la solución del modelo. Si la variable Search toma el valor 1 se utilizara el algoritmo de convergencia de Newton, Si la variable Search toma el valor 2 se utilizara el algoritmo de convergencia del Gradiente Conjugado. El algoritmo de convergencia de Newton es el método de convergencia por defecto. Este algoritmo de convergencia requiere más memoria que el método del Gradiente Conjugado, sin embargo este ultimo algoritmo requiere de un menor número de iteraciones. IntTolerance: Variable opcional que puede tomar valores entre 0 (cero) y 1, y especifica el grado de tolerancia entera. Este argumento es aplicable solo si se han definido restricciones enteras. Un alto grado de tolerancia puede aumentar el tiempo de convergencia del modelo. Scaling: Variable opcional, si dos o más restricciones tienen grandes diferencias en sus órdenes de magnitud, el valor True permite que Solver escale las restricciones a órdenes de magnitud similares, durante la resolución del problema. Por ejemplo si se desea maximizar el porcentaje de ganancias, basadas en millones de pesos de inversión, en este caso Scaling debe asumir el valor False, con el fin de que Solver no escale las restricciones. El valor por defecto de esta variable es False. Convergence : Variable opcional que puede tomar valores entre 0 (cero) y 1, y especifica el convergencia para modelos no lineales. Cuando el cambio relativo de la función objetivo es menor que la convergencia para las ultimas 5 iteraciones, Solver se detiene informando que se ha encontrado una solución y se han satisfecho todas las restricciones. AssumeNonNeg: Variable opcional que asume el valor True cuando Solver asume como limite inferior el 0 (cero) para todas las celdas cambiantes a excepción de las celdas que tengan alguna restricción al respecto. Cuando esta variable asume el valor False, Solver se restringe la búsqueda dentro de los límites especificados en las restricciones. Luis Marín Escalona Librería Solver (Frontline Systems) 19

Función SolverReset Descripción Elimina las referencias a todas las celdas y restricciones impuestas por el cuadro de dialogo de Solver, además restaura la configuración por. La función SolverReset es llamada en forma automática cuando se utiliza la función SolverLoad. Sintaxis SolverReset( ) Luis Marín Escalona Librería Solver (Frontline Systems) 20

Función SolverSave Descripción Guarda la configuración de un modelo, planteado en una determinada hoja de trabajo. Sintaxis SolverSave(SaveArea) SaveArea: Requiere como variable una referencia a una hoja activa y un rango de celdas en la cual se desee cargar un modelo específico. SavedArea puede ser una hoja de trabajo o cualquier hoja, pero se debe especificar su nombre si la hoja no esta activa. Por ejemplo: SolverSave("Hoja2!A1:A3") Guarda el modelo plantado en la Hoja2 en la eventualidad de que la Hoja2 no este activa. Luis Marín Escalona Librería Solver (Frontline Systems) 21

Función SolverSolve Descripción Ejecuta la resolución de un modelo, es equivalente a hacer clic en la opción Resolver del menú de herramientas de Solver Sintaxis SolverSolve(UserFinish, ShowRef) UserFinish: Variable opcional que puede asumir el valor True para que Solver no muestre el cuadro de dialogo indicando la que se ha encontrado una solución. El valor por defecto de esta variable es False. ShowRef: Variable opcional que en el caso de asumir True traspasa a la variable StepThru todos las opciones del modelo. El argumento ShowRef entrega el código de una macro en formato de texto que puede servir como intermediaria para la resolución del modelo. Luis Marín Escalona Librería Solver (Frontline Systems) 22

Ejemplos 1. Encuentre una solución a la siguiente ecuación: Solución x x = 145 1) Asigne los siguientes nombres a las celdas que Ud. estime conveniente: Funcion_Objetivo x_ 2) En la celda con nombre Funcion_Objetivo ingrese la formula correspondiente al lado izquierdo de la ecuación, tal como se muestra a continuación: =x_^x_ 3) En la celda con nombre x_ escriba un valor de partida, por ejemplo 1. Evite partir con valores Triviales. 4) Abra el Editor de Visual Basic e inserte un modulo. 5) Haga referencia a la librería Solver.xls 6) Copie el siguiente código en el modulo activo: Sub Ejemplo_1() SolverReset SolverOk SetCell:="Funcion_Objetivo", MaxMinVal:=3, ValueOf:="145", ByChange:="x_" SolverSolve UserFinish:=True End Sub 7) Vuelva a la hoja de trabajo de Microsoft Excel y ejecute la macro Ejemplo_1. La solución de esta ecuación es x_ = 3.75867417536912 Luis Marín Escalona Librería Solver (Frontline Systems) 23

2. Se plantea el siguiente problema de programación lineal. Función Objetivo Minimizar z =300* x1 + 500*x2 Sujeto a las siguientes restricciones: x1 <= 4 (Restricción 1) 2*x2 <= 12 (Restricción 2) 3*x1 +2* x2 <= 18 (Restricción 3) x1, x2 >= 0 (Restricción 4) Solución 1) Asigne los siguientes nombres a las celdas que Ud. estime conveniente: Funcion_Objetivo x_1 x_2 R_2 R_3 2) En la celda con nombre Funcion_Objetivo ingrese la formula correspondiente a la función objetivo tal como se muestra a continuación: = 300* x1 + 500*x2 3) En la celda con nombre x_1, x_2 y R_2, R_3, escriba un valor de partida para cada variable y la formula correspondiente al la restricción 2 y 3, respectivamente. 4) Abra el Editor de Visual Basic e inserte un modulo. 5) Haga referencia a la librería Solver.xls 6) Copie el siguiente código en el modulo activo: Luis Marín Escalona Librería Solver (Frontline Systems) 24

Sub Ejemplo_2() SolverReset SolverOk SetCell:="Funcion_Objetivo", MaxMinVal:=1, ValueOf:="0", ByChange:="x_1,x_2" SolverOptions MaxTime:=100, Iterations:=100, Precision:=0.000001, AssumeLinear _ :=False, StepThru:=False, Estimates:=1, Derivatives:=1, SearchOption:=1, _ IntTolerance:=5, Scaling:=False, Convergence:=0.000001, AssumeNonNeg:=True SolverAdd CellRef:="x_1", Relation:=1, FormulaText:="4" SolverAdd CellRef:="R_2", Relation:=1, FormulaText:="12" SolverAdd CellRef:="R_3", Relation:=1, FormulaText:="18" SolverSolve UserFinish:=True End Sub 7) Vuelva a la hoja de trabajo de Microsoft Excel y ejecute la macro Ejemplo_2. La solución de problema de programación lineal es x_1 = 2, x_2 = 6, Funcion_Objetivo = 3600 Observe que la variable AssumeNonNeg que forma parte de las opciones de Solver, toma el valor True, variable que restringe el espacio solución a valores positivos, lo que permite cumplir con la ultima restricción. Luis Marín Escalona Librería Solver (Frontline Systems) 25

Ejercicios Propuestos 1. La tabla de datos que se muestra a continuación contiene datos obtenidos durante una prueba experimental. x y = f(x) 3,4 0,43894097 3,75 0,44244849 4,1 0,44484355 4,45 0,44647899 4,8 0,44759573 5,15 0,44835827 5,5 0,44887897 5,85 0,44923452 6,2 0,4494773 6,55 0,44964308 6,9 0,44975628 7,25 0,44983358 9,45 0,44998487 7,95 0,44992241 8,3 0,44994702 8,65 0,44996382 9 0,4499753 9,35 0,44998313 9,7 0,44998848 10,05 0,44999213 10,4 0,44999463 10,75 0,44999633 11,1 0,4499975 11,45 0,44999829 11,8 0,44999883 12,15 0,4499992 12,5 0,44999946 12,85 0,44999963 Se ha encontrado que los datos se ajustan a una función del tipo: f( x ) = a ( 1 e ( b x ) ) Determine los parámetros a y b que permiten correlacionar los datos experimentales a esta función. Luis Marín Escalona Librería Solver (Frontline Systems) 26

2. La tabla de datos que se muestra a continuación contiene datos obtenidos durante una prueba experimental. x f(x) 0,43 1,50065076 0,47 1,54620502 0,51 1,58937453 0,55 1,63046026 0,59 1,66970633 0,63 1,70731383 0,67 1,74345062 0,71 1,77825847 0,75 1,81185832 0,79 1,84435431 0,83 1,8758368 0,87 1,9063848 0,91 1,93606783 0,95 1,96494744 0,99 1,99307839 1,03 2,02050965 1,07 2,04728525 Se ha encontrado que los datos se ajustan a una función del tipo: f( x ) = + x a x b Determine los parámetros a y b que permiten correlacionar los datos experimentales a esta función. Luis Marín Escalona Librería Solver (Frontline Systems) 27

3. Resuelva el siguiente sistema de ecuaciones no lineales. 2 cos( φ 2 ) + 3 cos( φ 3 ) + 4 = 0 2 sin( φ 2 ) + 3 sin( φ 3 ) = 0 4. A partir del siguiente circuito de flotación, desarrolle el balance de flujos y finos considerando un factor de peso para cada dato experimental. Datos experimentales Luis Marín Escalona Librería Solver (Frontline Systems) 28