Titular Capítulo

QRD[G,KR,I,T] where (I8383) and (I1313) and. (I5555) and (cmp0) AND (TipoT=1). {Cantidad a pedir al proveedor i mediante Rutas en el período t}.
686KB Größe 13 Downloads 89 vistas
Anexo II IMPLEMENTACIÓN DE LOS MODELOS PROPUESTOS EN MPL 1.

Enfoque de planificación integrado: MRP_IV_1 Periodo t=1…10 ............AII-2

2.

Enfoque de planificación integrado: MRP_IV_2 Periodo t=6…15 ..........AII-12

3.

Enfoque de planificación integrado: MRP_IV_3 Periodo t=11…20 ........AII-22

4.

Enfoque de planificación integrado: MRP_IV_4 Periodo t=16…25 ........AII-32

5.

Enfoque de planificación integrado: MRP_IV_5 Periodo t=21…30 ........AII-42

6.

Enfoque de planificación secuencial: MRPDet_1 Periodo t=1…10 .........AII-52

7.

Enfoque de planificación secuencial: MRPDet_2 Periodo t=6…15 .........AII-57

8.

Enfoque de planificación secuencial: MRPDet_3 Periodo t=11…20 .......AII-62

9.

Enfoque de planificación secuencial: MRPDet_4 Periodo t=16…25 .......AII-67

10. Enfoque de planificación secuencial: MRPDet_5 Periodo t=21…30 .......AII-72 11. Enfoque de planificación secuencial: FTL_1 Periodo t=1…10 ................AII-77 12. Enfoque de planificación secuencial: FTL_2 Periodo t=6…15 ................AII-80 13. Enfoque de planificación secuencial: FTL_3 Periodo t=11…20 ..............AII-83 14. Enfoque de planificación secuencial: FTL_4 Periodo t=16…25 ..............AII-86 15. Enfoque de planificación secuencial: FTL_5 Periodo t=21…30 ..............AII-89 16. Enfoque de planificación secuencial: Rutas_1 Periodo t=1…10 ..............AII-92 17. Enfoque de planificación secuencial: Rutas_2 Periodo t=6…15 ..............AII-98 18. Enfoque de planificación secuencial: Rutas_3 Periodo t=11…20 ..........AII-105 19. Enfoque de planificación secuencial: Rutas_4 Periodo t=16…25 ..........AII-112 20. Enfoque de planificación secuencial: Rutas_5 Periodo t=21…30 ..........AII-118

MRP IV: Planificación de requerimientos de materiales cuarta generación

1. Enfoque de planificación integrado: MRP_IV_1 Periodo t=1…10 {Modelo MRP_IV: Múltiples productos finales y componentes con demanda dependiente; costes lineales de producción, mantenimiento de inventarios y retraso de la demanda; tiempos de suministro; reprogramación de la demanda; y restricciones de capacidad de producción; Modos de tranporte camión completo y rutas multiperiodo de inicio abierto y final en planta de producción; Camiones disponibles ilimitados con capacidad máxima} {(c) Manuel Díaz-Madroñero 2014} TITLE MRP_IV_1; OPTIONS DatabaseType=ODBC; DatabaseODBC="MRP_MPL_HOR"; INDEX {Elementos} I:=DATABASE("Items", "Ic"); {Conjunto de productos finales, proveedores, y nodo virtual} S:=DATABASE("Items", "Sc"); {Conjunto de productos finales, proveedores, y nodo virtual} TR:=DATABASE("TR", "TR"); {Conjunto de proveedores, nodo planta y nodo ra determinar rutas} T:=(1..10); {Conjunto de períodos de tiempo} J:=DATABASE("BomPGS2", "Jc"); {Conjunto de productos finales} R:=DATABASE("Rutas", "Ir"); {Conjunto de recursos} G:=DATABASE("Grupos", "G"); {Conjunto de grupos de productos finales que proveedor} K:=(1..100);

AII-2

nodo planta nodo planta virtual pa-

sirve cada

Anexo II: Implementación de los modelos propuestos en MPL

