Sie sind auf Seite 1von 20

UNIVERSIDAD

AUTONOMA DE
CIUDAD JUAREZ
CAMPUS
CIUDAD UNIVERSITARIA

INVESTIGACION DE
OPERACIONES I

Proyecto de Investigación Unidad 3

Docente:
Jesus Francisco Jaime Arzola

Alumno:
Pablo A. Rocha Najera
Matricula:
150072

Ciudad Juarez, Chih. Mexico a 05 de Mayo de 2020


INDICE

1 Metodologias para la Solucion de Problemas de Transporte ........................................................2


1.1 Modelo de Transporte ............................................................................................................2
1.1.1 Ejemplo............................................................................................................................3
1.2 Modelo de Transbordo ...........................................................................................................4
1.2.1 Ejemplo............................................................................................................................5
1.3 Modelo de Asignacion ...........................................................................................................6
1.3.1 Ejemplo............................................................................................................................7

2 Programacion Entera ...................................................................................................................10


2.1 Metodos de Solucion de Programacion Entera ....................................................................11
2.2 Metodo de Ramificacion y Acotamiento..............................................................................11
2.2.1 Ejemplo .........................................................................................................................12
2.3 Metodo del Plano Cortante ...................................................................................................16
2.3.1 Ejemplo .........................................................................................................................16
2.4 Metodo de Numeracion Implicita Cero-Uno .......................................................................17
2.4.1 Ejemplo ................................................................................................................................ 17

Bibliografia ....................................................................................................................................19

1
1 Metodologias para la Solucion de Problemas de Transporte

1.1 Modelo de Transporte

De acuerdo a Hamdy A. Taha, el modelo de transporte es una clase especial de programación


lineal que tiene que ver con transportar un articulo desde sus fuentes (fabricas) hasta sus destinos
(bodegas).1 De acuerdo al autor, su objetivo es determinar el programa de transporte que minimice
el costo total del transporte y que al mismo tiempo satisfaga los límites de la oferta y la demanda.
El modelo supone una relación proporcional entre la cantidad de unidades transportadas y el costo
de transporte.

El planteamiento teorico del modelo general es el siguiente:

Para un total de “m” fuentes y “n” destinos, cada fuente y cada destino es representado por
un nodo, mientras que las rutas son representadas por flechas que enlazan las fuentes (i) y los
destinos (j). Cada ruta conduce dos tipos de información: el costo de transporte (cij) y la cantidad
transportada (xij). Cada fuente tiene una cantidad determinada de oferta (ai), y cada destino una
cantidad de demanda (bj). El objetivo del modelo es determinar las cantidades xij de artículos que
minimicen el costo total de transporte, a la vez que satisfagan las restricciones de oferta y
demanda.2

Enseguida, se muestra la representación grafica del modelo de transporte:

Figura 1. Representación del modelo de transporte con nodos y flechas

2
1.1.1 Ejemplo

MG Auto tiene tres plantas: Los Angeles, Detroit y New Orleans; y dos centros principales
de distribución, en Denver y Miami. Las capacidades de las tres plantas durante el próximo
trimestre serán de 1,000, 1,500 y 2,000. Las demandas trimestrales en los dos centros de
distribución son 2,300 y 1,400 autos. El kilometraje entre las fábricas y los centros de
distribución se aprecia en la siguiente tabla:

Tabla 1

La empresa transportista cobra 8 centavos por milla y por auto. El costo de transporte por auto
en las distintas rutas, se calcula como se observa en la siguiente tabla:

Tabla 2

El modelo lineal para el problema seria el siguiente:

𝑀𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟 𝑧 = 80𝑥11 + 80𝑥12 + 80𝑥21 + 80𝑥22 + 80𝑥31 + 80𝑥32

Sujeto a las restricciones:

3
El modelo puede resolverse por el método Simplex, sin embargo, por fines ilustrativos, Taha
utiliza software para programación lineal, apoyándose en la información anterior y la siguiente
tabla de transporte:

Tabla 3

Despues del análisis en software, la solución óptima es la siguiente:

Figura 2. Solucion optima del modelo Mg Auto

La cual indica que se deben enviar 1,000 autos de Los Angeles a Denver, 1,300 de Detroit a
Denver, 200 de Detroit a Miami, y 1,200 de New Orleans a Miami. El costo minimo de transporte
es expresado en la siguiente ecuación:

