Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| lp_solve_ide [2012/01/19 22:07] – mmarquez | lp_solve_ide [2023/09/20 21:56] (actual) – [Tipos de solución] mmarquez | ||
|---|---|---|---|
| Línea 2: | Línea 2: | ||
| ===== Introducción ===== | ===== Introducción ===== | ||
| - | LPSolve IDE es un entorno integrado de desarrollo (Integrated Development Interface) muy amigable para Windows. Todas las funcionalidades de lpsolve | + | LPSolve IDE es un entorno integrado de desarrollo (Integrated Development Interface) muy amigable para Windows. Todas las funcionalidades de lpsolve |
| Muchas gracias a Henri Gourvest por el desarrollo de este entorno para lpsolve y por ponerlo a disposición de la comunidad. | Muchas gracias a Henri Gourvest por el desarrollo de este entorno para lpsolve y por ponerlo a disposición de la comunidad. | ||
| - | La página principal de LPSolve IDE es [[http://frcatel.fri.uniza.sk/lp_solve/IDE.htm]]. ([[http:// | + | La página principal de LPSolve IDE es [[http://lpsolve.sourceforge.net/5.5/IDE.htm]]. ([[https:// |
| Algunas prestaciones del entorno son: | Algunas prestaciones del entorno son: | ||
| Línea 27: | Línea 27: | ||
| Para más información se puede consultar el [[http:// | Para más información se puede consultar el [[http:// | ||
| + | |||
| + | ===== Instalación ===== | ||
| + | |||
| + | ==== Instalación bajo Microsoft Windows ==== | ||
| + | |||
| + | Para la instalación de lp_solve_ide bajo Microsoft Windows se descarga el programa de instalación desde [[https:// | ||
| + | |||
| + | Se pide que se acepte la licencia de usuario final del programa, una licencia libre, más concretamente es la licencia [[http:// | ||
| + | |||
| + | Si la instalación se ha realizado correctamente y no se ha desmarcado la última opción se iniciará automáticamente la aplicación lp_solve_ide. Obteniéndose una ventana similar a la que se muestra. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ==== Instalación bajo linux o MacOS ==== | ||
| + | |||
| + | La aplicación lp_solve_ide es una aplicación nativa de Microsoft Windows pero la experiencia muestra que funciona correctamente en entornos linux o MacOS usando el emulador [[https:// | ||
| + | |||
| + | En este caso los pasos a seguir son: | ||
| + | |||
| + | - Descargar e instalar el emulador wine | ||
| + | - Descargar el instalador de lp_solve_ide como se mostró anteriormente | ||
| + | - Ejecutar el instalador usando wine | ||
| ===== Comenzando con lp_solve_ide ===== | ===== Comenzando con lp_solve_ide ===== | ||
| Línea 42: | Línea 64: | ||
| ==== Ejemplo inicial ==== | ==== Ejemplo inicial ==== | ||
| - | === Formato lp_solve === | + | === Formato |
| - | Tras iniciar el programa introduce el código siguiente en la ventana: | + | Tras iniciar el programa introduce el código siguiente en la pestaña '' |
| max:2 x+y; | max:2 x+y; | ||
| - | 5 x + 2 y<10; | + | 5 x + 2 y<9; |
| - | 3 x + 5 y<15; | + | 3 x + 5 y<13; |
| y pulsa sobre el icono con forma de triángulo verde, pulsa la tecla F9 o selecciona en el menú las opciones '' | y pulsa sobre el icono con forma de triángulo verde, pulsa la tecla F9 o selecciona en el menú las opciones '' | ||
| - | Para visualizar la solución pulsa sobre la pestaña '' | + | Para visualizar la solución pulsa sobre la pestaña '' |
| + | Variables | ||
| + | 4 | ||
| + | | ||
| + | | ||
| + | |||
| Pulsa sobre la pestaña '' | Pulsa sobre la pestaña '' | ||
| + | |||
| + | **Observación**: | ||
| + | Para ampliar las columnas desplace la barra vertical que separa las columnas en la cabecera de la tabla. | ||
| En los modelos lp_solve se asume que todas las variables son no negativas. | En los modelos lp_solve se asume que todas las variables son no negativas. | ||
| Línea 62: | Línea 91: | ||
| * '' | * '' | ||
| - | En el ejemplo anterior para la función objetivo de minimizar añade, al final del problema y comenzando en la primera columna, | + | En el ejemplo anterior para la función objetivo de minimizar añade las instrucciones: |
| + | Ten en cuenta que las instrucciones '' | ||
| ¿Qué tipo de solución se obtiene? | ¿Qué tipo de solución se obtiene? | ||
| - | También es posible especificar el rango de variación de una variable. Por ejemplo, para una variable no negativa: '' | + | También es posible especificar el rango de variación de una variable. Por ejemplo, para una variable no positiva: '' |
| + | |||
| + | Para especificar que una variable debe tomar valores enteros se utiliza la instrucción '' | ||
| + | |||
| + | De forma similar la instrucción '' | ||
| + | |||
| + | Las restricciones sobre el rango de las variables deben incluirse al final de la formulación del problema. | ||
| + | |||
| + | === Tipos de problemas === | ||
| + | Tras indicarle a LPSolveIDE que resuelva el problema, en la pestaña '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| === Formato MathProg === | === Formato MathProg === | ||
| Línea 79: | Línea 122: | ||
| /* Constraints */ | /* Constraints */ | ||
| - | R1: +5*x +2*y <= 10; | + | R1: +5*x +2*y <= 9; |
| - | R2: +3*x +5*y <= 15; | + | R2: +3*x +5*y <= 13; |
| y se procede como en el caso anterior. | y se procede como en el caso anterior. | ||
| Línea 88: | Línea 131: | ||
| var x <= 0; | var x <= 0; | ||
| - | ==== Tipos de solución ==== | ||
| - | |||
| - | Al terminar el procedimiento podemos obtener uno de los siguientes mensajes: | ||
| - | * " | ||
| - | * "The model is UNBOUNDED": | ||
| - | * "The model is INFEASIBLE": | ||
| ===== Análisis de sensibilidad ===== | ===== Análisis de sensibilidad ===== | ||
| Línea 154: | Línea 191: | ||
| **Ejemplo**: | **Ejemplo**: | ||
| - | La página | + | Las páginas [[http:// |
| - | === Damas en un tablero de ajedrez === | + | ==== Damas en un tablero de ajedrez |
| El problema de colocar 8 (en general n) damas en un tablero de ajedrez (de n x n). | El problema de colocar 8 (en general n) damas en un tablero de ajedrez (de n x n). | ||
| Línea 162: | Línea 199: | ||
| **Ejemplo**: | **Ejemplo**: | ||
| - | === Cuadrado mágico === | + | ==== Cuadrado mágico |
| El problema de completar un cuadrado con n^2 de forma que no se repitan y que todas las filas, las columnas y las diagonales principales sumen lo mismo también puede formularse como un problema de programación lineal. | El problema de completar un cuadrado con n^2 de forma que no se repitan y que todas las filas, las columnas y las diagonales principales sumen lo mismo también puede formularse como un problema de programación lineal. | ||