Sie sind auf Seite 1von 12

Primera entrega de COMPO 5 – 16/04/2020

Carmen Sánchez Pérez. Grado en Física

1. Ejercicio Método PERT: ENSAMBLISA

Calcular:

a) Tabla de Prelaciones

La tabla de prelaciones, que permite organizar los datos del enunciado estableciendo una
relación entre las distintas tareas, contiene la información necesaria para construir el grafo
PERT, formado por nodos y flechas.

Tareas K,
I, M.
inmediatamente - - - C A A B B E F D G H L,
J N
Anteriores O
Tareas A B C D E F G H I J K L M N O P
Tareas
E, G,
inmediatamente D L I J M N K K P P O O P -
F H
Posteriores

Página 1 de 12
b) Matriz de encadenamiento
La matriz de encadenamiento muestra nuevamente la relación entre las distintas tareas:

A B C D E F G H I J K L M N O P
A X X
B X X
C X
D X
E X
F X
G X
H X
I X
J X
K X
L X
M X
N X
O X
P

c) Jerarquía de actividades
Para ordenar los distintos nodos y facilitar la representación del grafo, se clasifican las
actividades en niveles, tal y como muestra la siguiente tabla:

Nivel A B C D E F G H I J K L M N O P
1 0 0 0 1 1 1 1 1 1 1 2 1 1 1 2 3
2 0 0 0 0 0 1 1 2 1 1 1 2 3
3 0 0 1 0 0 0 1 3
4 0 0 1
5 0

Así pues, el Grafo PERT quedaría:

Página 2 de 12
Este grafo PERT puede descomponerse en grafos parciales

Hay 13 grafos parciales en este caso

Este grafo PERT constituido por 13 grafos parciales, formados a su vez cada uno de ellos
por un nodo y flechas. Los nodos representan los distintos estados o situaciones mientras
que las flechan representan las diferentes tareas o actividades del proyecto. Así, el primer
nodo representa el estado de comienzo del proyecto del cual parten las flechas de las tareas
A, B y C, a las cuales no precede ninguna otra. Del mismo modo, el último nodo representa
la situación en la que finaliza el proyecto y en él acaban las tareas que no preceden a
ninguna otra, únicamente la tarea P en este caso. Asimismo, puede verse que los grafos
parciales 2, 5, 6, 8, 9 y 10 presentan prelaciones lineales, los grafos parciales 7, 11 y 12

Página 3 de 12
exhiben prelaciones de convergencia y los grafos parciales 3 y 4 las prelaciones son de
divergencia.

Cabe mencionar que la numeración de los nodos se ha llevado a cabo siguiendo las
directrices estudiadas en teoría y en algunos casos, el número de nodo no tiene por qué
coincidir con la numeración de los grafos parciales; por ejemplo, el grafo parcial 8 está
formado por el nudo 7 y las flechas de las actividades D y L.

d) Tabla de holguras
Las tareas que no son críticas tienen cierto margen, u holgura, en su ejecución. El tamaño
de la holgura dependerá del momento en el que se alcanza el nodo de origen y de cuando se
llega al de destino. Las holguras se clasifican en varios tipos:
- Holgura de un suceso: es la diferencia entre los tiempos Last y Early de dicho suceso.
Indica el tiempo que puede retrasarse un suceso sin que se retrase el proyecto
𝐻𝑆 = 𝑡𝑖∗ − 𝑡𝑖
- Holgura total 𝐻𝑇: indica el tiempo que puede retrasarse la realización de una actividad
con respecto al tiempo PERT previsto sin que la duración total de proyecto experimente
un retraso
𝐻𝑇 = 𝑡𝑗∗ − 𝑡𝑖 − 𝑡𝑖𝑗
Si una actividad consume parte o la totalidad de su holgura, puede disminuir la 𝐻𝑇 de
la actividad siguiente. Aquellas actividades con 𝐻𝑇 = 0 se denominan actividades
críticas, y el camino que constituyen del suceso inicial al final se llama camino crítico.
Los retrasos en estas tareas no críticas pueden dar lugar a nuevos caminos críticos, y,
además, en un proyecto puede haber más de un camino crítico
- Holgura libre 𝐻𝐿 : representa la parte de la holgura total que puede ser consumida por
una actividad sin afectar a las tareas siguientes:
𝐻𝐿 = 𝑡𝑗 − 𝑡𝑖 − 𝑡𝑖𝑗
- Holgura independiente 𝐻𝐼 : indica la cantidad de holgura disponible después de haber
realizado la actividad, si todas las tareas del proyecto han comenzado a sus tiempos
Last:
𝐻𝐼 = 𝑡𝑗 − 𝑡𝑖∗ − 𝑡𝑖𝑗