𝐶𝑜𝑠𝑡𝑜 𝑇𝑜𝑡𝑎𝑙 𝑑𝑒 𝑇𝑟𝑎𝑛𝑠𝑝𝑜𝑟𝑡𝑒 = 1,000($80) + 1,300($100) + 200($108) + 1,200($68)


= $313,200

1.2 Modelo de Transbordo

En el modelo de transbordo se reconoce que el transporte puede ser más económico si pasa
por nodos intermedios o transitorios antes de llegar a su destino final, a diferencia del modelo de
transporte tradicional que solo permite envíos directos entre la fuente y el destino.

4
En este caso, mas detalles del modelo se explicaran conforme se desarrolla el ejemplo
siguiente.

1.2.1 Ejemplo

Dos fábricas de automóviles, P1 y P2, se enlazan con tres agencias, D1, D2 y D3, a través de
dos centros de distribución, T1 y T2, de acuerdo con la red de la siguiente figura:

Figura 3. Red con transbordos entre planta y agencia

Las cantidades de oferta de las dos fabricas es de 1,000 y 1,200 autos, y las cantidades de
demanda en las agencias es de 800, 900 y 500 autos. El costo de transporte por vehiculo entre
nodos esta dado en cientos de dólares.

Los nodos de oferta pura, son aquellos que funcionan únicamente como salida (P1 y P2),
mientras que los nodos de demanda pura son aquellos que funcionan como entrada, pero su salida
es final solamente (D3). Los nodos restantes son llamados nodos de transbordo (T1, T2, D1 y D2).

La oferta y demanda en los nodos se calcula de la siguiente manera:

Oferta en nodo de oferta pura = Suministro original


Demanda en nodo de demanda pura = Demanda original
Oferta en nodo de transbordo = Oferta original + Amortiguador
Demanda en nodo de demanda pura = Demanda original + amortiguador

Como el autor sugiere, la cantidad amortiguadora debe ser lo suficientemente grande como
para permitir que toda la oferta o demanda original pase por cualquiera de los nodos de transbordo.3
Sea B la cantidad del amortiguador:

5
B = Oferta (o demanda) total
= 1,000 + 1,200 = 2,200 autos

Al usar el amortiguador B y los costos de transporte que se ven en las flechas de la red de la
figura 3, se forma el modelo equivalente de transporte normal.

Utilizando software de apoyo, la solución se muestra de la siguiente manera:

Figura 4. Solucion del modelo de transbordo

En donde se observa el efecto de transbordo en la agencia D2, al recibir 1,400 vehiculos,


conservar 900 para satisfacer su demanda, y enviar los 500 restantes a la agencia D3.

1.3 Modelo de Asignacion

El autor describe el modelo de asignación como un modelo para seleccionar a la mejor


persona para el puesto.4 El caso, dice Hamdy, se puede ilustrar con la asignación de trabajadores
de diversos niveles de capacitación a los puestos. Un puesto que coincide con los conocimientos
de un trabajador cuesta menos que uno en que el trabajador no es tan hábil. El objetivo del modelo
es determinar la asignación optima, que tiene el costo minimo, de trabajadores a puestos.

El modelo general es representado por la siguiente tabla:

Tabla 4

6
Para un modelo con “n” trabajadores y “n” puestos, cij es el costo de asignar a un trabajador
(i) a un puesto (j). Esta claro que el numero de trabajadores en este modelo es igual al numero de
puestos porque siempre se pueden agregar ficticios hasta que se cumpla esta regla.

Tal vez el lector se pregunte porque un modelo de asignación de trabajadores se encuentra


bajo el tema de transporte. En realidad, este modelo es lo que se llama caso especial del modelo
de transporte, en el cual los trabajadores son la fuente y los puestos el destino. La cantidad de
oferta en cada fuente, y la cantidad de demanda en cada destino son iguales a 1, es decir, hay 1
puesto que será ocupado por 1 trabajador. Otra forma de entender el modelo es a travez de la
asignación de máquinas para tareas específicas, donde cada trabajo debe ser hecho por una sola
máquina y cada máquina puede realizar un trabajo solamente. En palabras de Munguía y Protti, se
trata de una asignación del tipo cada oveja con su pareja.5

