lunes, 23 de agosto de 2010

TALLER EN GAMS

Ejercicio 3.4-11


GAMS Rev 233  WIN-VIS 23.3.2 x86/MS Windows             08/22/10 17:04:57 Page 1
ejercicio 3.4-11
C o m p i l a t i o n


   2  
   3  
   4  Sets
   5           i fabricas /fabrica1, fabrica2/
   6           j clientes /cliente1, cliente2, cliente3/
   7           k cantidades /cantidad1, cantidad2, cantidad3/;
   8  
   9  Parameters
  10  
  11           b(i) capacidad de la fabrica i en los casos
  12           /       fabrica1 400
  13                   fabrica2 500/
  14  
  15  
  16           c(k)  Cantidades para envir por ordenes
  17           /       cantidad1 300
  18                   cantidad2 200
  19                   cantidad3 400/;
  20  
  21  Table m(j,k)
  22            cantidad1         cantidad2    cantidad3
  23  cliente1    300                 0            0
  24  cliente2      0                200           0
  25  cliente3      0                  0         400                 ;
  26  
  27  Table h(i,j) Costo unitariuo de envio por cliente
  28  
  29               cliente1    cliente2     cliente3
  30  fabrica1         600         800          700
  31  fabrica2         400         900          600  ;
  32  
  33  
  34  
  35  
  36  Variables
  37           x(j,k)  lo que se debe enviar de cada fabrica a cada cliente
  38           z      ganancia total de producción          ;
  39  
  40  Positive variable x;
  41  
  42  Equations
  43           ganancia
  44           produccion(i) ;
  45  
  46           ganancia ..        z =e= sum((j,k), m(j,k)*x(j,k));
  47  
  48           produccion(i) .. sum((j,k), h(i,j)*x(j,k)) =l= b(i) ;
  49  model wyndorglassco / all/
  50  
  51  solve wyndorglassco  using lp maximizing z
  52  
  53  
  54  
  55  Display x.l, x.m ;


COMPILATION TIME     =        0.015 SECONDS      3 Mb  WIN233-233 Nov 17, 2009
GAMS Rev 233  WIN-VIS 23.3.2 x86/MS Windows             08/22/10 17:04:57 Page 2
ejercicio 3.4-11
Equation Listing    SOLVE wyndorglassco Using LP From line 55


---- ganancia  =E= 

ganancia..  - 300*x(cliente1,cantidad1) - 200*x(cliente2,cantidad2)
    
      - 400*x(cliente3,cantidad3) + z =E= 0 ; (LHS = 0)
    

---- produccion  =L= 

produccion(fabrica1)..  600*x(cliente1,cantidad1) + 600*x(cliente1,cantidad2)
    
      + 600*x(cliente1,cantidad3) + 800*x(cliente2,cantidad1)
    
      + 800*x(cliente2,cantidad2) + 800*x(cliente2,cantidad3)
    
      + 700*x(cliente3,cantidad1) + 700*x(cliente3,cantidad2)
    
      + 700*x(cliente3,cantidad3) =L= 400 ; (LHS = 0)
    
produccion(fabrica2)..  400*x(cliente1,cantidad1) + 400*x(cliente1,cantidad2)
    
      + 400*x(cliente1,cantidad3) + 900*x(cliente2,cantidad1)
    
      + 900*x(cliente2,cantidad2) + 900*x(cliente2,cantidad3)
    
      + 600*x(cliente3,cantidad1) + 600*x(cliente3,cantidad2)
    
      + 600*x(cliente3,cantidad3) =L= 500 ; (LHS = 0)
    
GAMS Rev 233  WIN-VIS 23.3.2 x86/MS Windows             08/22/10 17:04:57 Page 3
ejercicio 3.4-11
Column Listing      SOLVE wyndorglassco Using LP From line 55


---- x  lo que se debe enviar de cada fabrica a cada cliente