Donde el tiempo más pronto posible (Early) de un suceso 𝑗, 𝑡𝑗, se define como 𝑡𝑗 =
max(𝑡𝑖 + 𝑡𝑖𝑗 ) , ∀𝑖; el tiempo Early de un nodo es la duración del camino más largo que
conduce desde el nodo inicial a dicho nodo. Por otro lado, el tiempo más tarde permisible
(Last) de un suceso 𝑖, 𝑡𝑖∗, se define como 𝑡𝑖∗ = min (𝑡𝑗∗ − 𝑡𝑖𝑗 ) , ∀𝑗; el tiempo Last de un nodo
es el momento más tardío en que es admisible llegar a la correspondiente situación de dicho
nodo de manera que no se retrase la ejecución del proyecto sobre el mínimo imprescindible.

Además, 𝑡𝑖𝑗 es la duración de las actividades. En general, los tiempos Last de una tarea
determinada se diferenciarán de los tiempos Early mediante un *.

Página 4 de 12
Para proceder al cálculo de holguras en este caso, nos han proporcionado las duraciones
previstas de las distintas actividades 𝑡𝑖𝑗.

Con las duraciones pasamos a calcular los tiempos Early y Last de cada actividad

Finalmente, determinamos las holguras tal y como explicamos anteriormente:

Tarea 𝒕𝒊𝒋 𝒕𝒊 𝒕∗𝒊 𝒕𝒋 𝒕∗𝒋 𝑯𝑻 𝑯𝑳 𝑯𝑰


A 1 0 0 1 1 0 0 0
B 1 0 0 1 2 1 0 0
C 1 0 0 1 4 3 0 0
D 2 1 4 3 6 3 0 -3
E 3 1 1 4 4 0 0 0
F 2 1 1 3 4 1 0 0
G 1 1 2 2 4 2 0 -1
H 2 1 2 3 4 1 0 -1
I 1 4 4 5 5 0 0 0
J 1 3 4 5 5 1 1 0
K 2 5 5 7 7 0 0 0
L 1 3 6 7 7 3 3 0
M 2 2 4 5 6 2 1 -1
N 2 3 4 5 6 1 0 -1
O 1 5 6 7 7 1 1 0
P 2 7 7 9 9 0 0 0

Página 5 de 12
Como puede apreciarse, no hay ninguna holgura independiente que toma un valor superior
a cero. Los valores negativos reflejan escasez de tiempo para que puedan cumplirse ciertas
tareas cuando todas las demás actividades no críticas se realizan en su tiempo Last. Vemos
que, dada la premura existente en su ejecución, si se desea evitar que el trabajo se retrase
sobre el mínimo previsto, nunca hay holguras en las tareas A, B y C; las tres holguras valen
siempre cero en esas tareas.

Además, podemos ver que no es posible terminar el proyecto en menos de 9 unidades de


tiempo ya que el tiempo Early del último nodo vale 9. El tiempo Last en el último nodo ha
de ser igual al del Early porque en ese nodo se termina el proyecto.

Por último, puede observarse que el camino crítico, que es aquel formado por las actividades
críticas, caracterizadas por tener una holgura total igual a cero es: A-E-I-K-P.

2. Ejercicio LINGO

Denotamos como:
𝑥 = Euros invertidos en acciones de tipo A
𝑦 = Euros invertidos en acciones de tipo B

0 ≤ 𝑥 ≤ 9000
𝑦 ≥ 3000
Las restricciones establecidas son: { 𝑥 ≥𝑦
𝑥 + 𝑦 ≤ 15000
La función objetivo a maximizar es 𝑧 = 𝑓(𝑥, 𝑦) = 0.09𝑥 + 0.05𝑦

Nos han indicado que resolvamos el problema de tres maneras diferente: Gráficamente,
haciendo uso del método SIMPLEX y utilizando el software LINGO.

i) Gráficamente