Los problemas de asignación pueden resolverse por la misma técnica de programación lineal
usada en los de transporte, sin embargo, el procedimiento mas eficiente para este tipo de problemas
se conoce como algoritmo húngariano o método húngaro, desarrollado por los húngaros Konig y
Egervary.6

1.3.1 Ejemplo

En un taller se tienen que asignar cuatro trabajos a cuatro maquinas. Los costos de realizar los
diferentes trabajos en las diferentes maquinas están dados en la siguiente tabla:

Tabla 5

El proceso será dividido en los 6 pasos sugeridos por Munguia y Protti:

a) Buscar el elemento mas peque;o de cada renglon y restarlo de los demás elementos del
mismo renglón:

7
Figura 5. Antes y después de realizar el paso a) del método hungaro

b) Restar el elemento mas peque;o de cada columna a todos los elementos de la misma
columna:

Figura 6. Antes y después de realizar el paso b) del método hungaro

c) Determinar si la solución de la figura 4 es la optima. Para esto se traza el minimo


numero de lienas verticales u horizontales, necesario para cubrir todos los ceros. Si el
numero de líneas es igual a n, es decir, el ancho o alto de la tabla. Si el numero de
líneas es igual a n, la solución es optima; si es menor, se debe buscar la solución
optima:

Figura 7. Paso c) del método húngaro

Dado que se necesitaron 3 lineas para cubrir todos los ceros, donde n=4, la solución no es
optima.

8
d) Se selecciona el numero mas peque;o que no este atravesado por una línea. Este valor
se resta a todos los que no están cubiertos por una línea y se suma en la intersección
de dos líneas. En nuestro ejemplo, la figura siguiente es la tabla resultante:

Figura 8. Paso d) del método hungaro

e) Se comprueba si la solución es optima siguiendo el procedimiento descrito en el paso


c), repitiendo hasta llegar a la solución optima:

Figura 9. Paso e) del método húngaro

Dado que se necesitaron 4 lineas para cubrir todos los ceros, donde n=4, la solución de la
figura 7 es optima.

f) Se encuentra la solución optima seleccionando las casillas con costo cero, teniendo
cuidado de respetar las restricciones acerca de hacer una sola asignación por renglón
y columna. Las selecciones quedan de la siguiente manera resaltadas en negrita:

Figura 10. Paso f) del método húngaro

9
Se asignan primero los renglones o columnas que tengan un cero solamente. Cuando hay
la posibilidad de asignar mas de una posición por renglón o columna, la selección se hace
de forma arbitraria, y significa que hay soluciones optimas alternativas.

La interpretación de la solución optima se hace comparando la tabla final con la inicial, donde
se encuentra la distribución de maquinas y trabajos. A cada selección de casilla cero corresponde
un valor en la tabla inicial, el cual es el costo minimo por maquina para realizar el trabajo
correspondiente:

Tabla 6

2 Programacion Entera

De acuerdo a Hillier y Lieberman, una limitación importante de los modelos de programación


lineal anteriores es que las variables de decisión pueden tomar valores no enteros.7 La realidad es
que en muchos casos practicos, las variables de decisión solo tienen sentido real si su valor es
entero, como en el caso de la asignación de personas, maquinas o vehículos. Entonces, la única
diferencia entre un problema de programación lineal y uno de programación entera (PE o PLE) es
la exigencia de valores enteros en la formulación del programa lineal. Si solo es necesario que
algunas de las variables tengan valores enteros, el modelo se conoce como uno de programación
entera mixta (PEM), si no, se dice que se trata de programación entera pura.

2.1 Metodos de Solucion de Programacion Entera

Como mencionan Martinez y Vertiz, para la solución de problemas de PLE se utilizan varios
algoritmos, entre los que destacan el algoritmo de Ralph Gomory o de ramificación y acotamiento,
el de numeración exhaustiva o explicita, el de numeración implícita, el aditivo de Egon Balas y el
de algoritmos heurísticos. En programación entera pura algunos de los algoritmos de solución

10
empleados son: método de plano cortante, algoritmo fraccional de Gomory, algoritmo entero puro
de Gomory, método de ramificación y acotamiento y el algoritmo de Lang-Doig. Para
programación entera binaria los mas utilizados son: método de ramificación y acotamiento, método
aditivo de Egon Balas, método lexicográfico, medoto de Lemke y Spielberg, distancia de
Hamming y retículos, y método de Trubin. En programación entera mixta se usan el algoritmo
entero mixto de Gomory, el algoritmo de Lang-Doig y el método de Benders.8