x(cliente1,cantidad1)
                (.LO, .L, .UP, .M = 0, 0, +INF, 0)
     -300       ganancia
      600       produccion(fabrica1)
      400       produccion(fabrica2)

x(cliente1,cantidad2)
                (.LO, .L, .UP, .M = 0, 0, +INF, 0)
      600       produccion(fabrica1)
      400       produccion(fabrica2)

x(cliente1,cantidad3)
                (.LO, .L, .UP, .M = 0, 0, +INF, 0)
      600       produccion(fabrica1)
      400       produccion(fabrica2)

REMAINING 6 ENTRIES SKIPPED

---- z  ganancia total de producción

z
                (.LO, .L, .UP, .M = -INF, 0, +INF, 0)
        1       ganancia

GAMS Rev 233  WIN-VIS 23.3.2 x86/MS Windows             08/22/10 17:04:57 Page 4
ejercicio 3.4-11
Model Statistics    SOLVE wyndorglassco Using LP From line 55


MODEL STATISTICS

BLOCKS OF EQUATIONS           2     SINGLE EQUATIONS            3
BLOCKS OF VARIABLES           2     SINGLE VARIABLES           10
NON ZERO ELEMENTS            22


GENERATION TIME      =        0.000 SECONDS      4 Mb  WIN233-233 Nov 17, 2009


EXECUTION TIME       =        0.000 SECONDS      4 Mb  WIN233-233 Nov 17, 2009
GAMS Rev 233  WIN-VIS 23.3.2 x86/MS Windows             08/22/10 17:04:57 Page 5
ejercicio 3.4-11
Solution Report     SOLVE wyndorglassco Using LP From line 55


               S O L V E      S U M M A R Y

     MODEL   wyndorglassco       OBJECTIVE  z
     TYPE    LP                  DIRECTION  MAXIMIZE
     SOLVER  CPLEX               FROM LINE  55

**** SOLVER STATUS     1 Normal Completion        
**** MODEL STATUS      1 Optimal                  
**** OBJECTIVE VALUE              228.5714

 RESOURCE USAGE, LIMIT          0.015      1000.000
 ITERATION COUNT, LIMIT         1    2000000000

ILOG CPLEX       Nov  1, 2009 23.3.2 WIN 13908.14598 VIS x86/MS Windows
Cplex 12.1.0, GAMS Link 34

LP status(1): optimal
Optimal solution found.
Objective :         228.571429


                       LOWER     LEVEL     UPPER    MARGINAL

---- EQU ganancia        .         .         .        1.000     

---- EQU produccion 

            LOWER     LEVEL     UPPER    MARGINAL

fabrica1     -INF    400.000   400.000     0.571     
fabrica2     -INF    342.857   500.000      .        

---- VAR x  lo que se debe enviar de cada fabrica a cada cliente

                      LOWER     LEVEL     UPPER    MARGINAL

cliente1.cantidad1      .         .        +INF    -42.857     
cliente1.cantidad2      .         .        +INF   -342.857     
cliente1.cantidad3      .         .        +INF   -342.857     
cliente2.cantidad1      .         .        +INF   -457.143     
cliente2.cantidad2      .         .        +INF   -257.143     
cliente2.cantidad3      .         .        +INF   -457.143     
cliente3.cantidad1      .         .        +INF   -400.000     
cliente3.cantidad2      .         .        +INF   -400.000     
cliente3.cantidad3      .        0.571     +INF       .        

                       LOWER     LEVEL     UPPER    MARGINAL

---- VAR z              -INF    228.571     +INF       .        

  z  ganancia total de producción


**** REPORT SUMMARY :        0     NONOPT
                             0 INFEASIBLE
                             0  UNBOUNDED
GAMS Rev 233  WIN-VIS 23.3.2 x86/MS Windows             08/22/10 17:04:57 Page 6
ejercicio 3.4-11
E x e c u t i o n


----     55 VARIABLE x.L  lo que se debe enviar de cada fabrica a cada cliente

           cantidad3

