Download - Manual Lindo

Transcript
  • 5/27/2018 Manual Lindo

    1/3

    Manual de LINDO

    Un escueto prontuario

    Miguel Mata Perez

    [email protected]

    Version 0.2, 27 de diciembre de 2013

    LINDO es un intuitivo programa para resolver proble-mas de optimizacion matematica, en particular de progra-macion lineal (continuos, enteros y binarios). El nombre deLINDO es un acronimo de Linear, INteractive, and Dis-crete Optimizer. El presente pretende ser un escueto man-ual de LINDO, por lo cual aborda lo m as general de este

    programa sin detenerse en detalles.

    El programa LINDO puede conseguirse desde su paginaoficial,http://www.lindo.com/donde se puede descargaruna version de prueba limitada a 300 variables continuas,30 variables discretas (enteras o binarias) y 150 restric-ciones. Ideal para estudiantes.

    Iniciemos con nuestro manual. Supongamos que tenemosel siguiente problema de programacion lineal:

    max z= 3x1+ x2

    s.a: x1+ 3x2 6

    x1 x2 4

    x1, x2 0

    En LINDO podemos escribirlo con el siguiente codigo:

    MAX 3X1 + X2

    S.T.

    X 1 + 3 X 2 < 6

    X 1 - X 2 < 4

    Con base en este primer ejemplo, podemos mencionar lassiguientes caractersticas.

    1. Sensibilidad a mayusculas: LINDO es insensiblea mayusculas y minusculas, por lo cual escribir la

    *El presente material es libre y puede ser usado, distribuido ycomunicado bajo las unicas condiciones de atribucion(dar credito ycitar apropiadamente) y no comercializacion(no lucrar u obtenerbeneficio alguno de su uso). Cualquier asunto relacionado con estematerial, puede ponerse en contacto con el autor en la direcci on decorreo electronico proporcionada.

    funcion objetivo de la forma MAX 3X1 + X2 es completamente equivalente a Max 3X1 + X2 o a m3x1 + x2 . En este manual, por claridad utilizaremmayusculas en general.

    2. Max o mn: Respecto al sentido de la optimizacio

    la palabra clave con que inicia la funcion objetivo MAX para maximizar y MIN para minimizar.

    3. Sujeto a: La palabra clave S.T. en el segunrenglon proviene de subject to (sujeto a, en ingles)desuch that(tal que, en ingles). Tambien puede usarST , SUBJECT TO o SUCH THAT .

    4. Desigualdades: Para LINDO, las desigualdadsiempre incluyen la igualdad, por lo cual escribir simplemente < en el codigo es equivalente al operadmatematico , pero si se prefiere, LINDO tambien amite < . Por ejemp

    X , Y12 , DEM.MX o VAR X son validas mientras q2INICIA , DEMASIADOLARGO , UN-GION y EUREKA! lo son.

    7. Ttulo: A cada modelo puede anadirse un ttulo mdiante la palabra clave TITLE al inicio del codigo.

    8. Nombres en restricciones:En LINDO cada restrcion puede tener un nombre, el cual debe escribiral inicio de la restriccion y concluir con un cierre parentesis ( ) ).

    1

    http://-/?-http://www.lindo.com/http://www.lindo.com/http://-/?-
  • 5/27/2018 Manual Lindo

    2/3

    Manual de LINDO M. Mata

    9. Fin:Aunque en el ejemplo presentado no fue incluido,en ocasiones sera necesario indicar a LINDO que elmodelo ha concluido mediante la palabra clave END alfinalizar las restricciones.

    10. Comentarios: El signo de cierre de exclamacion ( ! )es interpretado como el inicio de un comentario, el cualdebera ser ignorado por el optimizador. Dicho signopuede iniciar o no un renglon, por lo que solo el textoque se encuentre a la derecha sera considerado comocomentario.

    Con estas nuevas caractersticas, nuestro primer ejemplopuede quedar de la siguiente manera:

    TITLE Ejemplo 2 - Un problema de produccion

    MAX 3X1 + X2 ! Maximizar ganancias

    S.T.

    CAP) X1 + 3X2 < 6 ! Capacidad

    DEM1) X1 - X2 < 4 ! Demanda del producto 1

    ! Las variables deben ser no negativas

    END

    Observe que hemos agregado un ttulo descriptivo delmodelo y que hemos nombrado las restricciones CAP yDEM1 , ademas de que hemos colocado algunos comentar-ios.

    Ahora conviene comentar un par de puntos tecnicos adi-cionales:

    11. Operadores: LINDO solo reconoce cinco operadoresmatematicos: + - > < y = .

    12. Estructura de las restricciones: En cada restric-cion las variables deben aparecer a la izquierda deloperador de comparacion ( > = < ) y a la derecha solodebe aparecer una constante. Por ejemplo, la restric-cion X < Y sera rechazada por el optimizador, por loque debera reescribirse como X - Y < 0 (o tambienY - X > 0 ).

    Por ultimo, dado que para lindo las variables siempre sonno negativas, conviene saber como modificar este compor-

    tamiento por defecto. Las siguientes instrucciones debenescribirse despues del END .

    13. Variables sin restriccion de signo: La palabraclave FREE permite a la variable indicada tenercualquier valor entre y , es decir, FREE X1 esel equivalente de x1 R.

    14. Variables enteras: La palabra clave GIN indica alprograma que la variable debe tener un valor entero,es decir, GIN Y1 es el equivalente a y1 Z, y1 0.

    15. Variables binarias: La palabra clave INT indial programa que la variable elegida debe tener uvalor binario, es decir, INT X2 es el equivalentex2 {0, 1}.

    16. Cotas:Las palabras clave SLB y SUB indican que lvariables seleccionadas tienen una cota inferior o suprior, respectivamente, el cual tambien debe ser indicdo. Por ejemplo, SLB Y4 3 indica al programa quevariable Y4 no debe tomar un valor menor a 3. Similarmente, SUB Y5 12 indica que la variable Y5 debe tomar un valor mayor a 12.

    Los anteriores atributos pueden combinarse en una mma variable para emplearse como en el siguiente ejemplo

    mn z=x1+ x2+ 2x3

    s.a: x1+ 2x2+ 2x3 6 (R

    x1+ x3 9 (R

    x1 x2+ 2x3 (R

    2 x1 7

    x2 0 (variable no positiva)

    3 x1 5

    TITLE Ejemplo 3 - Variables con atributos

    MIN X1 + X2 + 2X3

    S.T.

    R1) X1 + 2X2 + 2X3 > 6

    R2) X1 + X3 > 9

    R3) X1 - X2 - 2X3 > 0 ! Despejando

    ! Las restricciones logicas en seguida

    END

    ! 2 < = X 1 < = 7

    SLB X1 2

    SUB X1 7

    ! X2 no positiva

    FREE X2

    SUB X2 0

    ! - 3 < = X 3 < = 5

    FREE X3 ! Para que pueda tomar valores negativos

    SLB X3 -3SUB X3 5

  • 5/27/2018 Manual Lindo

    3/3


Top Related