Los métodos anteriores para la solucion de problemas de programación entera resuelven casos
que se tienen tradicionalmente identificados, tales como el problema de presupuesto de capital,
problema del cargo fijo, y el problema de cobertura de conjunto.

La estrategia de los métodos de solución o algoritmos es la siguiente:9

a) Relajar el espacio de soluciones del programa entero omitiendo la restricción entera


en todas las variables enteras, y sustituyéndola con cualquier variable binaria y que
tenga el intervalo continuo 0 ≤ y ≤ 1. El resultado del relajamiento es un programa
lineal normal.
b) Resolver el programa lineal e identificar su optimo continuo.
c) Iniciar en el punto óptimo e ir agregando restricciones especiales que modifiquen en
forma iterativa el espacio de soluciones del programa lineal, en una forma que al final
produzca un punto extremo que satisfaga los requisitos enteros.

2.2 Metodo de Ramificacion y Acotamiento

Tambien llamado Branch-and-Bound o B&B. en este se considera un conjunto de nodos


abiertos de los que surgirán las ramas del árbol de bifurcación. Este conjunto parte de la solución
del problema de PL original. En un momento dado del proceso, el conjunto de nodos abiertos
queda vacio y, por tanto, finaliza el proceso. El algoritmo en un problema de maximización es el
siguiente:

Zlimite = -∞

a) Resuelva el problema de PL inicial y analice la solución. Si es:


 No factible o infinito: deténgase, no hay solución.

11
 Optima y no se ha violado ninguna restricción: deténgase, la solución es
optima.
 Optima, pero se ha violado alguna restricción: coloque el nodo de solución en
el conjunto de nodos abiertos A y continue.
b) Si existe algún nodo abierto S en el conjunto A, tómelo y continue; en caso contrario,
vaya al paso final (g).
c) Sea z el valor de la función objetivo de S. Si z ≤ zlimite abandone el nodo y regrese al
paso 1.
d) Sea xi la variable de decisión con restricción violada y n el mayor numero entero menor
que xi. Genere dos nuevos problemas de PL, idénticos al que ya se ha resuelto.
Adicione al primero la restricción xi ≤ n y al segundo la restricción xi ≥ n + 1.
e) Para cada uno de los nuevos problemas:
 Resuelvalo
 Analice su solución, según sea:
 Infactible: abandone
 Optima sin restricciones violadas: si z ˃ zlimite, entonces el nodo
solución es la mejor solución encontrada hasta el momento. Hacer zlimite
= z.
 Optima, pero con restricciones violadas: si z ˃ zlimite, este nodo se
coloca en el conjunto A.
f) Volver al paso b).
g) Si zlimite = -∞ no hay solución posible. Si zlimite ˃ -∞, la solución optima existe.

Si el problema es de minimización, basta con cambiar la función objetivo de la siguiente


forma: min z = c’ x por max z = - c’ x y aplicar el mismo algoritmo.

2.2.1 Ejemplo

Maximizar z = 5x1 + 4x2 ; x1 y x2 son enteros no negativos

Sujeta a:

x1 + x2 ≤ 5
10x1 + 6x2 ≤ 45

12
Figura 11. Espacio de soluciones del PLE

Como la solución optima del programa lineal original no satisface los requisitos enteros, el
algoritmo de ramificación y acotamiento modifica el espacio de soluciones para obtener una
solución optima. Entonces, se selecciona una variable cuyo valor optimo en el programa original
no sea entero, si fuera x1 = 3.75, el programa original es reemplazado por dos nuevos programas
que se definen como sigue:

Las nuevas restricciones x1 ≤ 3 y x1 ≥ 4 son mutuamente excluyentes, esta dicotomizacion da


lugar al concepto de ramificación, donde x1 es la variable de ramificación. A continuación de
examinan ambos problemas. En este caso comenzando por x1 ≤ 3 (PL1):

Sujeta a:

x1 + x2 ≤ 5
10x1 + 6x2 ≤ 45
x1 ≤ 3
x1, x2 ≥ 0

13
Figura 12. Espacio de soluciones de PL1 y PL2

