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 13:22]
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 159: Línea 167:
   * Modificar la formulación para que se pregunte interactivamente el nodo de origen y el de destino.   * Modificar la formulación para que se pregunte interactivamente el nodo de origen y el de destino.
  
-Solución: {lingo:camino_minimo_1.lng}}+Solución: {{lingo:camino_minimo_1.lng}}
  
   * Modificar la formulación planteando el problema como un problema de asignación.   * Modificar la formulación planteando el problema como un problema de asignación.
  
-Solución: camino_minimo_2.lng+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.   * Modificar la formulación para calcular las longitudes de todos los caminos mínimos entre todos los pares de nodos.
  
-Solución: camino_minimo_3.lng+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}}
  
  
Línea 179: 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)