Você está na página 1de 25

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

(Universidad del Perú, DECANA DE AMERICA)

FACULTAD DE INGENIERÍA INDUSTRIAL

E.A.P. INGENIERÍA INDUSTRIAL

Tema: Ejercicios en Lingo


Ruta más corta
Flujo máximo
Flujo máximo a costo mínimo
Pert-cpm

Curso: Investigación operativa II

Alumno:

– Espinoza Vargas, Renato de Dios 14170237

Profesor: Zambrano

Horario: Martes (16-18 Hrs.)

Ciudad Universitaria – 2019


RUTA MAS CORTA
PROBLEMA #1
El estado y los administradores a cargo del parque nacional del Manu necesitan
determinar los caminos bajo los cuales se deben tender las líneas telefónicas para que
en un futuro se pueda conectar estaciones para que las personas puedan visitar dicha
reserva, con una longitud mínima de cables de acuerdo a la figura siguiente:

Solución:

!EJERCICIO 1;
SETS:
nodos/1..7/:;
arcos(nodos,nodos):distancia,X;
ENDSETS
DATA:
distancia= 0 2 5 4 0 0 0
2 0 2 0 7 0 0
5 2 0 1 4 3 0
4 0 1 0 0 4 0
0 7 4 0 0 1 5
0 0 3 4 1 0 7
0 0 0 0 5 7 0
;
ENDDATA
!FUNCIO OBJETIVO;
MIN=@SUM(arcos(i,j):distancia*X);