Figura 13. Uso de la variable de ramificación (x1) para crear PL1 y PL2

La solución optima de PL1 es la siguiente:

x1 = 3, x2 = 2 y z = 23

Debido a que esta solución satisface los requisitos de ser entero tanto para x1 como x2, se dice
que PL1 esta agotado, es decir, ya no es necesario investigar mas el PL1 porque no puede producir
una solución mejor para el PLE. Sin embargo, no podemos concluir el programa aquí, debido a
que PL2 puede tener una solución al problema mejor que la de PL1.

Hasta este momento se puede decir que z = 23 es una cota inferior del valor objetivo optimo.
Esta es un valor de z de referencia, y el mejor hasta ahora. Todo subproblema que no de un valor
objetivo mejor (mayor) que la cota inferior debe descartarse. En cambio, si un subproblema

14
produce una mejor solución, se debe actualizar la cota inferior para que sea la mejor solución hasta
el momento.

Cuando se examina el PL2 obtenemos una z optima = 23.75. Debido a que no cumple con las
restricciones de una solución entera, queda descartado y se concluye que se ha agotado. Por tanto,
la solución optima del programa es:

x1 = 3, x2 = 2 y z = 23

El lector puede preguntarse a que soluciones hubiéramos llegado si se hubiese seleccionado


como variable de ramificación x2. A continuación se presenta el árbol iterativo para ese caso:

Figura 14. Arbol iterativo de ramificación y acotamiento para PL2

Como puede observarse, la solución optima usando x2 y comenzando por PL2, nos tomaría 6
ramificaciones, y la solución optima en PL5 seria menor a la cota inferior de PL1. La secuencia de
soluciones para PL2 es el peor escenario en el que podemos caer en el algoritmo de ramificación
y acotamiento, y esto constituye la principal debilidad del mismo. A pesar, dice Taha, de las
técnicas heurísticas para “adivinar” cual rama conducirá a la mejor solución del PLE, no hay una

15
teoría firme que siempre produzca resultados consistentes, lo cual constituye la dificultad de los
cálculos en PLE.10

2.3 Metodo del Plano Cortante

Hillier y Lieberman definen un plano cortante en PLE como una restricción funcional que
reduce la región factible para la solución del PL sin eliminar soluciones factibles el problema de
PE original.11 Los autores mencionan que este procedimiento forma parte de un conjunto de
técnicas para generar planos cortantes que tienden a acelerar la rapidez con la que el método de
ramificación y acotamiento puede encontrar una solución optima para un problema PEB pura
(programación entera binaria).

El plano cortante, al igual que el método de ramificación, inicia en la solución optima del PL
original. Al espacio de soluciones se agregan restricciones especiales, llamadas cortes, de forma
que produzcan un punto extremo entero.

2.3.1 Ejemplo

Maximizar z = 9x1 + 5x2 + 6x3 + 4x4 ; xj binaria, para j = 1,2,3,4

Sujeta a:

6x1 + 3x2 + 5x3 + 2x4 ≤ 10


x3 + x4 ≤ 1
-x1 + x3 ≤ 0
-x2 + x4 ≤ 0
Teniendo como solución optima:

x1 = 1, x2 = 1, x3 = 0, x4 = 0, z = 9

Note que las restricciones binarias y la primera restricción juntas implican que:

x1 + x2 + x4 ≤ 2

Esta es una nueva restricción, un plano cortante. Elimina parte factible de las soluciones,
incluyendo la solución optima no entera (5/6, 1, 0, 1), pero no elimina las soluciones enteras
factibles. Cuando se agrega esta cortadura al modelo original, mejora el desempeño del algoritmo
de ramificación y acotamiento, y evita la generación de una iteración innecesaria.

16
2.4 Metodo de Numeracion Implicita Cero-Uno

Hay problemas en PE en los que todas o algunas de las variables de decisión pueden tomar
únicamente los valores 0 o 1, denominados programas 0-1.12 Este método funciona muy bien en
la aplicación del algoritmo de ramificación y acotamiento. El primer algoritmo especial 0-1,
llamado algoritmo aditivo, fue desarrollado en 1965.

El algoritmo según Rios y Mateos, consiste en 5 pasos, los cuales se describen a continuación:

a) Inicializacion. Probar que xi = 1 es factible para el problema entero. Si es asi, es la


