Estos apuntes son libres y los puedes editar.

Algunas secciones están en inglés puedes colaborar traduciendo algunos párrafos.

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
lingo [2008/10/22 12:59]
mmarquez
lingo [2008/10/29 11:23] (actual)
mmarquez
Línea 93: Línea 93:
  
 Si w fuese una variable con dos índices los valores a asignar se especifican de forma consecutiva fila tras fila. Si w fuese una variable con dos índices los valores a asignar se especifican de forma consecutiva fila tras fila.
 +
 +El bloque data permite que los valores de los parámetros sean especificados de forma interactiva, sustituyendo los valores por el símbolo ?. Un ejemplo de uso es {{lingo:max_flu.lng}} donde los valores ''fuente'' y ''sumidero'' se introducen de forma interactiva.
  
 === Bloque INI === === Bloque INI ===
Línea 101: Línea 103:
  
 === Ficheros de texto === === Ficheros de texto ===
 +
 +En el fichero del modelo se puede insertar porciones texto de un fichero externo. El uso habitual de esto es la separar la formulación y los datos en dos ficheros distintos.
 +
 +Un ejemplo de uso es {{lingo:max_flu_mul.lng}} que importa los datos de {{lingo:max_flu_mul.dat}}.
  
 ===  Hoja de cálculo === ===  Hoja de cálculo ===
Línea 110: Línea 116:
    * ''nombre_fichero'' es el nombre del fichero del que se importan los datos.    * ''nombre_fichero'' es el nombre del fichero del que se importan los datos.
    * ''nombre_rango'' es el nombre del rango de los datos que debe importarse, dicho nombre ha de ser previamente definido en el fichero. Para definir nombre_rango en la hoja de cálculo se seleccionan sucesivamente las opciones Insertar->Nombre->Definir y se introduce el nombre y se seleccionan las casillas correspondientes.     * ''nombre_rango'' es el nombre del rango de los datos que debe importarse, dicho nombre ha de ser previamente definido en el fichero. Para definir nombre_rango en la hoja de cálculo se seleccionan sucesivamente las opciones Insertar->Nombre->Definir y se introduce el nombre y se seleccionan las casillas correspondientes. 
 +
 +Un ejemplo de este uso es {{lingo:minisum.ole.lng}} que importa los datos del fichero {{lingo:demanda.xls}}.
  
 ==== Exportación de resultados ==== ==== Exportación de resultados ====
Línea 129: Línea 137:
 Solución: {{lingo:minisum_ponderado.lng}} Solución: {{lingo:minisum_ponderado.lng}}
  
-Problema de localización minisum ponderado con datos externos del fichero demandas.xls+Problema de localización minisum ponderado con datos externos del fichero {{lingo:demandas.xls}}
  
 Solución: {{lingo:minisum.ole.lng}} Solución: {{lingo:minisum.ole.lng}}
Línea 138: Línea 146:
 Solución: {{lingo:minimax.lng}} Solución: {{lingo:minimax.lng}}
  
-Problema de localización minimax con datos externos del fichero demandas.xls+Problema de localización minimax con datos externos del fichero {{lingo:demandas.xls}}
  
 Solución: {{lingo:minimax.ole.lng}} Solución: {{lingo:minimax.ole.lng}}
 +
 +==== Caminos Mínimos en grafos ====
 +
 +Dada la matriz de distancias:
 +
 +|    |  4 |  6 |    |    |    |
 +|  3 |    |  2 | 12 |    |    |
 +|  5 |  3 |    |  4 |  9 |    |
 +|    | 10 |  4 |    |  5 |  1 |
 +|    |    |  8 |  4 |    |  2 |
 +|    |    |    |  1 |  3 |    |
 +
 +  * Formular y resolver el problema de encontrar el camino más corto que une los vértices 1 y 6.
 +
 +Solución: {{lingo:camino_minimo.lng}}
 +
 +  * Modificar la formulación para que se pregunte interactivamente el nodo de origen y el de destino.
 +
 +Solución: {{lingo:camino_minimo_1.lng}}
 +
 +  * Modificar la formulación planteando el problema como un problema de asignación.
 +
 +Solución: {{lingo:camino_minimo_2.lng}}
 +
 +  * Modificar la formulación para calcular las longitudes de todos los caminos mínimos entre todos los pares de nodos.
 +
 +Solución: {{lingo:camino_minimo_3.lng}}
 +
 +==== Problemas de flujo máximo ===
 +
 +El problema de máximo flujo en un grafo consiste en dadas unas restricciones de capacidad en cada uno de los arcos del grafo y dados un nodo origen, llamado //fuente// y uno destino, llamado //sumidero//. Encontrar el flujo que debe circular por cada arco para maximizar el flujo entrante en el sumidero.
 +
 +  * Formular el problema de flujo máximo para un grafo de forma que la fuente y el sumidero se especifiquen de forma interactiva.
 +
 +Solución: {{lingo:max_flu.lng}}
 +
 +   * Formular el problema de flujo máximo admitiendo que cada nodo tiene asignada una capacidad de generación y resolverlo usando los datos del fichero {{lingo:max_flu_mul.dat}}.
 +
 +Solución: {{lingo:max_flu_mul.lng}}
 +
  
 ===== Análisis de Sensibilidad ===== ===== Análisis de Sensibilidad =====
Línea 151: Línea 199:
    * En el desplegable ''Dual Computations'' se selecciona ''Prices & Range''    * En el desplegable ''Dual Computations'' se selecciona ''Prices & Range''
    * Pulsar el botón ''OK''    * Pulsar el botón ''OK''
 +
 +==== Análisis de Sensibilidad ====
 +
 +Para realizar un análisis de sensibilidad en LINGO se empieza resolviendo el problema y a continuación se selecciona la opción ''Range'' del menú ''LINGO''. La opción ''Range'' sólo está activa cuando la ventana del modelo está en primer plano y el problema se ha resuelto previamente.
 +
 +Ejemplo:
 +   max=-x1-2*x2-x3;
 +   2*x1+x2+2*x3>6;
 +   x1+3*x2+4*x3>10;
 +
 +Después de resolver y seleccionar la opción ''Range'' se obtiene:
 +
 +   Ranges in which the basis is unchanged:
 +   Objective Coefficient Ranges
 +    
 +       Current     Allowable Allowable
 +   Variable   Coefficient   Increase Decrease
 +   X1        -1.000000      0.7500000 0.0
 +   X2        -2.000000      1.500000    INFINITY
 +   X3        -1.000000      0.0         1.800000
 +   Righthand Side Ranges
 +   Row       Current        Allowable   Allowable
 +             RHS            Increase Decrease
 +           6.000000       14.00000 1.000000
 +           10.00000       2.000000 7.000000
 +
 +Lo que se interpreta como:
 +   0<=Dc1<=.75
 +  -1<=c1<=-.25
 +   Dc2<=1.5
 +   c2<=-0.5
 +   -1.8<=Dc3<=0
 +   -2.8<=c3<=-1
 +   -1<=Db1<=14
 +   5<=b1<=20
 +   -7<=Db2<=2
 +   3<=b2<=12
  
 ===== Bibliografía ===== ===== Bibliografía =====

QR Code
QR Code lingo (generated for current page)