Qu es LINGO?
LINGO es una herramienta simple que permite utilizar el poder de la optimizacin lineal y no lineal para formular grandes problemas concisamente, resolverlos, y analizar la solucin. La optimizacin ayuda a encontrar la respuesta que satisface el me or resultado. !recuentemente, estos problemas involucraban el uso mas eficiente de los recursos "dinero, tiempo, maquinaria, personal, etc.#. Los problemas de optimizacin se pueden clasificar en lineales o no lineales, dependiendo de cmo las relaciones entre las variables.
La ventana inicial de LINGO. Desarrollo de un modelo en LINGO. $upongamos que %ompu&uic' %orp. (roduce ) modelos de computadoras* $tandard y +urbo. %ompu&uic' puede vender cada unidad $tandard que produce a un precio de ,-.., y cada unidad +urbo por ,-/.. La f0brica puede producir a lo sumo -.. computadoras $tandard por d1a y -). computadoras +urbo. %ompu&uic' tiene una capacidad de traba o de -2. horas por d1a. Las computadoras $tandard requieren - hora de labor, mientras que las +urbo requieren ) horas. 3l problema de %ompu&uic' es determinar la mezcla de computadoras $tandard y +urbo a producir cada d1a para ma4imizar el total de las ventas sin e4ceder el l1mite de produccin y de traba o. 3n general un modelo de optimizacin consiste en los siguientes 5 1tems* -. !uncin ob etivo ). 6ariables 5. 7estricciones La sinta4is para escribir la funcin ob etivo en LINGO es* 89: ; -.. < $+9N=97= > -/. < +?7@OA
Nota* %ada l1nea en LINGO finaliza con un punto y coma. Los punto y coma son requeridos. 3l modelo no se resolver0 si falta algBn punto y coma. Las restricciones se introducen de la siguiente manera* $+9N=97= C; -..A +?7@O C;-).A $+9N=97= > ) < +?7@O C; -2.A Nota* =ado que la mayor parte de las computadoras no tienen una tecla de menor o igual "#, LINGO ha adoptado como convencin utilizar el s1mbolo C; para representar . %omo alternativa, se puede usar el s1mbolo C para e4presar menor o igual. Lo mismo se usa D; D para e4presar mayor o igual ").
?na e4presin puede abarcar mas de una l1nea, por e emplo* 89: ; -.. < $+9N=97= > -/. < +?7@OA $e pueden introducir comentarios, que ser0n ignorados por LINGO, comenzando con un signo de e4clamacin E y terminando con un punto y coma. Los comentarios tambiFn pueden ocupar varias l1neas. (or e emplo* :; -./ < G > H I ) < GA E 3sto es ?n comentarioA :; -./ < E 3sto es un comentario en el medio de una restriccinA G > H I ) < GA LINGO no distingue entre mayBsculas y minBsculas, por lo que es lo mismo $+9N=97= que standard y que $t9n=a7d.
Los nombres de las variables deben comenzar con un car0cter alfabFtico "9JH#, los siguientes caracteres pueden ser alfabFticos, numFricos o subrayado "K#. Los nombres pueden ser de hasta 5) caracteres de longitud. Resolucin del modelo. (ara ordenar a LINGO a que resuelva el problema, se debe seleccionar el comando Solve del menB LINGO, o presionar el botn Solve de la barra de herramientas. $i no hay errores en la formulacin del problema durante la etapa de compilacin, LINGO invocar0 al mdulo de resolucin adecuado para buscar la solucin ptima.
Ventana de estado. 3n esta ventana se puede monitorear el proceso de resolucin y las dimensiones del modelo. 3l recuadro L6ariablesL muestra el numero total de variables del modelo, las variables que son no lineales y las enteras. ?na variable es considerada no lineal si es parte de una restriccin no lineal en el modelo. 8ientras mas variables no lineales y enteras contenga el modelo, mas dif1cil ser0 resolverlo de forma ptima en un tiempo razonable. Los modelos lineales puros sin variables enteras tienden a resolverse mas r0pidamente. La cuenta de variables no incluye las que LINGO determina como de valor fi o, por e emplo* dadas las restricciones : ; -A : > G ; 5A LINGO determina por la primera restriccin que : est0 fi a en -, y, usando esta informacin, deduce que G est0 fi a en ). : e G ser0n entonces e4cluidas del modelo. 3n el recuadro L%onstraintsL se muestra la cantidad total de restricciones y el nBmero de Fstos que son no lineales. ?na restriccin es considerada no lineal si una o mas variables aparecen de forma no lineal en la restriccin.
3l recuadro LNonzerosL muestra el total de coeficientes distintos de cero que aparecen en el modelo y el nBmero de estos que aparecen en variables no lineales. 3l recuadro L8emory ?sedL muestra la cantidad de memoria que est0 utilizando LINGO para resolver el modelo. 3l recuadro L3lapsed 7untimeL muestra el tiempo total utilizado para generar y resolver el modelo. 3l recuadro LOptinizer $tatusL muestra el estado actual del optimizador* Campo $tate Descripcin 3stado de la solucin actual, puede ser LGlobal optimumL, LLocal optimumL, L!eesibleL, L?nboundedL, LInterruptedL, L?ndeterminedL Numero de iteraciones %antidad de veces que es violada una restriccin 6alor actual de la funcin ob etivo 6alor de la funcin ob etivo de la me or solucin entera encontrada "solo en modelos de programacin entera# L1mite terico de la funcin ob etivo para modelos de programacin entera.
Iterations Infeasibility Ob etive @est I( I( @ound
%uando LINGO termine de resolver el modelo, crear0 una nueva ventana con el t1tulo Solution Report, conteniendo los detalles de la solucin*
Informe de la solucin. Costo Reducido: 3n el informe de la solucin se encuentra un valor de costo reducido para cada variable. May dos interpretaciones v0lidas y equivalentes para el costo reducido. (rimero se puede interpretar como el monto por el cual el coeficiente ob etivo de la variable se deber1a incrementar antes de hacerse provechoso darle a la variable en cuestin un valor positivo en la solucin ptima. (or e emplo, si la variable tuviera un costo reducido de -., el coeficiente ob etivo de esta variable deber0 incrementarse en -. unidades en un problema de ma4imizacin o decrementarse en -. unidades en un problema de minimizacin para convertirse en una alternativa atractiva. ?na variable en la solucin ptima autom0ticamente tiene un costo reducido de . $egundo, el costo reducido de una variable se puede interpretar como el monto de penalizacin que habr0 que pagar por introducir una unidad de esa variable en la solucin. %omo antes, si la variable tuviera un costo reducido de -., habr0 que pagar una penalizacin de -. unidades para introducir la variable en la solucin. 3n otras palabras, el valor ob etivo caer0 en -. unidades en un modelo de ma4imizacin, o se incrementar0 -. unidades en un problema de minimizacin. Los costos reducidos son v0lidos slo dentro de un rango de valores. Holgura o e cedente
La columna Slack or Surplus en el informe de la solucin de LINGO muestra que tan cerca se est0 de satisfacer una restriccin como una igualdad. 3sta cantidad, en restricciones de menor o igual, se denomina generalmente holgura. 3n restricciones de mayor o igual se la llama e4cedente. $i una restriccin es e4actamente satisfecha como una igualdad, la holgura o e4cedente valdr0 cero. $i una restriccin es violada, este valor ser0 negativo. 3sto ayuda a encontrar las restricciones violadas cuando en el modelo no e4iste un con unto de valores para las variables que satisfacen simult0neamente todas las restricciones. 3n el e emplo de %ompu&uic', ntese que la fila 5 "+?7@O C; -).# tiene un slac' de N., porque el valor ptimo de +?7@O es 5., esta fila est0 a N. unidades de ser satisfecha como una igualdad. !recio Dual. 3l informe de la solucin de LINGO tambiFn da un valor de precio dual para cada restriccin. 3l precio dual se puede interpretar como el monto en que la funcin ob etivo me orar0 si el segundo miembro de la restriccin se incrementase una unidad. (or e emplo, en la solucin de %ompu&uic', el precio dual en la fila O significa que agregar una unidad mas al traba o causar0 que la funcin ob etivo me ore en P/, a un valor de -O/P/. Ntese que me orar es un tFrmino relativo. 3n un problema de ma4imizacin, me orar significa que la funcin ob etivo se incrementar0, y en un problema de minimizacin el valor ob etivo se reducir0 si el segundo miembro de una restriccin con precio dual positivo es incrementado. Los precios duales son a veces llamados precios sombra, porque ellos dicen cuanto deber1a pagar por una unidad de recurso. 3n el e emplo anterior, %ompu&uic' podr1a pagar hasta ,P/ por cada unidad de traba o. 9l igual que los costos reducidos, los precios duales son v0lidos slo dentro de un rango de valores. !ara "u utili#ar un lengua$e de modelacin? ?na de las caracter1sticas m0s potentes de LINGO, es el lengua e de modelacin matem0tica. 3ste lengua e permite e4presar el problema de una manera natural, similar a la notacin matem0tica standard. 9dem0s de poder ingresar cada tFrmino de cada restriccin e4pl1citamente, LINGO permite e4presar una serie de restricciones similares en una sola sentencia compacta. Otra caracter1stica conveniente del lengua e de modelacin de LINGO, es la seccin de datos. La seccin de datos permite aislar los datos de la formulacin del modelo. =e hecho, LINGO puede incluso, leer los datos de una planilla de c0lculo, de una base de datos o un archivo de te4to. %on los datos independientes del modelo, es mucho mas f0cil hacer cambios, y hay menos oportunidad de cometer errores. 3l modelo de %ompu&uic' del e emplo anterior, usa variables escalares, cada variable est0 e4pl1citamente listada por nombre "$+9N=97= y +?7@O# y cada restriccin aparece e4pl1citamente. 3n la mayor parte de los grandes modelos, ser0 necesario traba ar con un grupo de varias restricciones y variables muy similares. (ara esto, LINGO tiene la habilidad de mane ar con untos de ob etos, que permiten efectuar estas operaciones mas eficientemente.
%l &ro'lema del trans&orte. (or e emplo* supngase que la compaQ1a Rireless Ridget "RR# tiene 2 depsitos que proveen a S vendedores. %ada deposito puede proveer una cantidad de materiales que no puede ser e4cedida, y cada vendedor tiene una demanda que debe ser satisfecha. RR quiere determinar cu0nto material enviar de cada depsito a cada vendedor para minimizar el costo. 3ste es un problema cl0sico de optimizacin llamado es problema del transporte. 3l siguiente diagrama ilustra el problema*
(uesto que cada depsito puede enviar a cada vendedor, hay un total de OS caminos o arcos de env1o posibles, se necesitar0 - variable para cada uno de estos arcos que representen la cantidad enviada. 3st0n disponibles los siguientes datos* =epsito ) 5 O / 2 /) 6endedor ) 5 O / 2 P S %apacidad 2. // /O5 O-
=emanda 5/ 5P )) 5) O5) O5 5S
%osto de env1o por unidad ",#* RhRh) Rh5 RhO Rh/ Rh2 La (uncin o'$eti)o: 3l primer paso para plantear el modelo ser0 construir la funcin ob etivo. %omo mencionamos, RR quiere minimizar el total de los costos de env1o. Maremos que la variable 6OL?83KIKT indique la cantidad de mercader1a enviada desde el depsito i hacia el vendedor . 3ntonces, si tuviFramos que escribir la funcin ob etivo usando variables escalares tendr1amos* 8IN ; 2 < 6OL?83K-K- > ) < 6OL?83K-K) > 2 < 6OL?83K-K5 > P < 6OL?83K-KO > O < 6OL?83K-K/ > . . . S < 6OL?83K2K/ > 6OL?83K2K2 > O < 6OL?83K2KP > 5 < 6OL?83K2KSA 3stos son N de los OS tFrminos de la funcin ob etivo. %omo se ve, ingresar una frmula como esta es tedioso y propenso a errores. 3n un caso mas realista, los vendedores podr1an ser miles, y el modelado con variables escalares se vuelve muy problem0tico. %on la notacin matem0tica, se podr1a e4presar esta ecuacin de esta forma* 8inimizar i %O$+i < 6OL?83i =e una forma similar, el lengua e de modelado de LINGO permite e4presar la funcin ob etivo de una forma corta, f0cil de tipear, y f0cil de entender. La sentencia de LINGO equivalente es* 8IN ; U$?8"LINV$"I,T#* %O$+"I,T# < 6O?83"I,T##A 3n otras palabras, 8inimizar la suma de los costos de env1o "%O$+# por unidad por el %antidad "6OL?83# de mercader1a enviada por todos los caminos "LINV$# entre los depsitos y los vendedores. Restricciones 3l siguiente paso es formular las restricciones. May dos con untos de restricciones en este modelo. 3l primero garantiza que cada vendedor recibe el nBmero de unidades 62 O / P ) / 6) ) N ) 2 5 / 65 2 / P N ) 6O P 5 N 5 / ) 6/ O S P N P S 62 ) / O ) ) 6P / S 5 P 2 O 6S N ) 5 / 5
requerida "restricciones de demanda#. 3l segundo con unto de restricciones asegura que cada depsito no env1a mas de lo que tiene "restricciones de capacidad#. %omenzando con las restricciones de demanda del 6endedor -, necesitamos sumar los env1os de todos los depsitos hacia el 6endedor - e igualarlo a la demanda, que es de 5/ unidades. $i us0ramos la notacin basada en escalares, necesitar1amos construir lo siguiente* 6OL?83K-K- > 6OL?83K)K- > 6OL?83K5K- > 6OL?83KOK- > 6OL?83K/K- > 6OL?83K2K- ; 5/A 9dem0s de otras P restricciones de demanda, para cubrir a los S vendedores. (ero, utilizando el lengua e de modelado basado en con untos de LINGO, podemos simplificar esta tarea. La sentencia correspondiente queda as1* U!O7" 63N=O7$" T#* U$?8" R973MO?$3$" I#* 6OL?83" I, T## ; =389N=" T##A 3sta sentencia reemplaza a las S restricciones de demanda. $ignifica* para todos los vendedores "63N=O7$#, la suma del volumen "6OL?83# enviado desde cada uno de los depsitos "R973M9?$3$# a ese vendedor debe ser igual a la demanda correspondiente "=389N=9# del vendedor. Ntese la gran similitud con la notacin matem0tica. =e manera an0loga pueden e4presarse las restricciones de capacidad* U!O7" R973MO?$3$" I#* U$?8" 63N=O7$" T#* 6OL?83" I, T##C; %9(9%I+G" I##A 3quivale a* para cada miembro del con unto R973M9?$3$, la suma del 6olumen "6OL?83# enviado a cada vendedor "63N=O7$# desde ese depsito, debe ser menor o igual a la capacidad del depsito. %l modelo com&leto 8O=3L* 8IN ; U$?8" LINV$" I, T#* %O$+" I, T# < 6OL?83" I, T##A U!O7" 63N=O7$" T#* U$?8" R973MO?$3$" I#* 6OL?83" I, T## ; =389N=" T##A U!O7" R973MO?$3$" I#* U$?8" 63N=O7$" T#* 6OL?83" I, T## C; %9(9%I+G" I##A 3N=
$in embargo, todav1a faltan definir los datos del modelo que LINGO llama Lla seccin de con untosL y Lla seccin de datosL De(inicin de los Con$untos LINGO permite definir con untos de ob etos relacionados en la Lseccin de con untosL "sets section#. 3sta seccin comienza con la palabra clave $3+$* y termina con 3N=$3+$. ?na vez definidos los miembros del con unto, LINGO tiene un grupo de funciones "p.e. U!O7# que aplican operaciones a todos los miembros de un con unto utilizando slo una sentencia. 3n el caso del modelo de Rireless Ridget, hemos construido 5 con untos* =epsitos 6endedores 9rcos de env1o desde cada depsito a cada vendedor $3+$* R973MO?$3$ I RM- RM) RM5 RMO RM/ RM2I* %9(9%I+GA 63N=O7$ I 6- 6) 65 6O 6/ 62 6P 6SI * =389N=A LINV$" R973MO?$3$, 63N=O7$#* %O$+, 6OL?83A 3N=$3+$ La segunda l1nea dice que el con unto R973MO?$3$ tiene los elementos RM-, RM), RM5, RMO, RM/ y RM2, cada uno con un atributo llamado %9(9%I+G "capacidad#. Los vendedores se definen en la tercera l1nea, cada uno con un atributo llamado =389N=9. 3l Bltimo con unto, titulado LINV$ "enlaces# representa los OS caminos entre los depsitos y los vendedores. %ada camino tiene los atributos costo "%O$+# y volumen "6OL?83# asociados. La sinta4is para definir este con unto, difiere de las dos anteriores. 3specificando LINV$" R973MO?$3$, 63N=O7$# estamos diciendo a LINGO que el con unto LINV$ deriva de RM973MO?$3$ y 63N=O7$. 3n este caso, LINGO genera cada par ordenado de "depsitos, vendedores#. %ada uno de estos OS pares ordenados es un elemento del con unto LINV$. Ingreso de datos LINGO permite al usuario aislar los datos en una seccin separada del modelo. 3n el e emplo de Rireless Ridget, tenemos la siguiente seccin de datos* =9+9* %9(9%I+G ; 2. // /- O5 O- /)A =389N= ; 5/ 5P )) 5) O- 5) O5 5SA %O$+ ; 2 ) 2 P O ) / N ON/5S/S) /)-NPO55 P2P5N)P-
)5N/P)2/ / / ) ) S - O 5A 3N==9+9 La seccin de datos comienza con la sentencia =9+9* y finaliza con 3N==9+9. Los atributos %9(9%I+G del con unto R973MO?$3$ y =389N=9 de 63N=O7$ se inicializan de forma directa. 3l atributo %O$+O del con unto bidimensional LINV$ es un poco mas oscuro. %uando LINGO inicializa una matriz multidimensional, incrementa el 1ndice e4terior mas r0pidamente, en este caso %O$+"RM-, 6-# se inicializa primero, seguido de %O$+"RM-, 6)# hasta %O$+O"RM-, 6S#. =espuFs se inicializar0 %O$+"RM), 6-#, y as1 sucesivamente. LINGO tambiFn tiene la capacidad de importar los datos desde fuentes e4ternas, espec1ficamente de archivos de te4to y planillas de c0lculo, establecer v1nculos OL3 a 34cel yIo crear v1nculos O=@% a las bases de datos mas populares. (oniendo untas las secciones de datos, de con untos, la funcin ob etivo y las restricciones, el modelo queda como sigue* 8O=3L* E9 2 Rarehouse S 6endor +ransportation (roblemA $3+$* R973MO?$3$I RM- RM) RM5 RMO RM/ RM2I* %9(9%I+GA 63N=O7$I 6- 6) 65 6O 6/ 62 6P 6SI* =389N=A LINV$ "Rarehouses, 6endors#* %O$+, 6OL?83A 3N=$3+$ E+he ob ectiveA 8IN ; U$?8" LINV$" I, T#* %O$+" I, T# < 6OL?83" I, T##A E+he demand constraintsA U!O7" 63N=O7$" T#* U$?8" R973MO?$3$" I#* 6OL?83" I, T## ; =389N=" T##A E+he capacity constraintsA U!O7" R973MO?$3$" I#* U$?8" 63N=O7$" T#* 6OL?83" I, T## C; %9(9%I+G" I##A EMere is the dataA =9+9* %9(9%I+G ; 2. // /- O5 O- /)A =389N= ; 5/ 5P )) 5) O- 5) O5 5SA %O$+ ; 2 ) 2 P O ) / N ON/5S/S) /)-NPO55 P2P5N)P)5N/P)2/ //))S-O5 3N==9+9
3N= Resolucin del modelo del trans&orte. 9hora, vamos a resolver el modelo para determinar el volumen ptimo de env1os desde cada depsito hacia cada vendedor. $e debe seleccionar la opcin $OL63 del menB LINGO, o presionar el botn $OL63 de la barra de menB. LINGO responder0 resolviendo el modelo y retornando el informe de la solucin que contiene los valores de las variables, restricciones y datos en el modelo. Dimensiones m* imas 3l nBmero m04imo de restricciones y variables que LINGO puede mane ar depende de la versin. Los l1mites de las distintas versiones son* Versin =emoIReb $olver $uite $uper Myper Industrial 34tended Restricciones Variables /. -.. -.. ).. /.. -,... ),... O,... S,... -2,... 5),... -..,...
+so de (unciones de dominio de )aria'les 9 menos que se especifique lo contrario, las variables en un modelo de LINGO son continuas y no negativas. 8as espec1ficamente las variables pueden asumir cualquier valor real desde cero hasta mas infinito. 3n muchos casos este dominio para una variable puede ser inapropiado. (or e emplo puede necesitarse que una variable asuma valores negativos, o solamente valores enteros. LINGO est0 provisto de cuatro funciones de dominio de variables que permiten sobrepasar el dominio por omisin de una variable* UGIN U@IN U!733 U@N= Limita la variable slo a valores enteros Mace una variable binaria ". -# (ermite que la variable tome cualquier valor real "positivo o negativo# Limita la variable para que se a uste a un rango finito
%$em&los de uso de )aria'les enteras: UGIN":#A UGIN"(7O=?%3"/##A entera +ransforma la variable escalar : en entera +ransforma la variable (7O=?%3"/# en
U!O7"=9G$"I#* UGIN"$+97+"I###A $+97+ en enteras %$em&los de uso de )aria'les 'inarias:
+ransforma todas las variables del atributo
U@IN":#A +ransforma la variable escalar : en binaria U@IN"IN%L?=3"O##A +ransforma la variable IN%L?=3"O# en binaria U!O7"I+38$* U@IN"IN%L?=3##A +ransforma todas las variables del atributo IN%L?=3 en binarias %$em&los de uso de )aria'les li'res: U!733":#A +ransforma la variable escalar : en libre U!7333"&?9N+I+G"O##A +ransforma la variable &?9N+I+G"O# en libre U!O7"I+38$* U!733"&?9N+I+G## +ransforma todas las variables del atributo &?9N+I+G en libres %$em&los de uso de )aria'les con l,mites: U@N="J-, :, -#A 7estringe la variable : al intervalo WJ-, -X U@N="-.., &?9N+I+G"O#, )..# A Limita &?9N+I+G"O# entre -.. y ).. U!O7"I+38$* U@N=" -., &, ).##A !i a los l1mites de todas las variables del atributo & en -. y ). U!O7"I+38$* U@N="&L, &, &?##A !i a los l1mites de todas las variables del atributo & en &L y &? "9 &L y &? deben habFrsele asignado valores en la seccin de datos#
Rango 3l comando rango se utiliza para generar un reporte de rango para el modelo de la ventana activa. 3l reporte de rango muestra sobre que rangos se puede* -# cambiar un coeficiente en la funcin ob etivo sin causar un cambio en alguno de los valores ptimos en las variables de decisin, )# cambiar una constante de una fila "coeficiente del segundo miembro# sin provocar un cambio en los valores ptimos de los precios duales o costos reducidos. 3 emplo* [OB !"#IV!$ %&' ( )* + & , -* + ". [&LI%$ & /( 0*. ["LI%$ " /( 1*. [ OIN#$ & , ) + " /( 2)*. 3l reporte de rango del modelo anterior es el siguiente* Ran3es in 45ic5 t5e 6asis is unc5an3ed7 O68ective "oefficient Ran3es "urrent &llo4a6le Varia6le "oefficient Increase & )*.***** IN:INI#; " -*.***** 2*.***** Ro4 &LI% "LI% OIN# Ri35t5and Side Ran3es "urrent &llo4a6le R<S Increase 0*.***** 0*.***** 1*.***** IN:INI#; 2)*.**** =*.*****
&llo4a6le 9ecrease 1.****** -*.***** &llo4a6le 9ecrease =*.***** )*.***** 0*.*****
La primera seccin del reporte se titula 7angos de %oeficientes Ob etivos. 3n la primera columna, titulada 6ariable, se listan por su nombre todas las variables a optimizar. La siguiente columna, titulada %urrent %oefficient "%oeficiente actual# muestra el coeficiente actual de la variable en la funcin ob etivo. La siguiente columna 9lloYable Increase "Incremento permitido# nos dice el monto en que podr1amos incrementar el coeficiente en la funcin ob etivo sin cambiar los valores ptimos de las variables. La Bltima columna, 9lloYable =ecrease "=ecremento permitido# muestra el monto en que podr1amos decrementar el coeficiente en la funcin ob etivo sin que cambien los valores ptimos en las variables. La informacin de los incrementos y decrementos permitidos de los coeficientes de la funcin ob etivo es Btil para responder a las preguntas como* L%uanto mas "menos# provechoso puede ser esta actividad antes de que estemos dispuestos a hacer mas "menos# de estoZL
Nota* Los rangos son v0lidos si se quiere cambiar un solo coeficiente de la funcin ob etivo o del segundo miembro de alguna restriccin. La segunda seccin del reporte de rango se titula 7angos del Lado =erecho. La primera columna, 7oY "fila#, muestra los nombres de todas las filas a optimizar, o restricciones del modelo. La segunda columna, %urrent 7Ms "7M$ 9ctual# dice el tFrmino constante, o segundo miembro de la fila. Las dos columnas siguientes, 9lloYable Increase y 9loloYable =ecrease, nos dice cuanto podemos incrementar o decrementar el coeficiente correspondiente a la fila, sin afectar a los valores de los precios duales o costos reducidos. 7ecordemos que los precios duales son, efectivamente, precios sombra que nos dicen que precio estamos dispuestos a pagar "o a vender# de un recurso. 3l precio dual sin embargo, no nos dice cuanto estamos dispuestos a comprar "o a vender#. 3sta informacin se obtiene de los incrementos y decrementos permitidos de los coeficientes de los segundos miembros de cada fila. Nota* %ada fila en el modelo del e emplo est0 precedida por un nombre enserrado entre corchetes. 3sta es una pr0ctica importante si se quiere generar reportes de rango. $i no se le ponen nombres a las filas, LINGO les asigna un nBmero de fila que utiliza internamente como 1ndice. 3ste 1ndice interno no corresponder0 siempre con el orden de la fila en el modelo original. 3ntonces es conveniente nombrar las filas para hacer mas enterndible el reporte de rango.