solución optima y parar. En caso contrario, determinar una cota inferior para el valor
optimo del objetivo tomando z1 (la primera solución optima) como z0 (la solución
optima original), y una cota superior zs = z(xs) ; xs = (0,1,1…,1), es decir, la cota
resultante de hacer x1 = 0, y las siguientes variables = 1. Si xs es factible, xs es la
solución optima del problema, y parar. En caso contrario, hacer k = 1 y continuar.
b) Ramificacion. Siguiendo las reglas de la ramificación, seleccionar un subproblema de
soluciones factibles y hacer una ramificación, añadiendo restricciones x = binario.
c) Acotacion. Para cada nuevo subproblema, hacer xs igual a la compleción que tiene su
k + 1 primera componente 0 y el resto 1s. A partir de xs determinar la cota superior (zs)
para el valor del objetivo sobre ese subproblema.
d) Sondeo. Analizar cada subproblema comenzando por el que tenga mayor cota superior
y considerar como agotados aquellos que:
 No tiene compleción factible para la solución parcial.
 Si zs ≤ z1
 Si xs es un punto factible
En el ultimo caso, hacer z1 = zs y sondear otros subproblemas.
e) Convergencia. Si todos los subproblemas están agotados, parar, la solución optima
esta dada por el caso 3, donde xs es un punto factible. En otro caso, hacer k = k + 1 y
volver al paso a).

2.4.1 Ejemplo

Maximizar z = x1 + 2x2 + 3x3 + 4x4 ; xj binaria, para j = 1,2,3,4

17
Sujeta a:

-3x1 - 2x2 - x3 + x4 ≤ 1
x1 – x2 + 4x3 + 2x4 ≤ 2
-x2 – x3 + 2x4 ≤ 1
-x2 + x4 ≤ 0

Ya que x = 1 no satisface la segunda restricción, se determina una cota inferior dada por z1 =
z0 = 0, y una cota superior dada por xs = (0,1,1,1), zs = 2 + 3+ 4 = 9.

Se ramifica sobre x1, obteniendo PL1 y PL2, los cuales no están agotados. Se ramifica sobre
PL2 por tener un valor mayor en su cota superior. El PL4 esta agotado dado que se cumple el caso
3, donde xs es un punto factible. Se actualiza la cota inferior con PL4 y pasa a ser z1 = 7. PL3 esta
agotado por la condición 2 debido a que zs ≤ z1.

Volvemos a PL1 para ramificarlo. Esta agotado debido a que zs = 7 ≤ 7 = z1. Por tanto, la
solución optima para el problema transformado es x = (1,1,0,1) ; z = 7. Deshaciendo los cambios
de variable y tomando en cuenta el coeficiente -5 en la función objetivo, la solución del problema
original es x = (1,1,0,1) ; z = 2:

Figura 15. Arbol de ramificación y acotamiento para un problema 0-1

18
Bibliografia
1
Taha H, Investigacion de Operaciones. 7ª Edicion. PEARSON EDUCACION, Mexico,
2004. Pag. 165.

2
Ibid.

3
Ibid. Pag. 204.

4
Ibid. Pag. 196.

5
Munguia U. Lipcia & Protti Q. Maria A, Investigacion de Operaciones. Editorial
Universidad Estatal a Distancia. Pag. 150.

6
Moya N. Marcos J, Investigacion de Operaciones. Transporte y Asignacion. Editorial
Universidad Estatal a Distancia. Pag. 168.

7
Hillier Frederick S. & Lieberman Gerald J, Investigacion de Operaciones. Editorial
McGraw-Hill. 7ª Edicion. 2002. Pag 576.

8
Martinez Iris A, Vertiz Gaston & Lopez Jesus F, Investigacion de Operaciones. Grupo
Editorial Patria. 1ª Edicion Digital. Mexico, 2004. Pag. 112.

9
Taha, Investigacion de Operaciones. Pag. 372.

10
Ibid. Pag. 377.

11
Hillier & Lieberman, Investigacion de Operaciones. Pag. 628.

12
Rios I. Sixto & Mateos C. Alfonso, Investigacion Operativa. Modelos determinísticos y
estocásticos. Editorial Centro de Estudios Ramon Areces. Madrid, España. 2004. Pag. 186.

19

Das könnte Ihnen auch gefallen