Para resolverlo, representamos las distintas restricciones en una misma gráfica y evaluamos
la función 𝑧 para los distintos puntos correspondientes a los vértices de la región encerrada
por todas ellas (región factible) y vemos cuando se hace máxima.

Así pues, gráficamente:

Página 6 de 12
La región factible es la sombreada
Sustituyendo las coordenadas de cada uno de los puntos A, B, C y D en la función 𝑧, se
obtiene:

𝐴(3000, 3000) = 0.09 ∙ 3000 + 0.05 ∙ 3000 = 420


𝐵(9000, 3000) = 0.09 ∙ 9000 + 0.05 ∙ 3000 = 960
𝑧 = 𝑓 (𝑥, 𝑦) = 0.09𝑥 + 0.05𝑦: {
𝐶(9000, 6000) = 0.09 ∙ 3000 + 0.05 ∙ 6000 = 1110
𝐷 (7500, 7500) = 0.09 ∙ 7500 + 0.05 ∙ 7500 = 1050

Como puede verse, el valor máximo de 𝑧 se obtiene al invertir 9000 en acciones de tipo A
y 6000 en acciones de tipo B, siendo el beneficio máximo de 1110 euros.

ii) Método SIMPLEX

Para usar este método lo primero que hay que hacer es reescribir las restricciones de forma
que sólo tengamos condiciones del tipo menor o igual y añadimos las variables ℎ 𝑖 de forma
que las desigualdades se transformen en igualdades (excluyendo las CNN). Así pues, queda:

Página 7 de 12
Hacemos 𝑧𝑚𝑎𝑥 − 0.09𝑥 − 0.05𝑦 + 0ℎ1 + 0ℎ 2 + 0ℎ 3 + 0ℎ 4 = 0

Y se construye la Tabla SIMPLEX:

Variables
𝑧 𝑥 𝑦 ℎ1 ℎ2 ℎ3 ℎ4 Solución
Básicas
𝑧 1 -0.09 -0.05 0 0 0 0 0 𝑅0
ℎ1 0 1 1 1 0 0 0 15000 𝑅1
ℎ2 0 1 0 0 1 0 0 9000 𝑅2
ℎ3 0 -1 1 0 0 1 0 0 𝑅3
ℎ4 0 0 -1 0 0 0 1 -3000 𝑅4

Primero se identifica el pivote en la celda en la que se intersectan el renglón de h1 con la


columna de ℎ1 Se asocia el valor de la columna “Solución” con la variable del mismo renglón
de la columna de variables básicas, esto es ℎ1 = 15000. De manera similar, para el resto
de las variables y para 𝑧, se obtiene: 𝑧 = 0, ℎ 2 = 9000, ℎ 3 = 0, ℎ 4 = −3000. Estos valores
corresponderían a los de una la primera solución.

Sin embargo, vemos que no todos los coeficientes asociados al renglón de 𝑧 son
mayores o iguales a cero. De estos coeficientes, se toma el que tenga el mayor valor negativo
(número menor), que en este caso es -0.09 y se selecciona su columna. La variable de esta
columna, 𝑥, es la que entra al sistema.

Se divide el coeficiente de la columna “Solución” entre el elemento


correspondiente de la columna seleccionada en el punto anterior, y de los resultados de la
división se selecciona el menor valor positivo y todo el renglón asociado a este valor. Ésta
es la variable que sale de la base. Hay que tener en cuenta que las divisiones entre cero o
entre números negativos no se toman en cuenta. Si todas son negativas o indeterminadas,
el problema no tiene solución y el proceso termina. Pero en este caso, vemos que 9000/1 =
9000 es el menor número y, por tanto, se selecciona el 𝑅 2. En la intersección entre la
columna y el renglón seleccionados, se encuentra el pivote (sombreado en verde):