cliente3       0.571


----     55 VARIABLE x.M  lo que se debe enviar de cada fabrica a cada cliente

           cantidad1   cantidad2   cantidad3

cliente1     -42.857    -342.857    -342.857
cliente2    -457.143    -257.143    -457.143
cliente3    -400.000    -400.000



EXECUTION TIME       =        0.000 SECONDS      3 Mb  WIN233-233 Nov 17, 2009


USER: Departmento de Ingeniería Industrial           G091203:1120AP-WIN
      Universidad de Antioquia                                   DC8064
      License for teaching and research at degree granting institutions


**** FILE SUMMARY

Input      C:\Documents and Settings\HERNAN DARIO G\Escritorio\sesión 2\ejemplo.
           gms
Output     C:\Documents and Settings\HERNAN DARIO G\Mis documentos\gamsdir\projd
           ir\ejemplo.lst

martes, 17 de agosto de 2010

Cuestionamiento capitulo 4

• De que se trata el método simplex?


Es un algoritmo eficiente y confiable para resolver problemas de programación lineal, los cuales son tratados en nuestra vida cotidiana.



• Para que se utiliza el método simples?

El método simplex se utiliza, sobre todo, para resolver problemas de programación lineal en los que intervienen tres o más variables.



• Que es el análisis de sensibilidad?

Mide la forma en que cambiara la solución derivada del valor asignado a un parámetro determinado, el cual cambia por otros valores posibles. Identificando los parámetros sensibles.



• Que es un análisis posoptimo?

Es lo que se hace después de optener un respuesta óptima del problema, involucrando preguntas sobre lo realizado.



• Como se que encontré la solución optima?

Cuando en la fila Z no exista ningún valor negativo.



• De que se trata el método de eliminación gaussiana?

Consiste en convertir a través de operaciones básicas llamadas operaciones de renglón un sistema en otro equivalente más sencillo cuya respuesta pueda leerse de manera directa. El método de eliminación Gaussiana es el mismo para sistemas de ecuaciones 2×2, 3×3, 4×4 y así sucesivamente siempre y cuando se respete la relación de al menos una ecuación por cada variable.

viernes, 13 de agosto de 2010

Ejercicios propuestos

3.4-10.
Larry Edison es el director del centro de computo de Buckly College. El debe programar las horas de trabajo del personal del centro. Abre de las 8 am hasta la media noche. Larry estudio el uso del centro en las diferentes horas del día y determino los siguientes números de asesores en computación necesarios.

Hora
Numero mínimo de asesores requeridos
8 am – 12 pm
4
12 pm – 4 pm
8
4 pm – 8 pm
10
8 pm – 12 am
6

Puede contratar dos tipos de asesores: de tiempo completo y de tiempo parcial. Los primeros trabajan 8 horas consecutivas en cualquiera de los siguientes turnos: Matutino (8 am – 4 pm), vespertino (12 pm – 8 pm) y nocturno (4 pm – 12 am). Estos asesores ganan $ 14 por hora.
Los asesores de tiempo parcial pueden trabajar cualquiera de los cuatro turnos enumerados en la tabla anterior y ganan $ 12 por hora.
Un requisito adicional es que durante todos los periodos debe haber al menos dos asesores de tiempo completo por cada uno de tiempo parcial.
Larry desea determinar cuántos asesores de tiempo completo y cuántos de tiempo parcial debe haber en cada turno para cumplir con los requisitos a un costo mínimo.
a) Formule un modelo de programación lineal.
X1= número de asesores tiempo completo, turno matutino (8 am – 4 pm).
X2= número de asesores tiempo completo, turno vespertino (12 pm – 8 pm).
X3= número de asesores de tiempo completo, turno nocturno (4 pm – 12 am).
Y1= número de asesores de tiempo parcial, turno 1 (8 am – 12 pm).
Y2= número de asesores de tiempo parcial, turno 2 (12 pm – 4 pm).
Y3= número de asesores de tiempo parcial, turno 3 (4 pm – 8 pm).
Y4= número de asesores de tiempo parcial, turno 4 (8 pm – 12 am).