{Conjunto de camiones completos FTL por periodo} KR:=(1..15); {Conjunto de camiones para realizar rutas para todo el horizonte de planificación} A:=(1); {Índice auxiliar para referenciar parámetros en base de datos} DATA {Demanda. Tiempos de suministro y datos de períodos anteriores} Tfinal:=last(T)+1; d[I,T] :=DATABASE("Demanda", "D", where T RBI4_: INVTC[G,I,T-1]+sum(K:QRF[G,I,K,TTS])+sum(KR:QRD[G,I,KR,T-TS])+RPFpp+RPRppINVTC[G,I,T]=SUM(J: APG*P[I:=J]); {Balance del inventario del componente i en los períodos siguientes} RRecursosDisponibles[I,R,T] where (I=8383) or (I=1313) or (I=5555)-> RRD: SUM(I: P*AR)+Toc[R,T]-Tex[R,T]=CAP[R]; {Disponibilidad de los recursos} Rcoberturaf[G,I,T] : INVTC>=SS; {Cumplimiento de stock de seguridad} !******Restricciones FTL***************************** RCargaProveedorFTL[I,S,K,T] where (I8383) and (I1313) and (I5555): TRF=SUM(G:tam*QRF); {Dimensión de la carga recogida en cada proveedor en FTL} RCargaProveedorcamionMaxFTL[I,K,T,A] where (I8383) and (I1313) and (I5555): TRF RBI4_: INVTC[G,I,T-1]+QRF+QRD+ sum(K:RPFpp)+ sum(KR:RPRpp)+sum(K:RPF2pp)-INVTC[G,I,T]=SUM(J: APG*P[I:=J]); {Balance del inventario del componente i en los períodos siguientes} RRecursosDisponibles[I,R,T] where (I=8383) or (I=1313) or (I=5555)-> RRD: SUM(I: P*AR)+Toc[R,T]-Tex[R,T]=CAP[R]; {Disponibilidad de los recursos} RCobertura[G,I,T]: INVTC>=SS; {Cumplimiento de stock de seguridad} RCongProd[I,T] where (TTprevio); RPF2pp[G,I,K,T]:=DATABASE("Z_Rutas_FTL3_LQRF", "LQRF", where T>Tprevio); RPRpp[G,I,KR,T]:=DATABASE("Z_Rutas_FTL3_LQRD", "LQRD", where T>Tprevio); Pprev[I,T]:=DATABASE("Z_MRP3_P", "P", where T>Tprevio); DECISION P[I,T] where (I=8383) or (I=1313) or (I=5555) -> PR_ EXPORT REFILL TO DATABASE("Z_MRP4_P", "P"); {Cantidad a lanzar a producir del producto i en el período t} VARIABLES {Variables de producción-inventario} QRF[G,I,T] where (I8383) and (I1313) and (I5555) and (cmp0) and (TipoT=0) EXPORT REFILL TO DATABASE("Z_AUX_MRP4_QRF", "QRF"); {Cantidad a pedir al proveedor i mediante FTL en el período t} QRD[G,I,T] where (I8383) and (I1313) and (I5555) AND (TipoT=1) EXPORT REFILL TO DATABASE("Z_AUX_MRP4_QRD", "QRD"); {Cantidad a pedir al proveedor i mediante Rutas en el período t} INVTP[I,T] where (I=8383) or (I=1313) or (I=5555) EXPORT REFILL TO DATABASE("Z_MRP4_INVTP", "INVTP"); {Inventario del producto final i al final del período t} INVTC[G,I,T] where (cmp0) EXPORT REFILL TO DATABASE("Z_MRP4_INVTC", "INVTC"); {Inventario del componente i al final del período t} Rd[I,T] where (I=8383) or (I=1313) or (I=5555) EXPORT REFILL TO DATABASE("Z_MRP4_RD", "RD");

AII-69

MRP IV: Planificación de requerimientos de materiales cuarta generación

{Retraso de demanda del producto final i al final del período t} Toc[R,T] EXPORT REFILL TO DATABASE("Z_MRP4_TOC", "TOC"); {Tiempo ocioso en el recurso r en el periodo t} Tex[R,T] EXPORT REFILL TO DATABASE("Z_MRP4_TEX", "TEX"); {Tiempo extra en el recurso r en el periodo t} MACROS cpt:=SUM(I,T: P*cp); {Costes de producción} cmpt:=SUM(G,I,T: QRF*cmp) + SUM(G,I,T: QRD*cmp); {Costes de compra de componentes} citP:=SUM(I,T: INVTP*6); {Coste de inventario de productos finales} citC:=SUM(G,I,T: INVTC*ci); {Costes de inventario de componentes} crdt:=SUM(I,T: Rd*crd); {Costes de retraso de demanda} ctoct:=SUM(R,T: ctoc*Toc); {Costes de tiempo ocioso} ctext:=SUM(R,T: ctex*Tex); {Costes de tiempo extra de producción} CPRODUCCION4:=SUM(I,T RBI2_: INVTC0[G,I]+QRF+QRD+sum(K:RPFpp)+sum(KR:RPRpp)+sum (K:RPF2pp)-INVTC[G,I,T]=SUM(J: APG*P[I:=J]); {Balance del inventario del componente i en el período inicial} RBalanceInventario[I,G,T>first(T)] where (I8383) and (I1313) and (I5555) and (I9999) and (I0)-> RBI4_: INVTC[G,I,T-1]+QRF+QRD+sum(K:RPFpp)+ sum(KR:RPRpp)+sum(K:RPF2pp)-INVTC[G,I,T]=SUM(J: APG*P[I:=J]); {Balance del inventario del componente i en los períodos siguientes} RRecursosDisponibles[I,R,T] where (I=8383) or (I=1313) or (I=5555)-> RRD: SUM(I: P*AR)+Toc[R,T]-Tex[R,T]=CAP[R]; {Disponibilidad de los recursos} RCobertura[G,I,T]: INVTC>=SS; {Cumplimiento de stock de seguridad} RCongProd[I,T] where (TTprevio); RPF2pp[G,I,K,T]:=DATABASE("Z_Rutas_FTL4_LQRF", "LQRF", where T>Tprevio); RPRpp[G,I,KR,T]:=DATABASE("Z_Rutas_FTL4_LQRD", "LQRD", where T>Tprevio); Pprev[I,T]:=DATABASE("Z_MRP4_P", "P", where T>Tprevio); DECISION P[I,T] where (I=8383) or (I=1313) or (I=5555) -> PR_ EXPORT REFILL TO DATABASE("Z_MRP5_P", "P"); {Cantidad a lanzar a producir del producto i en el período t} VARIABLES {Variables de producción-inventario} QRF[G,I,T] where (I8383) and (I1313) and (I5555) and (cmp0) and (TipoT=0) EXPORT REFILL TO DATABASE("Z_AUX_MRP5_QRF", "QRF"); {Cantidad a pedir al proveedor i mediante FTL en el período t} QRD[G,I,T] where (I8383) and (I1313) and (I5555) AND (TipoT=1) EXPORT REFILL TO DATABASE("Z_AUX_MRP5_QRD", "QRD"); {Cantidad a pedir al proveedor i mediante Rutas en el período t} INVTP[I,T] where (I=8383) or (I=1313) or (I=5555) EXPORT REFILL TO DATABASE("Z_MRP5_INVTP", "INVTP"); {Inventario del producto final i al final del período t} INVTC[G,I,T] where (cmp0) EXPORT REFILL TO DATABASE("Z_MRP5_INVTC", "INVTC"); {Inventario del componente i al final del período t} Rd[I,T] where (I=8383) or (I=1313) or (I=5555) EXPORT REFILL TO DATABASE("Z_MRP5_RD", "RD");

AII-74

Anexo II: Implementación de los modelos propuestos en MPL

{Retraso de demanda del producto final i al final del período t} Toc[R,T] EXPORT REFILL TO DATABASE("Z_MRP5_TOC", "TOC"); {Tiempo ocioso en el recurso r en el periodo t} Tex[R,T] EXPORT REFILL TO DATABASE("Z_MRP5_TEX", "TEX"); {Tiempo extra en el recurso r en el periodo t} MACROS cpt:=SUM(I,T: P*cp); {Costes de producción} cmpt:=SUM(G,I,T: QRF*cmp) + SUM(G,I,T: QRD*cmp); {Costes de compra de componentes} citP:=SUM(I,T: INVTP*6); {Coste de inventario de productos finales} citC:=SUM(G,I,T: INVTC*ci); {Costes de inventario de componentes} crdt:=SUM(I,T: Rd*crd); {Costes de retraso de demanda} ctoct:=SUM(R,T: ctoc*Toc); {Costes de tiempo ocioso} ctext:=SUM(R,T: ctex*Tex); {Costes de tiempo extra de producción} CPRODUCCION5:=SUM(I,T: P*cp); CTEXT5:=SUM(R,T: ctex*Tex); CINVENTARIO5:= SUM(I,T: INVTP*6)+SUM(G,I,T: INVTC*ci); MODEL MIN z= cpt+ cmpt+ citP+ citC+ crdt+ ctoct+ ctext; SUBJECT TO !**********Restricciones Producción******************* RBalanceInventario[I,T=first(T)] where (I=8383) or (I=1313) or (I=5555) -> RBI1_: INVTP0[I]+P[I,T-TS]-INVTP[I,T]-Rd0[I]+Rd[I,T]=d; {Balance del inventario del producto final i en el período inicial} RBalanceInventario[I,J,T>first(T)] where (I=8383) or (I=1313) or (I=5555) -> RBI3_:

AII-75

MRP IV: Planificación de requerimientos de materiales cuarta generación

INVTP[I,T-1]+P[I,T-TS]-INVTP[I,T]-Rd[I,T1]+Rd[I,T]=d; {Balance del inventario del producto final i en los períodos siguientes} RBalanceInventario[I,G,T=first(T)] where (I8383) and (I1313) and (I5555) and (I9999) and (I0)-> RBI2_: INVTC0[G,I]+QRF+QRD+sum(K:RPFpp)+sum(KR:RPRpp)+sum (K:RPF2pp)-INVTC[G,I,T]=SUM(J: APG*P[I:=J]); {Balance del inventario del componente i en el período inicial} RBalanceInventario[I,G,T>first(T)] where (I8383) and (I1313) and (I5555) and (I9999) and (I0)-> RBI4_: INVTC[G,I,T-1]+QRF+QRD+sum(K:RPFpp)+ sum(KR:RPRpp)+sum(K:RPF2pp)-INVTC[G,I,T]=SUM(J: APG*P[I:=J]); {Balance del inventario del componente i en los períodos siguientes} RRecursosDisponibles[I,R,T] where (I=8383) or (I=1313) or (I=5555)-> RRD: SUM(I: P*AR)+Toc[R,T]-Tex[R,T]=CAP[R]; {Disponibilidad de los recursos} RCobertura[G,I,T]: INVTC>=SS; {Cumplimiento de stock de seguridad} RCongProd[I,T] where (T