Variables
𝑧 𝑥 𝑦 ℎ1 ℎ2 ℎ3 ℎ4 Solución
Básicas
𝑅0 𝑧 1 -0.09 -0.05 0 0 0 0 0
𝑅1 ℎ1 0 1 1 1 0 0 0 15000 15000/1
𝑅2 ℎ2 0 1 0 0 1 0 0 9000 9000/1
𝑅3 ℎ3 0 -1 1 0 0 1 0 0
𝑅4 ℎ4 0 0 -1 0 0 0 1 -3000

Página 8 de 12
La nueva Tabla SIMPLEX es entonces:

Variables
𝑧 𝑥 𝑦 ℎ1 ℎ2 ℎ3 ℎ4 Solución
Básicas
𝑅0 + 0.09𝑅2 𝑧 1 0 -0.05 0 0.09 0 0 810
𝑅1 − 𝑅 2 ℎ1 0 0 1 1 -1 0 0 6000 6000/1
𝑥 0 1 0 0 1 0 0 9000 9000/1
𝑅3 + 𝑅2 ℎ3 0 0 1 0 1 1 0 9000 9000/1
ℎ4 0 0 -1 0 0 0 1 -3000

Como todavía se tiene un número negativo en el renglón de 𝑧, −0.05, aplicamos el mismo


procedimiento otra vez. Vemos ahora que el menor valor es 6000/1=6000, el pivote se ha
señalado en verde nuevamente y procedemos a calcular la nueva tabla SIMPLEX, siendo
ahora la variable que entra 𝑦 y la variable que sale es ℎ1 :

Variables
𝑧 𝑥 𝑦 ℎ1 ℎ2 ℎ3 ℎ4 Solución
Básicas
𝑅0 + 0.05𝑅1 𝑧 1 0 0 0.05 0.04 0 0 1110
𝑅 3 − 𝑅1 𝑦 0 0 1 1 -1 0 0 6000
𝑥 0 1 0 0 1 0 0 9000
𝑅 4 + 𝑅1 ℎ3 0 0 0 -1 2 1 0 3000
ℎ4 0 0 0 1 -1 0 1 3000

Como ahora 𝑅0 no tiene ningún valor negativo, paramos aquí el algoritmo. La solución
entonces sería:

𝑧 = 𝑓(𝑥, 𝑦) = (9000, 6000) = 1110

Que son los mimos resultados que se obtuvieron resolviendo el ejercicio gráficamente: el
valor máximo de 𝑧 se obtiene al invertir 9000 en acciones de tipo A y 6000 en acciones de
tipo B, siendo el beneficio máximo de 1110 euros.

iii) LINGO

Utilizando el software LINGO, resolvemos el problema de forma sencilla. Para ello,


utilizamos el siguiente script:

Tras ejecutar el script mediante el botón Solver, se obtienen 2 pantallas:

La primera de ellas es la ventana del estado:

Página 9 de 12
La cual nos indica el tipo de modelo que se ha usado en la resolución del problema, LP en
este caso (siglas correspondientes al método de programación lineal); el “State: Global Opt”
nos indica que LINGO ha obtenido un óptimo global, con objetivo 1110. También nos da
información acerca del número de iteraciones realizadas hasta encontrar la solución, 2 en
este caso. Además, cabe destacar que también puede verse que hay un total de 2 variables
y de 5 constraints (correspondientes a nuestras 4 restricciones junto con la función objetivo)

La otra ventana es el Reporte de solución (Solution Report):

Página 10 de 12
Esta segunda ventana, vuelve a mostrar la función a estudio se maximiza para el valor de
1110 y que este resultado fue encontrado en sólo dos iteraciones. Asimismo, incluye el
número de variables y restricciones entre otros datos presentados ya en la ventana del
estado. Como novedad, esta ventana incluye los valores obtenidos para las variables x e y
que maximizan la función objetivo. El Reduced cost indica lo que empeoraría la función
objetivo, es decir, lo que disminuiría el beneficio máximo obtenido de 1110, si en lugar de
a ver exigido que la variable correspondiente fuera no negativa, por ejemplo, si en vez de
0 ≤ 𝑥, hubiéramos exigido 1 ≤ 𝑥. Como el coste reducido en nuestro problema es 0 para
ambas variables, esto implica que, aunque exigiéramos 1 ≤ 𝑥 o 1 ≤ 𝑦, seguiríamos
invirtiendo 9000 euros en las acciones de A y 6000 euros en las acciones de B, con lo que
la solución sería la misma y el beneficio obtenido de las inversiones no variaría.

