Select the product you need help with
Cómo crear macros de Visual Basic mediante el uso de Solver de Excel en Excel 97Id. de artículo: 843304 - Ver los productos a los que se aplica este artículo En esta páginaResumenEste artículo describe cómo utilizar Microsoft Excel Solver en Microsoft Excel 97 para crear macros de Microsoft Visual Basic. Microsoft Excel Solver es un complemento de Microsoft Excel. Además, en este artículo contiene información acerca de cómo crear macros, el diseño de una macro y cómo trabajar con las restricciones de una macro. En este artículo también se explica el algoritmo y métodos que son utilizados por Microsoft Excel Solver. La lista siguiente puede ver todos los temas tratados en el artículo.
INTRODUCCIÓNEn este artículo contiene información acerca de Microsoft Excel
Solver. Más informaciónDescripción de Microsoft Excel SolverMicrosoft Excel Solver es un complemento Microsoft Excel Solver ayuda a Microsoft Excel determinar el valor óptimo para una fórmula en un determinado celda de destino de una hoja de cálculo de Microsoft Excel. Microsoft Excel Solver ajusta los valores de otros celdas que están relacionados con la celda objetivo mediante el uso de una ecuación. Después de crear una ecuación y definir un conjunto de parámetros o las restricciones de la las variables en la ecuación, Microsoft Excel Solver trata diversas soluciones para llegar a un respuesta que satisfaga todas las restricciones. Microsoft Excel Solver utiliza los siguientes elementos para "resolver" una ecuación:
http://download.Microsoft.com/download/excel97win/solverex/1.0/WIN98Me/en-us/SolverEx.exe Nota También puede utilizar las macros y los ejemplos que se describen en este
artículo en las versiones de Microsoft Excel 5.0 y 7.0.
(http://download.microsoft.com/download/excel97win/solverex/1.0/WIN98Me/EN-US/SolverEx.exe)
Cómo utilizar las funciones de Microsoft Excel Solver en una macro de VBAPara utilizar las funciones de complementos de Microsoft Excel Solver en una macro de VBA, debe hacer referencia el complemento desde el proyecto VBA del libro que contiene las macros. Si no se hace referencia el complemento de Microsoft Excel Solver, aparecerá la siguiente error de compilación al intentar ejecutar la macro:Error de compilación: Sub o Function no definida.
El diseño de una macro VBA que se crea y se resuelve un modelo de Microsoft Excel Solver simpleAunque Microsoft Excel Solver ofrece muchas funciones, las siguientes las funciones son fundamentales para crear y para la resolución de un modelo:
La función SolverOKLa función SolverOK define un modelo básico de Microsoft Excel Solver. Suele ser la función SolverOK la primera función que va a utilizar para generar el modelo de Solver de Excel de Microsoft. La función SolverOK es equivalente a hacer clic en Solver En la página Herramientas demenú y, a continuación, especificar las opciones que se encuentran en la Parámetros de Solvercuadro de diálogo. Ésta es la sintaxis de la función SolverOK :SolverOK (argumentos SetCell, MaxMinVal, ValueOf, ByChange) La siguiente información describe la sintaxis de la función SolverOK :
Figura 1. Parámetros que están asociados con la SolverOK argumentos Contraer esta imagen ![]() La función SolverSolveLa función SolverSolve a resolver el modelo con los parámetros que especifican con la función SolverOK . Ejecución de la función SolverSolve equivale a hacer clic en Resolver en el Parámetros de Solver cuadro de diálogo. Ésta es la sintaxis de la función SolverSolve :SolverSolve (UserFinish, ShowRef) La siguiente información describe la sintaxis de la función SolverSolve :
La función SolverFinishLa función SolverFinish indica qué se debe hacer con los resultados y ¿qué tipo de informe debe crear al finalizar el proceso de solución. Ésta es la sintaxis de la función SolverFinish :SolverFinish (KeepFinal, ReportArray) La siguiente información describe la sintaxis de la función SolverFinish :
Contraer esta imagen ![]() Este artículo describe cómo crear un sencillo modelo de Solver de Excel de Microsoft de forma interactiva. El primer paso consiste en crear la hoja de cálculo para el modelo. La hoja de cálculo contiene algunas celdas de datos y al menos una celda que contenga una fórmula. Esta fórmula depende de la otra celdas de la hoja de cálculo. Después de configurar la hoja de cálculo, haga clic en Solver En la página Herramientas de menú. En elParámetros de Solver cuadro de diálogo, especifique la celda objetivo, el valor que que va a resolver para el rango de celdas que van a cambiar, y el restricciones. Haga clic en Resolver & nbsppara iniciar el proceso de solución. Después de que Microsoft Excel Solver ha encontrado una solución, los resultados aparecen en la hoja de cálculo y Microsoft Excel Solver muestra un cuadro de mensaje que pregunta si desea conservar los resultados finales o Si desea descartarlos. Cuando hace clic en una de estas opciones, Microsoft Excel Solver finalice. Figura 3 se muestra un modelo simple que puede crear mediante el uso de estos pasos. Figura 3. Un modelo simple: modelo de la raíz cuadrada Contraer esta imagen ![]() En este ejemplo, cambio de celda A1, que contiene la fórmula, = A1 ^ 2 en un valor que hará que la celda A2 igual que un valor de 50. En otras palabras, buscar la raíz cuadrada de 50. No hay ninguna restricción en el modelo de raíz cuadrada. La macro Find_Square_Root lleva a cabo las siguientes tareas:
El código siguiente describe la macro Find_Square_Root2 : Cómo generar informes para solucionesMicrosoft Excel Solver ofrece varios tipos de informes que describen cómo la Puede cambiados los resultados y las restricciones de proximidad llegaron a sus valores críticos. Cada informe se coloca en una hoja de cálculo en el libro. Después de son los tipos de informes que ofrece el Solver de Excel de Microsoft:
Cómo utilizar las funciones de Microsoft ExcelSolver en una macro de bucleEn muchas situaciones, es una buena idea de que Solver de Excel de Microsoft resolver el celda de destino para varios valores. Por lo general puede lograr esto mediante el uso de uno de las estructuras de bucle que están disponibles con VBA.La macro Create_Square_Root_Table muestra cómo Microsoft Excel Solver funciona en una macro de bucle. Create_Square_Root_Table macro crea una tabla en una hoja de cálculo nueva. Inserta los números de uno a través de diez veces mayor y la raíz cuadrada correspondiente de cada número. La macro Create_Square_Root_Table crea la tabla utilizando un bucle For para recorrer en iteración los números de 1 a 10 y que satisface la celda de destino en el modelo de raíz cuadrada de un valor que coincide con el número de la iteración. El código siguiente describe la macro Create_Square_Root_Table : Figura 4. Resultados generados por la macro Create_Square_Root_Table Contraer esta imagen ![]() Cómo trabajar con restriccionesUna restricción es una restricción en el contenido de uno o más celdas. Un modelo puede tener una o varias restricciones. El conjunto de restricciones es un conjunto de las desigualdades o un conjunto de igualdades que quitar ciertas combinaciones de valores para las variables de decisión de la solución. Por ejemplo, una restricción puede requieren que una celda ser mayor que cero y esa otra celda contienen sólo un valor entero.El modelo de raíz cuadrada que hemos analizado hasta ahora es un modelo simple que no contiene todas las restricciones. La figura 5 muestra modelo que utiliza las restricciones. El propósito de este modelo es encontrar la óptima combinación de productos para el máximo beneficio. Figura 5. Mezcla de productos con reducir el margen de beneficio Contraer esta imagen ![]() Por ejemplo, si una empresa fabrica los televisores, equipos de sonido, altavoces y se utiliza un inventario de piezas comunes de fuentes de alimentación, conos de altavoz y así sucesivamente. Las partes son en disponibilidad limitada. Su objetivo es determinar la combinación más rentable de productos para generar. El beneficio por unidad disminuye con el volumen como incentivos de precios adicionales son necesarios para cargar el canal de distribución. El exponente de rentabilidad es 0,9. Este exponente es se utiliza para calcular las ganancias por producto en el intervalo G11:I11. Su objetivo es encontrar el máximo beneficio (celda G14). Los valores que usted podrá cambiar para buscar el máximo beneficio son el número de unidades que se generan. El gama G9:G11 representa las celdas cambiantes en este modelo. La única restricción es que el número de componentes utilizados no puede superar el número de artículos que se tiene en la mano. Con Microsoft Excel Solver, esta restricción aparece como E3:E7<=B3:B7. if="" you="" were="" to="" build="" this="" microsoft="" excel="" solver="" model="" interactively,="" the="" microsoft="" excel="" solver="" parameters="" would="" look="" similar="" to="" those="" that="" are="" in="" figure="" 6.=""></=B3:B7.> Figura 6. Parámetros de Solver de Excel de Microsoft para la mezcla de productos con el modelo de reducir el margen de beneficio Contraer esta imagen ![]() Para crear y resolver la mezcla del producto con el modelo de reducir el margen de beneficio, va a utilizar un nueva función, la función SolverAdd , además de las funciones de Microsoft Excel Solver VBA que estaban se ha descrito anteriormente. La función SolverAdd agrega la restricción para el modelo. Ejecutar la función SolverAdd es equivalente a hacer clic en el Agregar botón en la Parámetros de Solver cuadro de diálogo. El Función SolverAdd tiene la siguiente sintaxis: SolverAdd (referenciaDeCelda, relación, FormulaText) La siguiente información describe la sintaxis de la función SolverAdd :
Nota En Microsoft Excel, versiones 5.0 y 7.0, utilice la notación F1C1 ¡ al especificar una celda o un rango de celdas con el argumento FormulaText . Por el contrario, en Microsoft Excel 97, utilice el estilo de A1 notación para especificar el argumento FormulaText . Figura 7. Los campos que están asociados con la Argumentos de SolverAdd Contraer esta imagen ![]() La macro Maximum_Profit que genera un modelo para la mezcla de productos con traduce Modelo de devoluciones. Esta macro ejecuta las siguientes funciones o argumentos:
Cuando ejecuta la macro Maximum_Profit , Microsoft Excel Solver encontrará una solución de la creación de aparatos de TV de 160, 200 equipos de sonido y 80 altavoces por una ganancia máxima de 14,917 dólares. Cómo cambiar y eliminar restriccionesLas restricciones en el modelo se pueden cambiar mediante programación o puede eliminar. Las restricciones se identifican por sus argumentos CellRef y Relation .Para cambiar mediante programación una existente restricción, utilice la función SolverChange . Ésta es la sintaxis para SolverChange función: SolverChange (referenciaDeCelda, relación, FormulaText) Tenga en cuenta que los argumentos de la función SolverChange
corresponde a las que se utiliza con la función SolverAdd .Si desea Para cambiar la restricción en la mezcla del producto con el modelo de rentabilidad, podría utilizar la función SolverChange . Por ejemplo, actualmente la restricción que se especifica es que el número de los artículos utilizados sea menor o igual a la número de los elementos de mano (E3:E7<= b3:b7).="" if="" you="" want="" to="" change="" this="" constraint="" so="" that="" the="" number="" of="" parts="" used="" is="" less="" than="" or="" equal="" to="" the="" number="" of="" parts="" projected="" (number="" of="" parts="" on="" hand="" plus="" number="" of="" parts="" ordered).="" this="" new="" constraint="" would="" look="" like="" e3:e7=""></=><= d3:d7.="" the="" following="" macro="" would="" change="" the="" existing="" constraint=""></=><=B3:B7 to="" e3:e7=""></=B3:B7><= d3:d7="" and="" solve="" for="" a="" solution.=""></=> El código siguiente describe la macro Change_Constraint_and_Solve : SolverDelete (referenciaDeCelda, relación, FormulaText) Tenga en cuenta que los argumentos de la función SolverDelete los mismos para las que se utiliza con las funciones SolverChange y SolverAdd . La siguiente macro muestra cómo eliminar y agregar una restricción. En este ejemplo, la macro Change_Constraint_and_Solve2 quita la restricción E3:E7<=B3:B7 from="" the="" product="" mix="" with="" diminishing="" returns="" model="" and="" adds="" a="" new="" constraint.="" the="" new="" constraint="" is="" just="" a="" modification="" of="" the="" original="" constraint,="" where="" the="" left="" and="" right="" sides="" of="" the="" constraint="" are="" reversed.=""></=B3:B7> El código siguiente describe la macro Change_Constraint_and_Solve2 : Cómo cargar y guardar los modelosCuando guarde el libro, los últimos parámetros que se especificado en el Parámetros de Solver cuadro de diálogo se guardan con el libro. Por lo tanto, cuando se abre el libro, los parámetros son el igual que cuando guardó por última vez el libro.Puede definir más de un problema en una hoja de cálculo. Cada problema se compone de celdas y las restricciones que escribió en el Parámetros de Solver y la Opciones de Solver cuadros de diálogo. Debido a que se guarda el último problema con la hoja de cálculo, se perderán todos los demás problemas a menos que se guarda explícitamente ellos. Para guardarlos, haga clic en Guardar modelo en el Solver Opciones de cuadro de diálogo. Del mismo modo, al que desea restaurar la previamente los parámetros guardados, haga clic en Modelo de carga en el Solver Opciones de cuadro de diálogo. Modelos de Solver se almacenan en un intervalo de celdas de una hoja de cálculo. La primera celda del rango contiene la fórmula para el celda de destino. La segunda celda del rango contiene la fórmula que identifica las celdas cambiantes en el modelo. La última celda del rango contiene una matriz que representa las opciones establecidas en el Opciones de Solver cuadro de diálogo cuadro de. Las celdas entre la segunda celda y la última celda contienen las fórmulas que representan las restricciones en el modelo. La figura 8 muestra una modelo de programación de empleados. Suponga que trabaja para una pequeña fabricante. La tabla siguiente muestra por hora tasa de cada empleado de pago, el número de horas que están programados y un número previsto de unidades de cada empleado puede producir en una hora. Su objetivo es satisfacer una cuota específica para el número de las unidades produjeron y minimizar los costos de mano de obra. Figura 8. Empleado Modo de programación l Contraer esta imagen ![]() Dos factores adicionales (o las restricciones) que es necesario Tenga en cuenta son el número mínimo/máximo de horas cualquier un empleado puede trabajar y el número de unidades que se desea generar. Si para una semana especificada, es necesario para generar 3975 unidades y desea que cada empleado para trabajar entre 30 y 45 las horas, los parámetros de Solver de Excel de Microsoft tendría un aspecto similares a los contemplados en el siguiente tabla: Contraer esta tabla
Los objetivos son a la solución en costos de trabajo óptimo en un cada semana, para guardar cada modelo semanalmente y ser capaz de cargar cualquier semanal modelo cuando lo necesite. En una macro, los parámetros de Solver de Excel de Microsoft para un modelo puede guardarse y cargarse mediante el uso de SolverSave y las funciones de SolverLoad usuarios, respectivamente. SolverSave y las funciones de SolverLoad tienen lo siguiente sintaxis: SolverSave (SaveArea) SolverLoad (LoadArea) SolverSave y las funciones de SolverLoad tienen solo un argumento, SaveArea y los argumentos de LoadArea respectivamente. Los siguientes argumentos especifican un rango en una hoja de cálculo donde se almacena la información del modelo. La siguiente macro de New_Employee_Schedule , se muestra cómo crear, resolver y guardar un modelo de base acción del usuario. Se pregunta al usuario para proporcionar la fecha del modelo, el número de las unidades para producir y el número mínimo y máximo de horas por empleado. Estos datos, a continuación, se utiliza para crear el modelo. Se ha resuelto el modelo y, a continuación, guarda con la acción del usuario. El código siguiente describe la macro New_Employee_Schedule : Figura 9 se ilustra cómo guardar modelo la información aparece en la hoja de cálculo. Figura 9. Información sobre el modelo que se guarda en la macro New_Employee_Schedule Contraer esta imagen ![]() La macro New_Employee_Schedule guarda cada nuevo modelo en la hoja de cálculo. La macro Load_Employee_Schedule puede cargar uno de estos modelos guardados. La macro solicita el usuario para que el modelo de carga y, a continuación, en columna de búsquedas I para el fecha de modelo. If se encuentra el fecha de modelo, la macro Load_Employee_Schedule carga el modelo correspondiente, lo resuelve, y, a continuación, mantiene los resultados finales. El código siguiente describe la macro New_Employee_Schedule: Cómo encontrar más información acerca de Microsoft Excel SolverLos siguientes recursos proporcionan información acerca de cómo utilizar Microsoft Excel Solver Add-in.
Cómo obtener más información sobre el algoritmo y métodos que utilizan Solver de Excel de MicrosoftMicrosoft Excel Solver utiliza el Código de optimización no lineal (GRG2) desarrollado por Leon Lasdon, University of Texas en Austin y Allan Waren, Cleveland State University.Para obtener información adicional sobre el algoritmo utilizado por Microsoft Excel Solver, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base: 82890
(http://support.microsoft.com/kb/82890/
)
Usos de Solver generalizado reducidaLos problemas lineales y enteros utilizan el método más simple con los límites indicados en las variables y el método de ramificación y límite, implementada por John Watson y Dan Fylstra de Frontline Systems, Inc. Para obtener más información acerca de el proceso de solución interno que utiliza Solver, contacto: Frontline Systems, Inc. P.O. Box 4288 Incline Village, NV 89450-4288 (702) 831-0300 Web site: http://www.frontsys.com Electronic mail: info@frontsys.com Selecciones de Microsoft Excel Solver código de programa son copyright 1990, 1991, 1992 y 1995 de Frontline Systems, Inc. partes tienen copyright en 1989 de Optimal Methods, Inc. Nota El Microsoft Excel Solver add-in que se describe en este artículo se proporciona "tal cual" y no lo hacemos garantiza que se puede usar en todas las situaciones. Aunque son compatibles con Microsoft Pueden ayudar los profesionales de TI con la instalación y la funcionalidad de este Add-in, no modificarán el add-in para ofrecer otra funcionalidad. Se ofrece ninguna garantía. El software se proporciona "como-es," sin garantía de ningún tipo, y cualquier uso de este producto de software queda bajo su responsabilidad. PropiedadesId. de artículo: 843304 - Última revisión: jueves, 31 de enero de 2013 - Versión: 3.0
Traducción automática IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente. Haga clic aquí para ver el artículo original (en inglés): 843304
(http://support.microsoft.com/kb/843304/en-us/
)
|














Volver al principio