Minimizar:
                        C= ($14/hora)(8 horas)[X1 + X2 + X3 ] + ($12/hora)(4 horas)[Y1 + Y2 + Y3 + Y4 ]

Restricciones:
X1 + Y1 ≥ 4
X1 + X2 + Y2 ≥ 8
X2 + X3 + Y3 ≥ 10
X3 + Y4 ≥ 6
X1 ≥ 2Y1
X1 + X2 ≥ 2Y2
X2 + X3 ≥ 2Y3
X3 ≥ 2Y4
X1 ≥ 0, X2 ≥ 0, X3 ≥ 0, Y1 ≥ 0, Y2 ≥ 0, Y3 ≥0, Y4 ≥ 0


b) Resuelva este modelo por el método simplex.




3.4-11.
La Medequip Company produce equipos de precisión de diagnostico medico en dos fabricas. Se han recibido pedidos de tres centros médicos para la producción de este mes. La siguiente tabla muestra el costo unitario de envio desde cada fabrica a cada centro. Además, muestra el numero de unidades que se producirán en cada fabrica y el numero de unidades ordenadas por cada cliente.
                     A
Costo unitario de envío
De
Cliente 1
Cliente 2
Cliente 3
Fabrica 1
$ 600
$ 800
$ 700
Fabrica 2
$ 400
$ 900
$ 600
Orden
300 unid
200 unid
400 unid

Ahora debe tomar la decisión sobre el plan de cuantas unidades enviar de cada fabrica a cada cliente.
a) Formule un modelo de programación lineal.
Xf1-c1= número de unidades enviadas por fabrica 1 a cliente 1.
Xf1-c2= número de unidades enviadas por fabrica 1 a cliente 2.
Xf1-c3= número de unidades enviadas por fabrica 1 a cliente 3.
Xf2-c1= número de unidades enviadas por fabrica 2 a cliente 1.
Xf2-c2= número de unidades enviadas por fabrica 2 a cliente 2.
Xf2-c3= número de unidades enviadas por fabrica 2 a cliente3.

Minimizar:
C= 600Xf1-c1 + 800Xf1-c2 + 700Xf1-c3 + 400Xf2-c1 + 900Xf2-c2 + 600Xf2-c3
Restricciones:
Xf1-c1 + Xf1-c2 + Xf1-c3 = 400
Xf2-c1 + Xf2-c2 + Xf3-c3 = 500
Xf1-c1 + Xf2-c1 = 300
Xf1-c2 + Xf2-c2 = 200
Xf1-c3 + Xf2-c3 = 400
Y
Xf1-c1 ≥ 0, Xf1-c2 ≥ 0, Xf1-c3 ≥ 0, Xf2-c1 ≥ 0, Xf2-c2 ≥ 0, Xf2-c3 ≥ 0


b) Resuelva el modelo por el modelo simplex.


-C= 600Xf1-c1 - 800Xf1-c2 - 700Xf1-c3 - 400Xf2-c1 - 900Xf2-c2 - 600Xf2-c3 +MX1 + MX2 + MX3 + MX4 + MX5

Grados de libertad= 10-5
Grados de libertad = 5

Como en las restricciones tenemos que viene precedida por el =, entonces solo anexamos variables artificiales.
Xf1-c1 + Xf1-c2 + Xf1-c3 + X1= 400
Xf2-c1 + Xf2-c2 + Xf3-c3 + X2= 500
Xf1-c1 + Xf2-c1 + X3= 300
Xf1-c2 + Xf2-c2 + X4= 200
Xf1-c3 + Xf2-c3 + X5= 400