Por otro lado, la columna Dual Price indica lo que indica lo que mejorará la función
objetivo, es decir, lo que aumentaría el beneficio máximo obtenido de 1110 por cada unidad
que pudiéramos aumentar el término independiente de la restricción correspondiente. En
este caso, para las restricciones de la fila 2 y la fila 4, son valores muy pequeños, del orden
de 10−2 , que comparado con los valores de las inversiones de 9000 y 6000, es prácticamente
despreciable.

Por su parte, la columna Slack contiene en la primera fila el valor óptimo de la función
objetivo, 1110 euros, que es el beneficio máximo que podemos obtener con las inversiones.
El resto de las filas contienen cada una la variable de holgura asociada a su restricción, que
no es más que la diferencia entre el valor que toma la restricción y el valor máximo o
mínimo que puede tomar. En este caso, las holguras correspondientes a las restricciones de
la fila 2 y la fila 4 son 0, esto quiere decir que no podemos invertir más de los 15000 euros
de los que disponemos ni invertir más de 9000 en las acciones de A, pues estas son
restricciones críticas. Las holguras tanto de la fila 3 como de la 5 tienen un valor de 3000,
esto significa que de los 150000 euros que disponemos para invertir, el beneficio máximo se
obtiene sin necesidad de invertir todo el dinero y que, a pesar de que se exige un mínimo
de inversión de 3000 euros en B, para maximizar el beneficio, invertimos 3000 más, es decir
6000, por lo que tenemos un margen de 3000 euros en esa ligadura.

En conclusión, el valor máximo de la función objetivo se obtiene al invertir 9000 en acciones


de tipo A y 6000 en acciones de tipo B, siendo el beneficio máximo de 1110 euros.

Por último, procedemos a realizar un análisis de sensibilidad de los resultados mediante el


comando Range, obteniendo lo siguiente:

Página 11 de 12
La primera tabla, Objective Coefficient Ranges, contiene, en su primera columna, el
coeficiente de la función objetivo de la variable correspondiente, y en las otras dos columnas
lo que puede aumentar y lo que puede disminuir dicho coeficiente para que la solución
óptima siga siendo la misma. En nuestro caso, invertir en las acciones A nos proporciona
un interés de 0.09; el INFINITY de la segunda columna significa que por mucho que
invirtamos en ella, la solución óptima seguirá siendo la misma, mientras que el 0.04 de la
tercera columna implica que mientras el interés de inversión en A no disminuya de dicho
valor, la solución también seguirá siendo la óptima.

Por otro lado, invertir en las acciones B nos proporciona un interés de 0.05; el 0.04 de la
segunda columna significa que por mucho que invirtamos en ella, la solución óptima seguirá
siendo la misma, mientras que el 0.05 de la tercera columna implica que mientras el interés
de inversión en B no disminuya de dicho valor, la solución también seguirá siendo la óptima.

La segunda tabla contiene, en su primera columna, el término independiente de la


restricción correspondiente, y en las otras dos columnas lo que puede aumentar y lo que
puede disminuir dicho coeficiente para que la solución óptima tenga las mismas variables
básicas. Mientras el término independiente se mantenga en el rango indicado, las variables
(incluidas las de holgura) que en la solución óptima valen 0 seguirán tomando el valor 0.
En este caso, las variables de holgura que valen 0 son las de las restricciones de la fila 2
(𝑥 + 𝑦 ≤ 15000) y la de la fila 4 (𝑥 ≤ 9000), por lo tanto, disponemos de 15000 euros en
total para invertir, y mientras esa cantidad disponible no aumente o disminuya en más de
3000 euros, seguirá sin convenir invertir más o menos en las acciones. De la misma forma
ocurre para el resto de las restricciones: Decidimos invertir 9000 euros en las acciones de
A, y mientras esa cantidad no disminuya en 1500 euros o aumente en 3000 euros y de los
6000 euros que decidimos invertir en B, no aumenten en 3000 euros, la solución óptima
seguirá siendo la misma.

Página 12 de 12

Das könnte Ihnen auch gefallen