!NODOS DE INICIO;
@for(nodos(i)| i #EQ# 1:
@sum(nodos(j)| distancia(i,j) #NE# 0:X(i,j))-@sum(nodos(j)|
distancia(i,j) #NE#0 :X(j,i))=1);
!NODO DE LLEGADA;
@for(nodos(i)| i #EQ# 7:
@sum(nodos(j)| distancia(i,j) #NE#0 :X(i,j))-@sum(nodos(j)|
distancia(i,j) #NE# 0:X(j,i))=-1);
!NODOS INTERMEDIOS;
@for(nodos(i)| i #NE# 1 #AND# i #NE# 7:
@sum(nodos(j)| distancia(i,j) #NE# 0:X(i,j))-@sum(nodos(j)|
distancia(i,j) #NE#0 :X(j,i))=0);
PROBLEMA #2
Una persona tiene que desplazarse a diario de la ciudad de Lima (representada con la
letra A) a la ciudad de ayacucho (representada con la letra G). Está estudiando cual es
el trayecto más corto usando un mapa de carreteras. Las carreteras y sus distancias
están representadas en la figura siguiente:

Solución:

!EJERCICIO 2;
SETS:
nodos/1..7/:;
arcos(nodos,nodos):distancia,X;
ENDSETS
DATA:
distancia= 0 12 4 0 0 0 0
12 0 0 5 3 0 0
4 0 0 2 0 10 0
0 5 2 0 10 0 0
0 3 0 10 0 0 2
0 0 10 0 0 0 4
0 0 0 0 2 4 0;
ENDDATA
!FUNCIO OBJETIVO;
MIN=@SUM(arcos(i,j):distancia*X);

!NODOS DE INICIO;
@for(nodos(i)| i #EQ# 1:
@sum(nodos(j)| distancia(i,j) #NE# 0:X(i,j))-@sum(nodos(j)|
distancia(i,j) #NE#0 :X(j,i))=1);
!NODO DE LLEGADA;
@for(nodos(i)| i #EQ# 7:
@sum(nodos(j)| distancia(i,j) #NE#0 :X(i,j))-@sum(nodos(j)|
distancia(i,j) #NE# 0:X(j,i))=-1);
!NODOS INTERMEDIOS;
@for(nodos(i)| i #NE# 1 #AND# i #NE# 7:
@sum(nodos(j)| distancia(i,j) #NE# 0:X(i,j))-@sum(nodos(j)|
distancia(i,j) #NE#0 :X(j,i))=0);
PROBLEMA #3

Solución:

!EJERCICIO 3;
SETS:
nodos/1..9/:;
arcos(nodos,nodos):distancia,X;
ENDSETS
DATA:
distancia= 0 4 5 0 0 6 0 0 0
4 0 5 0 8 8 0 0 0
5 5 0 3 4 0 0 0 0
0 0 3 0 0 0 5 0 0
0 8 4 0 0 0 7 5 0
6 8 0 0 0 0 0 7 10
0 0 0 5 7 0 0 0 2
0 0 0 0 5 7 0 0 3
0 0 0 0 0 10 2 3 0;
ENDDATA
!FUNCIO OBJETIVO;
MIN=@SUM(arcos(i,j):distancia*X);

!NODOS DE INICIO;
@for(nodos(i)| i #EQ# 1:
@sum(nodos(j)| distancia(i,j) #NE# 0:X(i,j))-@sum(nodos(j)|
distancia(i,j) #NE#0 :X(j,i))=1);
!NODO DE LLEGADA;
@for(nodos(i)| i #EQ# 9:
@sum(nodos(j)| distancia(i,j) #NE#0 :X(i,j))-@sum(nodos(j)|
distancia(i,j) #NE# 0:X(j,i))=-1);
!NODOS INTERMEDIOS;
@for(nodos(i)| i #NE# 1 #AND# i #NE# 9:
@sum(nodos(j)| distancia(i,j) #NE# 0:X(i,j))-@sum(nodos(j)|
distancia(i,j) #NE#0 :X(j,i))=0);
EJERCICIO 4
La gerencia de una central hidroeléctrica del Cañón del Pato está pensando y
analizando la construcción de una red de comunicación eléctrica para llevar energía a
un pueblo cerca a Yungay. Se tiene conocimiento que hay diversas rutas para hacerlo,
pero debido al presupuesto se está buscando la de menor inversión. Los costos estan
detallados en el siguiente gráfico.

Solución:

!EJERCICIO 4;
SETS:
nodos/1..11/:;
arcos(nodos,nodos):distancia,X;
ENDSETS
DATA:
distancia= 0 4 3 6 0 0 0 0 0 0 0
4 0 0 5 3 0 0 0 0 0 0
3 0 0 4 0 6 0 0 0 0 0
6 5 4 0 2 5 2 0 0 0 0
0 3 0 2 0 0 2 4 0 0 0
0 0 6 5 0 0 1 0 2 5 0
0 0 0 2 2 1 0 2 5 0 0
0 0 0 0 4 0 2 0 2 0 7
0 0 0 0 0 2 5 2 0 3 0
0 0 0 0 0 5 0 0 3 0 4
0 0 0 0 0 0 0 7 8 4 0
;
ENDDATA
!FUNCIO OBJETIVO;
MIN=@SUM(arcos(i,j):distancia*X);

!NODOS DE INICIO;
@for(nodos(i)| i #EQ# 1:
@sum(nodos(j)| distancia(i,j) #NE# 0:X(i,j))-@sum(nodos(j)|
distancia(i,j) #NE#0 :X(j,i))=1);
!NODO DE LLEGADA;
@for(nodos(i)| i #EQ# 11:
@sum(nodos(j)| distancia(i,j) #NE#0 :X(i,j))-@sum(nodos(j)|
distancia(i,j) #NE# 0:X(j,i))=-1);
!NODOS INTERMEDIOS;
@for(nodos(i)| i #NE# 1 #AND# i #NE# 11:
@sum(nodos(j)| distancia(i,j) #NE# 0:X(i,j))-@sum(nodos(j)|
distancia(i,j) #NE#0 :X(j,i))=0);
EJERCICIO 5
La compañía de telefonía celular “BITEL” da servicio a seis ciudades, aunque su señal
no es de la mejor en el mercado, sale menos costoso que la de otros operadores. Las
distancias de satélite (en kilómetros) entre las seis áreas se dan en la figura 6.23.
“Bitel” necesita determinar las rutas más eficientes para enviar los mensajes que
deban establecerse entre cada dos áreas en la red.

Solución:

!EJERCICIO 5;
SETS:
nodos/1..6/:;
arcos(nodos,nodos):distancia,X;
ENDSETS
DATA:
distancia= 0 700 200 0 0 0
700 0 300 200 0 400
200 300 0 700 600 0
0 200 700 0 300 100
0 0 600 300 0 500
0 400 0 100 500 0
;
ENDDATA
!FUNCIO OBJETIVO;
MIN=@SUM(arcos(i,j):distancia*X);

!NODOS DE INICIO;
@for(nodos(i)| i #EQ# 1:
@sum(nodos(j)| distancia(i,j) #NE# 0:X(i,j))-@sum(nodos(j)|
distancia(i,j) #NE#0 :X(j,i))=1);
!NODO DE LLEGADA;
@for(nodos(i)| i #EQ# 6:
@sum(nodos(j)| distancia(i,j) #NE#0 :X(i,j))-@sum(nodos(j)|
distancia(i,j) #NE# 0:X(j,i))=-1);
!NODOS INTERMEDIOS;
@for(nodos(i)| i #NE# 1 #AND# i #NE# 6:
@sum(nodos(j)| distancia(i,j) #NE# 0:X(i,j))-@sum(nodos(j)|
distancia(i,j) #NE#0 :X(j,i))=0);
FLUJO MÁXIMO

EJERCICIO 1
En una ciudad de Huancayo se va a construir una obra que inutilizara vías primarias
durante una temporada. Los ingenieros civiles y arquitectos proponen una red alterna
formada por calles más pequeñas para distribuir el tránsito. Actualmente hay un flujo
de 10 mil autos por hora en las horas pico. ¿La red de desviación tendrá la capacidad
de canalizar este flujo?

Solución:

MODEL :
SETS : NODES/1..6/;
ARCS(NODES,NODES)/ 1,2 1,3 2,5 2,4 3,2 3,5 4,6 5,4 5,6 6,1/: C,X;

ENDSETS

DATA : C=4,6,2,3,3,4,6,1,2,1000;

ENDDATA
!FUNCION OBJETIVO;
MAX =X(6,1);
@FOR (ARCS(I,J): X(I,J) <= C(I,J) );
@FOR (NODES(I): @SUM (ARCS(J,I):X(J,I)) = @SUM (ARCS(I,J):X(I,J)) );
END
EJERCICIO 2
Una compañía Petroperú cuenta con una red de oleoductos que utiliza para
transportar petróleo desde su refinería (fuente) hasta diversos centros de
almacenamiento.

Solución:

MODEL :
SETS : NODES/1..7/;
ARCS(NODES,NODES)/ 1,2 1,4 2,3 2,5 3,2 3,4 3,5 3,6 4,3 4,6 4,7 5,2 5,3 5,7
6,3 6,4 6,7 7,1/: C,X;

ENDSETS

DATA : C=6,6,2,3,2,3,2,2,3,1,2,3,2,5,2,1,5,1000;

ENDDATA
!FUNCION OBJETIVO;
MAX =X(7,1);
@FOR (ARCS(I,J): X(I,J) <= C(I,J) );
@FOR (NODES(I): @SUM (ARCS(J,I):X(J,I)) = @SUM (ARCS(I,J):X(I,J)) );
END
EJERCICIO 3
Una compañía estatal de petróleo cuenta con una red de oleoductos que utiliza para
transportar petróleo desde su refinería R hasta su centro de almacenamiento A, como
se muestra en el siguiente gráfico. Cada arco viene valorado por la capacidad máxima
diaria que se puede enviar, en miles de litros.

a) Determinar el tiempo que se necesita para transportar 600000 litros desde la


refinería al centro de almacenamiento, si cada dia se envía la cantidad máxima
posible.
b) Si la capacidad del arco (2,5) aumenta de 1 a 4, teniendo en cuenta la
distribución de envío obtenido en el apartado a), ¿En cuánto se reducirá el
tiempo obtenido?

Solución:

MODEL :
SETS : NODES/1..7/;
ARCS(NODES,NODES)/ 1,2 1,3 1,4 2,3 2,6 3,4 3,5 3,6 4,5 5,6 5,7 6,7 7,1/:
C,X;
ENDSETS

DATA : C=8,3,9,1,4,2,5,1,10,1,6,12,1000;
ENDDATA
!FUNCION OBJETIVO;
MAX =X(7,1);
@FOR (ARCS(I,J): X(I,J) <= C(I,J) );
@FOR (NODES(I): @SUM (ARCS(J,I):X(J,I)) = @SUM (ARCS(I,J):X(I,J)) );
END

EJERCICIO 4
Considera los flujos de la siguiente red y determina la trayectoria de aumento para el
problema de flujo máximo.

Solución:

MODEL :
SETS : NODES/1..7/;
ARCS(NODES,NODES)/ 1,2 1,3 1,4 2,3 2,6 3,4 3,5 3,6 4,5 5,6 5,7 6,7 7,1/:
C,X;
ENDSETS

DATA : C=8,3,9,1,4,2,5,1,10,1,6,12,1000;
ENDDATA
!FUNCION OBJETIVO;
MAX =X(7,1);
@FOR (ARCS(I,J): X(I,J) <= C(I,J) );
@FOR (NODES(I): @SUM (ARCS(J,I):X(J,I)) = @SUM (ARCS(I,J):X(I,J)) );
END

EJERCICIO 5
Determina la trayectoria de aumento para el ejercicio de flujo máximo asociado a la
siguiente figura:

Solución:

MODEL :
SETS : NODES/1..8/;
ARCS(NODES,NODES)/ 1,2 1,3 1,4 2,5 2,6 3,5 4,5 5,7 5,8 6,5 6,8 7,8 8,1 /: C,X;
ENDSETS

DATA : C=2,3,4,1,2,5,3,6,3,2,2,2,1000;

ENDDATA
!FUNCION OBJETIVO;
MAX =X(8,1);
@FOR (ARCS(I,J): X(I,J) <= C(I,J) );
@FOR (NODES(I): @SUM (ARCS(J,I):X(J,I)) = @SUM (ARCS(I,J):X(I,J)) );
END

FLUJO MÁXIMO A COSTO MÍNIMO


EJERCICIO 1
La empresa del albañil Armando Paredes es una compañía integrada por completo
que produce únicamente material de construcción y los vende en sus propias tiendas.
Después de la producción dichos materiales se colocan en dos almacenes hasta que
las tiendas los necesitan. Se usan camiones para transportar los bienes a los
almacenes y luego a las tres tiendas. Utilice una carga completa de camión como
unidad; la siguiente tabla muestra la producción mensual de cada planta, su costo de
transporte por carga enviada a cada almacén y la cantidad máxima que se puede
enviar al mes a cada uno.

Para cada tienda (T), la siguiente tabla contiene su demanda mensual, si el costo de
transporte por carga desde cada almacén y la cantidad máxima que se puede enviar al
mes desde cada uno.

La administración desea determinar un plan de distribución (número de cargas


enviadas al mes de cada planta a cada almacén y de cada uno de estos a cada tienda)
de modo que se minimice el costo total de transporte.
Formule este problema como un problema de flujo de costo mínimo colocando todos
los datos necesarios.
Solución:
Para la solución del problema, la planta 1, la planta 2, el almacén 1, el almacén 2,
la tienda 1, la tienda 2 y la tienda 3 serán denominados como 1,2,3,4,5,6 y 7,
respectivamente.

!EJERCICIO 1;
SETS:
NODOS/1..7/:REQ;
ARCOS(NODOS,NODOS)/1,3 1,4 2,3 2,4 3,5 3,6 3,7 4,5 4,6 4,7/:CAPACIDAD,FLUJO,COSTO;
ENDSETS
MIN=@SUM(ARCOS:COSTO*FLUJO);
@FOR(ARCOS(I,J):FLUJO(I,J)<CAPACIDAD(I,J));
@FOR(NODOS(I):-@SUM(ARCOS(J,I):FLUJO(J,I))+@SUM(ARCOS(I,J):FLUJO(I,J))=REQ(I));
DATA:
CAPACIDAD=125,150,175,200,100,150,100,125,150,75;
COSTO=425,560,510,600,470,505,490,390,410,440;
REQ=200,300,0,0,-150,-200,-150;
ENDDATA
EJERCICIO 2
Ante una emergencia nacional, el estado peruano cuenta con canales de
comunicación especiales para transmitir mensajes a los entes gubernamentales
pertinentes, cada uno de estos canales posee una capacidad determinada asociada a
la cantidad de mensajes por hora que son capaces de soportar, por otra parte
asociado a estos canales existe un costo que en este caso viene a representar la
inestabilidad del canal(entre mayor sea el número, más inestable es la red y
eventualmente la información se podría perder).
La idea es enviar la mayor cantidad de mensajes de la manera más segura posible y
asi poder ejecutar ordenes, para ello considere la Figura 2, donde cada nodo
representa algún punto de interés (La Moneda, Onemi, Intendencias, etc.), los valores
que aparecen sobre ellos son la cantidad de mensajes que deben salir o llegar a tales
nodos. Por su parte, los arcos poseen dos cantidades [u, c], donde la primera es la
capacidad máxima y la segunda es el costo asociado a enviar un mensaje por ese
arco.
Determine el flujo máximo (a costo mínimo) de la red de la imagen mostrada

Solución:

!EJERCICIO 2;
SETS:
NODES/1..5/:SUPP;
ARCS(NODES,NODES)/1,2 1,3 1,4 2,3 2,4 2,5 3,4 3,5 4,5/:CAP,FLOW,COST;
ENDSETS
MIN=@SUM(ARCS:COST*FLOW);
@FOR(ARCS(I,J):FLOW(I,J)<CAP(I,J));
@FOR(NODES(I):-@SUM(ARCS(J,I):FLOW(J,I))
+@SUM(ARCS(I,J):FLOW(I,J))=SUPP(I));
DATA:
COST=1,2,2,2,3,3,1,1,4;
SUPP=8,7,0,-5,-10;
CAP=12,100000,5,8,11,100000,50,1000000,13;
ENDDATA
END
EJERCICIO 3
Construcción de un Complejo Deportivo
La universidad del Estado está considerando construir un complejo atlético de usos
múltiples dentro de su campo. El complejo proveerá un gimnasio para juegos ínter-
universidades, espacio de oficinas, salones de clases y todos los servicios necesarios
dentro de él. Las actividades que serán emprendidas antes de su construcción se
muestran, con la información necesaria, a continuación:

Red del proyecto:

Solución:

! EJERCICIO 3;
SETS:
actividades/A,B,C,D,E,F,G,H/:tiempo,inicio_mas_temprano,inicio_mas_tarde
,finalizacion_mas_temprano,finalizacion_mas_tarde,holgura;
precd(actividades,actividades)/ A,C B,C C,D C,E E,F E,G D,F G,H F,H /;
endsets

data:
tiempo= 6,8,12,4,6,15,12,8;
enddata
EJERCICIO 4

La compañía SOLO PARA SORDOS S.A. produce aparatos de sonido portátiles. Sin
embargo, la gerencia ha decidido subcontratar la producción de las bocinas necesarias
para dichos aparatos de sonido. Existen tres proveedores. Sus precios por cada
embarque de 100 bocinas se muestran en la siguiente tabla.
Proveedor Precio
1 $ 22,500
2 $ 22,700
3 $ 22,300

Además, cada proveedor cobrará un costo de envío. Cada embarque llegará a uno de
los dos almacenes de la empresa. Cada proveedor tiene su propia fórmula para
calcular este costo según las millas recorridas hasta el almacén. Estas fórmulas y los
datos de las millas se muestran a continuación.

Proveedor Cargo por envío Almacén 1 Almacén 2


1 $300+40c/milla 1600 millas 400 millas
2 $200+50c/milla 500 millas 600 millas
3 $500+20c/milla 2000 millas 1000 millas

Cuando una de las dos fábricas requiere un embarque de bocinas para amenizar los
bailes, contrata un camión para traerlo de los almacenes. El costo por embarque se
presenta en la siguiente columna, junto con el número de embarques por mes que
requiere cada planta.

Costo unitario por


Fábrica 1envíoFábrica 2
Almacén 1 $200 $700
Almacén 2 $400 $500
Demanda 10 6
Mensual

Cada proveedor puede surtir hasta 10 embarques por mes; pero debido a las
limitaciones de transporte, cada uno puede enviar un máximo de sólo 6 embarques por
mes a cada almacén. De manera similar, cada almacén puede enviar hasta 6
embarques por mes a cada fábrica.

Ahora, la administración desea desarrollar un plan mensual para determinar cuántos


embarques (si son necesarios) ordenar a cada proveedor, cuántos de ellos deben ir a
cada almacén y cuántos embarques debe enviar cada almacén a cada fábrica. El
objetivo es minimizar la suma de los costos de compra (incluyendo los cargos de
envío) y los costos de envío desde los almacenes a las fábricas.
Solución:

!EJERCICIO 4;
SETS:
NODOS/1..9/:REQ;
ARCOS(NODOS,NODOS)/1,2 1,3 1,4 2,5 2,6 3,5 3,6 4,5 4,6 5,7 5,8 6,7 6,8 7,9 8,9
/:CAPACIDAD,FLUJO,COSTO;
ENDSETS
MIN=@SUM(ARCOS:COSTO*FLUJO);
@FOR(ARCOS(I,J):FLUJO(I,J)<CAPACIDAD(I,J));
@FOR(NODOS(I):-@SUM(ARCOS(J,I):FLUJO(J,I))+@SUM(ARCOS(I,J):FLUJO(I,J))=REQ(I));
DATA:
CAPACIDAD=10,10,10,6,6,6,6,6,6,6,6,6,6,10,6;
COSTO=22500,22700,22300,940,460,450,500,900,700,200,700,400,500,0,0;
REQ=16,0,0,0,0,0,0,0,-16;
ENDDATA
EJERCICIO 5
La empresa cristiana, COLABORAME PE S.A. cuenta con algunas iglesias de
almacenamiento de sorgo (1, 2, 3) que distribuye a sus tres granjas porcinas, la
capacidad recolección de cada bodega es de 100000, 200000 y 50000 costales de
sorgo, la demanda en las tres granjas (A, B, C) es de 150000, 80000 y 120000
costales de alimento. En la empresa COLABORAME PE S.A. la mayoría de las veces
utiliza ferrocarriles para transportar el sorgo a las granjas, con excepción de tres rutas
en las cuales se utilizan camiones. En la siguiente red se muestran las rutas
disponibles y sus costos entre las bodegas y las granjas.

Solución:
Para la solución del problema, las granjas A, B y C, serán reemplazadas por 4, 5 y
6, respectivamente.

!EJERCICIO 5;
SETS:
NODOS/1..6/:REQ;
ARCOS(NODOS,NODOS)/1,2 1,3 1,4 2,3 2,5 3,4 3,5 4,6 5,6 /:CAPACIDAD,FLUJO,COSTO;
ENDSETS
MIN=@SUM(ARCOS:COSTO*FLUJO);
@FOR(ARCOS(I,J):FLUJO(I,J)<CAPACIDAD(I,J));
@FOR(NODOS(I):-@SUM(ARCOS(J,I):FLUJO(J,I))+@SUM(ARCOS(I,J):FLUJO(I,J))=REQ(I));
DATA:
CAPACIDAD=100000, 100000, 80, 10000,10000,120,1000000,120, 100000;
COSTO=3,4,1,5,6,0,2,2,4;
REQ=100,200,50,-150,-80,-120;
ENDDATA
PERT-CPM
EJERCICIO 1
Aplicación de un nuevo procedimiento para revisión de equipaje en los aeropuertos.
Solución:

!EJERCICIO 1;
SETS:
actividades/I,A,B,C,D,E,F,T/:tiempo,inicio_mas_temprano,inicio_mas_tarde,finalizac
ion_mas_temprano,finalizacion_mas_tarde,holgura;
precd(actividades,actividades)/ I,D I,F D,B F,C F,E C,A E,T B,T A,T /;
endsets
data:
tiempo= 0,2,4,3,4,8,2,0;
enddata
@for(actividades(j)|j #GT# 1:
inicio_mas_temprano(j)=@max(precd(i,j):inicio_mas_temprano(i)+tiempo(i)));
@for(actividades(j):
finalizacion_mas_temprano(j)= inicio_mas_temprano(j)+tiempo(j));

@for(actividades(i)|i #LT# ultima_actividad:


inicio_mas_tarde(i)=@min(precd(i,j):inicio_mas_tarde(j)-tiempo(i)));
@for(actividades(i):
finalizacion_mas_tarde(i)= inicio_mas_tarde(i)+tiempo(i));
@for(actividades(i): holgura(i)=inicio_mas_tarde(i) - inicio_mas_temprano(i));
inicio_mas_temprano(1)=0;
inicio_mas_tarde(ultima_actividad)=inicio_mas_temprano(ultima_actividad);
!tiempo del proyecto;
duracion_del_proyecto = finalizacion_mas_tarde(ultima_actividad);
end

EJERCICIO 2

SOLUCION:
SETS:
actividades/IN,A,B,C,D,E,F,G,H,I,J,K,L,M,N,T/:tiempo,inicio_mas_temprano,inicio
_mas_tarde,finalizacion_mas_temprano,finalizacion_mas_tarde,holgura;
precd(actividades,actividades)/IN,A IN,B A,D A,C B,E C,E C,H D,F E,G F,G G,I
H,J I,N J,L J,K K,M L,T M,T N,T/;
endsets
data:
tiempo= 0 2 4 3 1 2 1 1 2 2 1 2 2 2 2 2;
enddata
@for(actividades(j)|j #GT# 1:
inicio_mas_temprano(j)=@max(precd(i,j):inicio_mas_temprano(i)+tiempo(i)));
@for(actividades(j):
finalizacion_mas_temprano(j)= inicio_mas_temprano(j)+tiempo(j));
@for(actividades(i)|i #LT# 16:
inicio_mas_tarde(i)=@min(precd(i,j):inicio_mas_tarde(j)-tiempo(i)));
@for(actividades(i):
finalizacion_mas_tarde(i)= inicio_mas_tarde(i)+tiempo(i));
@for(actividades(i): holgura(i)=inicio_mas_tarde(i) - inicio_mas_temprano(i));

inicio_mas_tarde(16)=inicio_mas_temprano(16);
!timepo del proyecto;
duracion_del_proyecto = finalizacion_mas_tarde(16);
end

EJERCICIO 3
SOLUCION:

SETS:
EJERCICIO 4
actividades/IN,A,B,C,D,E,F,G,H,I,T/:tiempo,inicio_mas_temprano,inicio_mas_ta
rde,finalizacion_mas_temprano,finalizacion_mas_tarde,holgura;
precd(actividades,actividades)/IN,A IN,B IN,C A,D A,E B,G B,F C,I D,H E,G
E,F F,H G,I H,T I,T/;
endsets
data:
tiempo= 0 60 70 100 90 30 40 0 50 50 0;
enddata
@for(actividades(j)|j #GT# 1:
inicio_mas_temprano(j)=@max(precd(i,j):inicio_mas_temprano(i)+tiempo(i)));
@for(actividades(j):
finalizacion_mas_temprano(j)= inicio_mas_temprano(j)+tiempo(j));
SOLUCION:

EJERCICIO 5

SETS:
actividades/IN,A,B,C,D,E,F,G,H,I,J
,K,L,M,N,P,T/:tiempo,inicio_mas_temprano,inicio_mas_tarde,finalizacion_mas_
temprano,finalizacion_mas_tarde,holgura;
precd(actividades,actividades)/IN,A IN,B A,C A,D B,D B,E C,F D,F E,G F,H
G,H H,J H,I I,K I,L J,M K,N L,P M,P N,T P,T/;
endsets
SOLUCION:

SETS:
actividades/IN,A,B,C,D,E,F,G,T/:tiempo,inicio_mas_temprano,inicio_mas_tarde
,finalizacion_mas_temprano,finalizacion_mas_tarde,holgura;
precd(actividades,actividades)/IN,A IN,B A,C B,F C,D D,E E,F E,G F,G G,T/;
endsets
data:
tiempo= 0 10 7 5 3 2 1 14 0;
enddata

@for(actividades(j)|j #GT# 1:
inicio_mas_temprano(j)=@max(precd(i,j):inicio_mas_temprano(i)
+tiempo(i)));
@for(actividades(j):
finalizacion_mas_temprano(j)= inicio_mas_temprano(j)+tiempo(j));
@for(actividades(i)|i #LT# 9:
inicio_mas_tarde(i)=@min(precd(i,j):inicio_mas_tarde(j)-tiempo(i)));
@for(actividades(i):
finalizacion_mas_tarde(i)= inicio_mas_tarde(i)+tiempo(i));
@for(actividades(i): holgura(i)=inicio_mas_tarde(i) -
inicio_mas_temprano(i));
inicio_mas_tarde(9)=inicio_mas_temprano(9);
!timepo del proyecto;
duracion_del_proyecto = finalizacion_mas_tarde(9);
end

Você também pode gostar