Vb
C
Xf1-c1
Xf1-c2
Xf1-c3
Xf2-c1
Xf2-c2
Xf2-c3
X1
X2
X3
X4
X5
LD
C
-1
600
800
700
400
900
600
M
M
M
M
M
0
X1
0
1
1
1
0
0
0
1
0
0
0
0
400
X2
0
0
0
0
1
1
1
0
1
0
0
0
500
X3
0
1
0
0
1
0
0
0
0
1
0
0
300
X4
0
0
1
0
0
1
0
0
0
0
1
0
200
X5
0
0
0
1
0
0
1
0
0
0
0
1
400

-Mf2 + f1
Vb
C
Xf1-c1
Xf1-c2
Xf1-c3
Xf2-c1
Xf2-c2
Xf2-c3
X1
X2
X3
X4
X5
LD
C
-1
600-M
800-M
700-M
400
900
600
0
M
M
M
M
(-400M)
X1
0
1
1
1
0
0
0
1
0
0
0
0
400
X2
0
0
0
0
1
1
1
0
1
0
0
0
500
X3
0
1
0
0
1
0
0
0
0
1
0
0
300
X4
0
0
1
0
0
1
0
0
0
0
1
0
200
X5
0
0
0
1
0
0
1
0
0
0
0
1
400


-Mf3 + f1
Vb
C
Xf1-c1
Xf1-c2
Xf1-c3
Xf2-c1
Xf2-c2
Xf2-c3
X1
X2
X3
X4
X5
LD
C
-1
600-M
800-M
700-M
400-M
900-M
600-M
0
0
M
M
M
(-900M)
X1
0
1
1
1
0
0
0
1
0
0
0
0
400
X2
0
0
0
0
1
1
1
0
1
0
0
0
500
X3
0
1
0
0
1
0
0
0
0
1
0
0
300
X4
0
0
1
0
0
1
0
0
0
0
1
0
200
X5
0
0
0
1
0
0
1
0
0
0
0
1
400



-Mf4 + f1
Vb
C
Xf1-c1
Xf1-c2
Xf1-c3
Xf2-c1
Xf2-c2
Xf2-c3
X1
X2
X3
X4
X5
LD
C
-1
600-2M
800-M
700-M
400-2M
900-M
600-M
0
0
0
M
M
(-1200M)
X1
0
1
1
1
0
0
0
1
0
0
0
0
400
X2
0
0
0
0
1
1
1
0
1
0
0
0
500
X3
0
1
0
0
1
0
0
0
0
1
0
0
300
X4
0
0
1
0
0
1
0
0
0
0
1
0
200
X5
0
0
0
1
0
0
1
0
0
0
0
1
400

-Mf5 + f1
Vb
C
Xf1-c1
Xf1-c2
Xf1-c3
Xf2-c1
Xf2-c2
Xf2-c3
X1
X2
X3
X4
X5
LD
C
-1
600-2M
800-2M
700-M
400-2M
900-2M
600-M
0
0
0
0
M
(-1400M)
X1
0
1
1
1
0
0
0
1
0
0
0
0
400
X2
0
0
0
0
1
1
1
0
1
0
0
0
500
X3
0
1
0
0
1
0
0
0
0
1
0
0
300
X4
0
0
1
0
0
1
0
0
0
0
1
0
200
X5
0
0
0
1
0
0
1
0
0
0
0
1
400

-Mf6 + f1
Vb
C
Xf1-c1
Xf1-c2
Xf1-c3
Xf2-c1
Xf2-c2
Xf2-c3
X1
X2
X3
X4
X5
LD
C
-1
600-2M
800-2M
700-2M
400-2M
900-2M
600-M
0
0
0
0
0
(-1800M)
X1
0
1
1
1
0
0
0
1
0
0
0
0
400
X2
0
0
0
0
1
1
1
0
1
0
0
0
500
X3
0
1
0
0
1
0
0
0
0
1
0
0
300
X4
0
0
1
0
0
1
0
0
0
0
1
0
200
X5
0
0
0
1
0
0
1
0
0
0
0
1
400