planeaciÓn jerÁrquica de la producciÓn – corto plazo / hierarchical production planning –...

247
PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO HIERARCHICAL PRODUCTION PLANNING – SCHEDULING “ HPP – S ”

Upload: mi-amigo-uno-uno

Post on 04-Aug-2015

928 views

Category:

Documents


0 download

DESCRIPTION

Trabajo de gradoHERRAMIENTA INFORMÁTICA EN HOJA ELECTRÓNICA PARA LA PLANEACIÓN A CORTO PLAZO DE LA PRODUCCIÓN EN AMBIENTES DE PLANIFICACIÓN JERÁRQUICA,PARA PYMES CON SISTEMA DE PRODUCCIÓN POR LOTES O SERIES CORTAS. “ HPP – S ”deJESÚS EDUARDO SCARPETTA A.ELIANA CÚELLAR BERNALUNIVERSIDAD DEL VALLE, FACULTAD DE INGENIERÍAS, ESCUELA DE INGENIERÍA INDUSTRIAL Y ESTADÍSTICASANTIAGO DE CALIAgosto de 2002

TRANSCRIPT

Page 1: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO

HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

“ HPP – S ”

Page 2: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

HHEERRRRAAMMIIEENNTTAA IINNFFOORRMMÁÁTTIICCAA EENN HHOOJJAA EELLEECCTTRRÓÓNNIICCAA

PPAARRAA LLAA PPLLAANNEEAACCIIÓÓNN AA CCOORRTTOO PPLLAAZZOO DDEE LLAA PPRROODDUUCCCCIIÓÓNN EENN AAMMBBIIEENNTTEESS DDEE PPLLAANNIIFFIICCAACCIIÓÓNN JJEERRÁÁRRQQUUIICCAA,,

PPAARRAA PPYYMMEESS CCOONN SSIISSTTEEMMAA DDEE PPRROODDUUCCCCIIÓÓNN PPOORR LLOOTTEESS OO SSEERRIIEESS CCOORRTTAASS.. ““ HHPPPP –– SS ””

JESÚS EDUARDO SCARPETTA A.

ELIANA CÚELLAR BERNAL

UNIVERSIDAD DEL VALLE

FACULTAD DE INGENIERÍAS ESCUELA DE INGENIERÍA INDUSTRIAL Y ESTADÍSTICA

SANTIAGO DE CALI Agosto de 2002

Page 3: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

HHEERRRRAAMMIIEENNTTAA IINNFFOORRMMÁÁTTIICCAA EENN HHOOJJAA EELLEECCTTRRÓÓNNIICCAA

PPAARRAA LLAA PPLLAANNEEAACCIIÓÓNN AA CCOORRTTOO PPLLAAZZOO DDEE LLAA PPRROODDUUCCCCIIÓÓNN EENN AAMMBBIIEENNTTEESS DDEE PPLLAANNIIFFIICCAACCIIÓÓNN JJEERRÁÁRRQQUUIICCAA,,

PPAARRAA PPYYMMEESS CCOONN SSIISSTTEEMMAA DDEE PPRROODDUUCCCCIIÓÓNN PPOORR LLOOTTEESS OO SSEERRIIEESS CCOORRTTAASS.. ““ HHPPPP –– SS ””

JESÚS EDUARDO SCARPETTA A.

ELIANA CÚELLAR BERNAL

Proyecto de Grado para optar por el título de Ingeniero Industrial

Director

GERARDO MOTOA G. Ph. D.

UNIVERSIDAD DEL VALLE

FACULTAD DE INGENIERÍAS ESCUELA DE INGENIERÍA INDUSTRIAL Y ESTADÍSTICA

SANTIAGO DE CALI Agosto de 2002

iii

Page 4: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

UNIVERSIDAD DEL VALLE

FACULTAD DE INGENIERÍAS

ESCUELA DE INGENIERÍA INDUSTRIAL Y ESTADÍSTICA

Programa academico INGENIERÍA INDUSTRIAL

Autores

JESÚS EDUARDO SCARPETTA A.

ELIANA CÚELLAR BERNAL

Titulo

HHEERRRRAAMMIIEENNTTAA IINNFFOORRMMÁÁTTIICCAA EENN HHOOJJAA EELLEECCTTRRÓÓNNIICCAA PPAARRAA LLAA PPLLAANNEEAACCIIÓÓNN AA CCOORRTTOO PPLLAAZZOO DDEE LLAA PPRROODDUUCCCCIIÓÓNN EENN

AAMMBBIIEENNTTEESS DDEE PPLLAANNIIFFIICCAACCIIÓÓNN JJEERRÁÁRRQQUUIICCAA,, PPAARRAA PPYYMMEESS CCOONN SSIISSTTEEMMAA DDEE PPRROODDUUCCCCIIÓÓNN PPOORR LLOOTTEESS OO SSEERRIIEESS CCOORRTTAASS..

Temas

Planeación jerárquica de la producción, Planeación a corto plazo, Programación enfocada a

la carga, Programación (n/1), Reglas de prioridad, Máquinas paralelas, Programación en

máquinas paralelas, Programación (n/2), Programación (n/m), Visual Basic, Procedimiento

de evento (event procedure), Excel, Access, Modelo entidad – relación.

iv

Page 5: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Nota de aceptación

Presidente del Jurado

Jurado

Jurado

Ciudad y fecha (día, mes, año)

v

Page 6: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Agradezco a:

Jesús María Scarpetta y María Oliva Arias

mis padres.

Jorge Enrique Scarpetta y Clara Inés

Scarpetta mis hermanos.

Y a María del Mar Duque Bastidas la mujer

que Amo.

A todos ellos por su apoyo, motivación y

herramientas brindadas.

Jesús Eduardo Scarpetta.

A Dios por ser él todo para mí vida

A la memoria de mí padre, Elías Cúellar

López, que aún está a mi lado.

A mi madre, Araminta Bernal Forero, por su

amor maternal.

A mis hermanos: Giovanny,Katherine,

Vladimir y Jennifer, por su apoyo continuo.

Y a Jhon Cuadros por ser el amor de mi

vida, que me ha motivado a seguir adelante.

Eliana Cúellar Bernal.

vi

Page 7: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

AGRADECIMIENTOS.

Los autores expresan sus agradecimientos a:

• Ingeniero Gerardo Motoa G. Ph. D. Director del presente proyecto, por su comprensiva

y valiosa colaboración en el desarrollo del mismo y durante el transcurso de la

formación académica.

• María del Mar Duque en la revisión del documento y la aplicación informática

diseñada, por sus sugerencias, aportes y comentarios.

• A todas aquellas personas que de una u otra manera nos colaboraron en la formación

universitaria, para hacernos profesionales y personas íntegras.

vii

Page 8: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

TABLA DE CONTENIDO

Pág.

IINNTTRROODDUUCCCCIIÓÓNN ................................................................................................................................................................................................................................ 11

11.. PPRREELLIIMMIINNAARREESS ...................................................................................................................................................................................................................... 33

1.1 OBJETIVOS........................................................................................................... 3

1.2 HIPÓTESIS DEL TRABAJO ................................................................................ 4

1.3 JUSTIFICACIÓN................................................................................................... 5

22.. MMAARRCCOO DDEELL PPRROOYYEECCTTOO.................................................................................................................................................................................... 88

2.1 MARCO DE REFERENCIA.................................................................................. 8

2.2 MARCO CONCEPTUAL. ................................................................................... 11

2.2.1 Planeación jerárquica de la producción............................................................ 13

2.2.2 Planeación a corto plazo................................................................................... 18

2.2.3 Programación enfocada a la carga.................................................................... 26

2.2.4 Modelos de programación. ............................................................................... 32

2.3 PLANTEAMIENTO DEL PROBLEMA............................................................. 47

33.. LLÓÓGGIICCAA DDEE DDIISSEEÑÑOO .................................................................................................................................................................................................. 4499

3.1 PLATAFORMA DE DESARROLLO. ................................................................ 49

3.1.1 Visual Basic...................................................................................................... 51

3.1.2 Hojas de cálculo. .............................................................................................. 55

3.1.3 Bases de datos................................................................................................... 57

3.2 ESTRUCTURA DE LA APLICACIÓN .............................................................. 67

3.2.1 Modelos de datos. ............................................................................................. 67

3.2.2 Tablas. .............................................................................................................. 76

3.2.3 Modelo entidad – relación en la aplicación...................................................... 82

3.3 ELEMENTOS OPERACIONALES..................................................................... 88

3.3.1 Aproximación al Job-Shop ............................................................................... 88

3.3.2 Sistema operacional.......................................................................................... 90

viii

Page 9: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

44.. LLÓÓGGIICCAA DDEE LLAA AAPPLLIICCAACCIIÓÓNN ................................................................................................................................................................ 9955

4.1 CONCEPTOS TEÓRICOS DE LA APLICACIÓN ............................................ 95

4.2 APLICACIÓN ‘HPP-S’ ..................................................................................... 111

4.2.1 Preparación pedido. ........................................................................................ 113

4.2.2 Scheduling. ..................................................................................................... 128

4.2.3 Control. ........................................................................................................... 143

4.3 INFORMACIÓN ADICIONAL PARA EL USUARIO. ................................... 149

CCOONNCCLLUUSSIIOONNEESS ........................................................................................................................................................................................................................ 115522

AANNEEXXOOSS ...................................................................................................................................................................................................................................................... 115566

ANEXO A. MANUAL DEL USUARIO ..................................................................... 156

Instrucciones de manejo rápido ................................................................................... 156

Datos ejemplo general.................................................................................................. 157

Ingreso de datos ejemplos particulares ........................................................................ 159

ANEXO B. CODIGOS................................................................................................. 163

Formularios en Access................................................................................................. 163

Modulo exportar a Excel.............................................................................................. 200

Modulo funciones de utilidad ...................................................................................... 207

Archivos Excel............................................................................................................. 208

ix

Page 10: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

TABLA DE FIGURAS

Pág.

Figura 2-1. Sistema de Fabricación................................................................................. 12

Figura 2-2. Sistema de Planeación Jerárquico................................................................. 15

Figura 2-3. Configuración continua. ............................................................................... 20

Figura 2-4. Configuración por lotes enfocada al producto – flow shop.......................... 22

Figura 2-5. Configuración por lotes enfocada al proceso – Job Shop............................. 23

Figura 2-6. Configuración productiva de bienes. ............................................................ 23

Figura 2-7. Sistema de planeación y programación de operaciones en el corto plazo.... 24

Figura 2-8. Carga vertical................................................................................................ 29

Figura 2-9. Carga horizontal ........................................................................................... 30

Figura 2-10. Caso n/1 ........................................................................................................ 32

Figura 2-11. Caso n/1 continuo. ........................................................................................ 38

Figura 2-12. Máquinas paralelas ....................................................................................... 39

Figura 2-13. Máquinas paralelas – continuo ..................................................................... 40

Figura 2-14. Caso n/2 ........................................................................................................ 43

Figura 2-15. Caso n/m....................................................................................................... 44

Figura 3-1. Propiedades del objeto Botón de comando................................................... 54

Figura 3-2. Tablas relacionadas ...................................................................................... 59

Figura 3-3. Partes tabla.................................................................................................... 60

Figura 3-4. Botones de desplazamiento entre registros................................................... 63

Figura 3-5. Detalle subformularios ................................................................................. 65

Figura 3-6. Nivel 0. Planeación de la producción. .......................................................... 70

Figura 3-7. Nivel 1. Sistema de Planeación Jerárquico................................................... 71

Figura 3-8. Nivel 2. Planeación a corto plazo. ................................................................ 72

Figura 3-9. Nivel 3. Planeación a Corto Plazo - Preparación Pedido. ............................ 73

Figura 3-10. Nivel 3. Planeación a Corto Plazo - Scheduling........................................... 74

x

Page 11: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 3-11. Nivel 3. Planeación a Corto Plazo - Control. ............................................... 75

Figura 3-12. Relaciones producto ..................................................................................... 83

Figura 3-13. Relaciones pedidos ....................................................................................... 83

Figura 3-14. Relaciones control ........................................................................................ 84

Figura 3-15. Datos ruta P1 ................................................................................................ 85

Figura 3-16. Relaciones tiempo de suministro.................................................................. 85

Figura 3-17. Datos centros de trabajo ............................................................................... 86

Figura 3-18. Cálculo tiempo de suministro. ...................................................................... 86

Figura 3-19. Carga por operación y duración.................................................................... 88

Figura 3-20. Barra de Menú de la Aplicación ................................................................... 91

Figura 3-21. Barra de Herramientas de la Aplicación....................................................... 91

Figura 3-22. Barra de Menú- Archivo y Edición. ............................................................. 92

Figura 3-23. Barra de Menú- Registros, Información y General. ..................................... 92

Figura 3-24. Barra de Menú- Preparación Pedido............................................................. 93

Figura 3-25. Barra de Menú- Scheduling.......................................................................... 93

Figura 3-26. Barra de Menú- Ventana y ?......................................................................... 94

Figura 4-1. Formularios en la aplicación. ....................................................................... 96

Figura 4-2. Diagrama de ensamblado para el producto ‘Silla’........................................ 97

Figura 4-3. Árbol Estructura del producto ‘Silla’. .......................................................... 99

Figura 4-4. Incidencia de los factores en la obtención de una unidad........................... 104

Figura 4-5. Árbol de Rutas para del producto ‘Silla’. ................................................... 106

Figura 4-6. Detalle relaciones entre paneles de control. ............................................... 112

Figura 4-7. Panel principal ............................................................................................ 113

Figura 4-8. Panel preparación pedido............................................................................ 113

Figura 4-9. Formulario clientes ..................................................................................... 114

Figura 4-10. Panel datos producto................................................................................... 115

Figura 4-11. Formulario productos ................................................................................. 115

Figura 4-12. Formulario partes/componentes ................................................................. 116

Figura 4-13. Formulario estructura producto. ................................................................. 117

Figura 4-14. Panel datos ruta........................................................................................... 118

xi

Page 12: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 4-15. Formulario centros de trabajo..................................................................... 118

Figura 4-16. Formulario detalle centros de trabajo. ........................................................ 119

Figura 4-17. Formulario máquinas paralelas CT............................................................. 120

Figura 4-18. Formulario hoja de ruta. ............................................................................. 121

Figura 4-19. Formulario rutas producto. ......................................................................... 122

Figura 4-20. Formulario pedidos..................................................................................... 123

Figura 4-21. Formulario cantidad requerida. .................................................................. 124

Figura 4-22. Formulario tiempo de entrega..................................................................... 125

Figura 4-23. Habilitar macros. ........................................................................................ 126

Figura 4-24. Programación detallada en Excel. .............................................................. 127

Figura 4-25. Programación detallada – detalle inicio y fin operaciones. ........................ 127

Figura 4-26. Panel scheduling. ........................................................................................ 128

Figura 4-27. Panel Asignación. ....................................................................................... 129

Figura 4-28. Formulario carga pedidos. .......................................................................... 130

Figura 4-29. Formulario carga operaciones. ................................................................... 131

Figura 4-30. Formulario control pedidos. ....................................................................... 132

Figura 4-31. Formulario cargas operaciones iniciadas.................................................... 134

Figura 4-32. Panel secuenciación.................................................................................... 135

Figura 4-33. Formulario reglas de prioridad. .................................................................. 135

Figura 4-34. Reglas de prioridad en Excel. ..................................................................... 136

Figura 4-35. Formulario pedidos pendientes a la fecha. ................................................. 138

Figura 4-36. Formulario método húngaro. ...................................................................... 139

Figura 4-37. Método húngaro en Excel – hoja de cálculo asignar. ................................. 140

Figura 4-38. Método húngaro en Excel – hoja de cálculo Hoja1.................................... 141

Figura 4-39. Formulario regla de Johnson. ..................................................................... 141

Figura 4-40. Johnson en Excel ........................................................................................ 142

Figura 4-41. Panel control. .............................................................................................. 143

Figura 4-42. Formulario producción planeada. ............................................................... 144

Figura 4-43. Carga finita en Excel – hoja de cálculo ‘cg_finita’. ................................... 145

Figura 4-44. Carga finita en Excel – hoja de cálculo ‘Hoja2’......................................... 146

xii

Page 13: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 4-45. Formulario producción real. ....................................................................... 146

Figura 4-46. Formulario control input-output. ................................................................ 147

Figura 4-47. Control in-out en Excel. ............................................................................. 148

Figura 4-48. Formulario acerca de. ................................................................................. 149

Figura A-1. Dirección para descomprimir Aplicación HPP-S.exe ................................ 158

Figura A-2. Instalación terminada.................................................................................. 158

Figura A-3. Árbol de Estructura del producto ‘P1’........................................................ 160

Figura A-4. Operaciones ruta ‘P1’. ................................................................................ 161

Figura A-5. Árbol de rutas del producto ‘P1’. ............................................................... 162

xiii

Page 14: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

LISTADO DE CÓDIGOS

Pág.

FFoorrmmuullaarriiooss eenn AAcccceessss.. ........................................................................................................................................................................................................ 116633

Formulario acerca de ...................................................................................................... 163

Formulario asignación .................................................................................................... 163

Formulario cargas_operaciones_iniciadas...................................................................... 164

Formulario centro de trabajo .......................................................................................... 165

Formulario clientes ......................................................................................................... 167

Formulario componentes producto................................................................................. 167

Formulario componentes subformulario ........................................................................ 167

Formulario componentes1 subformulario ...................................................................... 169

Formulario componentes2 subformulario ...................................................................... 171

Formulario control input output ..................................................................................... 172

Formulario control operaciones...................................................................................... 173

Formulario control pedidos ............................................................................................ 174

Formulario control producción....................................................................................... 175

Formulario control detalle pedidos iniciados ................................................................. 176

Formulario control operaciones...................................................................................... 177

Formulario control operaciones iniciadas....................................................................... 177

Formulario control pedidos iniciados ............................................................................. 177

Formulario control ruta................................................................................................... 178

Formulario ct .................................................................................................................. 179

Formulario entrega ......................................................................................................... 179

Formulario in out planificado ......................................................................................... 179

Formulario inicio ............................................................................................................ 180

Formulario johnson......................................................................................................... 181

Formulario lista materiales ............................................................................................. 181

xiv

Page 15: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Formulario lista rutas...................................................................................................... 182

Formulario máquinas...................................................................................................... 183

Formulario máquinas ct .................................................................................................. 184

Formulario operaciones ruta........................................................................................... 184

Formulario pedidos......................................................................................................... 186

Formulario pedidos pendientes....................................................................................... 187

Formulario pendientes a la fecha.................................................................................... 187

Formulario producción planeada .................................................................................... 188

Formulario producción real ............................................................................................ 189

Formulario rcomponentes subformulario ....................................................................... 189

Formulario rcomponentes1 subformulario ..................................................................... 191

Formulario rcomponentes2 subformulario ..................................................................... 192

Formulario regla de Johnson .......................................................................................... 193

Formulario reglas prioridad ............................................................................................ 194

Formulario rproductos .................................................................................................... 194

Formulario rutas iniciadas .............................................................................................. 196

Subformulario control detalle pedido............................................................................. 196

Subformulario control pedidos ....................................................................................... 197

Formulario switchboard.................................................................................................. 197

Formulario tipo ............................................................................................................... 200

Formulario unidades ....................................................................................................... 200

MMoodduulloo eexxppoorrttaarr aa EExxcceell.................................................................................................................................................................................................... 220000

Function Exportar_Prioridades() .................................................................................... 200

Function Exportar_In_Out() ........................................................................................... 202

Function Exportar_Johnson() ......................................................................................... 203

Function Exportar_Asignación() .................................................................................... 204

Function Exportar_Programa_Detallado() ..................................................................... 205

Function Exportar_FINITA() ......................................................................................... 206

MMoodduulloo ffuunncciioonneess ddee uuttiilliiddaadd .................................................................................................................................................................................... 220077

Function estácargado(ByVal txtNombreFormulario As String) As Boolean................. 207

xv

Page 16: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Function Verventanabasededatos()................................................................................. 207

Function salir() ............................................................................................................... 207

Function cerrar() ............................................................................................................. 208

AArrcchhiivvooss EExxcceell .................................................................................................................................................................................................................................... 220088

Prioridades.Xls ............................................................................................................... 208

Asignación.Xls ............................................................................................................... 208

Johnson.Xls..................................................................................................................... 216

Detallada.Xls .................................................................................................................. 222

Carga_Finita.Xls............................................................................................................. 224

In-out.Xls........................................................................................................................ 227

xvi

Page 17: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

IINNTTRROODDUUCCCCIIÓÓNN

El presente proyecto está direccionado a diversificar herramientas para aumentar la

productividad en empresas, específicamente en PYMES, las cuales van abarcando más y

más los campos económicos de productividad en nuestra región, permitiendo el

movimiento de la economía nacional.

Es preciso que los nuevos avances tecnológicos en el campo de la sistematización no se

restrinjan a grandes empresas, como hasta el momento viene ocurriendo, ya que por los

altos costos del software especializado, las pequeñas empresas no cuentan con herramientas

más prácticas para controlar de manera mas acertada su productividad.

Nuestro propósito se enfoca en crear una herramienta funcional y económica que permita

una mejor programación del sistema propio de una PYME en cuanto a controles de

productividad se refiere, esto es, teniendo en cuenta que la productividad es un factor que

depende mucho de: los tiempos de planeación, de toma de decisiones, de aprovechamiento

de mano de obra y maquinaria, fecha de entrega de pedidos, cumplimiento de contratos,

etc., y es en este sentido en el cual contar con herramientas de sistematización como la que

hemos diseñado, se orienta a mejorar el aprovechamiento del tiempo, y a realizar una

1

Page 18: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

programación más precisa ejerciendo el control adecuado para una adecuada utilización de

los recursos.

Fundamentamos la realización de este proyecto en el desarrollo de una aplicación dirigida a

manejar de forma integral la planeación de la producción en el corto plazo en PYMES del

sector de manufactura con el propósito de facilitar la toma de decisiones en tiempo real

bajo el sistema de planeación jerárquica.

Hemos estructurado el proyecto en capítulos que permiten dar mayor claridad a cada una

de las partes que forma la aplicación “HPP-S” desarrollada. En ellos abarcamos los

preliminares del proyecto, sus objetivos, justificación y enmarcamos los temas propios de la

planeación a corto plazo, mencionando los elementos informaticos usados en la lógica de

la aplicación; describimos la razón teórico-práctica de la herramienta creada y de forma

detallada el funcionamiento, su estructura, finalidad y manejo.

2

Page 19: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

11.. PPRREELLIIMMIINNAARREESS

1 CAPÍTULO 1. ANTEPROYECTO. 1.1 OBJETIVOS

General.

Diseñar una herramienta informática en hoja electrónica que permita realizar la planeación

a corto plazo en PYMES con fabricación por lotes o series cortas, en sistemas de

planificación jerárquicos.

Específicos.

• Proporcionar un programa informático con el cual se puedan hacer pruebas de

sensibilidad sobre la actividad de producción, para determinar su incidencia en la

programación normal.

• Diseñar una herramienta sencilla, fácil de entender, flexible y dinámica para la

realización de la programación permitiendo la optimización de los recursos utilizados

con miras a cumplir las necesidades de producción.

• Realizar un programa robusto que permita evaluar para determinadas condiciones de

trabajo diferentes opciones en su programación, ofreciendo así información rápida para

la toma de decisiones.

• Reunir información precisa y controlada sobre aspectos que comprometen la

fabricación por lotes o series cortas y usar ésta información bajo criterios de

3

Page 20: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

rendimiento y aprovechamiento de los recursos limitados en empresas de manufactura

para hacer más efectiva la terminación de los pedidos en las fechas ofrecidas al cliente.

• Crear un programa que permita el control de la información generada en la ejecución de

las operaciones para conocer el estado de los centros de trabajo, su eficiencia y

utilización.

• Diseñar un sistema o interfaz de control de las órdenes de producción que permita tener

actualizado por operación, y periodo de tiempo, la realización de las diferentes órdenes

de producción.

1.2 HIPÓTESIS DEL TRABAJO

Las PYMES manufactureras requieren de una herramienta informática de planeación a bajo

costo y flexible que integre su sistema productivo permitiéndoles ser más competitivas. El

poco seguimiento que se hace a las órdenes durante el proceso de manufactura limita a las

PYMES para dar una rápida reacción a los cambios eventuales en las demandas, por la

escasa información que se tiene al momento de la toma de decisiones.

Sistematizar la planeación de la producción ofrece a las PYMES entrar a competir con

tiempos de entrega seguros, satisfacción alta de las necesidades de los clientes,

conocimiento interno de las capacidades y nivel de flexibilidad de sus instalaciones.

4

Page 21: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

1.3 JUSTIFICACIÓN

La importancia que ha tenido para el mundo empresarial el conocimiento adecuado en el

tratamiento de la función de las operaciones, ha permitido que diversos autores enfoquen

sus investigaciones hacia esta disciplina, brindando métodos e instrumentos para la

planeación de la producción bajo una serie de condiciones básicas con el objetivo de

optimizar el uso de recursos en la satisfacción de las necesidades de los clientes.

En la actualidad existen gran variedad de modelos y programas para dar mejores soluciones

al problema de la toma de decisiones en la planeación de la producción; por tanto

pretendemos adecuar estos modelos y programas existentes a una aplicación informática

que funcione de manera fácil, dinámica y precisa sobre hojas de calculo apoyadas en una

base de datos, para ser implementada en una pequeña o mediana empresa a fin de aumentar

su rendimiento partiendo del principio de que entre mayor información se maneje de los

procesos a realizar es mayor la oportunidad de optimizarlos.

Dentro del sistema manufacturero nos centramos particularmente en las PYMES. Para el

año 2000 es considerada pequeña y mediana empresa la unidad económica cuyo nivel de

activos fiscales a diciembre de 1999 estuviera entre $135 millones y $3335 millones y que

ocupen entre 11 y 199 empleados según la ley 78 de 1998,1 por ser éstas las que

1 ¿Qué es una Pyme?. http://www.ifi.gov.co/htm/crpymeque.htm

5

Page 22: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

contribuyen a dinamizar la economía (generación del empleo 15%)2, además representan el

15.75% del total de empresas registradas en la Cámara de Comercio de Cali en 1998.

Dentro de éstas seleccionamos las de sistema productivo por lotes o series cortas que

representan los mejores beneficios potenciales al aplicar modelos de producción integrada

que por su volumen y variedad mediana requieren de gran flexibilidad.

Como las hojas electrónicas han aumentado su popularidad por su sencilla implementación3

la herramienta informática se realizará con una base de datos vinculada a hojas electrónicas

por la gran facilidad de aplicación práctica y adaptabilidad a los escenarios del mercado,

generando información de apoyo en la toma de decisiones y mejor utilización de los

recursos productivos.

Los costos de implementación en hoja electrónica son bajos comparados con las

inversiones en software para la planificación de la producción, tales como: el programa

computacional (MAX) que tiene un costo promedio de US$ 9.500 para un fabricante

pequeño o mediano con todos los módulos de manufactura y contabilidad, pero los

requisitos específicos pueden modificar los costos desde US$ 550 hasta US$ 33.200 para

2 Registro mercantil. Cámara de comerció de Cali, Separata (Jun. 1999) 3 SIPPER, Daniel y BUFFIN, L. Robert. Planeación y control de la producción. Mexico : Mc Graw Hill,

1998. p. 91, 189, 215.

6

Page 23: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

un paquete multiusuario4, o el sistema de SAP R/3, que es una solución ERP (Planeador de

Recursos Empresariales) cuya inversión puede representar entre 2 y 10 millones de

dólares.5

Acorde con los objetivos de la producción se busca dar una herramienta al programador de

la producción para la solución de situaciones no determinísticas que alteran la realización o

modifican la secuenciación de las órdenes de producción en la planta. Con esto, el

programador podrá analizar varias alternativas de programación en poco tiempo para ver su

impacto sobre la forma de producción y el logro de las fechas previamente determinadas y

comprometidas con los clientes, permitiéndole a la empresa ser más competitiva.

4 CHASE, Richard B. y AQUILANO, Nicolas J. Dirección y administración de la producción y de las

operaciones. 6 ed. Mexico : Mc Graw Hill, 1995, p. 725 5 La revolución de los ERP. En : Dinero. No. 90 (Ago 13 1999), p. 90

7

Page 24: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

22.. MMAARRCCOO DDEELL PPRROOYYEECCTTOO

2 CAPÍTULO 2. MARCO DEL PROYECTO. 2.1 MARCO DE REFERENCIA.

En el mercado podemos encontrar varios programas para la planeación a corto plazo en las

empresas, los cuales ofrecen cada uno una estructura y forma de trabajo diferente. Software

como: ERP/MRP Systems6, Obvious Professional Services7, pc/MRP8, Solid State

Software, Inc. Software for Manufacturing (ERP/MRP) Planning and Control9 y Merlin

MRP Software10, entre otros. Programas en su mayoría en otro idioma cuya complejidad

podría limitar al programador para obtener una máxima utilización.

Sin duda, uno de los aspectos más trascendentales para la mayoría de las empresas

manufactureras, por su repercusión en los costos de producción y los plazos de fabricación,

es la gestión de materiales y en especial la programación y control de las actividades de

6 ERP/MRP Systems. http://cmit.edi.gatech.edu/cmit/ERPMRP.htm 7 Obvious MRP for Windows. http://www.obviousmrp.com/ 8 Pc/MRP the complete Windows MRP Accounting and Inventory Control Software Package with ISO9000

report. http://www.midwesterngallery.com/pcmrp/index.htm 9 Solid State Software : Software for MRP/ERP, Accounting and Distribution. http://www.sssoft.com/ 10 Merlin MRP Manufacturing Software. http://www.merlinsys.co.uk/

8

Page 25: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

producción, pues están en juego el nivel de confianza que tengan los clientes con respecto a

las fechas ofrecidas, la capacidad de producción y la calidad de los productos elaborados.

Existen paquetes para programación de la producción en abundancia. Esos paquetes van

desde software para computadora de dominio público hasta aplicaciones hechas a la medida

que cuestan millones de dólares. Debe tenerse cuidado al comprar un paquete, ya que las

utilidades varían mucho.

Algunos paquetes de software proporcionan al usuario la posibilidad de cambiar o ajustar

los programas. Los más elaborados permiten “tomar e insertar” operaciones en la misma

gráfica de Gantt; éstos requieren interfaces de usuario (gráficas) complejas. Los paquetes

menos costosos permiten hacer cambios en los tiempos de inicio y terminación de los

trabajos. De la mano con la evaluación del programa, los ajustes permiten al usuario hacer

un análisis sencillo de “que pasa sí”.

Los paquetes más avanzados generan los programas de producción, pero muchos de ellos

no son muy buenos. El paquete puede generar un solo programa, varios programas o el

mejor de un “subconjunto” de programas. Las reglas de despacho simples, como “FIFO”

pueden producir un programa. Al usar varias reglas de despacho se pueden generar varios

programas; después el usuario elige uno o el paquete solo le muestra el “mejor”. Se pueden

usar heurísticos más avanzados para generar un programa. Como la programación es difícil,

el enfoque debe hacerse a la medida del problema que se tiene; un enfoque complejo

equivocado puede ser peor que las reglas de despacho sencillas.

9

Page 26: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Para sistemas de producción complicados (como una planta grande de producción

intermitente), puede ser necesaria una simulación del programa. Al someter a prueba el

programa con simulación se pueden examinar muchos factores no considerados en las

decisiones de programación. Los paquetes que simulan la planta son costosos, por lo

general, superan los 30.000 dólares.11

También existen paquetes “educativos” de programación. Morton y Pentico (1993) ofrecen

el software, Parsifal con su libro; Parsifal resuelve la mayor parte de los modelos de

programación; puede usar varios heurísticos para modelos de una sola máquina, máquinas

paralelas, producción continua y producción intermitente. Dispone de varios algoritmos

generales, incluyendo simulación de recosido. Su desempeño es bastante bueno para

muchos problemas pequeños, y es posible que pueda incorporarse a un sistema de

programación. QS: Quantitative Systems (Chang - 1995) es un software general que realiza

programación de producción continua e intermitente. Se pueden usar muchos de los

heurísticos para producción continua y la mayoría de las reglas de despacho se encuentran

disponibles.

11 SIPPER y BUFFIN, Op cit., p. 467-469

10

Page 27: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

2.2 MARCO CONCEPTUAL.

Los modelos referentes a la planeación de la producción que se desarrollarán dentro de este

proyecto de estudio se aplicarán en hoja electrónica tomando la información desde una base

de datos, dado que permiten cambiar muchas variables y crear diferentes combinaciones

para determinar los efectos de situaciones particulares.

Con anterioridad se ha venido aplicando la simulación de la planeación en hoja electrónica.

Los precursores del enfoque de hoja de cálculo son los métodos tabulares y gráficos que

aparecieron en la literatura alrededor de 1960. Estos han sido utilizados en la industria

durante varios años y cada vez más toman mayor importancia gracias al desarrollo de los

computadores personales y a la adaptabilidad de la hoja electrónica al medio dinámico.12

En la planeación de la producción se deben crear alternativas que resuelvan el problema de

nivelar la producción con las demandas fluctuantes. Las alternativas se pueden desarrollar

en hoja electrónica de manera sencilla y con fácil implementación13, de tal modo que se

puede o no obtener la solución óptima, pero si se puede proporcionar soluciones flexibles

para ser usadas14.

12 HEIZER, Jay y RENDER Arry. Dirección de la producción. Madrid : Mc Graw Hill, 1997. p. 144-145 13 NOORI, Hamid y RADFORD Rusell. Administración de operaciones y producción. Santafé de Bogotá :

Mc Graw Hill, 1997. p. 43, 267, 457 14 SIPPER, y BUFFIN. Op cit p. 180-181

11

Page 28: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

El proyecto parte de conceptualizar los sistemas de fabricación y entre ellos, en especial,

los de producción por lotes y series cortas. Esto significa revisar conceptos tales como

gerencia de operaciones, sistemas de organización de la producción, etc. Además de

estudiar herramientas para el análisis y diseño de sistemas en ambientes de fabricación, las

cuales se usan para implementar una aplicación informática para la planeación de la

producción en ambientes MRP.

La manufactura de productos en el mundo industrial moderno requiere de un esfuerzo

coordinado y combinado de gente, máquinas y equipos. Así, un sistema de fabricación

puede ser definido como una combinación de mano de obra, maquinaria y equipos,

comprometidos en un flujo común de materiales e información.

Las entradas son la materia prima y la energía. La información es también

Figura 2-1. Sistema de Fabricación.

una entrada al

stema y lo hace en forma de demanda de los clientes por los productos de dicho sistema. si

Las salidas podrían dividirse en materiales como bienes terminados, desperdicios, e

información, es decir medidas de rendimiento del sistema. (Ver Figura 2-1)

12

Page 29: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

En general, el estudio de los sistemas de fabricación puede ser conceptualizado como la

transformación de los requerimientos de rendimiento (performance) de un sistema de

bricación, expresados por valores de ciertas medidas de desempeño, en valores

temas. Para hacer

laridad en los conceptos y términos que serán manejados en la realización de este proyecto

referencia al concepto que se le asocia,

ajustar la estructura de planeación a la organización.16 Este sistema jerárquico de la

fa

apropiados de variables de decisión, que describan el diseño físico o la manera de operar

del sistema.15

Aunque hay conceptos de uso generalizado en el ambiente de la planeación de la

producción para las empresas de manufactura, no ocurre lo mismo con los nombres a los

cuales se asocian esos conceptos, presentándose así falta de homogeneidad en los términos

usados por los diferentes autores al momento de desarrollar cada uno sus

c

se presentan a continuación los términos haciendo

así como a los otros nombres más conocidos con los cuales es manejado.

2.2.1 Planeación jerárquica de la producción

Como la planeación de la producción en las empresas manufactureras, se ha enmarcado

dentro de una estructura de largo, mediano y corto plazo. Harlan Meal utiliza el termino

planeación jerárquica de la producción (Hierarchical Production Planning - HPP) para

15 MOTOA, T. Gerardo. Algunos apuntes sobre el uso de la simulación en el diseño de sistemas de

fabricación. Madrid junio 1994. Disam. Universidad Politécnica de Madrid. 16 HARLAN, C Meal, ”Putting production decisions where they belong” Harward Business Review 62, N 2

marzo-abril 1984, pp-102-11.

13

Page 30: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

producción es uno de los enfoques para el análisis que se basa en los conceptos de desglose

que puede adaptarse a muchas empresas con lo que se convierte en una herramienta útil

ara los directivos en sus labores. El enfoque incorpora una filosofía de ajuste de los

ración

ue se requiere para las decisiones a tomar; esto significa que pueden hacerse los planes

imizando el más importante en el más alto. Con

p

agregados del producto a los niveles de toma de decisiones de la organización.17

Principios de este sistema de planeación jerárquico son: el desglose que debe seguir las

líneas de la organización, otro es, proporcionar la información al nivel apropiado de

agregación para la decisión. También, es necesario programar sólo el tiempo de prepa

q

detallados para periodos tan cortos como el tiempo de preparación en la fabricación.

En general, existen cuatro elementos que pueden dar origen a construir la jerarquía: tiempo,

estado, información y criterios de evaluación.18 Las jerarquías no se construyen respecto a

uno solo de tales elementos. En muchos casos, tiempo y estado (de agregación-

descomposición de las actividades y sus atributos) se consideran simultáneamente usando

por ejemplo, en el nivel superior escalas de tiempo gruesas y estados más agregados que en

el nivel inferior. Adicionalmente, se toman diferentes criterios de evaluación (dentro del

problema de toma de decisiones), opt

17 VOLLMANN, Thomas E. Sistemas de planificación y control de la fabricación. 3 ed. España : Irwin,

1994. p. 643. 18 MOTOA, T. Gerardo. Sistemas de Planificación Jerárquicos: Aplicaciones a la gestión de producción y

de proyectos. Cali. Escuela de ingeniería industrial y estadística. Universidad del Valle. p. 12

14

Page 31: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

relación a la información, cada nivel posee situaciones y tipos diferentes de información en

función de sus propios requerimientos.

Las decisiones de los diferentes niveles en el proceso de planificación se toman en

diferentes momentos en el tiempo. Cada nivel de la jerarquía tiene asociado un horizonte de

empo y no hay esquema universalmente aceptado en cuanto a su definición. El número de

horizontes puede cambiar dependiendo de la perspectiva o interés de quien los propone y

del sistema de producción que se quiera atender.

ti

Figura 2-2. Sistema de Planeación Jerárquico

a. La dirección se plantea preguntas relacionadas con la política a seguir, como la

El proceso después de la adquisición de instalaciones y equipo aplica las previsiones de la

demanda al sistema (Ver Figura 2-2). Los pronósticos a largo plazo ayudan a los directores

a tratar con los problemas de capacidad y estrategia que son responsabilidad de la alta

gerenci

15

Page 32: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

situación y expansión de las instalaciones, el desarrollo de nuevos productos, la

andas fluctuantes. Todos

stos planes necesitan ser consistentes con la estrategia a largo plazo de la alta dirección y

n esta fase de la planificación agregada, se toman decisiones con respecto a la utilización

iano plazo en programas semanales, diarios y por horas.

os métodos para efectuar la planeación a corto plazo traducen las decisiones de capacidad,

financiación de la investigación y las inversiones de capital durante un periodo de varios

años.

Una vez tomadas las decisiones de capacidad a largo plazo, los directores de operaciones

pasan a efectuar la planificación a medio plazo para alcanzar los objetivos de la empresa.

Las decisiones de programación táctica suponen crear planes mensuales o trimestrales, que

resuelvan el problema de emparejar la productividad con las dem

e

trabajar con los recursos asignados por decisiones estratégicas anteriores. El corazón de la

planificación a mediano plazo es el plan de producción agregada.

E

de las instalaciones, inventario, la gente y los contratistas externos. Después el programa

maestro descompone el plan agregado y desarrolla un programa completo de los productos.

La planificación a corto plazo se extiende hasta un año, pero normalmente es menor de tres

meses. Los directores de operaciones hacen estos planes en unión con los jefes de planta

quienes desagregan el plan a med

L

la planificación intermedia y los programas maestros en: asignación, secuenciación,

programación detallada y control

16

Page 33: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Este enfoque jerárquico permite la coordinación entre los objetivos, planes y actividades de

los distintos niveles largo (estratégico), mediano (táctico) y corto plazo (operativo),

umpliendo cada uno sus propias metas, pero teniendo siempre en cuenta las del nivel

adas con el tamaño de los lotes. En sentido contrario,

ecisiones con relación al tamaño del lote se pueden tomar cuando la información sobre

na de las claves de efectividad de estos procesos es la simplicidad de la toma de

decisiones en cada nivel, y la siempre necesaria existencia de un sistema de apoyo para la

toma de decisiones (Decision Support Systems - DSS).20

c

superior, de las cuales dependen, y las del nivel inferior, a las que restringe. Sin dicho

enfoque seria difícil, cuando no imposible, llegar a la integración de las funciones.19

En cualquier caso, lo que se pretende es subdividir el problema en niveles de jerarquía de

acuerdo con los diferentes grados de agregación, con la intención de hacer más tratable el

problema. Resultado de las características de la planeación jerarquizada es la relativa

independencia de decisiones. Decisiones de alto nivel pueden usualmente ser hechas sin

tomar en cuenta futuras decisiones de bajo nivel. Las decisiones agregadas de nivel

superior, por ejemplo, con relación a la carga en mano de obra no dependen de las

decisiones detalladas relacion

d

requerimientos de materiales esté disponible y estarán restringidas por los límites de horas

fijadas en la decisión anterior.

U

19 MACHUCA DOMÍNGUEZ, José Antonio et al. Dirección de operaciones : Aspectos tácticos y operativos

en la producción y los servicios. España : Mc Graw Hill, 1995. 8 p. 20 MOTOA, Sistemas de Planificación Jerárquicos , Op cit., p. 8.

17

Page 34: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

2.2.2 Planeación a corto plazo

Una vez obtenido el plan de requerimientos de materiales (MRP) que establece las

cantidades o lotes de cada subcomponente, componente y producto final; en cada momento

del horizonte de tiempo. Se realiza la ejecución en las instalaciones productivas, tarea de la

laneación a corto plazo.

pecíficos y la capacidad estará

stringida por las horas disponibles en una máquina dada.

p

El Scheduling o planeación a corto plazo específica la carga de trabajo de acuerdo a las

órdenes emitidas en el mediano plazo, controlando las operaciones y ajustando la capacidad

del sistema para asegurar que se cumplan los requerimientos del programa maestro de

producción.21 Este plan determina el tiempo en que se hace un producto en particular en

una máquina específica; los momentos de comienzo y fin de las actividades de cada

centro de trabajo, así como las operaciones de cada orden para la secuencia realizada. Las

unidades manejadas en este nivel pueden ser productos es

re

Los planes de requerimientos de materiales –MRP- además establecen los requerimientos

de capacidad asociados. Es evidente que van a existir divergencias entre lo planificado y los

resultados de la ejecución; haciéndose necesario en el corto plazo controlar los múltiples

aspectos de la actividad diaria: unidades realmente obtenidas tras las operaciones, cantidad

de defectuosos, la eficiencia y utilización de los Centros de Trabajo - CT (básicos para

21 CHASE, y AQUILANO, Op cit., p. 757.

18

Page 35: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

medir la capacidad de cada uno de ellos en horas estándar), las fechas de entrega, los

tiempos de suministro, la evolución de las colas de espera y, con ellas, la adecuación de las

capacidades y cargas planificadas a las reales, etc. Solo así será posible detectar las

divergencias significativas entre los valores planificados y los reales, con base en los cuales

se adoptarán las medidas correctoras necesarias, que retroalimentarán a los distintos niveles

el sistema.22

ara subensambles y a su vez,

bensambles que sirven para el ensamble final del producto.

del proceso productivo y su entorno, pudiendo variar entre unas horas y

arias semanas.23

d

Esta planeación nos permite visualizar la programación de piezas componentes basada en la

estructura del producto, con programación de componentes p

su

El conjunto de órdenes en curso de fabricación y las órdenes planificadas, cuyas fechas de

emisión estén incluidas en el horizonte de planificación considerado, serán objeto de la

programación de operaciones. Esta función tiende a determinar que operaciones se van a

realizar sobre las distintas órdenes, durante cada momento del horizonte planificado, en

cada Centro de Trabajo (CT), de tal forma que, con la capacidad disponible en cada uno de

ellos, se cumplan las fechas de entrega planificadas, empleando el menor volumen de

recursos e inventarios posibles. En cuanto al horizonte de planificación, éste dependerá de

las características

v

22 MACHUCA DOMÍNGUEZ. Op cit., p. 292. 23 Ibid., p. 295.

19

Page 36: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

El desarrollo de la programación con lleva a variar notablemente en función del tipo de

configuración productiva. Dado que existen varias clasificaciones de las configuraciones

productivas propuestas por diferentes autores. Nos apoyamos en la clasificación que realiza

Machuca24 en función de la continuidad en la obtención del producto: continua, lotes y

royectos.

equipo precedente, que esta en igual condición para alimentar a la

áquina que le sigue.

p

Configuración continua. Cuando se obtiene siempre el mismo producto en la misma

instalación. Cada CT, máquina o equipo está acondicionado para realizar siempre la misma

operación y preparado para aceptar de forma automática el trabajo que le es suministrado

por un CT, máquina o

m

Figura 2-3. Configuración continua.

24 MACHUCA DOMÍNGUEZ, José Antonio et al. Dirección de operaciones : Aspectos estratégicos en la

producción y los servicios. España : Mc Graw Hill, 1995. p. 143

20

Page 37: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

La configuración continua hace la programación más elemental pues las únicas actividades

desarrolladas aquí son las encaminadas a ajustar el ritmo de producción. Ejemplo es la

producción masiva donde un producto pasa por los mismos centros de trabajo en grandes

cantidades, (Ver Figura 2-3)

Configuración productiva por lotes. El hecho diferenciador que distingue ésta

configuración está en que utiliza las mismas instalaciones para la obtención de múltiples

roductos, de forma que, una vez obtenida la cantidad deseada para uno de ellos, se procede

n esencia cuando se trata de fabricación de grandes lotes de pocos productos diferentes

to.

En la configuración por lotes enfocada al producto o flow shop hay pocos productos, lotes

homogéneos de tamaño mediano, pasan por los mismos centros de trabajo con diferentes

p

a ajustar la instalación y a procesar otro lote de producto, repitiéndose continuamente esta

secuencia. No obstante, en función del tamaño de los lotes obtenidos, de la variedad y

homogeneidad de los productos fabricados y de las características de los procesos seguidos,

nos podemos encontrar dos tipos de configuraciones.25

E

pero técnicamente homogéneos, que utilizan las mismas instalaciones, se trata de

Configuración en línea o configuración por lotes enfocada al producto. Productos cuyo

proceso de obtención en el CT requieren una secuencia similar de operaciones.

Procediéndose a ajustar los CT o máquinas tras fabricar un lote para elaborar otro distin

25 Ibid., p. 143.

21

Page 38: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

valores de utilización, adecuación y alistamiento. Programación que implica secuenciación

de las órdenes para dar respuesta a la pregunta ¿cuál hacer primero? (Ver Figura 2-4.)

Figura 2-4. Configuración por lotes enfocada al producto – flow shop

pos de escasa especialización, los cuales suelen

gruparse en talleres o centros de trabajo a partir de la función que desarrollan; estos

ción por lotes enfocada al proceso o job shop fabrica bajo pedido para lotes de

maño pequeño, hay gran variedad de productos y componentes. Programación donde hay

asignación respondiendo a: ¿dónde procesar? secuenciación ¿cuál hacer primero?. (Ver

Figura 2-5

En la configuración Job Shop se producen lotes más o menos pequeños de una amplia

variedad de productos de poca o nula estandarización (son “a medida” o con muchas

opciones personalizadas), empleándose equi

a

equipos suelen ser versátiles y permiten ejecutar operaciones diversas, por lo que puede

alcanzarse una amplia variedad de output.26

La configura

ta

y

.)

26 MACHUCA DOMÍNGUEZ, José Antonio et al. Aspectos estratégicos en la producción y los servicios,

Op cit., p. 144

22

Page 39: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 2-5. Configuración por lotes enfocada al proceso – Job Shop

La configuración por proyectos es la que se emplea para la elaboración de productos

“únicos” y de cierta complejidad que se obtienen a partir de la coordinación en el uso de

unos inputs que suelen ser de gran tamaño. La programación se da bajo modelos como el

PERT / CPM.

Figura 2-6. Configuración productiva de bienes.

23

Page 40: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

La figura 2-6 muestra la relación entre las configuraciones productivas y el número de

productos de una empresa.

Para el tipo de configuración al cual se enfoca el presente trabajo – configuración por lotes

enfocada al producto o flow shop – en el corto plazo se tienen en el caso más complejo las

siguientes actividades: asignación, secuenciación, programación detallada y control. (Ver

Figura 2-7.)

Figura 2-7. Sistema de planeación y programación de operaciones en el corto plazo.

de planeación. Cada trabajo debe tener sus especificaciones únicas de productos y, por

Asignación

Es el direccionado específico de órdenes a cada Centro de Trabajo (CT) durante el periodo

24

Page 41: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

tanto, su hoja de ruta o trayectoria a través de los diversos centro de trabajo dentro de las

instalaciones. A medida que las nuevas órdenes de trabajo pasan a proceso, se asignan o

irigen entre los CT, estableciéndose así la parte de la carga que le corresponde a cada uno

sta etapa establece las prioridades para los trabajos en las colas de espera en los centros de

secuencia de prioridad específica el orden en el cual son procesados los trabajos

os detalles sobre fechas y tiempos en general no se especifican

asta que no se hayan terminado la asignación y la secuencia.

las acciones especiales requeridas por un trabajo en particular para que éste

d

de éstos durante el periodo inmediato de planeación.

Secuenciación.

E

trabajo, la

pendientes.

Programación detallada.

Las fechas especifican cuando hay que efectuar las órdenes de trabajo, emplear los

materiales (insumos), así como los trabajos terminados (productos) que deben estar

disponibles en cada CT. L

h

Al calcular la duración de los procesos y las fechas establecidas para todos los trabajos, los

programadores pueden establecer sus fechas de inicio y de terminación, y diseñar así el

programa detallado.

Control

Es el seguimiento que se realiza al avance de los trabajos por las instalaciones, permite

coordinar

25

Page 42: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

transite por los CT a tiempo, solucionando las interrupciones generadas en las operaciones

nufactura: fallas de equipos, falta de disponibilidad de los materiales y cambios de

s el seguimiento que se realiza a los centros de trabajo. Los planes y los programas de

ican ciertos niveles de capacidad y producción para un centro de trabajo,

cionando asi la información necesaria para tomar las

edidas correctoras oportunas y hacer ajustes en la utilización para alcanzar los niveles

a cada Centro de Trabajo (CT) o proceso. Los

de ma

último momento en las prioridades, que ocasiona desviaciones en los planes y los

programas de producción.

Control Input – Output (Capacidad a corto plazo)

E

producción impl

pero su utilización real puede diferir de lo planeado. El control de la capacidad (informe

input-output) pretende gestionar y controlar la capacidad de los CT y reconocer las

desviaciones significativas, propor

m

deseados.

2.2.3 Programación enfocada a la carga

La carga significa la asignación de tareas

directores de operaciones asignan trabajo a los centros de trabajo de tal forma que los

costos, el tiempo ocioso o los tiempos de terminación se mantengan en un mínimo.27 En la

actualidad hay dos enfoques básicos que son la carga infinita y la carga finita.

27 HEIZER, y RENDER , Op cit., p. 208.

26

Page 43: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Carga infinita.

Una característica que distingue a un sistema de programación de otro es la manera como

considera la capacidad al determinar el programa. Los sistemas de programación pueden

finita o finita.

tinuación), no reconocen las capacidades de los centros de trabajo ni otras

reas programadas, por esta razón estas reglas se emplean con técnicas de planificación de

a gráfica de Gantt útil para la carga o programación, es una herramienta visual para

tiempo de proceso, proporcionando facilidad y

claridad en la comunicación con el taller de trabajo, señalando la necesidad de reasignación

se

utilizar una carga in

La carga infinita se presenta cuando la tarea ha sido asignada a un CT sin tener en cuenta su

capacidad, la carga que proviene del programa de producción se distribuye en los centros

de trabajo como si su capacidad fuera ilimitada.

Las reglas de secuencia prioritaria (como su nombre lo indica determinan que trabajo debe

procesarse a con

ta

capacidad basadas en cargas infinitas.28 Otros modelos que usan este enfoque de

programación son: la regla de Johnson y el algoritmo de Kuhn.

Grafica de Gantt.

L

establecer la secuencia de los trabajos que serán procesados en un centro de trabajo o en

una serie de máquinas así como para vigilar su avance a través de todas ellas. Teniendo

como variables los CT o máquinas, y el

28 VOLLMANN, Op cit., p. 181.

27

Page 44: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

de recursos cuando la carga en cualquier centro de trabajo es demasiado grande para el caso

mpo, apreciándose además, la coordinación de las secuencias,

s colas de espera y los tiempos ociosos.

de carga finita.

El propósito de la gráfica es desplegar el estado de cada recurso, casi siempre centros de

trabajo o tiempo extra, en todo momento. El eje ‘x’ representa el tiempo y el eje ‘y’

consiste en una barra horizontal para cada máquina. Las gráficas de Gantt también se

pueden construir colocando trabajos en lugar de máquinas en el eje ‘y’.29

Esta permite representar el desarrollo de las diferentes operaciones a realizar de cada lote

en cada CT en función del tie

la

Tiene como ventajas la facilidad y claridad en la comunicación con el taller de información

importante. Sin embargo, tiene algunas limitaciones importantes. Como la gráfica es un

dispositivo de carácter determinista, no maneja la variabilidad de la duración: de las

actividades, de los equipos (incluyendo fallas), del tiempo que trabajan las personas y

averías inesperadas o errores humanos que requieran una repetición del trabajo, cualquiera

de las cuales puede hacer que el cálculo de la carga estimada sea impreciso. También la

gráfica es estática y debe de actualizarse en forma periódica para que pueda incluir la

29 SIPPER y BUFFIN, Op cit., p. 404

28

Page 45: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

llegada de nuevas órdenes de trabajo y los cálculos de tiempo que hubieran sido revisados

para los trabajos existentes.30

Carga finita.

El sistema de carga finita simula el inicio y final de las cargas de trabajo reales para

producir un programa detallado de cada orden a cada centro de trabajo; es decir, lo que la

carga finita hace, en realidad, es cargar todas las tareas en los centros de trabajo necesarios

a lo largo del horizonte de planificación. El resultado es un conjunto de fechas de inicio y

n para cada operación en cada centro de trabajo. Este programa se basa en los límites de

en sus capacidades y las otras tareas

rogramadas.

fi

capacidad de cada centro de trabajo, estableciendo explícitamente un programa detallado

para cada tarea a través de CT, basándose

p

Figura 2-8. Carga vertical

EVERETT, E. Adam. Jr, y RONALD, J. Ebert. Administración de la producción y las operaciones. 4 ed.

Mexico : Prentice Hall, 1994. p. 455.

30

29

Page 46: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Dos enfoques para asignar la carga del MRP en la planta son: la carga vertical (por centros

de trabajo) y la carga horizontal (por pedidos)

La carga vertical consiste en llenar cada CT operación por operación donde el recurso

crítico que se programa es el CT. (Ver Figura 2-8). Cuando se determina que un centro de

trabajo a quedado libre, se selecciona el trabajo siguiente teniendo en cuenta las

prioridades establecidas para los trabajos a ser realizados a continuación en el CT.

De esta forma se puede decidir si empezar otro trabajo ya ejecutable al objeto de no dejar

ocioso el CT. Siguiendo así para todos los pedidos en este CT, estableciéndose el programa

de operaciones que va ha desarrollarse durante las horas de cada día. Esta forma de

asignación también es conocida como aproximación vertical.

Figura 2-9. Carga horizontal

sucesivamente. (Ver Figura 2-9.)

La carga horizontal o por pedidos toma los pedidos completos por orden de prioridad,

asignándose la carga de sus operaciones a todos los CT por los que ha de pasar, en su

momento correspondiente, después el siguiente pedido con mayor prioridad, y así

30

Page 47: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Este enfoque horizontal puede estar en contra del criterio de usar un CT a su máxima

capacidad, la creación de programas detallados con carga horizontal puede dar como

resultado neto “huecos” de capacidad para un CT. Esto implica que en ocasiones una

máquina este inactiva aún si esta disponible otra tarea, porque este por llegar otra tarea más

portante.

e procesamiento se

cumula contra cada centro de trabajo, suponiendo una capacidad finita o infinita. En éste

s entrega si es necesario. Como se utilizan tiempos de

erminación del pedido resultante es sólo una

proximación de la fecha que se calculará mediante la programación más precisa. El

propósito de la carga hacia el futuro es determinar la fecha de terminación aproximada de

cada pedido y, en caso de capacidad infinita, la capacidad necesaria en cada periodo.

im

Ya sea en la carga horizontal o en la carga vertical, existe siempre la decisión de que tarea

programar a continuación para un CT.

Una característica de los sistemas de programación es si esta se genera hacia adelante o

hacia atrás en el tiempo, la más común es la programación hacia adelante.

Programación hacia adelante (Forward).

Programación hacia adelante (carga a futuro o programación prospectiva), comienza con la

fecha actual y carga de los centros de trabajo hacia futuro. El tiempo d

a

caso e posible exceder las fechas de

espera promedio en las colas, la fecha de t

a

31

Page 48: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Programación hacia atrás (Back

De manera inversa la programación hacia atrás (o programación retrospectiva) se inicia,

con la fecha de entrega de cada pedido y carga las necesidades de procesamiento contra

cada centro de trabajo. La capacidad de los CT puede excederse si es necesario. El

propósito de la carga hacia atrás es calcular la capacidad requerida en cada CT para cada

periodo de tiempo. Como resultado quizás se tome la decisión de reasignar la capacidad

entre los CT o de disponer de mayor capacidad, mediante una planeación agregada

modificada. Las limitaciones de capacidad encontradas en el corto plazo se retroalimentan

al mediano plazo donde se genera una nueva planeación agregada que desciende en la

jerarquía al corto plazo para dar solución a los problemas de capacidad.

2.2.4 Modelos de programación.

Programación en un CT o máquina (n/1).

ward).

Figura 2-10. Caso n/1

Es una situación de programación estática que involucra varias tareas u órdenes en un CT o

máquina donde son utilizadas en su mayoría las reglas de prioridad. La terminología de

programación en esta clase de problemas se denomina “Problemas de n tareas – en 1 CT o

máquina” o simplemente “n/1”. (Ver Figura 2-10)

32

Page 49: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

La dificultad teórica de los problemas de programación se incrementa en la medida en que

se consideran más máquinas y no en la medida en que se deben procesar más órdenes; en

co o criterio de

de ellos es prioritario

oxime su

ada pedido tiene asociados tres elementos principales que lo hacen unico: un identificador

entrega dada. Es de las operaciones matemáticas a

evaluación:

espera más la carga del mismo pedido analizado.

consecuencia, la única restricción que hay respecto de n es que éste debe ser un número

específico y finito.31

El método más utilizado en la práctica es el de las reglas de prioridad, técnica heurística

consistente en el establecimiento de una regla basada en un indicador numéri

evaluación, que es el objetivo fundamental a lograr en la secuenciación. Se puede lograr

siempre que el objetivo a lograr sea único o sí, existiendo varios, uno

y no existe otro método para contemplarlos simultáneamente. Con base en este indicador

elegido se selecciona el primer trabajo a realizar en el CT, una vez se apr

finalización, se determinará el próximo a realizar y así sucesivamente.

C

o código, la carga generada y la fecha de

éstos elementos de donde salen los factores que forman los cocientes en los criterios de

• El tiempo de flujo por pedido es el tiempo de permanencia del pedido en una instalación

hasta ser trabajado, es igual al acumulado de las cargas de todos los pedidos anteriores en

31 CHASE, y AQUILANO. Op cit., p. 684

33

Page 50: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

• La suma de los tiempos totales de flujo es la sumatoria de todos los tiempos de flujo por

los trabajos.

o tr

Los días de retrazo son los valores positivos de la resta por pedido del tiempo de flujo

días

Com

• [suma de los tiempos totales de flujo] / [número de

trabajos]

Def

pedido o trabajo evaluados, su valor depende del orden dada a

• El tiempo total de procesamiento es la sumatoria de las cargas de los diferentes pedidos

abajos evaluados, su valor no cambia con el orden de los trabajos.

calculado y su fecha de entrega. El valor negativo representa los días de holgura.

Los días totales de retrazo son la sumatoria de los valores positivos obtenidos en los

de retrazo por pedido.

o criterios de evaluación tenemos:

Tiempo medio de finalización =

• Utilización = [tiempo total de procesamiento] / [suma de los tiempos totales de flujo]

Número medio de trabajos en el sistema = [suma de los tiempos totales de flujo] /

[tiempo total de procesamiento]

Retraso medio del trabajo = [días totales de retraso] / [número de trabajos]

Reglas de prioridad

inimos algunas de las reglas de prioridad más utilizadas:

FCFS (First Come, First Served) o FIFO (First In, First Out) primero en llegar primero

en ser atendido. Las órdenes se ejecutan en el orden en que llegan al CT.

34

Page 51: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

• SOT (Shortest Operating Time) Tiempo de operación más corto: primero se ejecuta la

esamiento más corto. De esta forma se

hace máximo el número de trabajos procesados por período en el CT y, por tanto, se

que le reste. Es una

aplicación simple del objetivo de cumplir las fechas de entrega, que deja fuera las

randes

y más importantes y, por tanto deben ser los primeros en realizarse. Se supone, además,

tarea que tenga el tiempo de terminación más corto, luego el segundo más corto y así

sucesivamente, éste es igual al tiempo de proc

ayuda a minimizar los tiempos ociosos. Sin embargo, se ignora la información relativa a

las fechas de entrega planificadas

EDD (Earliest Due Date): Se realiza en primer lugar aquel pedido cuya fecha de entrega

está más próxima, cualquiera que sea el tiempo de proceso

consideraciones sobre el logro del menor tiempo total de procesamiento de los pedidos.

LOT(Longest Operation Time) o LIO (Longest Imminent Operation): El próximo

trabajo a realizar en un CT será aquel cuya operación en dicho centro sea la más larga.

La idea que la preside es que, normalmente, los trabajos más largos son los más g

que éstos serán los trabajos con menor holgura (aunque no siempre ha de ser así, pues

esto dependerá también de la fecha de entrega).

Fecha de iniciación: Fecha de vencimiento menos plazo normal. Ejecutar primero la

tarea con la fecha de iniciación más temprana.

35

Page 52: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

• SRT (Shortest Remaining Time) Menor tiempo restante. En ésta se ejecuta primero

aquel pedido al que le quede menos tiempo hasta su entrega planificada, ejecutando

primero el pedido más urgente para cumplir las fechas de entrega. No obstante, no

considera un aspecto fundamental, el tiempo que queda para entregar el trabajo (que es

función del tiempo de proceso que le falte para ser terminado).

CR (Critical Ratio) Coeficiente Crítico: se calcula como la diferencia entre la fecha de

entrega y la fecha actual, dividida por el número de días de trabajo restante. Las órdenes

que tengan el CR más pe

queño se ejecutan primero. Esta regla intenta corregir el

defecto señalado para la anterior, proporcionando una visión comparada del tiempo y la

• la

diferencia entre el tiempo restante antes de la fecha de entrega menos el tiempo de

• STR/OP (Slack-Time Remaining per Operation) Los pedidos más cortos son ejecutados

primero. Se calcula de la siguiente manera: [tiempo restante antes de la fecha de entrega

menos el tiempo de procesamiento restante o tiempo total restante en la planta] /

[número de operaciones restantes]. Es una variación de la anterior, en el que la holgura

carga que restan para entregar y concluir un trabajo. Su idea básica es la misma.

STR (Slack Time Remaining) Menor tiempo de holgura restante. Se calcula como

procesamiento restante. Los pedidos que tienen el STR más corto se ejecutan primero.

Al igual que el Coeficiente Crítico (CR), pretende dar una idea del tiempo que resta

para cumplir con la fecha de entrega planificada en comparación con el tiempo que falta

para acabarlo.

36

Page 53: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

se relaciona además con el número de operaciones que le restan al pedido para ser

terminado. En este caso, a la idea de seleccionar antes el trabajo de menor holgura se le

añade la consideración del número de operaciones restantes, considerándose que es más

s

órdenes, estas se colocan encima de la fila; el operador ejecuta la primera en la fila.

ión.

Reglas locales:

difícil completar aquel con mayor número de éstas, al tener que ser programado a través

de más centros de trabajo.

• LCFES (Last Come First Served) o LIFO (Last In, First Out) Último en llegar, primero

en salir: esta norma se presenta con frecuencia por defecto a medida que llegan la

Diferentes autores como Sipper o Krajewski entre otros, han clasificado las reglas de

prioridad para la programación, en dos categorías: reglas locales (para una sola dimensión o

miopes) y reglas globales (para dimensiones múltiples), que se definen a continuación,

resaltando la utilización de la primera en el desarrollo de la aplicac

A estas reglas las llamamos reglas para una sola dimensión por que

asignan las prioridades tomando como base un solo aspecto del trabajo, como el tiempo de

llegada al centro de trabajo, la fecha de vencimiento o el tiempo de procesamiento.32

Reglas globales: las reglas de prioridad, como la CR, S/RO ( o STR/OP), incluyen

información sobre los demás centros de trabajo en los que deberá ser procesado cada

32 KRAJEWSKI Lee, RITZMAN Larry. Administración de operaciones o producción: Estrategia y análisis.

México: Pearson educación, 2000. p.767.

37

Page 54: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

trabajo, además del tiempo trabajo actual o la fecha de

entrega, que también se toman en cuenta en las reglas para una sola dimensión. A estas las

llamamos reglas para dimensiones múltiples porque usan más de un aspecto del trabajo.33

Dentro de las reglas de prioridad mencionadas se ha demostrado matemáticamente que la

regla SOT produce una solución optima para el caso n/1 en los criterios de evaluación tales

como el tiempo de espera medio (retraso medio del trabajo) y el tiempo de terminación

medio (tiempo medio de finalización). Por tanto se ha denominado esta regla como el

concepto más importante en todo el tema del secuenciamiento.34

de procesamiento en el centro de

Figura 2-11. Caso n/1 continuo.

Los modelos de una sola máquina también son adecuados para procesos continuos o en

serie que se encuentren balanceados porque su programación se puede tomar de manera

agregada como una situación del caso n/1. (Ver Figura 2-11.)

33 Ibid., p. 770. 34 CHASE, y AQUILANO. Op cit., p. 687.

38

Page 55: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Dentro de n/1 se tiene el caso particular de las máquinas paralelas que explicamos a

continuación.

Máquinas paralelas

Figura 2-12. Máquinas paralelas

Con frecuencia, los problemas de programación consideran varias máquinas. Las máquinas

múltiples pueden estar colocadas en paralelo o en serie. La figura 2-12 describe máquinas

paralelas. Cuando se usan máquinas múltiples en paralelo, se supone que cualquier trabajo

puede procesar en cualquiera de las máquinas, y que el tiempo para procesar un trabajo

de ellas, es decir, son o no idénticas. Además, los

se

puede ser o no el mismo en cualquiera

trabajos consisten en una sola operación; una vez que comienza el procesado de un trabajo

en una de las máquinas, debe terminarse. La decisión de programación comprende dos

aspectos: qué máquina procesa el trabajo y en qué orden.35

35 SIPPER y BUFFIN, Op cit., p. 439

39

Page 56: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 2-13. Máquinas paralelas – continuo

r problemas de programación es el contemplar sistemas

bala

men

par

dos

dife

Pro

Cuando se cuenta con el suficiente tipo correcto de máquinas para comenzar todas las

n que la adecuada asignación de cada tarea a cada

máquina dará como resultado el mejor programa global. Para este caso es utilizado el

método de asignación.36 Llamado también algoritmo de asignación de Kuhn o método

húngaro.

Una forma de simplifica

nceados de producción continua como una variación del caso n/1, como ya se

cionó. Ahora para el caso de las máquinas paralelas este esquema también es aplicable

a cuando existan varias líneas de producción continua siendo esta la situación de unir

esquemas: caso n/1 continuo y máquinas paralelas, para facilitar la programación de las

rentes órdenes. Obteniéndose así otra variación del caso n/1. (Ver Figura 2-13)

gramación en máquinas paralelas.

tareas simultáneamente, se debe pensar e

36 CHASE, y AQUILANO. Op cit., p. 689

40

Page 57: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Par

valo

pro

La

se ceversa. Partiendo de una matriz formada por los

ada máquina detallamos a continuación los pasos

de

Fa

Se comienza por las columnas de la matriz. En cada una se elige el menor tiempo y se

este proceso con cada

dos se asegura que en cada fila y en cada columna exista al menos, un cero, es

decir, un punto de menor tiempo.

óptima

a este método la programación se vuelve matemáticamente muy compleja, cuando los

res de ‘n’ (operaciones) o ‘m’ (máquinas) son altos, siendo necesario para el análisis la

gramación por computador.37

asignación de las operaciones a las máquinas se realiza de forma que cada una de ellas

ejecute en una sola máquina, y vi

tiempos de proceso de cada operación en c

l algoritmo de asignación de Kuhn o método húngaro.38

se1: Obtención de ceros

resta a todos los elementos de dicha columna. Repitiendo

columna de la matriz, se obtiene la tabla donde los ceros indican los lugares con los

menores tiempos un cada una de ellas. Con la nueva matriz se realiza un procedimiento

análogo, pero en las filas, eligiendo el elemento más pequeño de cada una de ellas y

restándoselo, posteriormente, al resto de los elementos que la integran. Con los cálculos

realiza

Fase 2: Búsqueda de la solución

37 Scheduling, http://www.usd.edu/~rlau/schedule.htm38 MACHUCA DOMÍNGUEZ, José Antonio et al. Aspectos tácticos y operativos en la producción y los

servicios, Op cit., p. 299.

41

Page 58: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Es evidente que si se puede re g nívoca con los lugares ocupados

por los ceros en la matriz inicial que relacionase a cada O , con una sola M y viceversa,

ésta sería la solución óptima.

Fase 3:

Obtención de un conjunto mínimo de filas y columnas que contiene todos los ceros para

realizar las asignaciones que faltan.

Fase 4: Desplazamiento de algunos ceros

En este punto se repite la fase 2 y si ello revela que se ha llegado a la solución óptima, el

proceso habrá terminado. De lo contrario se continuará iteractivamente hasta conseguirla.

Programación de centro de trabajo en configuración continua.

El procesado de trabajos de manera secuencial en varios CT o máquinas, recibe el nombre

de configuración continua. Todos los trabajos se procesan en el mismo orden, por lo que se

pueden enumerar los CT de manera que el CT1 hace la primera operación y así

sucesivamente, la figura 2-11 caso n/1 continuo, representa un CT en configuración

continua.

Programación en dos CT (n/2)

El caso siguiente en complejidad es el caso n/2, en donde dos o más órdenes deben

procesarse en dos CT o máquinas en una secuencia común. Como en el caso n/1, existe un

enfoque que lleva a una solución optima de acuerdo con ciertos criterios.

alizar una asi nación biu

i j

42

Page 59: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 2-14. Caso n/2

El objetivo de este enfoque llamado regla de Johnson por su creador S. M. Johnson, es

ceso resultante de secuenciar un grupo de órdenes

lujo desde el comienzo de la primera

rea hasta la terminación de la última, Partiendo del tiempo de ejecución de cada pedido en

cada máquina, éste método heurístico pretende hacer mínimo el tiempo necesario para

concluir todos ellos y, por tanto, áquinas. Utilizando al máximo

utilizado para minimizar el tiempo de pro

a través de dos CT.39 (Ver Figura 2-14)

Mediante este enfoque se minimiza el tiempo de f

ta

el tiempo ocioso de las m

los CT (makespan)

El makespan se define como:

CTmax = Max (CT1, CT2, CT3, . . . , CTn )

Es decir, el makespan es equivalente al tiempo de terminación de la última tarea para dejar

el sistema. Un makespan mínimo por lo general implica una alta utilización de las

máquinas.40

39 M. Johnson, “Optimal two and three stage production schedule with set up times included,” Naval research

Logistics Quarterly, 1, No 1 (marzo 1954): c61-68. 40 Sheduling – flow shop http://www.informs.org/Conf/no95/talks/ma30.3.html

43

Page 60: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

La Regla Johnson consta de los siguientes pasos.

1. Registrar el tiempo de operación para cada tarea en ambas máquinas.

l tiempo más corto es para la primera máquina, hacer la tarea primero; si es para

la segunda, hacer la tarea de

han desarrollado algoritmos eficientes para m

2. Escoger el tiempo de operación mas corto.

3. Si e

último.

4. Repetir los pasos 2 y 3 para cada tarea restante hasta completar el programa.

Programación en más de dos CT (n/m)

El problema de programación n/m (órdenes/CT) se a resuelto para m = 1,2,3 y para valores

arbitrarios de n. No se 4 debido el gran

úmero de secuencias posibles.41 (Ver Figura 2-15) n

Figura 2-15. Caso n/m

Si se tienen más de 2 máquinas, el algoritmo de Johnson no funciona excepto en casos

especiales. Un caso especial ocurre cuando la máquina intermedia esta dominada, ya sea

por la primera o por la tercera. Una máquina está dominada

41 SCHROEDER, Roger G. Administración De Operaciones : toma de decisiones en la función de

operaciones. 3 ed. Mexico : Mc Graw Hill, 1992. p. 401

44

Page 61: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Dos enfoques para asignar la carga del MRP en la planta son: la carga vertical (por centros

de trabajo) y la carga horizontal (por pedidos), cuando su tiempo de procesado más largo

no es mayor que el tiempo de procesado más corto de otra máquina, es decir, para la

máquina intermedia de tres máquinas,

Entonces se puede formar un problema equivalente de dos máquinas con tiempo de

procesado

y

Al resolver este problema de dos máquinas se obtiene la secuencia de lapso óptimo para el

problema dominado por tres máquinas. Un trabajo comienza en una máquina tan pronto

omo el trabajo anterior en esa máquina termina, o su operación en la máquina anterior

Para problemas de dos máquinas y problemas de tres máquinas con la máquina dos

dominada, el programa óptimo es un programa de permutación. Esto es, la secuencia de

trabajos es la misma en todas las máquinas. Un programa de no-permutación tiene

diferentes secuencias de trabajo en al menos dos máquinas. Suponga que el trabajo ‘i’ está

programado antes del trabajo ‘j’ en la máquina ‘k’, pero en la máquina ‘k+1’ se procesa ‘j’

sertado en la máquina ‘k+1’. Si el

c

termina. Esto funciona porque en un problema dominado la máquina dos nunca causa un

retraso en el programa.

antes de ‘i’. El trabajo ‘i’ pudo haberse procesado en la máquina ‘k+1’, mientras ‘j’ estaba

en la máquina ‘k’, de manera que hay tiempo ocioso in

45

Page 62: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

objetivo es el lapso de producción, se puede demostrar que un programa óptimo es un

programa de permutación para tres máquinas.

ás máquinas, el programa óptimo puede no ser un programa

de permutación. Para otros objetivos, los problemas de tres máquinas no tienen garantía de

programas de permutación óptimos. Si no hay una máquina dominante en un problema de

tres máquinas, o si se tienen más de tres máquinas, no existe una manera sencilla de obtener

una solución óptima. Debe recurrirse a algoritmos heurísticos o enumerativos para resolver

estos problemas.

Algoritmos heurísticos

Un algoritmo heurístico directo es forzar al problema para que se vea como uno de dos

máquinas y usar el algoritmo de Johnson. Esta secuencia se convierte en un programa de

permutación para el problema original. Los diferentes enfoques para convertir el problema

de m máquinas en un problema de dos máquinas producen programas distintos, entonces se

puede elegir el mejor de ellos.

Cambell, Dude y Smith (1970) propusieron un enfoque de conversión, el heurístico CDS.

Sean y los tiempos de procesado para el problema de dos máquinas. Entonces, para

un problema de m máquinas, se tiene

Sin embargo, para cuatro o m

'1i

'2iP P

y

46

Page 63: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

ellos sugieren comenzar con k = 1 y l = m y generar un programa con el algoritmo de

generar los tiempos de procesado para seudo máquinas.

Gupta (1972) propuso otro algoritmo heurístico. Sea

Johnson. Después se hace k = 2 y l = (m – 1) y se repite, continuando hasta que k = (m –1)

y l = 2. se usa el mejor de los (m –1) programas generados. Existen otras formas para

y defina

se determina una secuencia de permutación mediante . Gupta basa esta

regla en el algoritmo de Johnson para una máquina intermedia dominada, porque es exacta

para ese caso.42

2.3 PLANTEAMIENTO DEL PROBLEMA.

Las PYMES presentan deficiencias en su sistema productivo, problemas como la

ineficiencia en la planeación de la producción se evidencian en la inoportuna programación

de las operaciones, que contribuye a que se den respuestas tardías a los cambios en la

42 SIPPER y BUFFIN, Op cit., p. 448

47

Page 64: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

demanda, la no-optimización de los recursos, entre otros. Esto se da porque su estructura

de costos no le permite adquirir herramientas que integran las áreas funcionales y

sincronicen los niveles de plane el corto plazo, a la vez que la

complejidad del software y la falta de adaptación de las herramientas a los requerimientos

de la empresa limitan la flexibilidad44.

La aplicación “HPP-S” se ha diseñado con el fin de solucionar este problema

ación jerárquica43 en especial

proporcionando un sistema de apoyo para la planeación a corto plazo, que permite realizar

la programación de la producción de una manera integral al manejar pedidos, rutas,

operaciones y centros de trabajo en conjunto con las necesidades MRP provenientes del

mediano plazo. Sobre la plataforma de un paquete comercial (Office) haciéndola asequible

y fácil de implementar.

43 QUINTERO M, Víctor Manuel. Alternativa empresarial. Cali : Icesi, 1998 p. 257 44 Planificación en línea. En : Dinero. No 79 (Mar 12 1999); p. 90-91.

48

Page 65: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

33.. LLÓÓGGIICCAA DDEE DDIISSEEÑÑOO

3.1 PLATAFORMA DE DESARROLLO.

En el desarrollo del presente proyecto, utilizamos principalmente los programas Access y

Excel de la versión 2000 del Office, donde el prime

3 CAPÍTULO 3. . LÓGICA DE DISEÑO

ro se usa para la captura de los datos y

l segundo para el análisis de los mismos. Adicional a estos dos programas nos apoyamos

ionamiento

e la aplicación. Dado que Access es menos conocido o usado que Excel presentamos una

e

en Visual Basic como lenguaje de programación para la automatización de tareas que se

realizan en las macros para Excel y los sucesos de eventos para Access.

Comenzamos el capítulo haciendo una referencia al aporte de Visual en el func

d

aproximación a éste programa relacionándolo con el concepto de las bases de datos, ya que

tiene distinta interpretación según la aplicación, comenzamos con Excel para generalizar su

uso en Access y así soportar porque se eligió como recurso válido en la captura de los

datos.

49

Page 66: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Programas usados.

Hoy existe un programa para cada actividad profesional, lo que sólo ha sido posible gracias

a la enorme versatilidad de la informática. El software ha sabido adaptarse perfectamente a

las necesidades de nuestra sociedad, cada vez más especializada, respondiendo con

soluciones prácticas a las demandas concretas de cada sector. En este sentido, los

programas profesionales suelen ser muy complejos y no están al alcance de todo el mundo,

ero existen algunos – como es el caso de la base de datos Access y la hoja de cálculo

ccess es una base de datos relacional, lo cual significa que es capaz de combinar la

en distintas tablas gracias a la presencia de campos clave. Este

p

Excel – que también pueden ser utilizados por el usuario particular para realizar algunas

tareas cotidianas y, muy especialmente, de oficina.45

A

información registrada

sistema permite tener almacenados los datos de forma lógica en tablas de tamaño pequeño

que hacen más fácil el trabajo – y que el computador opere con mayor rapidez.

Si en algún momento desea extraer información muy específica de una base de datos

necesitará crear lo que en Access se conoce como consulta. La función de este elemento es

buscar entre los registros que contienen las tablas aquellos que se ajustan a unas

condiciones determinadas.

45 Manual de Informática Básica, Barcelona: editorial SOL 90 Ltda.

50

Page 67: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

De otro lado, para trabajar óptimamente con operaciones matemáticas lo más adecuado es

utilizar una hoja de cálculo. Aunque en el mercado existen diversos programas de este tipo,

con presencia y funciones similares, Excel la versión de Microsoft – incluida en el paquete

Office – es el de uso más extendido. Su éxito está ligado a la capacidad que tiene de hacer

cil lo difícil, lo cual la convierte en una herramienta fundamental para el trabajo y para la

n Windows con Visual Basic es sorprendentemente sencilla.

ara crear los elementos de una interfaz, bastará con pulsar los controles de interfaz de

ual Basic y después ‘dibujar’ el elemento

bajo del programa. El uso del

ódigo de programación nos permitirá expresar de forma completa el modo en que

casa.46

Su principal función es realizar operaciones matemáticas – de la misma manera que trabaja

la más potente calculadora, pero también la de computar complejas interrelaciones, ordenar

y presentar en forma de gráfico los resultados obtenidos.

3.1.1 Visual Basic

La creación de una aplicación e

P

usuario en el cuadro de herramientas de Vis

arrastrando y pulsando con el ratón. Para completar el programa se escribe el código a

utilizar en una ventana especial llamada Ventana Código. La escritura del código de

programa proporciona mayor control sobre el modo de tra

c

deseamos que se procesen los datos de entrada y salida. El lenguaje de programación

Visual Basic contiene varios cientos de sentencias, funciones y caracteres especiales, pero

46 Ibid., p. 210.

51

Page 68: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

la mayoría de las tareas de programación podrán ser gestionadas por unas cuantas docenas

de palabras clave muy sencillas de recordar. El lenguaje de Visual Basic no es exclusivo;

icrosoft Visual Basic para aplicaciones se incluye dentro del Microsoft Excel, Microsoft

jetos y cuadros de diálogos en

antalla para guiar al usuario en la manipulación de los elementos en el orden en que

s ‘inteligentes’ que saben como responder cuando el usuario

teractúa con ellos, y después procesamos la entrada utilizando procedimientos de eventos

M

Access, Microsoft Project y otras aplicaciones para Windows.47

La aplicación diseñada muestra paneles de control, menús, ob

p

aparecen. Los programas esperan al usuario a que de una respuesta (la entrada) para

después procesarla de forma predecible. En los círculos de programación, ésta metodología

se conoce como Programación dirigida por eventos. La creación de un programa se realiza

a partir de un grupo de objeto

in

asociados con dichos objetos.

Procedimiento de evento (event procedure).

Un procedimiento es una unidad de código de Visual Basic que contiene una serie de

instrucciones y métodos que realizan una operación específica. Un evento es una acción

determinada que se produce en, o con, un objeto particular.

Microsoft Access responde a una variedad de eventos: clic del mouse, cambios en los datos,

formularios que se abren o cierran, y muchos otros. Es por eso que apoyados con la

47 HALVORSON, Michael. Microsoft Visual Basic 4 : paso a paso. Colombia : Mc Graw Hill, 1996.

52

Page 69: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

programación en Visual Basic se aprovecha en el desarrollo de la aplicación esta potente

característica.

Los eventos son normalmente el resultado de una acción del usuario. Si se usa un

procedimiento de evento o una macro se pueden agregar respuestas personalizadas a un

evento que se produzca en un formulario, informe o control.

Cuando se crea un procedimiento de evento

evento nombrad nt que se necesita

hacer es agregar el código que responda de la forma que se desee cuando se produzca el

evento al cual esta asociado.

Una sola acción, como puede ser pasar de un control a otro puede desencadenar varios

eventos diferentes que suceden de una determinada secuencia. El saber cuándo ocurren los

eventos y en qué orden lo hacen es importante, porque esto afecta a cómo y cuándo se

ejecutan los procedimientos de evento. Mover el enfoque a registros, actualizar registros,

modificar y/o actualizar datos en un control, eliminar registros, crear nuevos registros,

pulsaciones de teclas, son muestra de los variados eventos que pueden ocurrir.

Se puede utilizar además un procedimiento de evento para validar datos en la mayoría de

los casos, se puede comprobar la correcta introducción de los datos en un control de un

formulario estableciendo la propiedad regla de validación (Validation Rule) del control, o

estableciendo reglas de validación del registro o el campo en la tabla base de la que

para un objeto se agrega: una plantilla de

a para el eve o y el objeto al modulo del respectivo. Lo

53

Page 70: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

depende el control. Las macros y los procedimientos de evento proporcionan una mayor

potencia y flexibilidad para conseguir una validación más compleja.

La naturaleza, dirigida por eventos de Visual Basic, significa que la mayoría de los cálculos

realizados en nuestros programas se producirán por procedimientos de eventos. Es decir,

bloques de códigos específicos procesan entradas, calculan nuevos valores, gestionan tareas

y muestran la salida.

Figura 3-1. Propiedades del objeto Botón de comando.

escribir un procedimiento de suceso para cualquiera de estas propiedades, y, si alguno de

estos eventos se produce en el programa, Visual Basic ejecutará el procedimiento de evento

asociado con el mismo. Por ejemplo, cuando se pulsa el botón de comando en un programa,

Cada objeto de Visual Basic tiene un conjunto predefinido de eventos a los que puede

responder. Estos sucesos se listan para cada uno de los objetos en el cuadro de lista

desplegable Proc (procedimiento) de la ventana Código. Access por su lado tiene

predeterminadas varias propiedades para cado uno de sus objetos, es así como podremos

54

Page 71: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

el evento (Al hacer clic) ejecuta el procedimiento de evento Command_Clic asociado. (Ver

Anexos B Códigos). La figura 3-1 muestra los eventos predeterminados que Access tiene

ara el objeto Botón de comando.

masificación de los computadores en la industria, el uso de hojas de cálculo para la

odelación y toma de decisiones es ampliamente usado en los negocios contemporáneos.

s que parecen más complejos de lo que ellos necesitan ser y son

demás más complicados y aburridos de entender y de modificar.48

p

3.1.2 Hojas de cálculo.

Con la

m

Las funciones proporcionadas dentro de los paquetes integrados permiten a los usuarios

desarrollar modelos muy complicados de las actividades a evaluar o controlar.

Desafortunadamente, la mayoría de los usuarios de las hojas de cálculo no siguen una

metodología determinada cuando construyen bases en hojas de cálculo para modelar. Esto

conduce alternadamente a la perdida de muchas horas en puestas a punto y reprogramación

que producen modelo

a

En el desarrollo de la aplicación se usará un formato para el modelo que sea fácil de

entender, de usar y de modificar, a partir de una clara y correcta discriminación de la

información necesaria y relevante al momento de realizar la planeación a corto plazo.

A framework for building spreadsheet based decision models, D Mather, Monash University, Australia,

1997. http://www.stockton-press.co.uk/0160-5682/v50n1/pdf/2600672.pdf

48

55

Page 72: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Excel

En Excel se identifica el concepto de base de datos con el de lista (o tabla). Por lo tanto una

base de datos en Excel es un conjunto de filas en las cuales una columna tiene siempre el

mismo tipo de información. La definición que da Excel de lista es: “Serie rotulada de filas

de hojas de cálculo que contiene grupos similares de datos, como una base de datos de

facturas o un conjunto de nombres y números telefónicos de clientes. Una lista puede

usarse como una base de datos, donde las filas son registros y las columnas son campos.”

Durante la generación de la hoja de cálculo, no es necesario definir ninguna propiedad

específica para realizar operaciones de base de datos como: introducir, borrar, buscar,

ordenar o efectuar el subtotal de los datos, el programa reconoce la lista como una base de

datos.

Para crear una base de datos o una lista en Excel se debe introducir una primera fila en la

que se describe el contenido de cada columna. A continuación se introducen en las filas

guientes cada uno de los datos. Estas filas constituyen los registros de la lista. Por ejemplo

Ordenar mediante criterios, realizar un filtro para obtener una nueva sublista o hallar

subtotales de los campos que se deseen, son funciones propias de una aplicación de gestión

de bases de datos, sin embargo existe una diferencia fundamental entre Excel y una

si

se crea una lista para contener los datos de carné, nombre, dos apellidos y curso de una

serie de alumnos. Dos de las operaciones que Excel permite realizar con dichos datos son:

edición y ordenación.

56

Page 73: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

aplicación de base de datos: Excel sólo puede tener una lista en cada hoja y no puede

establecer relaciones entre dichas listas. En la terminología de las aplicaciones de bases

de datos, lo que Excel llama lista o base de datos se denomina tabla. Y el conjunto de todas

s tablas con sus relaciones es lo que realmente constituye la base de datos.

e

ases de datos diseñado para ser utilizado en computadoras personales tipo PC. Aunque no

visual para crear aplicaciones para

racle.49

la

3.1.3 Bases de datos

Access, programa comercial de Microsoft Corporation. Se trata de un sistema gestor d

b

está considerado como un sistema ‘serio’, lo cierto es que permite realizar las mismas

tareas que los tradicionalmente considerados sistemas ‘serios’, como puede ser Oracle. A

diferencia de éste, Access puede funcionar en sistemas de bajo costo, y es mucho más

asequible. Además, dispone de un entorno muy amigable (al estilo Windows 98). Por esta

razón, cada vez más empresas apuestan por este sistema; tanto es así que los fabricantes de

los sistemas ‘serios’, incluido Oracle, tienden a hacer que sus productos se parezcan, en

cuanto a interfaz de usuario se refiere, a lo que el usuario pide, que no es otra cosa que el

entorno visual. Así aparece Developer 2000, un entorno

O

49 Prácticas de Bases de Datos / Bases de Datos I, Curso 1997-98. Universidad de Huelva. España.

57

Page 74: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Access es un programa para la gestión de información. Permite diseñar las estructuras para

almacenar la información y los medios para su introducción y explotación.50

Una peculiaridad que se debe tener en cuenta al trabajar con programas de gestión de bases

de datos, como es el caso de Access, es que no existe la opción Save (Guardar), referida a

los datos de la aplicación, debido a que los cambios en los datos se van guardando siempre

en el dispositivo de almacenamiento permanente. Cuando se presenta la opción Save, se

refiere a guardar los cambios realizados en el diseño de los distintos objetos que componen

.

e esta información son tablas, que se corresponden con las listas de

la base de datos, no a los datos.

Access

Una aplicación de base de datos que almacena y gestiona información se denomina un

Sistema de Gestión de Bases de Datos SGBD o DBMS (Data Base Management System)

La estructura básica d

Excel. Para una mejor gestión de la información y para reducir el número de datos, las

tablas se relacionan, por ejemplo si se desean tener listas con los pedidos de cada cliente, en

vez de incluir el nombre, Nit y otros en la lista de cada pedido, bastará con almacenar el

código de cada cliente. El código del cliente en la lista de pedidos sirve para establecer una

relación con los datos de la cada cliente en la tabla clientes, ( Ver Figura 3-2.) Debido a este

50 SARRIEGUI, José María, SERRANO, Nicolás, MURO, Iván. Aprenda Microsoft Access 97 como si

n, Octubre 1998 Escuela Superior de Ingenieros Industriales,

Universidad de Navarra

estuviera en primero. San Sebastiá

58

Page 75: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

carácter relacional, Access es un sistema de gestión de bases de datos relacional SGBDR o

RDBMS (Relational Data Base Management System).

Figura 3-2. Tablas relacionadas

Es importante mencionar que en Access es posible exportar hojas de datos a páginas HTML

estáticas o dinámicas del World Wide Web, así como toda una serie de utilidades para

Internet. Aunque esta característica no

ismo tipo de dato, por ejemplo un nombre, un número de teléfono etc.

trabajar con intranets privadas y con la red pública

se utilizo en el desarrollo de la aplicación, sí amplía la proyección de la herramienta creada

al poder ser instalada en un servidor para permitir consultas desde diferentes terminales.

Conceptos generales

El ejemplo de la base de datos o lista de Excel nos sirve para exponer los tres conceptos

básicos de bases de datos: tablas, campos y registros. Una tabla es una colección de datos

con la misma estructura. Si se disponen los datos en una hoja de cálculo, una columna

siempre tiene el m

59

Page 76: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Cada tabla es un conjunto de información relativa a una categoría específica, consta, de un

e guarda un dato, que puede ser cierto número de campos, en cada uno de los cuales s

numérico, alfanumérico, fecha, etc.

Figura 3-3. Partes tabla.

Un campo es cada una de las columnas de la tabla y el nombre de la columna es el nombre

la tabla, y está formado por el dato de

una tabla en Access. Esta tabla consta de 12

pos: Idcliente, Nombre_cliente, NIT, Persona_contacto, Dirección, Ciudad, País,

información y la información en ella contenida. Es frecuente denominar a Access como una

del campo. Un registro es cada una de las filas de

cada uno de los campos almacenados en una misma operación.(Ver Figura 3-3.) En el

ejemplo anterior, la lista de clientes constituye

cam

Teléfono, Fax, Celular, Descuento y Observaciones.

Una base de datos es un conjunto de tablas que se utilizan para gestionar un determinado

tipo de información. Son ejemplos de base de datos: la base de datos de la gestión

académica de una universidad, la base de datos de los pedidos de una empresa o la base de

datos de centros de trabajo. Por lo tanto la base de datos está constituida por la estructura de

60

Page 77: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

base de datos. Para ser exactos Access es una aplicación de gestión de base de datos. Es la

misma diferencia que existe entre un procesador de textos como Word y un documento de

Word..

Entre los objetos que forman una base de datos tenemos:

Tablas (Tables): La tabla es el tipo principal de objeto de una base de datos. El concepto de

tabla se ha explicado al ver la relación de Excel con las bases de datos. Como resumen, una

bla es un conjunto de datos estructurados en columnas (los campos) y filas (los registros).

de datos, inserción, modificación y borrado, cálculos

ntre otras.

atos.

ta

En las tablas de la base de datos es donde se almacena toda la información de la base de

datos.

Consultas (Queries) Operaciones que pueden realizarse sobre los datos de las tablas:

limitaciones de acceso, selección

e

Macros y módulos: segmentos de código en lenguaje de alto nivel (Access Basic, Visual

Basic, lenguaje de macros,...) que permiten realizar operaciones complejas con los datos y

objetos de la base de d

Formularios: Un formulario es una ventana diseñada para la introducción y edición de

datos. En Excel, a partir de una lista se puede generar automáticamente un formulario para

introducir los datos. Access posee herramientas para realizar el diseño de los formularios de

una manera mucho más elaborada utilizando listas desplegables, rejillas, botones de opción

61

Page 78: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

y de selección, etc. El formulario permite introducir, modificar, consultar y borrar los

registros de la tabla o consulta para la que se ha diseñado. La ventaja frente a la

resentación como hoja de datos es que los campos se presentan de manera más adecuada

formes (Reports): Si el formulario es la forma idónea de introducir y editar los datos, la

mejor forma de mostrarlos es mediante un in rme en una página impresa o mediante su

representación en la pantalla.

Una página de acceso a datos es muy similar a un formulario, pero puede utilizarse para

acceder a la base de datos desde un navegador web de la misma manera que lo haría desde

Access. De hecho, a diferencia de un formulario, que se guarda como parte de una base de

datos, las páginas de acceso a datos se almacenan en el disco duro de forma independiente

con extensión de archivo HTML.

En general, se puede afirmar que el diseño de la presentación de los datos es uno de los

aspectos clave a la hora de valorar una aplicación informática. Un diseño de pantallas

adecuado a cada usuario reduce el tiempo de aprendizaje y motiva al usuario, lo que es casi

una garantía de éxito.

p

al usuario, con un diseño que ayuda a su comprensión, utilizando los controles más

adecuados a cada tipo de información. En algunos casos la tabla puede ser la mejor manera

de presentar los datos y no es necesario recurrir a modos de presentación más sofisticados.

In

fo

62

Page 79: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Los formularios son la principal interfaz o vía de comunicación entre el usuario y la base de

datos. Entre las utilidades más importantes de los formularios se pueden citar las de mostrar

y editar datos de una o varias tablas o consultas, la de controlar el flujo de la aplicación con

botones, la de inserción de datos en la base de datos o la de enviar mensajes al usuario.

ependiendo del tamaño y número de campos de la tabla o consulta que se va a mostrar en

registros y moverse al

rimero o al último de la tabla, para ver sus valores y/o modificarlos. También se puede

D

el formulario se decide cuál es el tipo de formulario que mejor se adapta a cada situación.

El tipo de formulario más sencillo muestra los valores de todos los campos de una tabla o

consulta. Es posible avanzar uno a uno a lo largo de todos los

p

realizar la inserción de un nuevo registro al final de la tabla.

Figura 3-4. Botones de desplazamiento entre registros.

Para moverse entre los diferentes registros ingresados a la base o para ingresar uno nuevo

debe desplazarse mediante los botones de desplazamiento situados en la parte inferior de la

ventana activa (Ver Figura 3-4). Puede utilizar estos botones para desplazarse rápidamente

entre los registros.

63

Page 80: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Los formularios en Access son versátiles: permiten realizar tareas que no son posibles en

las hojas de datos tabla o consulta. Es posible validar las entradas con base en la

información contenida en otras tablas distintas a la editada. Se pueden crear formularios

que incorporen otros formularios (subformularios). Además, desde un formulario, es

posible realizar cálculos y mostrar totales o activar distintas funciones de la aplicación.

Un formulario puede mostrar los datos de tablas o consultas con una relación uno a varios

mediante un formulario que contenga subformularios, de manera que en el formulario

principal aparezcan los datos del lado único de la relación y en el subformulario se pueda

acceder a cada uno de los datos del lado varios de la relación.

Un subformulario es un formulario dentro de un formulario. El formulario primario se

egistro

ctual del formulario principal. Cuando se utiliza un formulario con un subformulario para

llama Formulario Principal y el formulario dentro del formulario se llama Subformulario.

Una combinación formulario / subformulario se llama a menudo Formulario Jerárquico,

formulario principal / detalle o formulario principal / secundario.

El formulario principal y subformulario de este tipo de formularios están vinculados para

que el subformulario presente sólo los registros que están relacionados con el r

a

introducir nuevos registros, Microsoft Access guarda el registro actual en el formulario

principal cuando se introduce el subformulario. Esto asegura que los registros de la tabla

‘varios’ tengan un registro en la tabla ‘uno’ con el que relacionarse. También guarda

automáticamente cada registro conforme lo agregue al subformulario.

64

Page 81: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 3-5. Detalle subformularios

rios son la parte de la aplicación que va a estar a disposición de los usuarios,

onstituyendo el núcleo de la interfaz aplicación-usuario. Por eso es necesario tener un

especial cuidado en su diseño y construcción. Los usuarios que manejen los formularios

deben encontrarlos sencillos y eficientes. Aunque es posible utilizar las hojas de datos de

El ejemplo más típico es el formulario correspondiente a un pedido, en el que en la parte

superior se muestran los datos propios del pedido y en la inferior los distintos artículos que

forman las líneas del mismo. En la aplicación se manejan formularios jerárquicos anidados,

es decir que, un mismo formulario puede ser subformulario (lado ‘varios’ de la relación)

para una relación de datos y ser al tiempo formulario principal (lado ‘uno’ de la relación)

para otra. La figura 3-5 presenta formularios anidados que muestran esta condición.

Los formula

c

65

Page 82: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

tablas y consultas para realizar muchas de las funciones de los formularios, éstos tienen la

ventaja de presentar la información de forma clara y ordenada. Un formulario

acelera la introducción de datos y minimiza los errores de los

r clic en él abre el formulario relacionado.

os tenemos las listas (list), la lista desplegable

ombo list), y para datos que sólo puede tomar dos valores (verdadero o falso, uno o cero,

ck box). Uno de los controles más utilizados es el botón

especialmente útil para controlar el flujo de la aplicación,

ión no comience hasta que sea requerida por el usuario,

ntre otras.

convenientemente diseñado

usuarios.

Un formulario especial es el panel de control que funciona como un menú, esto facilita la

realización de tareas en una base de datos al permitir direccionar al usuario a los

formularios específicos. Frente a cada uno de los elementos que conforman el panel de

control hay un botón que al hace

Controles

Los controles son los objetos que forman el formulario para componer su aspecto externo o

para editar los contenidos de las tablas o consultas. El control más habitual es la caja de

texto (text box) pero hay otros controles que pueden resultar más adecuados para

determinados tipos de datos. Entre otr

(c

etc.) el botón de verificación (Che

de comando (command button)

ya que permite que determinada acc

e

66

Page 83: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

3.2 ESTRUCTURA DE LA APLICACIÓN

atos, relaciones entre

llos, semántica asociada a los datos y restricciones de consistencia. Los diversos modelos

icar restricciones de datos

xplícitamente. Hay muchos modelos diferentes, y es probable que aparezcan más. Algunos

3.2.1 Modelos de datos.

Para describir la estructura de una base de datos es necesario definir el concepto de moldeo

de datos, una colección de herramientas conceptuales para describir d

e

de datos basados en objetos se dividen en tres grupos: modelos lógicos basados en objetos,

modelos lógicos basados en registros y modelos físicos de datos.51 En este proyecto

trabajamos solo con el primero.

Los modelos lógicos basados en objetos se usan para describir datos en los niveles

conceptual y de visión. Se caracterizan por el hecho de que proporcionan capacidad de

estructuración bastante flexible y permiten especif

e

de los más extensamente conocidos son:

• El modelo funcional de datos.

• El modelo entidad-relación.

• El modelo orientado a objetos.

KORTH, Henry F y SILBERSCHATZ, Abraham. Fundamentos de bases de datos. 2 ed. España : Mc

Graw Hill, 1995. p. 6-7.

51

67

Page 84: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Modelo funcional.

El modelo funcional muestra la forma en que se derivan los valores producidos en un

cálculo a partir de los valores introducidos. onsta de múltiples diagramas de flujo de

datos, que muestran el flujo de valores desde las entradas externas a través de las

operaciones y almacenes internos de datos hasta las salidas externas.

Los diagramas de flujo de datos son una herramienta gráfica que se emplea para describir y

automatizado, incluyendo procesos, lugares para almacenar datos y retrasos en el sistema.

Los diagramas de flujo de datos son la herramienta más importante y la base sobre la cual

med

físi tema.

A menudo el diagrama de alto nivel se denomina ‘diagrama de contexto’ o ‘nivel cero’.

uso

dete desagregan de

cuerdo a los procesos macros, como nivel 1, nivel 2 y así sucesivamente.

Los métodos para el análisis de flujo de datos fueron desarrollados y promovidos al mismo

tiempo por dos organizaciones (Yourdon Inc., Mc Donnell-Douglas.) En el desarrollo de la

C

analizar el movimiento de datos a través de un sistema, ya sea que éste fuera manual o

se desarrollan otros componentes. La transformación de datos de entrada en salida por

io de procesos puede describirse en forma lógica e independiente de los componentes

cos (computadores, archivos) asociados con el sis

Contiene un solo proceso pero juega un papel muy importante en el estudio del sistema en

. El diagrama de contexto define el sistema que va ha ser estudiado en el sentido que

rmina las fronteras. Los procesos de bajo nivel son operaciones que se

a

68

Page 85: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

aplicación de utiliza el enfoque de Yourdon el cual utiliza cuatro notaciones sencillas,

símbolos especiales o iconos y anotaciones que los asocian con un sistema especifico.52

1. Flujo de datos (flecha): movimiento de datos en determinada dirección desde un origen

hacia un destino en forma de documentos, cartas, llamadas telefónicas o virtualmente

por cualquier otro medio. El flujo de datos es un ‘paquete’ de datos.

2. Procesos (circulo): personas, procedimientos o dispositivos que utilizan o producen

(transforman) datos. No se identifica el componente físico.

3. Fuente o destino de los datos (cuadro): fuentes o destinos externos de datos que pueden

ser personas, programas, organizaciones u otras entidades que interactúan con el

sistema pero se ueencuentran f ra de su frontera.

4. Almacenamiento de datos (líneas paralelas): es el lugar donde se guarda los datos o al

que hacen referencia los procesos en el sistema. El almacenamiento de datos puede

representar dispositivos tanto computarizados como no computarizados.

52 SENN, James A : Análisis y diseño de sistemas de información. 2 ed. México : Mc Graw Hill, 1992. p 181.

69

Page 86: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Cada componente en un diagrama de flujo de datos tiene una etiqueta con un nombre

descriptivo. Los nombres de los procesos también reciben un número que es utilizado con

fines de identificación.

Diagramas de flujo

0

Planeaciónde la producción

Dirección y Gestión

Finanzas

Mercadeo y Ventas

RecursosHumanos

Compras Ingenieríade procesos

requerimientosde inversion

políticas yestrategias

datos de clientes

comportamiento de competencia

pronósticos de demanda

capitaldisponible

requerimientode personal

datos depersonalorden entrada

de materiales

orden de compra

datos deprocesos

Figura 3-6. Nivel 0. Planeación de la producción.

Los diagramas de flujo que se muestran a continuación detallan la información utilizada

para la creación de la base de datos.

Los diagramas están estructurados por niveles que representan la jerarquía de la planeación

de la producción. Se inicia en el nivel 0, superior (Ver Figura 3-6.), y se profundiza hasta e

nivel 3 de la plan to entidades y los

flujos de información que los relacionan.

l

eación a cor plazo. Mostrando en ellos los procesos, las

70

Page 87: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

1

PLANEACIÓN A LARGO PLAZO

2

PLANEACIÓN A MEDIANO PLAZO

DIRECCIÓNY GESTIÓN

Planta

Mercadeo

Inventarios

Compras

3

PLANEACIÓN A CORTO PLAZO

Personal Centro de Costos

Ventas

Pronósticos Planeación Agregada

MRP

CRP

Métodosde Programación

orden de compra de materiales

objetivos alargo plazo

control

políticas yestrategias

pedidoscomprometidosclientes

ventas reales

mix de productos

orden producción

presupuesto de producción

aprobación de fondos

datos planagregado

datos familiasagregadas

métodos requeridos

métodossolicitados

estimaciones de demanda a mp.

estimaciones de demanda a largo plazo

orden de entrada de materiales

datos capacidad planificada

requerimientos de materiales

materiales disponibles

datos de producción diaria

(HPP-S)

Lista de materiales

órdenes de pedidoplanificadas

ajustes de capacidad

capacidad detallada

nivel de fuerza laboral

personal asignado

Figura 3-7. Nivel 1. Sistema de Planeación Jerárquico.

programación de las operaciones

71

Page 88: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

La figura 3-7 presenta y relaciona los tres niveles del sistema de planeación jerárquica,

centrándonos en el tercer proceso ‘planeación corto plazo’ que es el origen de la aplicación

‘HPP-S’.

3.1

PREPARACIÓN PEDIDO

MRP

CRP

3.2

SCHEDULING

PLANTADE PRODUCCIÓN

3.3

CONTROL

Gráficos de Gantt

Métodos de Programación

Clientes

Producto

pedidos paraprogramar

datos producto solicituddatos cliente

pedidosprogramados

orden deproducción

datos cliente

datos del centro de trabajo

pedidos asignados

carga ct

datos pedido

capacidadplanificada ajustes de

capacidad

Lista de Materiales

datos de producción diarios

Órdenes de pedido planificadas métodos requeridos

solicitud de métodos

seleccionar gráfico

control de la capacidad

Figura 3-8. Nivel 2. Planeación a corto plazo.

La figura 3-8 desagrega el tercer proceso de la ‘planeación corto plazo’ de la figura

anterior, en los tres procesos básicos tomados para el modelo de datos, soporte para el

diseño de la aplicación ‘HPP-S’.

72

Page 89: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Partes Componente

EstructuraProducto3.1.1

INGRESAR DATOS PRODUCTO

Producto

CLIENTE

Tiempo de Entrega

3.1.2

INGRESAR

RUTAS

3.1.3

INGRESARDATOS PEDIDOS

3.1.4

INGRESARDATOS CLIENTE

Hoja de ruta

Centro de trabajo

Rutasproducto

Cantidadrequerida

Pedido

Programacion detallada

Producto

duración en días de operaciones

elemento

componentesproductos

datos cliente

datos producto

tipo

programaciónhacia delante

unidad

carga poroperación al CT

partes componenteproducto

detalle ruta

fecha de emisión # pedido

detalles rutasproducto

factor deutilización

datos personales

detalle CT

datos producto

cantidad a emitir

fecha de entrega

datos productos

Figura 3-9. Nivel 3. Planeación a Corto Plazo - Preparación Pedido.

detalle pedido

73

Page 90: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

La figura 3-9 desagrega el subproceso 3.1 ‘preparación pedido’ de la figura anterior en las

operaciones desarrolladas a este nivel mostrando el flujo de datos generado. Contiene el

ingreso de datos para los clientes, producto, rutas y pedido.

3.2.1

ASIGNACIÓN CargaOperaciones

Carga Pedido

Control Producción

N/1 CT/1maq REGLAS DE PRIORIDAD

N/2CT REGLA DE JOHNSON

N/1CT/MmaqMÉTODO HÚNGARO3.2.2

SECUENCIACIÓN

Planta

detalle pedido

rutas iniciadas

Control pedido

Rutas producto

rutas producto

datos del CT

carga operaciones

datos del CT

órdenessecuenciadas

control operaciones

datos de las máquinas

datos del CT

cargas por CT

Figura 3-10. Nivel 3. Planeación a Corto Plazo - Scheduling.

La figura 3-10 desagrega el subproceso 3.2 ‘scheduling’ de la figura 3-8 en las operaciones

desarrolladas a este nivel mostrando el flujo de datos generado. Contiene la asignación y

secuenciación.

74

Page 91: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

La figura 3-11 desagrega el subproceso 3.3 ‘scheduling’ de la figura 3-8 en las operaciones

desarrolladas a este nivel mostrando el flujo de datos generado. Contiene básicamente el

bproceso de análisis de la capacidad por periodo. su

Producción Planeada

Producción

3.3.1ANÁLISIS

POR PERIODO

Real

CRPINPUT/OUTPUT

periodo

avance producto

carga operaciones

centros trabajo

ajustes de control input/output capacidad

gráficos de Gantt

gura 3-11. Nivel 3. Planeación a Corto Plazo - Control.

s una descripción del aspecto del mundo real que el diseñador intenta capturar en un

idades no necesariamente distintas.53 Estas relaciones pueden

Fi

Modelo entidad - relación

E

sistema de información, en este modelo, la estructura se describe por un conjunto de

entidades u objetos de interés relacionados entre sí por interrelaciones que son la relación

que vincula a dos o más ent

53 RUMBAUGH et al. Modelado y diseño orientado a objetos. 4 ed. México : Prentice may, 1995

75

Page 92: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

ser: relaciones 1:1 , uno a uno; relaciones 1: , uno a varios; relaciones : , varios a

uestra por líneas que las une. Para evitar que se

las bases ermite usar integridad referencial obligatoria para

a integridad refer que en realidad le da poder a la relación, ya que se

ás

mite habilitar las opciones de: actualizar en cascada los campos

lacionados y Eliminar en cascada los registros relacionados.54

rencial es entonces un sistema de reglas que utiliza Access para garantizar

aciones entre los re de tablas relacionadas son válidas y que no se eliminan

cidentalmente datos relacionados.

blas.

blas son los almacenes de datos, y su diseño consiste en la definición de los campos

ios para almacenar co la información en la base de datos.

etallamos ahora cuales son y como están definidos los campos para cada una de las 20

tablas que conforman la base de datos de la aplicación ‘HPP-S’ sin profundizar en la

ón de cada campo.

varios.

En Access la relación entre tablas se m

generen errores en de datos p

cada una. L encial es lo

asegura que no exista un registro ‘varios’ que no coincida con un registro en ‘uno’. Adem

esta también per

re

La integridad refe

que las rel gistros

ni modifican ac

3.2.2 Ta

Las ta

necesar rrectamente

D

explicaci

54 NEIBAUER, Alan. Access 2000 para gente ocupada. Mexico : Mc Graw Hill, 2000. p. 183

76

Page 93: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Centro_trabajo

rico lave principal Idcentro Auto numé C

Nombre_centro Texto

cap_d_hr_reales Numérico

cap_d_hr_estándar Numérico

Eficiencia Numérico

Utilización Numérico

t_ medio_preparación Numérico

t_medio_de_cola Numérico

Clientes

Auto numérico Clave principal Idcliente

Nombre_cliente Texto

Teléfono Texto

Componentes

umérico lave principal Idcomp Auto n C

Producto Numérico

Material Numérico

Cant Numérico

Idund Numérico

Idlistaruta Numérico

Factor Numérico

Componentes1

rico lave principal Idcomp1 Auto numé C

Idcomp Numérico

Material Numérico

Cant Numérico

77

Page 94: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Idund Numérico

Idlistaruta Numérico

Factor Numérico

Componentes2

rico lave principal Idcomp2 Auto numé C

Idcomp1 Numérico

Material Numérico

Cant Numérico

Idund Numérico

Idlistaruta Numérico

Factor Numérico

Control_operaciones

rico lave principal Idcontxopr Auto numé C

Idcontrolruta Numérico

Idoperación Numérico

Iniciada Sí/No

Terminada Sí/No

Control_ruta

ruta umérico lave principal Idcontrol Auto n C

Idpedido ico Numér

Idproducto Numérico

Nombre_ruta Texto

Cant_emitir Numérico

Cant_pend Numérico

cantidad Numérico

Iniciada Sí/No

Terminada Sí/No

78

Page 95: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Detalle_pedido

dido umérico lave principal Iddetallepe Auto n C

Idpedido Numérico

producto Numérico

cantidad Numérico

Iniciada Sí/No

Terminada Sí/No

In_out

Idin_out rico lave principal Auto numé C

Idper Numérico

Idcentro Numérico

Hr Numérico

Input_planeado Numérico

Input_real Numérico

output_planeado Numérico

output_real Numérico

Lista_materiales

rico lave principal Idmaterial Auto numé C

material Texto

Tipo Texto

Lista_rutas

Idlistaruta Auto numérico Clave principal

Nombre_ruta Texto

Factor Numérico

Máquinas

Idmaq Auto numérico Clave principal

79

Page 96: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Idcentro Numérico

Idoperación Numérico

operación Texto

Maq1 Numérico

Maq2 Numérico

Maq3 Numérico

Maq4 Numérico

Maq5 Numérico

Maq6 Numérico

Maq7 Numérico

Maq8 Numérico

Maq9 Numérico

Operaciones

ción rico lave principal Idopera Auto numé C

Idlistaruta Numérico

Centro Numérico

Operación Texto

T_ejec Numérico

T_medio_desplaz Numérico

Aprovech Numérico

Fact Numérico

Operaciones_CT

rxCT umérico lave principal Idope Auto n C

Centro Numérico

Operacion Texto

Pedidos

pedido Auto numérico Clave principal Id

80

Page 97: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Cliente Numérico

Fecha_emisión Fecha/hora

Fecha_entrega Fecha/hora

F_entrega _real Fecha/hora

Iniciado Sí/No

Periodo

Idper Auto numérico Clave principal

Fecha Fecha/hora

Productos

Idproducto Auto numérico Clave principal

Producto Texto

Idlistaruta Numérico

Factor Numérico

switchboardID

Switchboard Items

Numérico Clave principal

ItemNumber Numérico

ItemText Texto

command Numérico

Argument Texto

Tipo

Idtipo Auto numérico Clave principal

tipo Texto

Unidad

nd Auto numérIdu ico Clave principal

unidad Texto

81

Page 98: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

3.2.3 Modelo entidad – relación en la aplicación

En general, nunca se debe poner toda la información que se tenga en una sola tabla. Por

definición, mientras más campos e información se disponga en una tabla, más difícil será

trabajar con ella. La mayor parte de las veces se debe dividir la información en dos o más

tablas, y luego se le indicará a Access qué relación tienen las tablas entre sí. Se relacionan

las tablas unas con otras mediante uno o más campos para que los registros de cada una

coincidan. En una base de datos, se pueden crear varios tipos de relaciones. En una relación

de las que se denominan uno a uno, cada registro de una tabla se relaciona sólo con un

registro en la otra. Así por cada registro con la dirección de un cliente existe un solo

registro de crédito. También puede haber relaciones llamadas uno a varios, esto significa

que un registro en una tabla puede estar rel ás registros en otra tabla.

El registro de un cliente en la tabla clientes, puede estar relacionado con más de un registro

e la tabla pedidos.55

Las relaciones que existen en la base de datos se dividen principalmente en tres bloques que

forman la estructura principal:

• Las relaciones para identificar el producto, sus componentes y rutas. Figura 3-12.

• Las relaciones para identificar los pedidos. Figura 3-13.

• Las relaciones para realizar la carga a planta de los pedidos y su posterior control

durante la elaboración. Figura 3-14.

acionado con uno o m

d

55 Ibid., p. 17-18.

82

Page 99: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 3-12. Relaciones producto

Fi e s gura 3-13. R laciones pedido

83

Page 100: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 3-14. Relaciones control

Como se mencionó la s a función de captura

rificación, las cuales al estar marcadas o no, permiten controlar la información

que se presenta en los formularios a medida que se navega por ellos. Es así, como esta

condición de iniciado/ter parición en pantalla de

información (datos), como en el caso de los pedidos entregados o pendientes, que de

base de dato en Access principalmente tiene l

de datos mientras que la hoja de cálculo de Excel tiene la función de manipulación de los

mismos. Pero hay que controlar lo que se envía a Excel para obtener datos veraces al

momento de servir de apoyo en la toma de decisiones. Es por eso que Access también hace

filtros para la información que está guardada en la base de datos por medio del uso de

casillas de ve

minado, sí/no, permite o habilita la a

calcularse cuando no son necesarios (por ejemplo pedidos entregados) aumentan el tamaño

en bytes – espacio de disco – de la base de datos (archivo en Access).

84

Page 101: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 3-15. D

Como Excel procesa los datos pero Access lo

nuevos datos con los alma

suministro y de la carga (ejecución + preparación).

atos ruta P1

s guarda, éste último puede tam generar bién

cenados. Como es el caso del tiempo de entrega o tiempo de

Figura 3-16. Relaciones tiempo de suministro

El cálculo del tiempo de suministro y la carga se realiza siguiendo el ejemplo 5.1 del libro

e Machuca56, de donde traemos los datos de la ruta P1 (Ver Figura 3-15). Las relaciones

en la aplicación para este fin se muestran en la figura 3-16. Las ecuaciones se explican a

d

56 MACHUCA DOMÍNGUEZ, José Antonio et al. Aspectos tácticos y operativos en la producción y los

servicios, Op cit., p. 160

85

Page 102: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

continuación. (Sin tener un tiempo para la confección del pedido, la espera final ni la

inspección.)

Figura 3-17. Datos centros de trabajo

Tomando el tiempo de suministro como el intervalo de tiempo que transcurre entre el

momento en que se solicita un pedido y el instante de su llegada, entendida ésta como el

momento en que está disponible para ser utilizado, se desglosa este tiempo en sus distintos

co s

acidad diaria disponible en horas reales y en

horas es ‘P1’.

Desplazamiento a CT2 1 hr./8,5 (hr. /día) = 0,12 días

Cola en CT2 = 4 hr./ 6,5 (he./día) = 0,62 días Preparación CT3 = 1 he./6,5 (he./día) = 0,15 días

Ejecución O2 = 1,04 min.e x 186 un x 0.9124/60 (min.e/he.) = 2,94 he = 2,94 he./6,5 (he./día) = 0,45 días

Desplazamiento a CT3 2 hr./8,5 (hr. /día) = 0,24 días

Cola en CT3 = 4 hr./ 5,45 (he./día) = 0,73 días Preparación CT3 = 1 he./5,45,(he./día) = 0,18 días

Ejecución O3 = 1,53 min.e x 186 un x 0.9124/60 (min.e/he.) = 4,32 he./5,45 (he./día)= 0,79 días

= 7,15 días

mponentes, considerando las distintas operaciones necesarias para obtener cada ítem, lo

centros de trabajo en que se realizan, la cap

tándar. La figura 3-17 muestra los datos de los centros de trabajo para la ruta

Desplazamiento a CT3 1 hr./8,5 (hr. /día) = 0,12 días Cola en CT3 = 4 hr./ 5,45 (he./día) = 0,73 días Preparación CT3 = 1 he./5,45,(he./día) = 0,18 días

Ejecución O1 = 5,48 min.e x 186 un x 0.9124 = 15.48 he./5,45 (he./día) = 2,84 días

Tiempo de suministro total

Figura 3-18. Cálculo tiempo de suministro.

86

Page 103: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

De esta forma, se ve claramente el desarrollo de cada proceso y los tiempos que ello

implica; por ejemplo para obtener un lote de 186 unidades de P1 se comienza realizando la

primera operación en el primer centro de trabajo según la ruta, continuando con la segunda

así sucesivamente. La suma de todos estos tiempos da lugar al tiempo de suministro total.

as ecuaciones para el cálculo de la carga se usan los datos de la ruta y los del centro de

alcula en horas estándar (h.e) para cada operación de

ón (h.e) = unidades lote x [ tei (min) / vi ] x factor ruta / 60 (min).

y

(Ver Figura 3-18).

En la figura anterior el lado izquierdo muestra como se construyo en la aplicación los

cálculos del lado derecho provenientes del apéndice 5A de Machuca57. La diferencia en los

totales en el tiempo de suministro, se debe al uso de más cifras significativas en la

aplicación creada.

L

trabajo por donde pasa. La carga se c

la ruta tomando en cuenta para cada una los valores propios al centro de trabajo por donde

pasa.

Carga (h.e) = ejecución (h.e) + preparación (h.e) [tiempo medio de preparación del CT]

donde

ejecuci

57 Ibid., p. 190

87

Page 104: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

En la ruta de ‘P1’ los valores para la carga por operación en cada centro de trabajo son:

para la operación 01 de 16,15 h.e, para la operación 02 de 3,94 h.e, y para la operación 03

ltima de 5,33 h.e. ú

Figura 3-19. Carga por operación y duración.

Observe en la figura anterior para las 3 operaciones de la ruta ‘P1’, el tiempo (duración) en

días necesarios para elaborar el producto, y la carga que se genera por las 186 unidades

requeridas.

3.3 ELEMENTOS OPERACIONALES

Tratamos ahora los elementos que se tuvieron en cuenta al momento de construir la

aplicación para un mejor procesamiento de la información: una aproximación al job shop

por medio de Johnson. La versión del Office en la que debe ejecutarse la aplicación, las

barras de apoyo para complementar la aplicación, consideraciones sobre el funcionamiento

de algunos formularios y su razón de ser.

3.3.1 Aproximación al Job-Shop

Aunque la aplicación se diseño para empresas que tienen configuración orientada al Flow-

shop. En el caso de empresas que suelen fabricar bajo pedido (job shop), se da la opción

88

Page 105: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

por medio de Johnson para realizar una programación de los centros de trabajo que son

utilizados en el desarrollo de una o varias operaciones en las rutas de algunos de los

componentes.

Para filtrar los datos antes de enviarlos a Johnson en Excel, se tomó en cuenta lo siguiente:

ada la complejidad para dejar de forma automática el cargar un centro de trabajo luego

ue desea analizar, seleccione y ordene los centros según requiera.

ón en el centro 2 y su respectiva carga.

Después de esto se envían a Excel los datos resultado de las consultas para ser ordenados

según la regla de Johnson, como se mencionó en el capítulo anterior.

d

que el usuario eligiera uno, por la variedad de opciones que se deberían tener en cuenta, por

ejemplo cargar el centro 3 al seleccionar el 2 o el 2 al seleccionar el 1, pues por variedad en

la composición de las rutas algunas pasaran del centro 1 al 3, otras entraran al centro 2 sin

pasar por el 1 o las que del centro 2 no pasan al 3 sino que regresan al 1.

Por la complejidad que se toma el tratar de desarrollar un algoritmo para que cubra esas y

muchas otras condiciones se deja en manos del usuario, que sea él, quien conociendo los

dos centros q

Internamente lo que se hizo en la aplicación fue realizar dos consultas, la segunda

vinculada a la primera, donde la primera filtra para el centro de trabajo seleccionado las

rutas y cargas de las operaciones iniciadas en el centro; la segunda busca entre las rutas

resultado de la primera consulta, cuales pasan por el centro seleccionado en segundo lugar,

mostrando el número de operaci

89

Page 106: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

3.3.2 Sistema operacional.

La aplicación desarrollada funciona correctamente bajo el Office 2000 o superior. En

prueba realizada al convertir el archivo en Access a una versión anterior y el ejecutarla en

un computador con un Office inferior se presentaron problemas por el no-reconocimiento

de algunos códigos o comandos.

Durante el desarrollo de este documento se ha hecho mención a la integridad de la

planeación y en ese sentido a que deben tenerse unos datos resultado del mediano plazo que

son elementos de n proveniente de

la propia empresa del conocimiento de sus procesos: información del mediano plazo en el

significa que necesita una base de datos de

producción con archivos de planificación y control. Existen tres tipos de archivos de

planificación que son: (1) el archivo maestro de artículos, que contiene información sobre

cada componente que la empresa fabrica o compra; (2) un archivo de rutas, que indica la

marcha de cada componente por el centro de trabajo; y (3) un archivo maestro del centro de

trabajo, que contiene la información sobre el centro de trabajo, como la capacidad y la

eficiencia.58

entrada para éste el corto plazo, así como la informació

MRP y de la empresa en sus productos, rutas y centros de trabajo.

Independientemente de sí el sistema de programación de las operaciones sea manual o

automático, debe ser preciso y apropiado. Esto

58 HEIZER, y RENDER, Op cit., p. 207-208.

90

Page 107: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Como el objetivo de este proyecto es el de entregar una aplicación funcionando, se

adecuaron los espacios para ingresar la información necesaria para que la planeación a

corto plazo se realice. Es por eso que en el interior de la aplicación se creo un MRP

modificado al no contener los tiempos de reposición, elemento éste que sí es importante en

la planeación a mediano plazo.

Barras de menú y herramientas.

La aplicación cuenta con una barra de menú y una barra de herramientas que ofrecen al

usuario rapidez al momento de interactuar con la misma permitiéndole accesos directos a

ularios y funciones. form

Figura 3-20. Barra de Menú de la Aplicación

Figura 3-21. Barra de Herramientas de la Aplicación.

Mostramos ahora el despliegue de los nombres que integran la barra de menú sin detallar en

algunos submenú su contenido: Archivo, Edición, Registros, Información, General,

Preparación pedido, Scheduling, Control, Ventana y para terminar la ayuda ‘?’ (símbolo

interrogante)

91

Page 108: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 3-22. Barra de Menú- Archivo y Edición.

En el menú Archivo la opción compactar y reparar base de datos es útil para mantener el

tamaño del archivo en espacio de disco acorde con los datos ingresados y evitar que se

explosione por los diferentes cálculos que se realizan en su interior.

Figura 3-23. Barra de Menú- Registros, Información y General.

En ‘Datos empresa’ del menú General se encuentra el formulario donde, como su nombre

lo indica, se ingresan los datos propios a la empresa: nombre, nit, teléfonos, fax, etc.

92

Page 109: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 3-24. Barra de Menú- Preparación Pedido.

El menú preparación pedido contiene las divisiones del panel con el mismo nombre, y

dentro se han colocado los submenú ‘Ingresar datos producto’ y ‘Ingresar datos ruta’ que se

despliega al ubicarse sobre cada uno. Esto para reunir en un solo menú los datos que se

deben ingresar a la base.

Figura 3-25. Barra de Menú- Scheduling.

Los dos últimos submenús de la barra de menú, figura 3-26, son los convencionales que

vienen en la barra de menús de los programas del office: ventana y ayuda.

93

Page 110: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 3-26. Barra de Menú- Ventana y ?.

Selección en formularios.

Se crearon formularios donde se guía al usuario y se le da libertad de elegir o seleccionar

los nombres de rutas u operaciones que vaya a iniciar por medio de formularios

ularios de selección, debido a la imposibilidad que ofrece

rísticas de las tablas padre

relacionadas, como sí ocurre en las bases de datos orientadas a objetos.

ente manejar la

plicación con los valores o cantidades reales por las existencias en los diferentes

aterial en proceso o el no tener que cargar todas las rutas para elaborar

n producto al tener existencia de alguna.

relacionados que crean form

Access como base de datos relacional de heredar caracte

Por eso, como no se logró cargar de forma automática las operaciones asociadas a una ruta

o las rutas a un producto, se dio solución a esté inconveniente ofreciendo al programador la

facilidad de que sea el mismo quien controle todo el proceso, decidiendo que se hace y en

que momento.

Una ventaja divisada en esta solución es la posibilidad de indirectam

a

inventarios, teniéndose así, el no tener que iniciar una ruta desde la operación inicial si ya

se encuentra algún m

u

94

Page 111: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

44.. LLÓÓGGIICCAA DDEE LLAA AAPPLLIICCAACCIIÓÓNN

4 CAPÍTULO 4. LÓGICA DE LA APLICACIÓN. Este capítulo inicia aclarando los conceptos teóricos que se tuvieron en cuenta para el

desarrollo de algunos formularios de la aplicación. Luego, se describen las partes que

componen la aplicación diseñada haciendo un recorrido sobre la misma. Terminando con

algunos comentarios dirigidos al usuario sobre las posibilidades que tiene la aplicación

desarrollada al no ser tan rigida.

4.1 CONCEPTOS TEÓRICOS DE LA APLICACIÓN

El proyecto se basa en la integración jerárquica de los diferentes niveles de la planeación.

Para el corto plazo se hace referencia a los datos que provienen del nivel anterior según

sean requeridos. Los conceptos teóricos se mencionarán según se aplicaron en la

realización de los diferentes formularios que se muestran en la herramienta desarrollada.

(Ver Figura 4-1)

95

Page 112: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 4-1. Formularios en la aplicación.

La figura 4-1 muestra para las tres divisiones p ci de la aplicarin pales ción: los formularios

plicar mejor el

tura de cada formulario utilizamos el producto ‘Silla’. (Ver

que tienen conceptos teóricos y el orden de aparición de los mismos. Para ex

concepto dentro de la estruc

Figura 4-2)

96

Page 113: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 4-2. Diagrama de ensamblado para el producto ‘Silla’.

Los com

F (1) = Sub ensamble asiento patas delanteras cantidad 1 G(1) = Sub ensamble respaldo patas traseras cantidad 1

cantidad 1

= Insumo 2 RMc = Insumo

aboración de los diferentes

productos ofrecidos por la empresa se ingresan a la base de datos. Teniéndose así, una lista

Partes/componestes.

ponentes y cantidades para una unidad del producto ‘Silla’ son:

1 2 3 E(4) = Remaches cantidad 4 4 A(1) = Marco asiento patas delanteras cantidad 1 5 E(4) = Remaches cantidad 4 6 C(1) = Asiento cantidad 1 7 B(1) = Marco respaldo patas traseras cantidad 1 8 E(4) = Remaches cantidad 4 9 D(1) = Respaldo 10 RMa = Insumo11 RMb 113 RMd = Insumo

Los nombre de las partes o componentes que son usados en la el

97

Page 114: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

única que centraliza y codifica cada parte o componente que requiere la empresa para su

normal funcionamiento, ya sean externos – insumos - o internos – componentes,

ponentes, subensambles, etc.-

Estructura del producto.

omposición. Aquí se usa el concepto de lista materiales que hace

ostrando claramente:

Componentes que lo integran

• Las cantidades necesarias de cada uno de ellos para formar una unidad del producto

• La secuencia en que los distintos componentes se combinan para obtener un artículo

intermedio o final.

En el formulario estructura producto por los enlaces entre los subformularios anidados que

lo conforman, se puede armar el árbol del producto al desagregarse hasta cuatro niveles:

producto, componente, subcomponente1 y subcomponente2. Diferenciando niveles de

fabricación y montaje.

ica:

subcom

Con el listado de partes/componentes generado se realiza después el ‘armado’ de cada

producto según sea su c

una descripción clara y precisa de la estructura que caracteriza la obtención de un

determinado producto m

La división por niveles facilita la explosión de las partes requeridas MRP para un producto

terminado particular. La estructura presenta la siguiente lóg

98

Page 115: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Nivel 0 (Producto): El producto terminado, como resultado del ensamble de varios

componentes; es el nivel más complejo de la lista.

Nivel 1 (Componentes): Los componentes unidos directamente a un elemento de nivel 0,

identificando su tipo.

ivel 3 (Componentesub2): Los componentes unidos directamente a un elemento de nivel

o.

Nivel 2 (Componentesub1): Los componentes unidos directamente a un elemento de nivel

1, identificando su tipo

N

2, identificando su tip

Figura 4-3. Árbol Estructura del producto ‘Silla’.

el producto ‘Silla’ La forma como se obtiene

l producto a partir de la unión de cada una de sus partes.

La figura muestra el árbol de estructura para

e

99

Page 116: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

La aplicación se diseño para soportar productos que se desagreguen hasta un tercer nivel.

Porque al incrementar en la base de datos el número de niveles aumenta la comp

s ando a su , la pre ción pleta del formulario en la pantalla

d

2. TROQUELADO. lado pieza.

4. TERMINADO.

5.

Detalle centros de trabajo.

Los datos de los centros de trabajo para el ejemplo son:

lejidad en

u diseño, dificult vez senta com

ebido a su tamaño.

La estructura diseñada es útil para presentar el árbol estructura del producto que se apoya

en el concepto de Lista de materiales descrito anteriormente. (Ver Figura 4-3)

Centros de trabajo.

Los centro y las operaciones que interviene en la realización del producto ‘Silla’son:

1. CORTE. 1. Medición. 2. Corte de pieza. 3. Mecanizado.

4. Dob5. Lijado.

3. PERFORADO. 6. Medición. 7. Perforado.

8. Pintura. 9. secado.

ENSAMBLE. 10. Armado. 11. Remachado.

100

Page 117: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

id Nombre centro Capacidad diaria horas

reales

Capacidad diaria horas

estándar eficiencia utilización

Tiempo medio preparación

(h.e)

Tiempo medio de cola (h.e)

1 CORTE 8,5 8,16 0,98 0,98 1 32 TROQUELADO 8,5 6,50 0,9 0,85 1 43 PERFORADO 8,5 5,44 0,8 0,8 1 44 TERMINADO 8 6,12 0,9 0,85 0,15 05 ENSAMBLE 8 6,62 0,92 0,9 0,1 0

La

fact as hojas de ruta, y

s tiempos por centros de trabajo para el cálculo de la capacidad se ingresan en el

tro de trabajo. los cuales definidos a continuación:

esario la aplicación de una medida homogénea basada en los

valores de hr (horas reales), U (Utilización) y de E de referencia, al objeto de poder

ina hora estándar (he) y supone un valor de 1 para

capacidad para los centros de trabajo se determina en el mediano plazo mediante

ores y tiempos. En la aplicación ‘HPP-S’ los factores se calculan en l

lo

formulario detalles cen

• La capacidad diaria en horas reales (hr) es igual una jornada normal de trabajo.

• Utilización (Factor de Utilización – U). Se define como cociente entre el número de

horas productivas desarrolladas (Nhp) y el número de horas reales (Nhr) de trabajo por

periodo. (día)

• Eficiencia (Factor de eficiencia – E). Cuando una actividad u operación se repite y es

ejecutada por distintas máquinas u operarios puede desarrollar distintas eficiencias,

dando lugar a un número diferente de horas productivas en función de quien las ejecute.

Por tal razón se hace nec

compararlas. Dicha unidad se denom

los valores de Eficiencia y Utilización.

• El tiempo de preparación es el necesario para ajustar y disponer la maquinaria e

instalaciones bajo las condiciones adecuadas para llevar acabo una nueva operación

101

Page 118: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

tras haber desarrollado otra diferente, y este valor podrá variar para una operación en

función de la cual sea previamente realizada por lo que se suele emplear el tiempo de

preparación medio.

• El tiempo de cola es el que sufre el pedido en cada uno de los centros de trabajo por los

nto del funcionamiento de sus centros de

trabajo emplearemos el tiempo de cola medio general para cada uno.

plica el concepto de máquinas paralelas explicado en el capítulo dos, y se trabajó bajo la

ampliándolo de máquinas hasta

s operaciones. Esta definición se puede implementar para la situación de operaciones

ndose a

ada secuencia un nombre representativo que la hace única en la base de datos. Además se

registran los tiempos estándar (tiempo de ejecución), tiempo de desplazamiento, y el factor

que ha de pasar hasta que se realicen todas las operaciones que sean necesarias. Como

se asume que la empresa tiene un conocimie

Máquinas paralelas.

A

idea de máquinas por ser esta la situación más tratada por los diferentes autores

consultados. Hemos realizado el montaje de este concepto

la

específicas que se realizan en determinado centro. Detallándose para las rutas que pasan por

el centro de trabajo las operaciones paralelas que se presentan en éste, y para cada

operación de la ruta los diferentes tiempos de ejecución que se presentan según la

‘máquina’ donde se realice.

Hoja de ruta.

Para cada parte/componente del producto, que se elabora en la planta se toma la secuencia

de las operaciones, en cada uno de los centros de trabajo por los que pasa, asigná

c

102

Page 119: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

de aprovechamiento, que se emplean para evaluar los requerimientos de capacidad para

cada CT. (En la aplicación no se incluye en esta hoja los tiempos de espera o cola por

trabajar con tiempos medios asociados directamente a los centros de trabajo.)

El tiempo de ejecución es el tiempo necesario para desarrollar una operación una vez se

procese en el centro de trabajo correspondiente.

El tiempo i

peraciones y es igual a (1-defectuosos)

de un componente o de un

obtiene una cierta proporción de elementos que no cumplen los requisitos

calid ada en tanto por uno, se denomina Factor de defectuosas

Factor de Aprovechamiento. En el caso de que

lqu te ga un ‘d’ > 0, habría que corregir el TCjk (tiempo de carga de cada

), dado que la obtención de un

elemento “bueno” originaría en realidad m ue la l c que

incluir las que han generado las piezas defectuosas en cada una de las operaciones.

de desplazam ento es el que incluye el traslado de los materiales que requiere el

pedido hasta el centro de trabajo.

El aprovechamiento es la proporción de referencias que cumplen los requisitos de calidad

en cada una de las o

Normalmente de cada una de las operaciones, que forman la ruta

producto final, se

de ad. Esta proporción, expres

(d) y su complementario (1-d), determina el

cua ier operación n

componente o producto final ‘j’ en un centro de trabajo ‘k’

ás carga q calcu ada, es de ir habría

103

Page 120: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 4-4. lo la o ención e una un ad

En la ra 4 se ento (ai) por

operaci gene qu tener 1 u ’ se ebe em tir una o en por 1,10

unidade Esto e n c ri idades e ‘P1’ y que em

por 110 idade

Para el producto ejem

Silla lla F ient ta

= Respaldo patas traseras A = Marco asiento patas delanteras

B = Marco respaldo patas traseras

n cada hoja de ruta se detallan las siguientes operaciones:

er Centro de trabajo Operación t ejec t desplaz aprovech

Incidencia de s factores en bt d id

figu -4, observa como los diferentes valores de aprovechami

ón ran e para ob nidad de ‘P1 d i rd

s. s, e aso de ser reque das 100 un d ha itir una orden

un s.

plo se identifican 7 hojas de rutas que son:

= Si= As o pa s delanteras

G

C = Asiento

D = Respaldo

E

Ruta # opA 1 CORTE Medición. A 2 CORTE Corte pieza. A 3 CORTE Mecanizado. A 4 TROQUELADO Doblado pieza. A 5 TROQUELADO Lijado. A 6 PERFORADO. Medición.

104

Page 121: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

A 7 PERFORADO. Perforado. A 8 TERMINADO. Pintura. A 9 TERMINADO. secado. B 10 CORTE Medición. B 11 CORTE Corte pieza. B 12 CORTE Mecanizado. B 13 TROQUELADO Doblado pieza. B 14 TROQUELADO Lijado. B 15 PERFORADO. Medición. B 16 PERFORADO. Perforado. B 17 TERMINADO. Pintura. B 18 TERMINADO. Secado. C 19 CORTE Medición. C 20 CORTE Corte pieza. C 21 PERFORADO. Medición. C 22 PERFORADO. Perforado. C 23 TERMINADO. Pintura. C 24 TERMINADO. Secado. D 25 CORTE Medición. D 26 CORTE Corte pieza. D 27 PERFORADO. Medición. D 28 PERFORADO. Perforado. D 29 TERMINADO. Pintura. D 30 TERMINADO. Secado. F 31 ENSAMBLE. Armado. F 32 ENSAMBLE. Remachado. G 33 ENSAMBLE. Armado. G 34 ENSAMBLE. Remachado.

Silla 35 ENSAMBLE. Armado. Silla 36 ENSAMBLE. Remachado.

Los datos de tiempos de ejecución, tiempos desplazamiento y aprovechamiento se dejan a

libertad del usuari ar

ada parte/componente, que no sea insumo, de la estructura de un producto se relaciona

con una hoja de ruta específica. Las hojas de ruta asociadas a partes componentes en cada

uno de los diferentes niveles de la estructura forman el árbol de rutas del producto.

o para ingres los que valores que desee.

Rutas producto.

C

105

Page 122: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Este árbol de rutas del producto (Ver Figura 4-5) es la forma en que se expresa en

iferentes niveles de fabricación y montaje las hojas de rutas. La codificación por niveles

ivel 0 (producto): Unión de las rutas necesarias para obtener el producto terminado. Esta

ncial en la elaboración del producto.

d

facilita la explosión de las necesidades a partir del elemento final y su lógica es la siguiente:

N

ruta es ese

Figura 4-5. Árbol de Rutas para del producto ‘Silla’.

Nivel 1 (Ruta de ensamble): Los componentes unidos directamente a un elemento de nivel

0, identificados por su nombre.

106

Page 123: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Nivel 2 (Subruta de subensamble): Los componentes unidos directamente a un elemento

de nivel 1, identificados por su nombre.

Nivel 3 (Subruta de componente): Los componentes unidos directamente a un elemento

de inicio de cada uno. La aplicación tiene la opción de mostrar para todos los

edidos ingresados, los días de retraso que tiene cada uno contra la fecha de entrega dada al

l secuenciamiento tiene que ver con el desarrollo de un orden exacto de procesamiento de

tica, los programas de producción son difíciles de mantener, si no

de nivel 2, identificados por su nombre.

Pedidos.

Los pedidos planificados (pedidos que se entregarán en fechas futuras) pueden ingresarse

desde el mismo instante de su solicitud, quedando a opción del programador el definir el

momento

p

cliente, esto en las opciones pedidos pendientes hasta hoy y pedidos pendientes a la fecha.

Secuenciación.

E

tareas. En la prác

imposibles, debido a las condiciones cambiantes; Las máquinas se descomponen, se

enferma un operario calificado, los materiales no llegan a tiempo y así sucesivamente.59

Teniendo en cuenta lo anterior se ofrecen al programador de la producción tres

herramientas principales: reglas de prioridades, el método de asignación y la regla de

59 SCHROEDOER, Op cit., p. 388.

107

Page 124: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Johnson como elementos en los cuales se puede apoyar para dar rápida respuesta a las

condiciones dinámicas de una planta de producción.

la tarea siguiente. Una regla de despacho resulta, por lo

nto, dinámica por naturaleza y se ajusta constantemente a las condiciones cambiantes. Las

omo se mencionó en el Capítulo dos, para operaciones paralelas la programación de n

empleado por los diferentes autores es el Algoritmo de Asignación de kuhn, que parte de

Reglas de prioridad.

Una regla de prioridad específica qué trabajo debe seleccionarse para realizarlo después,

entre una cola de trabajos. Cuando se dispone de una máquina o de un trabajo, se aplica la

regla de despacho y se selecciona

ta

reglas de despacho sirven para responder la pregunta inmediata del trabajador ¿qué hago

ahora?60

En el desarrollo de esta aplicación tomamos las siguientes reglas explicadas en el capítulo

dos: FCFS, EDD, LOT y SOT, para con ellas secuenciar las cargas en cada uno de los

diferentes centros de trabajo ingresados en la base de datos.

Método húngaro.

C

tareas en m centros de trabajo o máquinas se vuelve matemáticamente muy compleja, por

esto cuando el caso lo permite, la utilización de los modelos basados en programación

matemática pueden proporcionar una solución teóricamente óptima al problema. El más

60 Ibid, p. 403.

108

Page 125: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

una matriz formada, en nuestro caso, por los tiempos para realizar cada operación en cada

instalación.

Este es el método que se incluyó en el desarrollo de la aplicación para dar respuesta a éste

n. La asignación mediante el método húngaro se realiza partiendo de

o de Kuhn, que, partiendo de una matriz de costos, para

osotros de tiempos, escoge un elemento, y sólo uno, por fila y por columna, de modo que

imiento que lleva a conseguir una solución

tipo de programació

una matriz que refleja los tiempos que provocaría la asignación de una determinada

operación Oi, a una máquina Mj.

El planeamiento matemático de un problema de estas características es un caso particular

de programación binaria. No obstante, existe un algoritmo específico que facilita su

resolución, el algoritmo húngaro

n

se minimicen los tiempo totales. El proced

óptima para realizar la asignación se menciono en el capítulo dos, y el algoritmo que realiza

la asignación en Excel como se detalla en Machuca61, se presenta en el anexo B códigos

apartado archivos Excel.

Este método presenta algunos inconvenientes que lo hacen excesivamente rígido. Entre

ellos cabria destacar, por una parte, que de los distintos trabajos, sólo uno puede ser

asignado a cada CT o instalación. Dado que aquellos tendrán distinta duración, esto

61 MACHUCA DOMÍNGUEZ, José Antonio et al. Aspectos tácticos y operativos en la producción y los

servicios, Op cit., p. 299.

109

Page 126: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

implicará desperdiciar las instalaciones más eficientes si a éstas se asigna un trabajo corto.

Por otra parte, no se contempla la posibilidad de que los trabajos se puedan subdividir,

uesto que la asignación es biunívoca.

en dos máquinas mencionada en el Capítulo dos, la incluimos

n la aplicación al desarrollar para ésta la regla de Johnson, que parte del tiempo de

a máquina, este método heurístico pretende hacer mínimo

así la capacidad del centro. El control de la

apacidad pretende “gestionar y controlar la capacidad de los centros de trabajo y reconocer

porcionando así la información necesaria para tomar las

medidas correctoras oportunas”. Sólo así se podrán mantener actualizados los factores de

arrollar una planificación

de capacidad confiable. Dada, además, la influencia que las colas de espera tienen en los

tiempos de suministro de las referencias fabricadas, el control de capacidad resulta básico

p

Regla de Johnson.

La programación de n tareas

e

ejecución de cada pedido en cad

el tiempo necesario para concluir todos ellos y, por tanto, el tiempo ocioso de las máquinas.

El algoritmo creado para realiza la regla de Johnson en Excel, se presenta en el anexo B

códigos apartado archivos Excel.

Producción planeada.

La planeación se realiza para cada centro de trabajo bajo el concepto de la carga vertical

explicado en el Capítulo dos, controlando

c

las desviaciones significativas, pro

eficiencia y utilización y la capacidad disponible, permitiendo des

110

Page 127: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

para su mantenimiento actualizado y, en consecuencia, para una adecuada planificación y

trol de la produccióncon

Esta planeación es la que viene del mediano plazo por el CRP. Como la planeación a corto

plazo se realiza por periodos se creó el formulario Producción Planeada por CT para suplir

los datos del nivel anterior.

Producción planeada por CT.

La programación finita supera las desventajas de los sistemas basados en reglas ofreciendo

cálculos y gráficos interactivos al programador. Este sistema se caracteriza por dar la

capacidad al programador de hacer cambios basados en la información de última hora.

Estos programas aparecen normalmente en diagramas de Gantt. El programador tiene

flexibilidad para manejar cualquier situación, incluyendo cambios en los pedidos, trabajos o

máquinas.63 Esta flexibilidad se ofrece al usuario en este formulario por medio de los

escenarios y el archivo vinculado en Excel.

4.2 APLICACIÓN ‘HPP-S’

Para el diseño de la aplicación ‘HPP-S’ se consideró lo siguiente:

62

62 Ibid p. 322. 63 HEIZER, y RENDER, Op cit., p. 244.

111

Page 128: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

• La aplicación esta diseñada para funcionar en una PYME manufacturera, que tenga sus

procesos estandarizados.

• Como ayuda puntual la mayoría de los formularios cuentan con botones de información

que orientan al usuario en el uso de estos. Así como, botones en algunos para avanzar

entre los formularios relacionados de forma rápida.

• Para el desarrollo de la aplicación se consideró que un pedido es una orden de trabajo

sin importar la cantidad de referencias que compongan el pedido.

Figura 4 e r control. -6. Detall elaciones entre paneles de

112

Page 129: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

La secuencia de pasos o divisiones que contiene la aplicación según los paneles de control

para acceder a los diferentes formularios que contiene se muestra en la figura 4-6.

Figura 4-7. Panel principal

La exploración de la aplicación se inicia desde el panel principal que contiene los tres

procesos macro para funcionamiento de la misma: Preparación pedido, Scheduling y

Control (Ver Figura 4-7.)

4.2.1 Preparación pedido.

Figura 4-8. Panel preparación pedido

113

Page 130: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Al hacer clic en el botón Preparación pedido en el panel principal se despliega el panel que

se muestra en la figura 4-8, que contiene los vínculos a los formularios Clientes y Pedidos

como a los paneles Datos productos y Datos ruta.

La relación entre los productos de la empresa y los pedidos de los clientes, genera el flujo

de información que se apoya en los registros de la base de datos. Información sobre:

clientes, productos, rutas y centros de trabajo. Por eso, al iniciar la aplicación ‘HPP-S’ se

debe ingresar esta información.

Clientes.

Figura 4-9. Formulario clientes

Este formulario Clientes, figura 4-9, aparece después de oprimir en botón Ingresar clientes

en el panel Preparación pedido, recoge información sobre cada uno de los clientes. Lo

114

Page 131: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

importante para el desarrollo de la aplicación es la vinculación de éstos con la empresa por

medio de los pedidos.

Figura 4-10. Panel datos producto

El panel ‘Datos productos’, figura 4-10, contiene los vínculos a los formularios Productos,

artes/componentes y Estructura producto.

Productos

P

Figura 4-11. Formulario productos

115

Page 132: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

El botón Producto del panel anterior activa el formulario de la figura 4-11, en éste se

ingresan el nombre y descripción del producto. Dándose a cada producto un identificador

que lo hace único en la base de datos.

El símbolo ‘ ‘ que aparece en el extremo izquierdo de cada formulario o subformulario

indica la fila o registro que se encuentra activo en el momento.

Partes/componentes.

Figura 4-12. Formulario partes/componentes

El botón Partes/componentes del panel ‘Datos producto’ abre el formulario de la figura 4-

12, en éste se ingresan el nombre y tipo del elemento usado en la elaboración de los

diferentes productos. Dándose a cada elemento un identificador que lo hace único en la

116

Page 133: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

base de datos. La columna tipo es para clasificar el elemento según sea en: insumo,

componente y ensamble, tipos que aparecen en la aplicación por defecto, los cuales pueden

ser modificados o complementados con otros según la necesidad del usuario.

Estructura producto.

Figura 4-13. Formulario estructura producto.

El botón Estructura producto del panel ‘Datos producto’ abre el formulario de la figura 4-

13, en éste se forma el árbol del producto o estructura del producto al armar el producto con

las diferentes partes/componetes ingresadas en el formulario Partes/componentes, teniendo

117

Page 134: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

presente los diferentes niveles para su composición. Indicando las cantidades requeridas y

las unidades respectivas.

Figura 4-14. Panel datos ruta.

El panel ‘Datos ruta’, figura 4-14, contiene los vínculos a los formularios Centros de

trabajo, Detalles centros de trabajo, Máquinas paralelas CT, Hoja de ruta y Rutas producto.

Centros de trabajo.

Figura 4-15. Formulario centros de trabajo.

118

Page 135: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

El botón Centros de trabajo del panel anterior activa el formulario de la figura 4-15, en éste

se ingresan el nombre de cada centro de trabajo. Dándose a cada uno un identificador que

lo hace único en la base de datos.

Detalle centros de trabajo.

Figura 4-16. Formulario detalle centros de trabajo.

El botón Detalle centros de trabajo del panel ‘Datos ruta’ abre el formulario, figura 4-16, en

que se ingresan los detalles de los centros de trabajo usados en la planta: horas reales de

trabajo (capacidad diaria), la eficiencia, utilización y los nombres de las operaciones

realizadas en dicho centr A dio de preparación y el

tiempo medio de cola, ambos en horas estándar.

o de trabajo. demás del el tiempo me

119

Page 136: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Máquinas paralelas.

Figu T.

áquinas paralelas CT del panel ‘Datos ruta’ abre el formulario, figura 4-17, en

El botón Hoja de ruta del panel ‘Datos ruta’ abre el formulario, figura 4-18, donde se

ingresan para cada ruta las operaciones necesarias para su elaboración, los centros de

ra 4-17. Formulario máquinas paralelas C

El botón M

donde se ingresan los valores en minutos para las operaciones que son paralelas en el centro

de trabajo seleccionado. Hay posibilidad de ingresar valores hasta para nueve operaciones

paralelas.

Hoja de ruta.

120

Page 137: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

trabajo por donde pasa y los valores en minutos para el tiempo de ejecución y el tiempo de

desplazamiento.

Figura 4-18. Formulario hoja de ruta.

demás del aprovechamiento por operación que genera el factor de aprovechamiento de la

da queda identificada con un número y nombre que la hacen única en

A

ruta. Cada ruta ingresa

la base de datos. En el formulario se muestran también la cantidad de operaciones de la

ruta, la suma de los tiempos de ejecución y desplazamiento por todas las operaciones

ingresadas asociadas a la ruta.

121

Page 138: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Rutas producto.

El botón Rutas producto del panel ‘Datos ruta’ abre el formulario, figura 4-19, donde para

un producto ingresado se seleccionan las rutas necesarias para su elaboración, teniendo en

cuenta los diferentes niveles de su estructura. Los elementos que son insumo para el

producto terminado en el árbol de rutas del producto quedarán con un factor igual a 1, pues

no tiene asociada una ruta por ser de origen externo a la planta.

Figura 4-19. Formulario rutas producto.

122

Page 139: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Pedidos.

El botón Ingresar pedidos del panel ‘Preparación pedido’ abre el formulario, figura 4-20,

donde se relacionan los productos con los clientes en cantidades por ellos suministradas.

Aquí se identifica cada pedido con un número único en la base de datos, se detalla la

composición del mismo y se ingresan las fechas respectivas de emisión, entrega

programada y entrega real. Desde este formulario se puede averiguar las cantidades

necesarias por cada componente para cumplir con el número de productos que el cliente

requiere. Además de, conocer la cantidad de días necesarios para la elaboración del mismo.

Figura 4-20. Formulario pedidos.

123

Page 140: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Cantidad requerida.

Al hacer clic en el botón Cantidad requerida de la figura 4-20 aparece el formulario

cantidad requerida por pedido, figura 4-21, el cual muestra las cantidades por tipo (partes,

componentes e insumos), con sus unidades que son requeridas para elaborar los productos

en las cantidades que aparecen en el pedido.

Figura 4-21. Formulario cantidad requerida.

Es de ac c roducto, larar que las antidades de partes/componentes que aparecen para un p

puede diferir de las cantidades que están en el pedido. Esto porque, al tenerse en la base de

datos registrado el factor de utilización por rutas asociadas a componentes e incluso hasta

las rutas de ensamble, las cantidades mostradas, son las que se deben emitir como entrada

124

Page 141: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

al proceso para que luego en la salida se obtengan las cantidades requeridas por el cliente.

Contando con un margen de error establecido por los imperfectos.

Observe como las cantidades a emitir para los productos, P1 (186) y Silla (26), son mayores

a las solicitadas por el cliente en su pedido, P1 (170) y Silla (25).

Tiempo de entrega.

Figura 4-22. Formulario tiempo de entrega.

Oprimir el botón Tiempo de entrega de la figura 4-20, muestra el formulario Tiempo de

ntrega el cual realiza la carga horizontal, es decir, carga todos los tiempos de las

nvolucradas en la orden de trabajo real para producir su programa de duración

e

operaciones i

en el tiempo. Lo que se hace, es cargar todas las tareas en los centros de trabajo necesarios

125

Page 142: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

a lo largo del horizonte de planificación, siendo la sumatoria de todas las duraciones, el

tiempo total en días para la elaboración del pedido desde la fecha actual tomada como cero.

Figura 4-23. Habilitar macros.

Hacer clic en el botón Progra iempo de entrega, realiza el

envió de la información en Access del pedido actual al archivo en Excel donde se

procesaran los datos según corresponda. Como los archivos en Excel tienen todos una

programación vinculada en Visual Basic – Macros – al iniciar el programa aparece el

cuadro de mensaje de la figura 4-23, al cual hay que responder haciendo clic en el botón

H

mación detallada del formulario T

abilitar macros.

Programación detallada.

El propósito de la carga hacia el futuro es determinar la fecha de terminación aproximada

de cada trabajo. La figura 4-25, es un detalle de la figura 4-24 donde muestra las fechas de

inicio y finales para cada operación asociada a la ruta que compone. Basándose en los

límites de capacidad de cada centro de trabajo por los cuales pasa.

126

Page 143: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 4-24. Programación detallada en Excel.

La figura 4-24 es la imagen del archivo ‘detallada’ en Excel que ofrece al programador una

gráfica de Gantt, que representar el desarrollo de las diferentes operaciones a realizar para

el lote en función del tiempo.

Figura 4-25. Programación detallada – detalle inicio y fin operaciones.

La gráfica generada es sin solapamientos, es decir, se trabaja bajo la hipótesis de que no se

podrá dar comienzo a ninguna actividad hasta que se haya finalizado la operación anterior

sobre todas y cada una de las unidades a fabricar. Esta situación concuerda con el concepto

del flow shop donde hay una secuencia establecida para la elaboración de los productos En

127

Page 144: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

estas condiciones, el gráfico de Gantt resultante da lugar a un tiempo total para el tamaño

del pedido.

Se deja al lector comprobar, que al ingresar una fecha en el campo fecha de entrega real del

s requeridas o tiempo de programación para un pedido que ya entregue?. De esta

rma no se cargara la base con información innecesaria, conservando rapidez al usar el

.2.2 Scheduling.

formulario Pedido al oprimir los botones de comando Cantidad requerida y Tiempo de

entrega en los formularios que aparecen no se muestra ningún valor. Esto para evitar que se

generen dentro de la base de datos valores que ya no son útiles ¿para qué necesito mantener

cantidade

fo

mínimo espacio de memoria.

4

Figura 4-26. Panel scheduling.

El panel ‘Scheduling’, figura 4-26, contiene los vínculos a los paneles de control

Asignación y Secuenciación.

Asignación.

El panel ‘Asignación’, figura 4-27, contiene los vínculos a los formularios Carga pedidos,

Carga operaciones y Control pedidos.

128

Page 145: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Para el desarrollo del Scheduling, hemos dividido el proceso en dos momentos que son: la

asignación o direccionado de las órdenes de trabajo a cada CT en la planta y el

cuenciamiento posterior para determinar el orden de realización de cada una. se

Figura 4-27. Panel Asignación.

Como diversos centros de trabajo son capaces de procesar los nuevos pedidos de los

clientes, ¿cómo determinar cuáles trabajos deben asignarse a cada centro?. Por medio del

programa de producción podemos manejar los productos con margen de cómo y cuándo

elemento, de manera que conocemos cuáles son los centros que deben intervenir.

Carga pedidos.

El botón Carga pedidos del panel ‘Asignación’ abre el formulario, figura 4-28, donde la

arcar la casilla de verificación como iniciado en la tabla

Control pedidos, Control detalle pedido y en Control de ruta.

deberán terminarse. Además, se cuenta con la trayectoria o ruta del proceso de cada

carga de cada pedido se realiza al m

129

Page 146: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 4-28. Formulario carga pedidos.

Si se selecciona alguna fila o registro de una tabla y no se marca como iniciada, la

aplicación no generará los valores de la carga respectiva pues está no se reconocerá como

iniciada.

El programador frente al fo r (cargar) los pedidos, los

productos que lo componen, y las operaciones que conforman cada uno de las rutas. Es

decir, debe descender desde el pedido hasta las rutas para poder calcular en el formulario

siguiente los valores de las cargas para los centros de trabajo donde se realizan las

operaciones.

rmulario Carga pedidos, debe inicia

130

Page 147: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Carga operaciones.

Figura 4-29. Formulario carga operaciones.

El botón Carga operaciones del panel ‘Asignación’ abre el formulario, figura 4-29, donde

para las rutas marcadas como iniciadas en el formulario anterior se selecciona la operación

marcándo la casilla de verificación como iniciado o terminada según sea el caso.

El programador selecciona una ruta de entre las rutas marcadas como iniciadas (tabla Rutas

iniciadas) y selecciona en la tabla Control operaciones cual de las operaciones asociadas a

la ruta elegida (tabla O a marcando la casilla de

Si se selecciona la operación de una ruta y no se la marca como iniciada la aplicación no

ostrara en los pasos siguientes la carga para el centro de trabajo en el cual se procese.

peraciones), v a cargar para su manufactura

iniciada.

m

131

Page 148: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Control pedidos.

Figura 4-30. Formulario control pedidos.

nteriores, en este punto el programador

uede verificar que aparecen iniciadas las operaciones seleccionadas.

Pasamos a aclarar lo anterior. Recuerde que el símbolo ‘

El botón Control pedidos del panel ‘Asignación’ abre el formulario, figura 4-30, donde

aparecen las acciones realizadas en los formularios a

p

‘ que aparece en el extremo

izquierdo de cada subformulario indica la fila que se encuentra activa en el momento, así es

como en la figura 4-28, formulario carga pedidos, se muestran los detalles para el pedido 2,

(que se compone de dos productos ‘Silla’ y ‘P1’), que ambos están iniciados y que, en el

132

Page 149: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

control ruta para el producto ‘Silla’ aunque tiene seleccionadas varias rutas solo se dan

como iniciadas una: asiento con 37 como cantidades a emitir.

El formulario Control pedidos, figura 4-30, muestra en la tabla rutas producto para el

pedido ‘1’, producto ‘Silla’, y ruta ‘8’ con nombre ‘asiento delantero’ que de 124 unidades

sólo quedan pendientes 8 unidades. Cantidad con la cual se calculará la nueva carga para el

centro de trabajo que utilice la operación marcada como iniciada en ésta ruta. El formulario

Control pedidos permite la actualización de las cantidades a realizar por operación

ofreciéndole al usuario dinamismo en la realización de su trabajo, ya sea para modificar

cantidades en el periodo o para actualizar datos en el nuevo periodo a programar.

Dejamos para el usuario, por ejemplo desmarcar el producto ‘P1’ del formulario Carga

pedidos y observar lo que pasa en los formularios Carga operaciones y Control pedidos, así

argas operaciones iniciadas.

Hacer clic en el botón Cargas operaciones iniciadas del formulario Control pedidos. Abre el

formulario de la figura 4-31 que muestra para todas las operaciones iniciadas: la cantidad

como el marcar o desmarcar rutas en el mismo formulario Carga Pedidos, y el marcar o

desmarcar operaciones en el formulario Carga operaciones. Regresando al formulario

Control pedidos para apreciar que efectos tienen estos cambios, con esto, si no se dan por

iniciadas adecuadamente las rutas en la secuencia descrita, no se llevará de forma

conveniente el sistema de control.

C

133

Page 150: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

de unidades a elaborar, la carga por operación, la duración de cada una, su nombre y pedido

al cual esta vinculada, entre otros datos también útiles para el programador.

Figura 4-31. Formulario cargas operaciones iniciadas.

Observe que para el caso mencionado pedido ‘1’ ruta ‘asiento delantero’ con ‘8’unidades

pendientes solamente se realizará la operación ‘39’. Compruebe como cambian los valores

para la duración y carga modificando en el formulario Control pedidos figura 4-30, el valor

de ‘8’ cantidad de unidades pendientes.

134

Page 151: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Secuenciación.

Figura 4-32. Panel secuenciación.

El panel ‘Secuenciación’ de la figura 4-32, contiene los vínculos a los formularios Reglas

de prioridad, Método húngaro y Regla de Johnson.

Prioridades.

Figura 4-33. Formulario reglas de prioridad.

El botón Reglas de prioridad del panel ‘Secuenciación’ abre el formulario, figura 4-33,

donde aparece para el centro de trabajo seleccionado el siguiente detalle de datos: pedidos

135

Page 152: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

asignados al CT, número de operación, la fecha de entrega, el nombre de la ruta y la carga

por operación.

Para el caso de la figura el centro seleccionado es ‘Corte’. La información de la tabla

‘Operaciones cargadas’ es enviada al archivo ‘Prioridades’ en Excel luego de oprimir el

botón ‘Reglas de prioridad’ para que sea procesada y mostrada al usuario en la forma como

se presenta en la figura 4-34 para el mismo centro de trabajo seleccionado.

Figura 4-34. Reglas de prioridad en Excel.

OT y SOT, para con ellas secuenciar las cargas en cada uno de los diferentes centros de

trabajo ingresados en la base de datos.

En el desarrollo de esta aplicación tomamos las siguientes reglas para locales: FCFS, EDD,

L

136

Page 153: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

El archivo en Excel ‘Prioridades’, tiene en una hoja de cálculo para cada prioridad, otra

hoja de cálculo ‘reglas’ (resumen) que se muestra en la figura 4-34, y un gráfico que

representa las datos contenidos en el hoja ‘reglas’.

Detallando la relación entre las figuras 4-33 y 4-34, se observa que los datos enviados son

presentados en diferente orden según la regla que los evalúa. Por ejemplo los datos del

pedido 2 operación 5 ruta 112, bajo la regla FCFS se ubica de primero, en la regla SOT

esta segundo, en la regla EDD está último y en la regla LOT está de tercero.

Las prioridades son un método que el programador puede usar para secuenciar las órdenes

de trabajo y definir así su orden en la elaboración. Adicionales a las reglas nombradas se

las órdenes.

presentan otras dos opciones: pedidos pendientes hasta hoy y pedidos pendientes a la fecha.

En el submenú Prioridades que se encuentra dentro de Secuenciación en el menú

Scheduling de la barra de menú de la aplicación, se encuentran las opciones que el

programador puede usar para priorizar

137

Page 154: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 4-35. Formulario pedidos pendientes a la fecha.

l usuario ofreciéndole la posibilidad de

uscar los pedidos hasta la fecha que desee sin importar si es anterior o posterior a la fecha

En pedidos pendientes hasta hoy se puede conocer por sus días de retraso hasta el día actual

los pedidos. En pedidos pendientes a la fecha se seleccionan los pedidos pendientes de

entrega hasta una fecha específica ingresada por e

b

actual, mostrándose también el número de sus días de retraso hasta la fecha ingresada. (Ver

Figura 4-35)

138

Page 155: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Método húngaro.

Figura 4-36. Formulario método húngaro.

El botón Método húngaro del panel ‘Secuenciación’ abre el formulario, figura 4-36, donde

aparece para el centro de trabajo seleccionado los diferentes tiempos de ejecución de la

operación en cada una de las máquinas paralelas. En el caso mostrado el centro de trabajo

es ‘1 – Corte’.

Esté método tiene asociado el concepto de máquinas paralelas descrito anteriormente por el

cual se obtienen diferentes valores de carga para una misma operación según las máquinas

donde se realice.

139

Page 156: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Lo anterior solo aplica para los centros de trabajo en los que se hayan ingresado datos en

las operaciones que presentan actividades paralelas. Como es el caso de las operaciones 8 y

5 que se realizan en el centro de trabajo 1 ‘Corte’, (Ver Figura 4-17)

Figura 4-37. Método húngaro en Excel – hoja de cálculo asignar.

La información de la tabla ‘Matriz de cargas’ en el formulario Método húngaro, es enviada

a Excel al archivo ‘Asignación’ luego de oprimir el botón ‘Método húngaro’. Los datos se

copian en la hoja de cálculo llamada ‘asignar’,(Ver Figura 4-37). Para ejecutar el método el

usuario debe os resultados

generados por el algoritmo en la hoja de cálculo llamada ‘Hoja 1’.

La figura 4-38 muestra al usuario la asignación resultado del proceso para los datos del

centro de trabajo seleccionado en la figura 4-37.

oprimir el botón ‘Ejecutar método húngaro’ el cual muestra l

140

Page 157: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 4-38. Método húngaro en Excel – hoja de cálculo Hoja1.

Figura 4-39. Formulario regla de Johnson.

141

Page 158: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Regla de Johnson.

El botón Regla de Johnson del panel ‘Secuenciación’ abre el formulario, figura 4-39, que

aplica para las rutas que tienen operaciones que deben pasar a través de dos máquinas o

centro de trabajo en el mismo orden. Así en el formulario se relacionan las cargas del

centro de trabajo 1 y el centro de trabajo 2 para las rutas que cumplen la condición anterior.

Figura 4-40.

a tabla ‘johnson’ de

rchivo ‘johnson’ en Excel luego de opri

copian en la hoja de cálculo llamada ‘john

debe oprimir el botón ‘john l

llamada ‘Hoja 1’ (Ver Figura 4-40).

La información de l

a

son’. Los resu t

2

Johnson en Exc

l formulario Reg

mir el botón ‘Re

son’, y para que s

ados generados se

142

2

3

el

la de Johnso

gla de Johns

e corra el alg

muestran en

3

n, es enviada al

on’. Los datos se

oritmo, el usuario

la hoja de cálculo

Page 159: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

La figura 4-40 muestra al usuario el orden -columna A- resultado del proceso para los

datos de los centros de trabajo seleccionados en la figura 4-39. En el gráfico de la figura

anterior se han colocado los números de fila (2,3) de la columna A, sobre los espacios de

carga (barras horizontales) para indicar la secuencia de los pedidos en los CT. En el archivo

‘Johnson’ de Excel, estos números no aparecen dentro de la gráfica.

4.2.3 Control.

Figura 4-41. Panel control.

l formulario Producción planeada por CT, figura 4-42, muestra el detalle de cargas

El panel ‘Control’, figura 4-41, contiene los vínculos a los formularios Producción

planeada, Producción real e Input-output.

Producción planeada.

E

actuales asignadas al centro de trabajo seleccionado en el periodo de análisis. Este

formulario ofrece al programador de la producción la posibilidad de observar como se

afectan los próximos cinco periodos a partir del actual con el total de carga pendiente, para

realizar una programación más real de este centro.

143

Page 160: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Cambiando para el centro deseado el valor de hr (horas reales de trabajo) en la tabla ‘Input,

output planificado’, se modifican los valores para los escenarios en la tabla

‘Comportamiento del ct a cinco periodos’ donde para los próximos periodos se suponen

ondiciones normales de trabajo. c

Figura 4-42. Formulario producción planeada.

los datos se copian en la hoja de

álculo llamada ‘cg_finita’, (Ver Figura 4-43), para con estos realizar los cálculos y las

Como apoyo adicional se ofrecen en Excel otras opciones para ejecutar una programación

más dinámica y óptima. El botón ‘Gráfico de Gantt’ envía los datos del centro seleccionado

en el formulario al archivo ‘carga_finita’ de Excel. Donde

c

gráficas que se presentan en las hojas de cálculo que conforman el archivo.

144

Page 161: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 4-43. Carga finita en Excel – hoja de cálculo ‘cg_finita’.

Como la programación finita supera las desventajas de los sistemas basados en reglas

ofreciendo cálculos y gráficos interactivos al programador. La hoja de cálculo mostrada en

la figura 4-43. permite al usuario interactuar con ella al modificar los datos de la columna F

‘carga_operación’, mostrando en el grafico de la misma hoja los efectos que estos cambios

enen.

De igual manera se permite interactuar en la hoja de cálculo ‘Hoja2’, figura 4-44, al

cambiar las horas reales normales de trabajo. Observando por cifras y gráficamente los

efectos que tales cambios tienen en los cinco próximos periodos teniendo estos condiciones

normales de trabajo.

ti

145

Page 162: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 4-44. Carga finita en Excel – hoja de cálculo ‘Hoja2’.

Figura 4-45. Formulario producción real.

146

Page 163: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Producción real.

El botón Producción real del panel ‘Control’ abre el formulario, figura 4-45, en el cual se

gresan los datos reales de funcionamiento, terminadas todas las operaciones en los in

centros de trabajo a los que se les programó actividad al inicio del periodo.

Input-output.

Figura 4-46. Formulario control input-output.

Par

que or conocer el funcionamiento del centro de trabajo seleccionado en

iferentes periodos. Este informe de control sobre el análisis de insumos y productos es de

ntro seleccionado al archivo ‘in-out’ en Excel.

Donde los datos se copian en la hoja de cálculo activa, figura 4-47, y se procesan para

mostrar la información importante para el centro seleccionado en las columnas H hasta la P,

a terminar el botón Input – Output del panel ‘Control’ abre el formulario, figura 4-46,

ofrece al programad

d

utilidad para hacer el seguimiento de los desempeños de cada uno de los centros de trabajo.

Al oprimir el botón ‘Informe input/Output’ del formulario Control input-output envían los

datos en la tabla control Input – Output del ce

147

Page 164: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

además de mostrar gráficas que representan lo planeado y la real para ambos casos el input

y el output.

Figura 4-47. Control in-out en Excel.

tros.

a opción Productos en el menú General, de la barra de menú aplicación, abre la tabla

roductos en sus diferentes niveles.

l botón ‘Acerca de’ en el panel principal, activa la ventana, figura 4-48, donde aparecen:

plicación y Access.

O Para finalizar se enumeran algunos elementos de apoyo a la aplicación.

L

productos desde donde se pueden modificar o borrar los productos o componentes de

p

E

El título del trabajo de grado y los autores. El botón salir del mismo panel cierra la

a

148

Page 165: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura 4-48. Formulario acerca de.

4.3 INFORMACIÓN ADICIONAL PARA EL USUARIO.

ara los productos así como para los centros de trabajo se ha dispuesto un formulario en el

planta. Después de listados y según se necesite se puede buscar: el producto o el CT.

ncionamiento para el cálculo de su capacidad.

Al real o ingresar como mínimo la ruta de

nsamble del mismo, ruta de nivel más alto. De no ser así, la cantidad de elementos

compo esentan, pues,

or los factores de utilización de las rutas, las cantidades requeridas son el resultado de

multiplicaciones sucesivas entre los factores de las rutas según los niveles ingresados al

roducto y la cantidad de partes ingresadas en la estructura del producto. Por eso se debe

asociar al producto la ruta de ensamble, siendo esta la unión de las otras rutas que

onforman el producto. Al no existir un factor en este nivel la aplicación asocia un valor de

cero a esta posición dándose así multiplicaciones de datos por cero.

P

que se pueden ingresar todos los nombres de los productos y centros de trabajo que utiliza

la

Detallándose la composición de una referencia particular o ingresar los valores de

fu

izar el árbol de rutas para un producto es necesari

e

nentes del producto necesarios para cumplir con un pedido no se pr

p

p

c

149

Page 166: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

El formulario Cargas operaciones iniciadas figura 4-31 permite conocer para todas las

operaciones iniciadas: el valor de la car de trabajo por el que pasa, la duración

en días de la misma, el nombre de la ruta, el nombre y el identificador de la operación, el

número del pedido al que corresponde, la fecha de entrega del mismo, la cantidad a

desplazamiento al centro de trabajo, la cola de

spera, la preparación en el centro de trabajo, y la ejecución de la operación. Estos datos

para realizar cualquier otro tipo de ordenamiento de las

En las diferentes opciones presentadas para realizar la secuenciación o la carga de los

pedidos a los centros de trabajo se trabaja siempre con los mismos datos, carga por

aparecen en los diferentes formularios presentados en la aplicación (Ver Figuras 4-33, 4-39,

-42), contra los valores que aparecen el formulario cargas iniciadas por operación. (Ver

os formularios Carga operaciones y Control pedido permiten elegir los componentes del

par

en la elaboración de las diferentes partes/componentes o produtos de la empresa según se

anufacturan, teniendo en cuenta las presedencias e inventarios existentes. La aplicación se

diseñó de manera tal que sea el usuario quien controle los momentos de inicio y fin de las

ga, el centro

elaborar, y el detalle de los tiempos de:

e

pueden ser utilizados por el usuario

operaciones en el centro de trabajo analizado.

operación, esto se puede confirmar al comparar los valores de carga por operación que

4

Figura 4-31).

L

producto o elegir las operaciones en la ruta del componente que en realidad se necesitan

a elaborarlo. Esto es poder programar actividadas de producción reflejo real del avance

m

150

Page 167: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

operaciones de producción, ésto por medio de las casillas de verificación, generando un

trol sobre todas las operaciones realizadas en la planta. con

par as, formularios, informes, macros o

ódulos), de modificaciones como: cambio en los nombres, eliminación, alteración de

fun tos se puede activar al

primir la tecla ‘F11’ permitiendo al usuario trabajar sobre la propia estructura de la base

caso de Access, no existe la opción Save (Guardar), referida a los datos de la aplicación,

ebido a que los cambios en los datos se van guardando siempre en el dispositivo de

a aplicación esta diseñada para trabajar ubicada en la carpeta ‘Aplicación’ en el disco C

la i s diferentes archivos vinculados en Excel.

or otra parte, los archivos en Excel cuentan con botones para la creación de los elementos

ellos, como: gráficos y cuadros de texto. Esto para evitar que se

.

En la Aplicación ‘HPP-S’ no presenta la ventana Base de datos cuando se abre la misma

a proteger su estructura interna (tablas, consult

m

relaciones, edición de formularios, de informes, etc., que afectarían el optimo

cionamiento de la aplicación. Sin embargo, la ventana Base de da

o

de datos. Recuerde que al trabajar con programas de gestión de bases de datos, como es el

d

almacenamiento permanente.

L

del PC (C:\Aplicación). Instalarla en otra dirección provocaría problemas para el envió de

nformación del archivo ‘HPP-S’en Access a lo

P

de apoyo en cada uno de

afecte su funcionamiento por eliminaciones accidentales de alguno de ellos

151

Page 168: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

CCOONNCCLLUUSSIIOONNEESS

5 CAPÍTULO 6. CONCLUSIONES. La herramienta informática diseñada permite al programador realizar la planeación de la

producción a corto plazo de una manera rápida y precisa en empresas manufactureras con

fab

no,

trabajo al ofrecer una estructura coherente y de fácil manejo.

La aplicación ofrece al usuario diferetes opciones para la programación de la producción de

acuerdo a las condiciones del momento en que esta se realiza. Para nuevas condiciones de

programación, la aplicació i éstas nuevas necesidades

producción en el sistema para gerenerar así, una nueva programación de la producción

actualizada.

La carga de los trabajos a la planta en la aplicación se realiza para cada uno de los centros

de trabajos, el usuario programador puede entonces identificar cual es el centro con mayor

carga, dedicando así, más tiempo para buscar opciones de programación en dicho centro.

Los archivos en Excel funcionan independientes a la base de datos. Permitiendo realizar

modificaciones en los valores de estos archivos sin que se altere la información en el

ricación por lotes o series cortas que tengan sus procesos normalizados. Y para las que

les ayuda a ordenar su información sobre productos, rutas, operaciones y centros de

n por su flex bilidad permite incluir

152

Page 169: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

archivo de Access, ofreciendose así una herramienta de apoyo a nivel académico para los

da aporta aporta a las PYMES manufactureras que no tengan un

rden en su información:

la información.

nentes, rutas, operaciones, centros de trabajo.

• Unificación de normbr la empresa, haciendo más

clara la comunicación de la informaci

• La realización de catalogos de: productos con sus partes/componentes, rutas, productos

con sus rutas. Esto por medio de los impresos que se pueden realizar de la información

ara reclamos por defectos de fabricación de algún producto o para la trazabilidad de los

mismos, en la aplicación queda el historial de pasos que se siguieron para la realización de

cada una de las partes que componen un producto ternimado. Historial unico para cada uno

de los pedidos manufacturados en la planta.

cursos de producción.

La aplicación desarrollada calcula para un CT específico el valor de la carga asignada al

mismo, independiente de los demás CT. Permitendose así, una aproximación a la

programación en configuraciones por lotes enfocadas al proceso o job shop.

La apliacción desarrolla

o

• Centralización de

• Codificación de productos, partes/compo

es o terminos usados al interior de

ón.

en la base de datos.

P

153

Page 170: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

BBIIBBLLIIOOGGRRAAFFÍÍAA

6 CAPÍTULO 7. BIBLIOGRAFÍA. BRIMELE, Ricardo. ¡EXCEL FÁCIL!. México : Prentice Hall, 1994. 286 p. CHASE, Richard B, y AQUILANO, Nicolás J. Dirección y administración de la

producción y de las operaciones. 6 ed. Mexico : Mc Graw Hill, 1995. CHASE, Richard B, AQUILANO, Nicolas J, y JACOBS, F. Robert. Administración de la

producción y de las operaciones; manufactura y servicios. 8 ed. Colombia : Mc Graw Hill, mayo 2000. 885 p.

EVERETT, E. Adam. Jr, y RONALD, J. Ebert. Administración de la producción y las

operaciones. 4 ed. Mexico : Prentice Hall, 1994. 739 p. HALVORSON, Michael. Microsoft Visual Basic 4 : paso a paso. Colombia : Mc Graw

Hill, 1996. 372 p. HEIZER, Jay y RENDER Arry. Dirección De la Producción. Madrid : Mc Graw Hill,

1997. KORTH, Henry F y SILBERSCHATZ, Abraham. Fundamentos de bases de datos. 2 ed.

KRAJEWSKI, Lee y RITZMAN, Larry. Administración de operaciones o producción :

Estrategia y análisis. México: Pearson educación, 2000. p.762.

MACHUCA DOMÍNGUEZ, José Antonio et al. Dirección de operaciones : Aspectos ill, 1995. p. 143

España : Mc Graw Hill, 1995. 739 p.

estratégicos en la producción y los servicios. España : Mc Graw H

154

Page 171: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

-------- : Aspectos tácticos y operativos en la producción y los servicios. España : Mc Graw

MOTOA, T. Gerardo Algunos apuntes sobre el uso de la simulación en el diseño de

as de fabricación. Madrid junio 1994. Universidad Politécnica de Madrid. Disam.

---- iones a la gestión de producción y de

proyectos. Cali. Escuela de ingeniería industrial y estadística. Universidad del Valle. 41 P.

NEIBAUER, Alan. Access 2000 para gente ocupada. Mexico : Mc Graw Hill, 2000. 312 p.

NOORI, Hamid y RADFORD Rusell. Administración De Operaciones y Producción.

RUMBAUGH, James et al. Modelado y diseño orientado a objetos. 4 ed. México : Prentice

may, 1995 SARRIEGUI, José María, SERRANO, Nicolás, MURO, Ivan. Aprenda Microsoft Access

97 como si estuviera en primero. San Sebastián, Octubre 1998 Escuela Superior de Ingenieros Industriales, Universidad De Navarra

SCHROEDER, Roger G. Administración De Operaciones : toma de decisiones en la

función de operaciones. 3 ed. Mexico : Mc Graw Hill, 1992. 503 p. SENN, James A : Análisis y diseño de sistemas de información. 2 ed. México : Mc Graw

Hill, 1992. p 181. SIPPER, Daniel y BUFFIN L., Robert. Planeación y Control De La Producción. Mexico :

Mc Graw Hill, 1998. VOLLMANN, Thomas E. Sistemas De Planificación Y Control De La Fabricación. 3 ed.

España : Irwin, 1994.

Hill, 1995. p. 267 – 487.

sistem

---- Sistemas de Planificación Jerárquicos: Aplicac

Santafé de Bogotá : Mc Graw Hill, 1997.

155

Page 172: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

AANNEEXXOOSS

7 ANEXO A. MANUAL DEL USUARIO

Instrucciones de manejo rápido

1. Para el ingreso de nuevos productos haga clic en Productos del menú Preparación

pedido, e ingrese las partes/componentes y la estructura en el submenú ingresar datos

producto del menú Preparación.

2. Para el ingreso d n l menú Preparación

de nuevos pedidos haga clic en ingresar pedidos del menú Preparación

s productos que lo componen e inicie las

rutas necesarias.

e nuevos clie tes haga clic ingresar clientes de

pedido.

3. Para el ingreso

pedido.

4. Cargue los pedidos a la planta oprimiendo en carga pedidos del submenú Asignación en

el menú Scheduling y seleccione el pedido, lo

156

Page 173: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

5. Para determinar que operaciones cargar en las rutas iniciadas en el punto anterior.

6. hacer clic en control pedido

del submenú Asignación en el menú Scheduling.

7. enú Scheduling y evalué las ordenaciones posibles de las

cargas en cada centro de trabajo según las opciones presentadas.

istre la producción real al hacer clic en producción real del submenú control en el

put-output por centro de trabajo presionando control input-output

del submenú control en el menú Scheduling.

ión ‘HPP-S’ debe instalarse en su computador:

omprim HPP-S.exe ’ en el disco C de su computador.

descomprimir en C:\Aplicación como se muestra en la figura A-1.

Oprima carga operaciones del submenú Asignación en el menú Scheduling.

Verifique las rutas y operaciones iniciadas a los pedidos al

Oprima secuenciación en el m

8. Determine la capacidad de cada centro de trabajo al oprimir producción planeada del

submenú control en el menú Scheduling.

9. Reg

menú Scheduling.

10. Conozca el informe in

Datos ejemplo general

Para trabajar con la aplicac

1. Desc a el archivo ‘ Aplicación

2. La aplicación se debe

157

Page 174: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura A-1. Dirección para descomprimir Aplicación HPP-S.exe

botón ‘UEn la figura A-1 presione el nzip’ para iniciar la instalación. Terminada esta

A-2 que confirma la perfecta instalación de la herramienta en el

r.

debe aparecer la figura

disco C del computado

Figura A-2. Instalación terminada.

n’ Busque el archivo ‘ 3. En la carpeta ‘Aplicació HPP-S ’ y ábralo para entrar a la

4. Navegue a través de las diferentes ventanas que se presentan en la aplicación para

cesidad.

información en sus diferentes formularios según

guiar al usuario en su manejo.

aplicación.

manejarla según su ne

5. La aplicación cuenta con botones de

sea necesario para ayudar o

158

Page 175: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Ingreso de datos ejemplos particulares

l ingreso de datos se realizará con casos de productos de estructuras cortas para producto

el objeto de mostrar como se ingresan los datos en las estructuras iniciales

os, son los mismos.

la comprensión de la metodología usada se ingresará el

ca usa en el ejemplo 5.1. Se dará información que guíe al usuario

que esté lea la información en los botones que contienen los

ponentes Componentes1

E

y rutas, con

pues, para los siguientes los pas

Como apoyo para el usuario en

64producto 'P1' que Machu

en lo básico dejando

formularios que active.

Ingreso productos.

El producto P1 tiene la siguiente estructura

producto Com

111

211 P1 112

212

1. Ingrese las partes / componentes del producto P1 al oprimir Partes/componentes en el

submenú ingresar datos producto del menú Preparación.

64 MACHUCA DOMÍNGUEZ, José Antonio et al. Dirección De Operaciones : Aspectos tácticos y

operativos en la producción y los servicios. España : Mc Graw Hill, 1995. p. 160

159

Page 176: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

2. Ingrese la estructura del producto P1 al oprimir la estructura en el submenú ingresar

datos producto del menú Preparación. Debe verse al final como se muestra en la figura

A-3 Árbol de Estructura del producto ‘P1’.

Figura A-3. Árbol de Estructura del producto ‘P1’.

1’ de la tabla componentes, Figura A-3, observe que

n la tabla componentes1.

talle centro de Trabajo’ ingrese los datos por centro de trabajo.

tos ruta/ detalles centros de trabajo].

Si coloca el cursor en la casilla ‘11

no aparece nada e

3. En el formulario ‘De

[Preparación pedido/ ingresar da

160

Page 177: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

4. Rutas. Siguiendo con el producto P1 del ejemplo, los datos de la ruta de ensamble ‘P1’

omo se muestra en la figura A-4. [preparación pedido/ ingresar datos ruta/ Hoja

de ruta].

queda c

El producto ‘P1’ tiene dos rutas más ‘P1’ y ‘112’.

Figura A-4. Operaciones ruta ‘P1’.

5. Rutas por producto. Con las tres rutas, la estructura de rutas del producto ‘P1’ se

aprecia en la figura A-4. siendo estas las que tienen un factor diferente de 1.

ngresar datos ruta/ Rutas producto]. [preparación pedido/ i

161

Page 178: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Figura A-5. Árbol de rutas del producto ‘P1’.

, como solo las rutas tienen un factor diferente de 1

pedidos.

/ ingresar clientes] e ingrese los datos.

ulario pedidos. [Preparación pedido/ ingresar pedidos] seleccione el

e y detalle la composición del pedido.

Observe en la figura A-5

Ingreso

6. Active el formulario clientes. [Preparación pedido

7. Active el form

client

162

Page 179: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Elaboración pedidos.

pedidos, productos, rutas y operaciones a los centros de trabajo en

carga pedidos] y carga

operaciones].

didos usando las opciones para secuenciación ofrecidas

[Scheduling /secuenciación ].

producción por cada centro de trabajo según opciones del submenú control. [Scheduling

lir del panel principal.

.Close nd Sub

asignación mpare Database

cel la " _

8. Cargue (asigne) los

los formularios carga pedidos [Scheduling /Asignación /

operaciones [Scheduling /Asignación /carga

9. Ordene (secuencie) los pe

Control pedidos.

10. Controle las instalaciones programando y haciendo seguimiento de las actividades de

/Control].

Salir.

11. Para salir oprima el botón sa

ANEXO B. CODIGOS

Formularios en Access.

Formulario acerca de Option Compare Database Private Sub Aceptar_Click() DoCmdE

FormularioOption CoPrivate Sub Comando12_Click() MsgBox "El botón MÉTODO HÚNGARO envía al archivo asignación de ex

163

Page 180: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

& "información de la tabla MATRÍZ DE DATOS para que sea presentada según " _ NGARO.", vbInformation, "INFORMACIÓN"

) leccionar el centro en la tabla CENTROS DE TRABAJO el nombre del mismo " _

e en el campo Centro Seleccionado. " _ "La tabla MATRÍZ DE DATOS muestra los diferentes valores de cargas para " _

máquinas en el centro seleccionado que tiene máquinas.", vbInformation,

CIÓN_Click() ÓN_Click

tDocName As String

NACIÓN_Click:

CIÓN_Click: ription

IGNACIÓN_Click

rivate Sub MAQUINA__CT_Click()

ing CT"

ame, , , stLinkCriteria QUINA__CT_Click:

ick: x Err.Description

peraciones_iniciadas

T_Click() CT_Click

inkCriteria As String

e, , , stLinkCriteria LES_CT_Click:

b

& "la asignación del MÉTODO HÚEnd Sub Private Sub Comando9_Click(MsgBox "Al se& "aparec&& "cada una de las "INFORMACIÓN" End Sub Private Sub ASIGNAOn Error GoTo Err_ASIGNACI Dim s stDocName = "ASIGNACIÓN" DoCmd.RunMacro stDocName Exit_ASIG Exit Sub Err_ASIGNA MsgBox Err.Desc Resume Exit_ASEnd Sub POn Error GoTo Err_MAQUINA__CT_Click Dim stDocName As String Dim stLinkCriteria As Str stDocName = "MAQUINAS DoCmd.OpenForm stDocNExit_MA Exit Sub Err_MAQUINA__CT_Cl MsgBo Resume Exit_MAQUINA__CT_Click End Sub

Formulario cargas_oOption Compare Database Private Sub DETALLES_COn Error GoTo Err_DETALLES_ Dim stDocName As String Dim stL stDocName = "centro_trabajo" DoCmd.OpenForm stDocNamExit_DETAL Exit SuErr_DETALLES_CT_Click: MsgBox Err.Description

164

Page 181: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Resume Exit_DETALLES_CT_Click End Sub Private Sub Form_Activate()

s ar, acEditMenu, 10, , acMenuVer70

mir_cargas_oper_inic_Click g

_iniciadas"

ir_cargas_oper_inic_Click:

lick: rr.Description

e Exit_imprimir_cargas_oper_inic_Click

mpare Database rivate Sub Comando9_Click() sgBox "En la tabla OPERACIONES REALIZADAS EN EL CENTRO DE TRABAJO ingrese "

s de estas para el centro de trabajo activo en el campo NOMBRE CENTRO del ." _

"Para la utilización de MÁQUINAS dentro del centro de trabajo los datos de los tiempos de

ción en particular en el formulario MÁQUINAS CT " _ a capacidad de la máquina y el producto procesado.", vbInformation,

) s pedidos en los campos en blanco. " _

mpo ' Capacidad diaria horas estándar ' se calcula automático como resultado de la

Me.Refresh End Sub Private Sub Comando10_Click()

0_Click On Error GoTo Err_Comando1 Screen.PreviousControl.SetFocu

B DoCmd.DoMenuItem acFormmando10_Click: Exit_Co

Exit Sub Err_Comando10_Click:

x Err.Description MsgBo Resume Exit_Comando10_Click End Sub

mprimir_cargas_oper_inic_Click() Private Sub iOn Error GoTo Err_impri Dim stDocName As Strin stDocName = "cargas_operaciones

e, acPreview DoCmd.OpenReport stDocNamxit_imprimE

Exit Sub _cargas_oper_inic_CErr_imprimir

x E MsgBo Resum

End Sub

Formulario centro de trabajo Option CoPM_ & "los nombreformulario&ejecución " _ & "de estas se ingresan para cada opera& "por ser estas únicas a l"INFORMACIÓN" End Sub Private Sub Comando12_Click(MsgBox "Ingrese los dato& "El camultiplicación de " _

165

Page 182: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

& "la capacidad diaria horas reales, la eficiencia y la utilización.", vbInformation,

diaria_horas_reales_AfterUpdate() ndar = [capacidad diaria horas reales] * [eficiencia] * [utilización]

rivate Sub eficiencia_AfterUpdate() = [capacidad diaria horas reales] * [eficiencia] * [utilización]

rivate Sub Form_Error(DataErr As Integer, Response As Integer) vbCritical, "ERROR EN

_Click

Dim stDocName As String

, , , stLinkCriteria

As Integer)

Click

e, , , stLinkCriteria Click:

e Exit_LISTADO_CT_Click

"INFORMACIÓN" End Sub Private Sub capacidad_capacidad_diaria_horas_estáEnd Sub Pcapacidad_diaria_horas_estándarEnd Sub PMsgBox "No se permiten nombres de Centros de Trabajo repetidos", CENTROS DE TRABAJO" On Error GoTo Err_LISTADO_CT

Dim stLinkCriteria As String stDocName = "CT" DoCmd.OpenForm stDocNameExit_LISTADO_CT_Click: Exit Sub Err_LISTADO_CT_Click: MsgBox Err.Description Resume Exit_LISTADO_CT_Click End Sub Private Sub Form_Open(Cancel DoCmd.GoToRecord , , acNewRec End Sub Private Sub utilización_Exit(Cancel As Integer)

_diaria_horas_estándar = [capacidad diaria horas reales] * [eficiencia] * [utilización]capacidadnd Sub E

Private Sub LISTADO_CT_Click()

_CT_On Error GoTo Err_LISTADO Dim stDocName As String

Dim stLinkCriteria As String stDocName = "CT"

penForm stDocNam DoCmd.OExit_LISTADO_CT_ Exit Sub Err_LISTADO_CT_Click:

x Err.Description MsgBo Resum

End Sub

166

Page 183: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Formulario clientes Option Compare Database Private Sub Form_Error(DataErr As Integer, ResponMsgBox "No se permiten nombres de clientes rep

se As Integer) etidos", vbCritical, "ERROR EN NOMBRE

Para BORRAR alguna parte/componente o todo un producto." _ "Haga clic en productos en el menú General de la barra de menú aplicación " _

el signo (+) de la izquierda para descender “_ ionado.", vbInformation, "INFORMACIÓN"

GoTo Err_arbol_Click

x Err.Description

istros

ocar la

iera", vbInformation, ACIÓN "

Integer)

CLIENTE" End Sub

Formulario componentes producto M&

sgBox "

& "una vez abierta la tabla presione en& "en la estructura del producto seleccEnd Sub Private Sub Form_Open(Cancel As Integer) DoCmd.GoToRecord , , acLast End Sub Private Sub arbol_Click() On Error Dim stDocName As String stDocName = "árbol_producto" DoCmd.OpenReport stDocName, acPreview Exit_arbol_Click: Exit Sub Err_arbol_Click: MsgBo Resume Exit_arbol_Click End Sub Private Sub INFORMACION_Click() MsgBox "Ingrese el producto o búsquelo por su código o nombre, desplazándose entre los regu " _ & "oprimiendo el botón Buscar en la barra de herramientas de la aplicación después de tcasilla " _ & " donde desea realizar la búsqueda Defina la estructura del producto utilizando los. " _ & " niveles componentes, componentes1 o componentes2 según requ"INFORMEnd Sub

Formulario componentes subformulario Option Compare Database Private Sub elemento_DblClick(Cancel AsOn Error GoTo Err_elemento_DblClick Dim lngelemento As Long

e![elemento]) Then If IsNull(M Me![elemento].Text = ""

167

Page 184: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Else lngelemento = Me![elemento] Me![elemento] = Null

End If indowNormal, NewRecord

e![elemento] = lngelemento

xit_elemento_DblClick

h nd Sub

lemento_NotInList(NewData As String, Response As Integer) Haga DOBLE clic en este campo para agregar una entrada a la lista."

Response = acDataErrContinue

t_Err

x Error$

DoCmd.OpenForm "lista_materiales", , , , , acW Me![elemento].Requery If lngelemento <> 0 Then M Exit_elemento_DblClick: Exit Sub Err_elemento_DblClick: MsgBox Err.Description Resume EEnd Sub Private Sub elemento_GotFocus() Me.RefresE Private Sub eMsgBox "

End Sub Private Sub Form_Activate() Me.Refresh End Sub Sub Form_Current() Dim ParentDocName As String On Error Resume Next ParentDocName = Me.Parent.Name If Err <> 0 Then

o Form_Current_Exit GoT Else

On Error GoTo Form_Curren Me.Parent![componentes1_Subformulario].Requery End If Form_Current_Exit: Exit Sub

rrent_Err: Form_Cu MsgBo

Resume Form_Current_Exit End Sub Private Sub unidad_DblClick(Cancel As Integer) On Error GoTo Err_unidad_DblClick Dim lngunidad As Long If IsNull(Me![unidad]) Then Me![unidad].Text = ""

168

Page 185: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Else lngunidad = Me![unidad]

Me![unidad] = Null

Normal, NewRecord

nidad] = lngunidad

rr.Description

b unidad_GotFocus() Me.Refresh

Data As String, Response As Integer)

ll(Me![elemento]) Then Me![elemento].Text = ""

emento <> 0 Then Me![elemento] = lngelemento xit_elemento_DblClick:

b elemento_NotInList(NewData As String, Response As Integer)

End If DoCmd.OpenForm "unidades", , , , , acWindow Me![unidad].Requery If lngunidad <> 0 Then Me![uExit_unidad_DblClick: Exit Sub Err_unidad_DblClick: MsgBox E Resume Exit_unidad_DblClick End Sub Private Su

End Sub Private Sub unidad_NotInList(NewMsgBox "Haga DOBLE clic en este campo para agregar una entrada a la lista." Response = acDataErrContinue End Sub

Formulario componentes1 subformulario Option Compare Database Private Sub elemento_DblClick(Cancel As Integer) On Error GoTo Err_elemento_DblClick Dim lngelemento As Long If IsNu Else lngelemento = Me![elemento] Me![elemento] = Null End If DoCmd.OpenForm "lista_materiales", , , , , acWindowNormal, NewRecord Me![elemento].Requery If lngelE Exit Sub Err_elemento_DblClick: MsgBox Err.Description Resume Exit_elemento_DblClick End Sub Private Sub elemento_GotFocus() Me.Refresh End Sub Private Su

169

Page 186: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

MsgBox "Haga DOBLE clic en este campo para agregar una entrada a la lista."

urrent()

> 0 Then GoTo Form_Current_Exit

_Subformulario].Requery

rror$

unidad_DblClick(Cancel As Integer) n Error GoTo Err_unidad_DblClick

e![unidad]) Then unidad].Text = ""

Else

Normal, NewRecord

lngunidad DblClick:

Exit_unidad_DblClick End Sub

us()

ub unidad_NotInList(NewData As String, Response As Integer)

Response = acDataErrContinue End Sub Private Sub Form_Activate() Me.Refresh End Sub Sub Form_C Dim ParentDocName As String On Error Resume Next ParentDocName = Me.Parent.Name If Err < Else On Error GoTo Form_Current_Err Me.Parent![componentes2 End If Form_Current_Exit: Exit Sub Form_Current_Err: MsgBox E Resume Form_Current_Exit End Sub Private Sub O Dim lngunidad As Long If IsNull(M Me![ lngunidad = Me![unidad] Me![unidad] = Null End If DoCmd.OpenForm "unidades", , , , , acWindow Me![unidad].Requery If lngunidad <> 0 Then Me![unidad] = Exit_unidad_ Exit Sub Err_unidad_DblClick: MsgBox Err.Description Resume

Private Sub unidad_GotFocMe.Refresh End Sub

rivate SP

170

Page 187: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

MsgBox "Haga DOBLE clic en este campo para agregar una entrada a la lista." = acDataErrContinue

mulario

k(Cancel As Integer) o Err_elemento_DblClick

elemento As Long If IsNull(Me![elemento]) Then

emento = Me![elemento] Me![elemento] = Null

penForm "lista_materiales", , , , , acWindowNormal, NewRecord mento].Requery

If lngelemento <> 0 Then Me![elemento] = lngelemento

MsgBox Err.Description

rivate Sub elemento_GotFocus()

Private Sub elemento_NotInList(NewData As String, Response As Integer) gregar una entrada a la lista."

ntinue

ub Form_Activate()

On Error GoTo Err_unidad_DblClick

d = Me![unidad] unidad] = Null

End If DoCmd.OpenForm "unidades", , , , , acWindowNormal, NewRecord

Response End Sub

Formulario componentes2 subforOption Compare Database Private Sub elemento_DblClicOn Error GoT Dim lng Me![elemento].Text = "" Else lngel End If DoCmd.O Me![ele Exit_elemento_DblClick: Exit Sub Err_elemento_DblClick: Resume Exit_elemento_DblClick End Sub PMe.Refresh End Sub

MsgBox "Haga DOBLE clic en este campo para a Response = acDataErrCoEnd Sub

rivate SP Me.Refresh End Sub Private Sub unidad_DblClick(Cancel As Integer)

Dim lngunidad As Long en If IsNull(Me![unidad]) Th

Me![unidad].Text = "" Else

nida lngu Me![

171

Page 188: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Me![unidad].Requery If lngunidad <> 0 Then Me![unidad] = lngunidad

DblClick: x Err.Description

ub unidad_GotFocus()

t(NewData As String, Response As Integer) gregar una entrada a la lista."

/OUTPUT envía al archivo in-out de Excel la " _ TROL INPUT-OUTPUT para que sea presentada según " _

dias para los periodos enviados." _ botón CONTROL DE PRODUCCIÓN para actualizar el avance " _

edidos según las operaciones y rutas asociadas.", vbInformation, "INFORMACIÓN"

e Sub Comando9_Click() DE TRABAJO el nombre del mismo " _

tro Seleccionado. " _ la CONTROL INPUT-OUTPUT muestra el comportamiento del centro seleccionado " _

s a la base de datos.", vbInformation, "INFORMACIÓN"

b IN_OUT_Click() r GoTo Err_IN_OUT_Click

ocName As String stDocName = "IN_OUT"

T_Click: b

rr_IN_OUT_Click:

it_IN_OUT_Click

CION_Click() o Err_CONTROL_PRODUCCION_Click

Exit_unidad_DblClick: Exit Sub

d_Err_unida MsgBo

Resume Exit_unidad_DblClick End Sub

rivate SPMe.Refresh End Sub

LisPrivate Sub unidad_NotInMsgBox "Haga DOBLE clic en este campo para a

ErrContinue Response = acDataEnd Sub

Formulario control input output Option Compare Database Private Sub Comando12_Click() MsgBox "El botón INFORME INPUT& "información de la tabla CON& "las desviaciones acumuladas y me& "Oprima el& "de los pEnd Sub PrivatMsgBox "Al seleccionar el centro en la tabla CENTROS& "aparece en el campo Cen& "La tab& "en los periodos ingresadoEnd Sub Private SuOn Erro Dim stD DoCmd.RunMacro stDocName Exit_IN_OU Exit SuE MsgBox Err.Description Resume ExEnd Sub Private Sub CONTROL_PRODUCOn Error GoT

172

Page 189: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Dim stDocName As String Dim stLinkCriteria As String

CCIÓN" penForm stDocName, , , stLinkCriteria

TROL_PRODUCCION_Click: Exit Sub

k: rr.Description

Exit_CONTROL_PRODUCCION_Click End Sub

() OPERACIONES seleccione " _

las operaciones por " _ NES necesarias." _

e Los campos iniciada y terminada se usan para" _ r el avance de las operaciones seleccionadas"

Todas las casillas de control de estado de avance en las diferentes " _ & "tablas deben ser marcadas en iniciado o terminado cuando las operaciones o actividades" _

inalizado. Pues de esto depende el cargar o no los " _ bajo con las operaciones adecuadas."

S. " _ iten " _

ar la carga respectiva. " _ la ruta esta terminada " _

nes asociadas a la ruta " _

la operación realizada en el mismo"

k

d.OpenForm stDocName, , , stLinkCriteria :

_Click:

stDocName = "CONTROL PRODU DoCmd.OExit_CON Err_CONTROL_PRODUCCION_Clic MsgBox E Resume

Formulario control operaciones Option Compare Database Private Sub Comando12_ClickMsgBox "En la tabla CONTROL& "el número de identificación de & "ruta que aparecen en la tabla RUTAS OPERACIO& " para elaborar el component& " controlaEnd Sub Private Sub Comando13_Click() MsgBox "

& " se han empezado o f& "diferentes centros de traEnd Sub Private Sub Comando9_Click() MsgBox "La tabla RUTAS INICIADAS, muestra todas las rutas que fueron marcadas " _ & "como iniciadas en la tabla CONTROL RUTA del formulario CONTROL PEDIDO

olumna 'pend' el usuario puede ingresar las cantidades pendientes, que perm& "En la c "cálcul&

& "En la casilla de estado el usuario puede marcar cuando& "La tabla RUTAS OPERACIONES muestra todas las operacio

TAS INICIADAS con su número único de identificación, " _ & "seleccionada en la tabla RU& "el centro de trabajo por donde pasa yEnd Sub

ONTROL_PEDIDOS_Click() Private Sub COn Error GoTo Err_CONTROL_PEDIDOS_Clic

g Dim stDocName As Strin Dim stLinkCriteria As String

ame = "CONTROL PEDIDOS" stDocN DoCmExit_CONTROL_PEDIDOS_Click Exit Sub Err_CONTROL_PEDIDOS

173

Page 190: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

MsgBox Err.Description _PEDIDOS_Click

IÓN_Click() OL_PRODUCCIÓN_Click

ng

IÓN_Click:

ROL_PRODUCCIÓN_Click:

NTROL_PRODUCCIÓN_Click

b Form_Activate()

b Comando12_Click() PRODUCTO muestra todas las rutas asociadas al producto seleccionado

ONTROL RUTA el usuario selecciona " _ "las rutas por producto que aparecen en la tabla RUTAS PRODUCTO " _

gándose automáticamente las" _ ara ese producto. " _

iado puede ser modificada a voluntad del usuario"

de estado de avance en las diferentes " _ r marcadas en iniciado cuando las operaciones o actividades" _

empezado. Pues de esto depende que más adelante aparezcan o no en " _ "los formularios siguientes dentro de la aplicación."

a cada pedido pendiente " _ ero, la fecha de entrega dada al cliente y el estado del mismo. " _

"Siendo usado este último campo por el usuario para indicar cuando " _ . " _

DIDO se muestra la composición por productos " _ ROL PEDIDOS y el estado para cada" _

suario para indicar cuando" _

Resume Exit_CONTROLEnd Sub Private Sub CONTROL_PRODUCCOn Error GoTo Err_CONTR Dim stDocName As Stri Dim stLinkCriteria As String stDocName = "CONTROL PRODUCCIÓN" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_CONTROL_PRODUCC Exit Sub Err_CONT MsgBox Err.Description Resume Exit_COEnd Sub Private SuMe.Refresh End Sub

Formulario control pedidos Option Compare Database Private SuMsgBox "La tabla RUTAS " _ & "en la tabla CONTROL DETALLE PEDIDO " _ & "En la tabla C&& "necesarias para elaborar el producto. car& " cantidades requeridas por esa ruta p& " La casilla inicEnd Sub Private Sub Comando13_Click() MsgBox "Todas las casillas de control & "tablas deben se& " se han&End Sub Private Sub Comando9_Click() MsgBox "La primera tabla CONTROL PEDIDOS muestra par& "el núm&& "el pedido esta iniciado marcando la casilla& "En la tabla CONTROL DETALLE PE& "del pedido seleccionado en la tabla CONT& " uno. Siendo usados estos últimos campos por el u

174

Page 191: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

& " el producto esta iniciado y/o terminado marcando la casilla respectiva."

PERACIONES" stDocName, , , stLinkCriteria

trol_Operaciones_Click: Exit Sub

lick:

eraciones_Click

n mpare Database

S PRODUCTO muestra la información necesaria para las " _ das al producto seleccionado en la tabla DETALLE PEDIDOS.

na 'Pend' es para ingresar las cantidades pendientes o faltantes del componente " _ rmina la carga de los centros de trabajo " _

& "para el periodo siguiente. " _ TAS muestra para cada ruta seleccionada en la tabla anterior " _

. El campo TERMINADO en ambas tablas es para indicar la " _ eración al marcar la casilla.", , "INFORMACIÓN 2"

arcadas según las operaciones o

n los diferentes centros de trabajo " _

"La tabla PEDIDOS muestra para los pedidos iniciados " _ e, el estado del mismo y " _ iendo usado este último por el usuario " _

entregado finalmente al cliente. (El formato es DD/MM/AA)

IDOS muestra la composición por productos " _ o en la tabla PEDIDOS. El estado TERMINADO en cada " _

a indicar cuando la" _ cto ha terminado.", , "INFORMACIÓN 1"

End Sub Private Sub Control_Operaciones_Click() On Error GoTo Err_Control_Operaciones_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "CONTROL O DoCmd.OpenFormExit_Con Err_Control_Operaciones_C MsgBox Err.Description Resume Exit_Control_OpEnd Sub

Formulario control produccióOption CoPrivate Sub Comando12_Click() MsgBox "La tabla RUTA& "rutas iniciadas asocia" _ & "La colum& "terminado el periodo. Con este nuevo valor se dete

& "La tabla OPERACIONES RU& "las operaciones iniciadas& "terminación de la ruta o la opEnd Sub Private Sub Comando13_Click() MsgBox "Todas las casillas de control de estado en las diferentes " _

ben ser llenadas o m& "tablas (f_entrega_real o terminado) des" _ actividade

& "que se realizan, Pues de esto depende la carga e, , "IMPORTANTE" & "dentro de la aplicación."

End Sub

b Comando9_Click() Private SusgBox M

& "el número, la fecha de entrega dada al clientA REAL. S& "el campo FECHA DE ENTREG

l pedido es & "para indicar cuando e" _

D& "La tabla DETALLE PEedido seleccionad& "del p

& "producto es usado pardu& " realización del pro

End Sub

175

Page 192: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Private Sub Control_Operaciones_Click() On Error GoTo Err_Control_Operaciones_Click

As String e = "CONTROL OPERACIONES"

stDocName, , , stLinkCriteria lick:

ol_Operaciones_Click: MsgBox Err.Description

b Carga_operacione_iniciadas_Click() On Error GoTo Err_Carga_operacione_iniciadas_Click

g ring eraciones_iniciadas"

e, , , stLinkCriteria peracione_iniciadas_Click:

b Click:

e As String ones_iniciadas"

e pedidos iniciados se

b iniciado_AfterUpdate() e.Refresh

Dim stDocName As String Dim stLinkCriteria stDocNam DoCmd.OpenFormExit_Control_Operaciones_C Exit Sub Err_Contr Resume Exit_Control_Operaciones_Click End Sub Private Su

Dim stDocName As Strin Dim stLinkCriteria As St

p stDocName = "cargas_oenForm stDocNam DoCmd.Op

a_oExit_Carg Exit Su

Err_Carga_operacione_iniciadas_ MsgBox Err.Description Resume Exit_Carga_operacione_iniciadas_Click End Sub Private Sub Form_Activate() Me.Refresh End Sub Private Sub IMPRIMIR_CARGA_INIC_Click()

GoTo Err_IMPRIMIR_CARGA_INIC_Click On Error Dim stDocNam

stDocName = "cargas_operaci DoCmd.OpenReport stDocName, acPreview Exit_IMPRIMIR_CARGA_INIC_Click: Exit Sub Err_IMPRIMIR_CARGA_INIC_Click: MsgBox Err.Description Resume Exit_IMPRIMIR_CARGA_INIC_Click End Sub

Formulario control detallOption Compare DatabaPrivate SuMEnd Sub

176

Page 193: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Private Sub terminado_AfterUpdate() e.Refresh

b Form_Activate()

b idoperación_Click()

Cancel As Integer)

rio control operaciones iniciadas

dos Option Compare Database

Update()

MEnd Sub

Formulario control operaciones Option Compare Database Private SuMe.Refresh End Sub Private SuMe.Refresh End Sub Private Sub idoperación_DblClick(Me.Refresh End Sub Private Sub idoperación_Enter() Me.Refresh End Sub Private Sub iniciada_AfterUpdate() Me.Refresh End Sub Private Sub terminada_AfterUpdate() Me.Refresh End Sub

FormulaOption Compare Database Private Sub iniciada_AfterUpdate() Me.Refresh End Sub

rUpdate() Private Sub terminada_AfteMe.Refresh End Sub

Formulario control pedidos inicia

Private Sub iniciado_AfterMe.Refresh End Sub

177

Page 194: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Formulario control ruta

orm_Activate() h

pdate()

r As Recordset im strSQL As String, p As Integer, n As String

= qdfTemp.OpenRecordset 'Debug.Print rstver!cant_emitir

r

nd) Then

cant_pend < cant_emitir Then

ant_emitir cantidad ingresada en la casilla pendiente: cero, negativa o superior a la cantidad a error cantidad"

a_Enter()

Option Compare Database Private Sub FMe.RefresEnd Sub Private Sub iniciado_AfterUMe.Refresh End Sub Private Sub nombre_ruta_AfterUpdate() Dim dbs As Database Dim qdfTemp As QueryDef Dim rstveDSet dbs = CurrentDb strSQL = "SELECT rutas.cant_emitir FROM rutas WHERE (((rutas.idpedido)=[p]) AND((rutas.nombre_ruta)=[n]));" Set qdfTemp = dbs.CreateQueryDef("", strSQL) qdfTemp.Parameters!p = idpedido qdfTemp.Parameters!n = nombre_ruta Set rstver

Me!cant_emitir = rstver!cant_emitirstver.Close dbs.Close If IsNull(cant_pecantidad = cant_emitir Else: If cant_pend > 0 And cantidad = cant_pend Else cantidad = c MsgBox "la emitir inicial", , " End If End If End Sub

b nombre_ruta_Click() Private SuMe.Refresh End Sub Private Sub nombre_ruta_DblClick(Cancel As Integer) Me.Refresh End Sub

utPrivate Sub nombre_rMe.Refresh

178

Page 195: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

End Sub Private Sub nombre_ruta_GotFocus()

h nd Sub

rio ct mpare Database

_CT_Click() ALLES_CT_Click

DocName As String inkCriteria As String

ALLES_CT_Click: b

AMACIÓN DETALLADA envía al archivo detallada de Excel la " _ tada en el grafico de

ation, "INFORMACIÓN"

ROGRAMACIÓN_DETALLADA_Click() GRAMACIÓN_DETALLADA_Click

g o"

GRAMACIÓN_DETALLADA_Click:

N_DETALLADA_Click

ado mpare Database

Me.Refresh End Sub Private Sub terminado_AfterUpdate() Me.RefresE

FormulaOption CoPrivate Sub DETALLESOn Error GoTo Err_DET Dim st Dim stL stDocName = "centro_trabajo" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_DET Exit SuErr_DETALLES_CT_Click: MsgBox Err.Description Resume Exit_DETALLES_CT_ClickEnd Sub

Formulario entrega Option Compare Database

ick() Private Sub Comando9_ClEl botón PROGRMsgBox "

& "información de la tabla TIEMPO REQUERIDO para que sea presenGANTT " _ & "para un secuenciamiento sin solapamientos", vbInformEnd Sub

rivate Sub PPOn Error GoTo Err_PRO Dim stDocName As Strin stDocName = "programa_detallad

d.RunMacro stDocName DoCmxit_PROE

Exit Sub Err_PROGRAMACIÓN_DETALLADA_Click: MsgBox Err.Description

e Exit_PROGRAMACIÓ Resumnd Sub E

Formulario in out planificOption Co

179

Page 196: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Private Sub hr_Change()

Private Sub idcentro_AfterUpdate() Err

!idcentro

tro)

me Next

o inicio n de la base de datos para las comparaciones de cadenas.

b cmdCerrarFormulario_Click() la pantalla de presentación.

DoCmd.Close

b cmdCerrarFormulario_Click() ' Cerrar la pantalla de presentación.

s incorporada Vista Formulario. mulario", acToolbarNo

SE DE DATOS", acToolbarNo

cel As Integer)

bierto el formulario Switchboard, entonces este formulario se abrió como un ejemplo

output_planificado = capac End Sub

On Error GoTo error_ Dim txtFiltro As String txtFiltro = "idcentro = " & Me Me!hr = DLookup("cap_d_hr_reales", "centro_trabajo", txtFiltro) Me!output_planificado = DLookup("cap_d_hr_estándar", "centro_trabajo", txtFilidcentro_AfterUpdate_Exit: Exit Sub error_Err:

umber = -2147352567 Then If Err.N Resu

Else MsgBox Err.Number & "- - " & Err.Description, vbCritical, "ERROR" End If

Resume idcentro_AfterUpdate_ExitEnd Sub

ocus() Private Sub input_planificado_GotFoutput_planificado = capac End Sub

FormulariOption Compare Database 'Usar ordeOption Explicit Private Su ' Cerrar End Sub Private Su DoCmd.Close End Sub Private Sub Form_Activate() ' Ocultar la barra de herramienta DoCmd.ShowToolbar "Vista For 'DoCmd.ShowToolbar "BAEnd Sub Private Sub Form_Open(Can If EstáCargado("Switchboard") Then ' Si está a '

180

Page 197: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

' y se debe mostrar el botón Cerrar. cmdCerrarFormulario.Visible = True

plicación, l botón Cerrar y establecer TimerInterval

os. .Visible = False

erInterval = 1200

b Form_Timer() If Me.TimerInterval <> 0 Then

rd", , , , acNormal .Close acForm, "Inicio"

nd Sub

lista materiales

to en el espacio correspondiente e identifique el tipo del

entra un nombre en las opciones presentadas haga doble clic nuevo registro a la lista " _

ACIÓN"

teger) lClick

tipo] = Null

Else ' Este formulario se abrió como el formulario de inicio de la a ' entonces se debe ocultar e ' para cerrar el formulatio después de 1.2 segund cmdCerrarFormulario Me.Tim End If End Sub Private Su Me.TimerInterval = 0 End If DoCmd.OpenForm "Switchboa DoCmdE

Formulario johnson Option Compare Database Private Sub Form_Activate() Me.Refresh End Sub

FormularioOption Compare Database Private Sub Comando9_Click()

"Escriba el nombre del elemenMsgBox mismo." _& " Sí en la columna ''tipo'' no encusobre el espacio tipo para agregar un & " ", vbInformation, " INFORMEnd Sub Formulario lista materiales subformulario Option Compare Database Private Sub Form_Open(Cancel As Integer) DoCmd.GoToRecord , , acNewRec End Sub Private Sub tipo_DblClick(Cancel As InOn Error GoTo Err_tipo_Db Dim lngtipo As String If IsNull(Me![tipo]) Then Me![tipo].Text = "" Else lngtipo = Me![tipo] Me![

181

Page 198: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

End If DoCmd.OpenForm "tipo", , , , , acWindowNormal, NewRecord

e Exit_tipo_DblClick

mpare Database ub Comando18_Click()

que el necesario para rla una vez en el CT " _

"correspondiente y sus unidades son MINUTOS ESTÁNDAR TIEMPO MEDIO

ara mover los

d Sub

PRIMERO asigne a la ruta un nombre de los desplegados en el campo, o coloque uno egún sea el caso." _

en, coloque los valores requeridos " _ " _

ERO oprima el botón FACTOR para calcular el factor de la ruta", vbInformation,

s Integer) ast

Me![tipo].Requery If lngtipo <> "" Then Me![tipo] = lngtipo Exit_tipo_DblClick: Exit Sub Err_tipo_DblClick:

x Err.Description MsgBo Resum

End Sub Private Sub tipo_NotInList(NewData As String, Response As Integer) MsgBox "Haga DOBLE clic en este campo para agregar una entrada a la lista." Response = acDataErrContinue End Sub

Formulario lista rutas Option CoSfactor = fact End Sub Private Sub Comando21_Click() MsgBox "El TIEMPO DE EJECUCIÓN de una operación no es más desarrolla&DESPLAZAMIENTO incluye" _& " el traslado de los materiales que se requieren hasta el CT, y el necesario pinventarios en curso" _ & " dentro del CT y el envío al almacén de elementos finalizados" APROVECHAMIENTO proporción de" _ & " item que cumplen los requisitos de calidad en cada una de las operaciones" En Private Sub Comando9_Click() MsgBox "s& "SEGUNDO detalle las operaciones en ord& "en cada uno de los campos y presione la tecla Enter para ingresar los datos a la base. y& "TERC"INFORMACIÓN" End Sub Private Sub Form_Current()nombre_ruta.SetFocus End Sub Private Sub Form_Open(Cancel ADoCmd.GoToRecord , , acL

182

Page 199: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

End Sub Private Sub nombre_ruta_NotInList(NewData As String, Response As Integer)

O PRODUCTO con ese nombre en la base de datos. " _ bre en el formulario producto o lista de materiales según sea el caso. " _

act

ando29_Click:

ck

x Err.Description k

()

DocName, acPreview :

e Exit_imprimir_ruta_Click

MsgBox "NO HAY MATERIAL & "Ingrese primero el Nom Response = acDataErrContinueEnd Sub

b operaciónes_Subformulario_Exit(Cancel As Integer) Private Suctor = ffa

End Sub Private Sub Comando29_Click() On Error GoTo Err_Comando29_Click DoCmd.GoToRecord , , acNext

xit_ComE Exit Sub Err_Comando29_Click: MsgBox Err.Description Resume Exit_Comando29_CliEnd Sub Private Sub Comando30_Click()

To Err_Comando30_Click On Error Go DoCmd.GoToRecord , , acPrevious Exit_Comando30_Click: Exit Sub

ndo30_Click: Err_Coma MsgBo

Resume Exit_Comando30_ClicEnd Sub Private Sub imprimir_ruta_ClickOn Error GoTo Err_imprimir_ruta_Click Dim stDocName As String

_rutas" stDocName = "Hoja_depenReport st DoCmd.O

Exit_imprimir_ruta_Click Exit Sub Err_imprimir_ruta_Click:

x Err.Description MsgBo ResumEnd Sub

Formulario máquinas Option Compare Database

lick() Private Sub idoperación_CMe.Refresh End Sub

183

Page 200: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Private Sub idoperación_Enter()

nas ct

o12_Click() O DE EJECUCIÓN DE LAS MÁQUINAS EN EL CENTRO

ración entre las listadas en la tabla CENTRO OPERACIONES y luego coloque los " _ minutos estándar para cada una de las " _

RMACIÓN"

TRABAJO el nombre del mismo " _

" _ s ingresados a " _

As Single

ecordCount ROS RUTA"

revious"

n

fact

Me.Refresh End Sub

Formulario máquiOption Compare Database Private Sub ComandMsgBox "En la tabla TIEMPseleccione " _ & "la ope& "valores para los tiempos de ejecución en & "máquinas del centro.", vbInformation, "INFOEnd Sub Private Sub Comando9_Click() MsgBox "Al seleccionar el centro en la tabla CENTROS DE& "aparece en el campo Centro Seleccionado. " _ & "La tabla CENTRO OPERACIONES muestra la información de las operaciones & "que se realizan en el centro seleccionado en los periodo& "la base de datos.", vbInformation, "INFORMACIÓN" End Sub

Formulario operaciones rutapare Database Option Com

Sub factores() fact = aprovech Dim rst As DAO.Recordset, j, n As Integer, i

Me.Recordset Set rst = j = rst.R

'MsgBox j, vbDefaultButton2, "CANTIDAD REGIST i = 1 rst.MoveLast For n = 1 To j If n = 1 Then

ct = aprovech fa i = fact

alor MoveP 'MsgBox i, vbQuestion, "vovePrevious rst.M

Else If n = j Then fact = aprovech fact = i * fact

ox i 'MsgB Else

e If n > 1 And n < j Th fact = aprovech

ct = i * fact fa i =

184

Page 201: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

rst.MovePrevious

Next n

_DblClick(Cancel As Integer) lClick

ll(Me![idcentro]) Then

mal, NewRecord

ick:

k

String, Response As Integer) agregar una entrada a la lista."

se = acDataErrContinue

'MsgBox i End If End If End If

rst.MoveLast End Sub Private Sub fact_Change() factores End Sub Private Sub fact_Click()

factoresEnd Sub

b Form_AfterDelConfirm(Status As Integer) Private Sufactores End Sub Private Sub idcentroOn Error GoTo Err_idcentro_Db

idcentro As Long Dim lng If IsNu

Me![idcentro].Text = "" Else

entro] lngidcentro = Me![idc Me![idcentro] = Null End If

owNor DoCmd.OpenForm "centro_trabajo", , , , , acWind Me![idcentro].Requery

lngidcentro <> 0 Then Me![idcentro] = lngidcentro IfExit_idcentro_DblClick: Exit Sub

entro_DblClErr_idc MsgBox Err.Description

xit_idcentro_DblClic Resume EEnd Sub Private Sub idcentro_NotInList(NewData As

Haga DOBLE clic en este campo paraMsgBox " Respon

End Sub Private Sub Form_Activate() Me.Refresh End Sub

185

Page 202: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Private Sub operación_Enter() Me.Refresh End Sub

Formulario pedidos Option Compare Database Private Sub Comando9_Click()

QUERIDA muestra las cantidades necesarias por " _ cumplir con el pedido actual. El botón TIEMPO " _

condiciones normales de trabajo. " _ ntidades solo se muestran para los pedidos que no tienen fecha de entrega real."

ra validar la introducción de la fecha. Asegurarse se introduce una fecha válida y de que FechaEntrega no es anterior a FechaPedido.

en una 'Fecha de entrega' que sea posterior a la Fecha de pedido"

s Integer) oRecord , , acLast

GoTo Err_cant_requerida_Click Dim stDocName As String

t_requerida_Click:

Click

MsgBox "El botón CANT RE& " partes / componentes para& " DE ENTREGA bajo una programación hacia delante indica la cantidad de días " _ & " necesarios para producir el pedido en& "Las caEnd Sub Private Sub fecha_entrega_LostFocus() ' Este procedimiento se utiliza pa ' de que If IsDate(Me!fecha_entrega) Then If Me!fecha_entrega <= Me!fecha_emisión Th MsgBox "Introduzca Me![fecha_entrega] = Null Me!fecha_entrega.SetFocus Exit Sub End If End If If IsNull(Me!fecha_entrega) Then MsgBox "Introduzca una fecha válida" Exit Sub End If End Sub Private Sub Form_Open(Cancel ADoCmd.GoTEnd Sub Private Sub cant_requerida_Click() On Error 'Dim stLinkCriteria As String stDocName = "cant_requerida" DoCmd.OpenForm stDocNameExit_cant_requerida_Click: Exit Sub Err_can MsgBox Err.Description Resume Exit_cant_requerida_End Sub

186

Page 203: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Private Sub idcliente_DblClick(Cancel As Integer)

penForm "clientes", , , , , acDialog, "GotoNew"

idcliente] = lngtipo

b rr_idcliente_DblClick:

Private Sub idcliente_NotInList(NewData As String, Response As Integer) e campo para agregar una entrada a la lista."

ntinue

tes

entregar hasta el día de HOY. Mostrándose los días " _ ra para los pedidos retrasados en positivo y en negativo los días que " _

" faltan para llegar a la Fecha de entrega dada al cliente."

rio pendientes a la fecha

on todos los pedidos que " _ r hasta la fecha ingresada al abrirse el formulario." _

ido, la fecha de emisión, la fecha de " _ retrazo del mismo"

On Error GoTo Err_idcliente_DblClick Dim lngtipo As Long DoCmd.O Me![idcliente].Requery If lngtipo <> 0 Then Me![Exit_idcliente_DblClick: Exit SuE MsgBox Err.Description Resume Exit_idcliente_DblClick End Sub

MsgBox "Haga DOBLE clic en est Response = acDataErrCoEnd Sub Private Sub Tiempo_Entrega_Click() On Error GoTo Err_Tiempo_Entrega_Click

ocName As String Dim stD Dim stLinkCriteria As String

stDocName = "entrega" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Tiempo_Entrega_Click: Exit Sub Err_Tiempo_Entrega_Click: MsgBox Err.Description Resume Exit_Tiempo_Entrega_Click End Sub

Formulario pedidos pendienOption Compare Database Private Sub Comando9_Click() MsgBox "los pedidos que aparecen en el formulario son todos los pedidos que " _ & "están pendientes de& " de mo&End Sub

FormulaOption Compare Database Private Sub Comando9_Click() MsgBox "Los pedidos que aparecen en el formulario s& "están pendientes de entrega& " Mostrándose el número de ped& " entrega dada al cliente y los días deEnd Sub

187

Page 204: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Formulario producción planeada

tabla CENTROS DE TRABAJO muestra el número y nombre de todos los centro de e datos La tabla COMPORTAMIENTO DEL CT A CINCO ecta el CT por la carga vs la capacidad para los próximos cinco

ÓN"

OUTPUT CADO para el centro deseado y observe en la tabla COMPORTAMIENTO DEL CT A

INCO PERIODOS como se modifican los valores. Para los escenarios se consideran constantes la los centro de trabajo. Teniendo así como la única variable a las

rivate Sub Comando76_Click() TT envía al archivo carga_finita de Excel la " _

DO en las tablas INPUT, OUTPUT PLANIFICADO para que sean presentadas gráficamente En excel se ofrecen más

ios", vbInformation, "INFORMACIÓN"

omando9_Click() esplazamiento para ubicarse en un nuevo registro " _

eriodo y coloque la fecha del mismo en su campo En la tabla INPUT, centro de trabajo a programar en el periodo. e ingrese el

carga planeada en la casilla input " _. & "La tabla CARGA OPERACIONES muestra el detalle de las operaciones cargadas al centro de "

s seleccionado en la tabla Input, Output Planificado. " _ nes es la carga total del centro.", , "INFORMACIÓN"

t

TT_Click() O_GANTT_Click

ame = "FINITA" DoCmd.RunMacro stDocName

:

Option Compare Database Private Sub Comando12_Click() MsgBox "La trabajo ingresados en la base dPERIODOS muestra como se afperiodos.", , "INFORMACIEnd Sub Private Sub Comando13_Click() MsgBox "Cambie el valor de hr (horas reales de trabajo) en la tabla INPUT, PLANIFICeficiencia & y utilización para horas reales del centro de trabajo. El escenario solo aplica para el periodo de " _ programación. Para los próximos periodos se suponen " condiciones normales de trabajo.", , "ESCENARIOS" End Sub PMsgBox "El botón GRAFICA DE GAN& "información del CENTRO SELECCIONAy CARGA OPERACIONES posibilidades para el uso de escenarEnd Sub Private Sub CMsgBox "Use los botones de d& "para agregar un nuevo pOUTPUT PLANIFICADO seleccione el valor de la

_ & "trabajo activo de entre lo& "La suma de las cargas por operacioEnd Sub Private Sub Form_Open(Cancel As Integer) DoCmd.GoToRecord , , acLasEnd Sub Private Sub GRAFICO_GANOn Error GoTo Err_GRAFIC Dim stDocName As String stDocN Exit_GRAFICO_GANTT_Click Exit Sub Err_GRAFICO_GANTT_Click: MsgBox Err.Description

188

Page 205: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Resume Exit_GRAFICO_GANTT_Click End Sub

Formulario producción real

k() TROS DE TRABAJO muestra el número y nombre de todos los centro de

resados " en la base de datos.", , "INFORMACIÓN"

e desplazamiento para encontrar el periodo requerido. " _ rabajo, el listado, los datos " _ a", , "INFORMACIÓN"

PRODUCCIÓN_PLANEADA_Click s String

N PLANEADA" e, , , stLinkCriteria

ADA_Click:

: x Err.Description

lick

CCIÓN" ame, , , stLinkCriteria

1_Click

es subformulario

_Current()

Option Compare Database Private Sub Comando12_ClicMsgBox "La tabla CENtrabajo ingEnd Sub Private Sub Comando9_Click() MsgBox "Use los botones d& "En la tabla IN OUT REAL coloque para cada centro de t& "o valores reales de carga ingresada y producción obtenidEnd Sub Private Sub PRODUCCIÓN_PLANEADA_Click() On Error GoTo Err_ Dim stDocName A Dim stLinkCriteria As String stDocName = "PRODUCCIÓ DoCmd.OpenForm stDocNamExit_PRODUCCIÓN_PLANE Exit Sub Err_PRODUCCIÓN_PLANEADA_Click MsgBo Resume Exit_PRODUCCIÓN_PLANEADA_Click End Sub Private Sub Comando11_Click() On Error GoTo Err_Comando11_C Dim stDocName As String Dim stLinkCriteria As String stDocName = "CONTROL PRODU DoCmd.OpenForm stDocNExit_Comando11_Click: Exit Sub Err_Comando11_Click: MsgBox Err.Description Resume Exit_Comando1End Sub

Formulario rcomponentOption C

ub Formompare Database

S Dim ParentDocName As String On Error Resume Next

me ParentDocName = Me.Parent.Na If Err <> 0 Then

189

Page 206: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

GoTo Form_Current_Exit Else

.Requery

rror$

b nombre_ruta_AfterUpdate() On Error GoTo Err_nombre_ruta_AfterUpdate

e pasarlo a la funcion DLookup. & Me!nombre_ruta idad del producto y asignarlo al control PrecioUnidad.

o)

x Err.Description Salir_nombre_ruta_AfterUpdate

GoTo Err_nombre_ruta_DblClick bre_ruta As Long

ombre_ruta = Me![nombre_ruta] ull

"lista_rutas", , , , , acWindowNormal, NewRecord bre_ruta].Requery

nombre_ruta

On Error GoTo Form_Current_Err Me.Parent![Rcomponentes1_Subformulario] End If Form_Current_Exit: Exit Sub Form_Current_Err: MsgBox E Resume Form_Current_Exit End Sub Private Su

Dim txtFiltro As String If nombre_ruta <> "" Then

el filtro antes d ' Evaluar txtFiltro = "idlistaruta = "

r un ' Buscar el precio po Me!factor = DLookup("factor", "lista_rutas", txtFiltr Else

factor = 1 Me!End If Salir_nombre_ruta_AfterUpdate: Exit Sub

re_ruta_AfterUpdate: Err_nombo MsgB

Resumend Sub E

te Sub nombre_ruta_DblClick(Cancel As Integer) Priva

On Error Dim lngnom

If IsNull(Me![nombre_ruta]) Then Me![nombre_ruta].Text = ""

Else lngn

Me![nombre_ruta] = N End If DoCmd.OpenForm

Me![nom If lngnombre_ruta <> 0 Then Me![nombre_ruta] = lng

_ruta_DblClick: Exit_nombreb Exit Su

Err_nombre_ruta_DblClick: MsgBox Err.Description

ta_DblClick Resume Exit_nombre_ruEnd Sub

190

Page 207: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Private Sub nombre_ruta_NotInList(NewData As String, Response As Integer)

sgBox "Haga DOBLE clic en este campo para agregar una entrada a la lista."

ormulario rcomponentes1 subformulario

orm_Current() rentDocName As String

e

GoTo Form_Current_Err arent![Rcomponentes2_Subformulario].Requery

ent_Err:

t

en r el filtro antes de pasarlo a la funcion DLookup.

txtFiltro = "idlistaruta = " & Me!nombre_ruta ad del producto y asignarlo al control PrecioUnidad.

rutas", txtFiltro)

actor = 1 nd If

pdate:

: tion

bre_ruta_AfterUpdate

Long

M Response = acDataErrContinue End Sub

FOption Compare Database Private Sub F Dim Pa On Error Resume Next ParentDocName = Me.Parent.Nam If Err <> 0 Then GoTo Form_Current_Exit Else

ror On Er Me.P

End If t_Exit: Form_Curren

Exit SubForm_Curr MsgBox Error$ Resume Form_Current_ExiEnd Sub Private Sub nombre_ruta_AfterUpdate() On Error GoTo Err_nombre_ruta_AfterUpdate Dim txtFiltro As String If nombre_ruta <> "" Th ' Evalua ' Buscar el precio por unid Me!factor = DLookup("factor", "lista_ Else Me!fESalir_nombre_ruta_AfterU Exit Sub Err_nombre_ruta_AfterUpdate MsgBox Err.Descrip Resume Salir_nomEnd Sub Private Sub nombre_ruta_DblClick(Cancel As Integer) On Error GoTo Err_nombre_ruta_DblClick Dim lngnombre_ruta As If IsNull(Me![nombre_ruta]) Then Me![nombre_ruta].Text = ""

191

Page 208: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Else lngnombre_ruta = Me![nombre_ruta]

ormal, NewRecord

] = lngnombre_ruta

escription bre_ruta_DblClick

otInList(NewData As String, Response As Integer) na entrada a la lista."

o rcomponentes2 subformulario

nombre_ruta_AfterUpdate ring

hen

= "idlistaruta = " & Me!nombre_ruta

date

ck(Cancel As Integer) k

e_ruta]) Then .Text = ""

owNormal, NewRecord

Me![nombre_ruta] = Null End If DoCmd.OpenForm "lista_rutas", , , , , acWindowN Me![nombre_ruta].Requery If lngnombre_ruta <> 0 Then Me![nombre_rutaExit_nombre_ruta_DblClick: Exit Sub Err_nombre_ruta_DblClick: MsgBox Err.D Resume Exit_nomEnd Sub Private Sub nombre_ruta_NMsgBox "Haga DOBLE clic en este campo para agregar u Response = acDataErrContinue End Sub

FormulariOption Compare Database Private Sub nombre_ruta_AfterUpdate() On Error GoTo Err_ Dim txtFiltro As StIf nombre_ruta <> "" T ' Evaluar el filtro antes de pasarlo a la funcion DLookup. txtFiltro ' Buscar el precio por unidad del producto y asignarlo al control PrecioUnidad. Me!factor = DLookup("factor", "lista_rutas", txtFiltro) Else Me!factor = 1 End If Salir_nombre_ruta_AfterUpdate: Exit Sub Err_nombre_ruta_AfterUpdate: MsgBox Err.Description Resume Salir_nombre_ruta_AfterUpEnd Sub Private Sub nombre_ruta_DblCliOn Error GoTo Err_nombre_ruta_DblClic Dim lngnombre_ruta As Long If IsNull(Me![nombr Me![nombre_ruta] Else lngnombre_ruta = Me![nombre_ruta] Me![nombre_ruta] = Null End If DoCmd.OpenForm "lista_rutas", , , , , acWind

192

Page 209: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Me![nombre_ruta].Requery If lngnombre_ruta <> 0 Then Me![nombre_ruta] = lngnombre_ruta Exit_nombre_ruta_DblClick:

ription

_NotInList(NewData As String, Response As Integer) LE clic en este campo para agregar una entrada a la lista."

se = acDataErrContinue

rchivo johnson de Excel la información de la gla para N pedidos y 2 centros de trabajo.",

) bre: el número de pedido, el nombre de la

ro 1 seleccionado. Además de el número de tro 2 seleccionado. " _

e la operación en el centro 1, y El campo ión siguiente en la ruta para el centro 2

N 2"

l centro en la tabla CENTROS DE TRABAJO 1 el nombre del mismo o en la tabla CENTROS DE leccionado.", vbInformation,

k() DE_JOHNSON_Click

ame

Exit Sub Err_nombre_ruta_DblClick: MsgBox Err.Desc Resume Exit_nombre_ruta_DblClick End Sub Private Sub nombre_rutaMsgBox "Haga DOB ResponEnd Sub

Formulario regla de Johnson Option Compare Database Private Sub Comando11_Click() MsgBox "El botón REGLA DE JOHNSON envía al atabla JOHNSON para que sea presentada según la revbInformation, "INFORMACIÓN" End Sub Private Sub Comando12_Click(MsgBox "La tabla JOHNSON muestra en el campo nomruta, el número de operación iniciada que cargan el centla operación siguiente en la ruta para el cen& "El campo CARGA_CT1 muestra el valor de la carga dCARGA_CT2 muestra el valor de la carga de la operacseleccionado.", vbInformation, "INFORMACIÓEnd Sub Private Sub Comando9_Click() MsgBox "Al seleccionar eaparece en el campo Centro 1 Seleccionado. Al seleccionar el centrTRABAJO 2 el nombre del mismo aparece en el campo Centro 2 Se"INFORMACIÓN 1" End Sub Private Sub Form_Activate() Me.Refresh End Sub Private Sub REGLA_DE_JOHNSON_ClicOn Error GoTo Err_REGLA_ Dim stDocName As String stDocName = "JOHNSON" DoCmd.RunMacro stDocNExit_REGLA_DE_JOHNSON_Click: Exit Sub

193

Page 210: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Err_REGLA_DE_JOHNSON_Click: MsgBox Err.Description

ON_Click

o reglas prioridad

lick() LAS DE PRIORIDAD envía al archivo prioridades de Excel la información

ONES CARGADAS para que sea presentada según los criterios de evaluación eja: EDD, FCFS, LOT, SOT.", vbInformation, "INFORMACIÓN"

a CENTROS DE TRABAJO el nombre del mismo " _ ado La tabla OPERACIONES CARGADAS muestra

nes marcadas como iniciadas que pasan por el centro seleccionado.",

glas_Prioridad_Click() Err_Reglas_Prioridad_Click

las prioridad" Name k:

s_Prioridad_Click: MsgBox Err.Description

Formulario rproductos o_Click()

acFormBar, acEditMenu, 10, , acMenuVer70 xit_buscar_producto_Click:

Exit Sub

MsgBox Err.Description ducto_Click

la ruta de ensamble en la primera tabla, para ingresar las s que forman los diferentes subniveles La estructura que se

Resume Exit_REGLA_DE_JOHNSEnd Sub

FormulariOption Compare Database Private Sub Comando12_CMsgBox "El botón REGde la tabla OPERACIque la aplicación manEnd Sub Private Sub Comando9_Click() MsgBox "Al seleccionar el centro en la tabl& "aparece en el campo Centro Selecciontodas las operaciovbInformation, "INFORMACIÓN" End Sub Private Sub ReOn Error GoTo Dim stDocName As String stDocName = "reg DoCmd.RunMacro stDocExit_Reglas_Prioridad_Clic Exit Sub Err_Regla Resume Exit_Reglas_Prioridad_Click End Sub

Option Compare DatabasePrivate Sub buscar_productOn Error GoTo Err_buscar_producto_Click Screen.PreviousControl.SetFocus DoCmd.DoMenuItemE

Err_buscar_producto_Click:

Resume Exit_buscar_proEnd Sub Private Sub Comando9_Click() MsgBox "Busque el producto al cual va asignar las rutas presionando el botón BUSCAR PRODUCTO. Seguido Ingrese primerosubrutas del producto use las otras tabla

194

Page 211: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

presenta en las diferentes tablas depende de la forma con se ingresaron los datos en el formulario ''

oducto.SetFocus

fterUpdate()

g

e pasarlo a la funcion DLookup. ta = " & Me!idlistaruta

unidad del producto y asignarlo al control PrecioUnidad. = DLookup("factor", "lista_rutas", txtFiltro)

or = 1

aruta_AfterUpdate: Exit Sub

_AfterUpdate:

ate Sub idlistaruta_DblClick(Cancel As Integer)

IsNull(Me![idlistaruta]) Then ![idlistaruta].Text = ""

] = Null f

DoCmd.OpenForm "lista_rutas", , , , , acWindowNormal, NewRecord

<> 0 Then Me![idlistaruta] = lngidlistaruta xit_idlistaruta_DblClick:

istaruta_DblClick

b idlistaruta_NotInList(NewData As String, Response As Integer) "

se = acDataErrContinue

Estructura Producto ''" Me!prEnd Sub Private Sub Form_Current() Me!producto.SetFocus End Sub Private Sub idlistaruta_AOn Error GoTo Err_idlistaruta_AfterUpdate Dim txtFiltro As StrinIf idlistaruta <> "" Then ' Evaluar el filtro antes d txtFiltro = "idlistaru ' Buscar el precio por Me!factor Else Me!factEnd If Salir_idlist Err_idlistaruta MsgBox Err.Description Resume Salir_idlistaruta_AfterUpdate End Sub PrivOn Error GoTo Err_idlistaruta_DblClick Dim lnglistaruta As Long If Me Else lngidlistaruta = Me![idlistaruta] Me![idlistaruta End I Me![idlistaruta].Requery If lngidlistarutaE Exit Sub Err_idlistaruta_DblClick: MsgBox Err.Description Resume Exit_idlEnd Sub Private SuMsgBox "Haga DOBLE clic en este campo para agregar una entrada a la lista. Respon

195

Page 212: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

End Sub Private Sub IMPRIMIR_RUTAS_Click()

UTAS_Click

:

RUTAS_Click

se

d > 0 And cant_pend < cant_emitir Then cant_pend

dad = cant_emitir ox "la cantidad ingresada en la casilla pendiente: cero, negativa o superior a la cantidad a

mitir inicial", , "error cantidad"

Sub

Update()

b

nd Sub

rminado_AfterUpdate()

Sub

lle pedido

On Error GoTo Err_IMPRIMIR_R Dim stDocName As String

cto" stDocName = "árbol_rutas_produmd.OpenReport stDocName, acPreview DoC

Exit_IMPRIMIR_RUTAS_Clickub Exit S

Err_IMPRIMIR_RUTAS_Click: MsgBox Err.Description

_ Resume Exit_IMPRIMIREnd Sub

Formulario rutas iniciadas Option Compare DatabaSub real() If IsNull(cant_pend) Thencantidad = cant_emitirElse: If cant_pen cantidad = Else canti MsgBe End If End If End Private Sub cant_emitir_AfterrealEnd Sub Private Sub cant_pend_AfterUpdate() real End Su Private Sub Form_Load() Me.Refresh E Private Sub rutas_iniciadas2_teMe.Refresh End

Subformulario control detaOption Compare Database Private Sub Form_Activate()

196

Page 213: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Me.Refresh

Private Sub iniciado_AfterUpdate()

)

witchboard pare Database

b Form_Open(Cancel As Integer) the database window and initialize the form.

' Move to the switchboard page that is marked as the default. "[ItemNumber] = 0 AND [Argument] = 'Default' "

nd Sub

date the caption and fill in the list of options. aption = Nz(Me![ItemText], "")

Sub FillOptions() page. The number of buttons on the form.

ject Dim rs As Object

e the field with the focus.

Buttons ption" & intOption).Visible = False

End Sub

Me.Refresh End Sub

e Sub terminado_AfterUpdate() PrivatMe.Refresh

End Sub

Subformulario control pedidos Option Compare Database Private Sub Form_Activate() Me.Refresh End Sub

terUpdate(Private Sub iniciado_AfMe.Refresh End Sub

Formulario sOption ComPrivate Su' Minimize Me.Filter = Me.FilterOn = True E Private Sub Form_Current() ' Up Me.C FillOptions End Sub Private ' Fill in the options for this switchboard Const conNumButtons = 8 Dim con As Ob Dim stSql As String Dim intOption As Integer ' Set the focus to the first button on the form, and then hide all of the buttons on the form but the first. You can't hid Me![Option1].SetFocus For intOption = 2 To conNum Me("O

197

Page 214: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Me("OptionLabel" & intOption).Visible = False Next intOption

d find the first item for this Switchboard Page. plication.CurrentProject.Connection

stSql = "SELECT * FROM [Switchboard Items]" ber] > 0 AND [SwitchboardID]=" & Me![SwitchboardID]

set his Switchboard Page, display a message. Otherwise, fill the page

er]).Visible = True True

ItemText]

d the database.

hing othing

on HandleButtonClick(intBtn As Integer) es which button was clicked.

onst conCmdGotoSwitchboard = 1

conCmdCustomizeSwitchboard = 5

or that is special cased. 501

Err

' Open the table of Switchboard Items, an Set con = Ap

stSql = stSql & " WHERE [ItemNum stSql = stSql & " ORDER BY [ItemNumber];"

ecordset") Set rs = CreateObject("ADODB.Rpen stSql, con, 1 ' 1 = adOpenKey rs.O

' If there are no options for titems. with the

If (rs.EOF) Then ion = "There are no items for this switchboard page" Me![OptionLabel1].Capt

Else While (Not (rs.EOF))

s![ItemNumb Me("Option" & r Me("OptionLabel" & rs![ItemNumber]).Visible =

l" & rs![ItemNumber]).Caption = rs![ Me("OptionLabe rs.MoveNext Wend End If ' Close the recordset an rs.Close Set rs = Not

N Set con = End Sub Private Functi' This function is called when a button is clicked. intBtn indicat

onstants for the commands that can be executed. C C Const conCmdOpenFormAdd = 2

rowse = 3 Const conCmdOpenFormBonst conCmdOpenReport = 4 C

Const Const conCmdExitApplication = 6 Const conCmdRunMacro = 7 Const conCmdRunCode = 8

t conCmdOpenPage = 9 ConsAn err'

Const conErrDoCmdCancelled = 2ject Dim con As Ob

Dim rs As Object Dim stSql As String

lick_On Error GoTo HandleButtonC' Find the item in the Switchboard Items table that corresponds to the button that was clicked. Set con = Application.CurrentProject.Connection Set rs = CreateObject("ADODB.Recordset")

198

Page 215: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

stSql = "SELECT * FROM [Switchboard Items] " stSql = stSql & "WHERE [SwitchboardID]=" & Me![SwitchboardID] & " AND [ItemNumber]="

em matches, report the error and exit the function.

There was an error reading the Switchboard Items table." rs.Close

e.

ent], , , , acAdd

ent]

eport ort rs![Argument], acPreview

mdCustomizeSwitchboard le the case where the Switchboard Manager

ot installed (e.g. Minimal Install). Error Resume Next

plication.Run "ACWZMAIN.sbm_Entry" <> 0) Then MsgBox "Command not available."

Me.Filter = "[ItemNumber] = 0 AND [Argument] = 'Default' "

se conCmdExitApplication

nMacro rs![Argument]

unCode Run rs![Argument]

cess Page

ssPage rs![Argument]

& intBtn rs.Open stSql, con, 1 ' 1 = adOpenKeyset ' If no it If (rs.EOF) Then MsgBox "

Set rs = Nothing Set con = Nothing Exit Function

If End Select Case rs![Command]

nother switchboard. ' Go to a Case conCmdGotoSwitchboard

ber] = 0 AND [SwitchboardID]=" & rs![Argument] Me.Filter = "[ItemNum ' Open a form in Add mod Case conCmdOpenFormAdd

rm rs![Argum DoCmd.OpenFo ' Open a form.

FormBrowse Case conCmdOpen DoCmd.OpenForm rs![Argum ' Open a report.

enR Case conCmdOp DoCmd.OpenRep

ize the Switchboard. ' Custom Case conC

d ' Han n ' is

On Ap

If (Err On Error GoTo 0

' Update the form. Me.Caption = Nz(Me![ItemText], "") FillOptions

it the application. ' Ex Ca CloseCurrentDatabase ' Run a macro. Case conCmdRunMacro

DoCm Ru d. Run code. '

Case conCmdRn. Applicatio

Open a Data Ac ' Case conCmdOpenPage DoCmd.OpenDataAcce

199

Page 216: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

' Any other command is unrecognized. Case Else MsgBox "Unknown option." End Select ' Close the recordset and the database.

me Next Set rs = Nothing

e reason, don't display an error message.Instead,

executing the command.", vbCritical

se()

efresh

orm_Open(Cancel As Integer) oToRecord , , acNewRec

unidades

tas_producto' ------------------------------------

ar_Prioridades()

rs.Close HandleButtonClick_Exit: On Error Resu

Set con = Nothing Exit Function HandleButtonClick_Err:

action was cancelled by the user for som' If theresume on the next line.

= conErrDoCmdCancelled) Then If (Err Resume Next Else MsgBox "There was an error Resume HandleButtonClick_Exit End If End Function

Formulario tipo Option Compare DatabasePrivate Sub Form_CloForm_lista_materiales.REnd Sub Private Sub FDoCmd.GEnd Sub

Formulario Option Compare Database Private Sub Form_Open(Cancel As Integer) DoCmd.GoToRecord , , acNewRec End Sub

Modulo exportar a Excel

Compare Database Option '------------------------------------------------------------ ' actualizar_tabla_ru

---'---------------------

Function Export

200

Page 217: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

On Error GoTo EXPORTAR_prioridades_Err

= "c:\aplicación" 'para buscar en los discos c y d pege esté comando .LookIn = "c:\;d:\"

me = "prioridades.xls" es.xls"

0 Then ' MsgBox "There were " & .FoundFiles.Count & _

For i = 1 To .FoundFiles.Count

eet acExport, 8, "lot", [m], True, "" ransferSpreadsheet acExport, 8, "sot", [m], True, ""

AppName, 1)

la ruta ( c:\aplicación ) Copie el archivo ORIGINAL funcione correctamente.", vbCritical, "ERROR - ARCHIVO NO

= 3010 Then MsgBox Err.Number & " - Cierre el archivo de Excel ''prioridades.xls'' para realizar

rmación - " & Err.Description, vbCritical, "Error - EL ARCHIVO

MsgBox Err.Number & "- - " & Err.Description, vbCritical, "ERROR"

Dim i, c As Integer, m, n As String c = 1 Set fs = Application.FileSearch With fs .LookIn .SearchSubFolders = True .FileNa m = "c:\aplicación\prioridad If .Execute >

" file(s) found."

n = .FoundFiles(i) hen If n = m T

'MsgBox "igual" c = 0 End If Next i End If End With If c = 0 Then DoCmd.TransferSpreadsheet acExport, 8, "edd", [m], True, "" DoCmd.TransferSpreadsheet acExport, 8, "fcfs", [m], True, "" DoCmd.TransferSpreadsh DoCmd.T stAppName = "excel.exe C:\aplicación\prioridades.xls" Call Shell(st Else MsgBox "No se encontró prioridades.xls ena esta ruta para que la aplicaciónENCONTRADO" End If EXPORTAR_prioridades_Exit: Exit Function EXPORTAR_prioridades_Err: If Err.Number correctamente " _ & "el envio de la infoDESTINO ESTA ABIERTO" Else

End If

201

Page 218: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Resume EXPORTAR_prioridades_Exit nd Function

rtar_In_Out() oTo EXPORTAR_IN_OUT_Err

er, m, n As String

rch

ción" 'para buscar en los discos c y d pege esté comando .LookIn = "c:\;d:\" olders = True

.FileName = "in-out.xls"

n

o .FoundFiles.Count n = .FoundFiles(i)

n 'MsgBox "igual" c = 0

bCritical, "ERROR - ARCHIVO NO

L ARCHIVO ESTA ABIERTO"

umber & "- - " & Err.Description, vbCritical, "ERROR"

E

Function ExpoOn Error GDim i, c As Integc = 1 Set fs = Application.FileSeaWith fs .LookIn = "c:\aplica .SearchSubF m = "c:\aplicación\in-out.xls" If .Execute > 0 The ' MsgBox "There were " & .FoundFiles.Count & _ " file(s) found." For i = 1 T

If n = m The

End If Next i End If

nd With E If c = 0 Then DoCmd.TransferSpreadsheet acExport, 8, "control_input_output", [m], True, "" stAppName = "excel.exe C:\aplicación\in-out.xls"

ell(stAppName, 1) Call Sh Else MsgBox "No se encontró prioridades.xls en la ruta ( c:\aplicación ) Copie el archivo ORIGINAL a esta ruta para que la aplicación funcione correctamente.", vENCONTRADO" End If EXPORTAR_IN_OUT_Exit: Exit Function EXPORTAR_IN_OUT_Err: If Err.Number = 3010 Then MsgBox Err.Number & " - Cierre el archivo de Excel ''in-out.xls'' para realizar correctamente " _

l envio de la información - " & Err.Description, vbCritical, "Error - E & "eESTINOD

Else MsgBox Err.N

202

Page 219: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

End If Resume EXPORTAR_IN_OUT_Exit End Function

Function Exportar_Johnson() Err

discos c y d pege esté comando .L

"

& .FoundFiles.Count & _

ext i nd If

d.TransferSpreadsheet acExport, 8, "johnson", [m], True, ""

"excel.exe C:\aplicación\johnson.xls" ppName, 1)

el archivo ORIGINAL a tamente.", vbCritical, "ERROR - ARCHIVO NO

ction

erre el archivo de Excel ''johnson.xls'' para realizar

l, "Error - EL ARCHIVO

On Error GoTo EXPORTAR_JOHNSON_ Dim i, c As Integer, m, n As String

c = 1 h Set fs = Application.FileSearc

With fs .LookIn = "c:\aplicación" 'para buscar en los ookIn = "c:\;d:\" .SearchSubFolders = True .FileName = "johnson.xls m = "c:\aplicación\johnson.xls" If .Execute > 0 Then ' MsgBox "There were " " file(s) found." For i = 1 To .FoundFiles.Count

i) n = .FoundFiles( If n = m Then 'MsgBox "igual" c = 0

End If N EEnd With If c = 0 Then DoCm stAppName =

stA Call Shell( Else MsgBox "No se encontró johnson.xls en la ruta ( c:\aplicación ) Copieesta ruta para que la aplicación funcione correcENCONTRADO" End If EXPORTAR_JOHNSON_Exit: Exit Fun EXPORTAR_JOHNSON_Err: If Err.Number = 3010 Then

r.Number & " - Ci MsgBox Ercorrectamente " _ & "el envio de la información - " & Err.Description, vbCriticaDESTINO ESTA ABIERTO" Else

203

Page 220: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

MsgBox Err.Number & "- - " & Err.Description, vbCritical, "ERROR"

e EXPORTAR_JOHNSON_Exit

n() oTo EXPORTAR_ASIGNACIÓN_Err

d pege esté comando .LookIn = "c:\;d:\"

n.xls" ación\asignación.xls"

te > 0 Then

= m Then

0 Then

, 1)

encontró asignación.xls en la ruta ( c:\aplicación ) Copie el archivo ORIGINAL ta para que la aplicación funcione correctamente.", vbCritical, "ERROR - ARCHIVO NO

ASIGNACIÓN_Exit: ion

IGNACIÓN_Err: mber = 3010 Then ox Err.Number & " - Cierre el archivo de Excel ''asignación.xls'' para realizar

End If ResumEnd Function

Function G

Exportar_AsignacióOn ErrorDim i, c As Integer, m, n As String c = 1

on.FileSearch Set fs = ApplicatiWith fs .LookIn = "c:\aplicación" 'para buscar en los discos c y .SearchSubFolders = True .FileName = "asignació m = "c:\aplic If .Execu ' MsgBox "There were " & .FoundFiles.Count & _ " file(s) found."

nt For i = 1 To .FoundFiles.CouFoundFiles(i) n = .

f n I 'MsgBox "igual" c = 0 End If Next i End If End With If c = DoCmd.TransferSpreadsheet acExport, 8, "asignar", [m], True, ""

e C:\aplicación\asignación.xls" stAppName = "excel.ex Call Shell(stAppName

Else MsgBox "No sea esta ruENCONTRADO" End If EXPORTAR_

ct Exit Fun

R_ASEXPORTAu If Err.N

MsgBcorrectamente " _

204

Page 221: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

& "el envio de la información - " & Err.Description, vbCritical, "Error - EL ARCHIVO "

ox Err.Number & "- - " & Err.Description, vbCritical, "ERROR"

IGNACIÓN_Exit

llado()

ión" 'para buscar en los discos c y d pege esté comando .LookIn = "c:\;d:\"

detallada.xls" icación\detallada.xls" > 0 Then

ox "There were " & .FoundFiles.Count & _ le(s) found."

ual"

nsferSpreadsheet acExport, 8, "prog_detallada", [m], True, ""

"No se encontró detallada.xls en la ruta ( c:\aplicación ) Copie el archivo ORIGINAL a ara que la aplicación funcione correctamente.", vbCritical, "ERROR - ARCHIVO NO

RADO"

mber = 3010 Then

DESTINO ESTA ABIERTO Else

MsgB End If Resume EXPORTAR_ASEnd Function

Function Exportar_Programa_DetaOn Error GoTo EXPORTAR_Err Dim i, c As Integer, m, n As String c = 1 Set fs = Application.FileSearch With fs .LookIn = "c:\aplicac .SearchSubFolders = True .FileName = " m = "c:\apl

te If .Execu ' MsgB

" fi For i = 1 To .FoundFiles.Count n = .FoundFiles(i) If n = m Then 'MsgBox "ig c = 0 End If Next i End If End With

If c = 0 ThenTra DoCmd.

stAppName = "excel.exe C:\aplicación\detallada.xls" Call Shell(stAppName, 1) Else MsgBoxesta ruta pENCONT

If End EXPORTAR_Exit: Exit Function EXPORTAR_Err: If Err.Nu

205

Page 222: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

MsgBox Err.Number & " - Cierre el archivo de Excel ''detallada.xls'' para realizar ente " _

& "el envio de la información - " & Err.Description, vbCritical, "Error - EL ARCHIVO ABIERTO"

umber & "- - " & Err.Description, vbCritical, "ERROR"

NITA() o EXPORTAR_Err

Integer, m, n As String

Application.FileSearch ith fs

plicación" 'para buscar en los discos c y d pege esté comando .LookIn = "c:\;d:\" s = True

FoundFiles(i)

End If

n TransferSpreadsheet acExport, 8, "cg_finita", [m], True, ""

ame = "excel.exe C:\aplicación\carga_finita.xls"

ectamente.", vbCritical, "ERROR -

_Err:

correctam DESTINO ESTA Else MsgBox Err.N End If Resume EXPORTAR_Exit End Function

Function Exportar_FIOn Error GoTDim i, c Asc = 1 Set fs = W .LookIn = "c:\a .SearchSubFolder .FileName = "carga_finita.xls" m = "c:\aplicación\carga_finita.xls"

te > 0 Then If .Execu ' MsgBox "There were " & .FoundFiles.Count & _ " file(s) found." For i = 1 To .FoundFiles.Count n = . If n = m Then 'MsgBox "igual" c = 0 Next i End If End With If c = 0 The DoCmd. stAppN Call Shell(stAppName, 1) Else MsgBox "No se encontró carga_finita.xls en la ruta ( c:\aplicación ) Copie el archivoORIGINAL a esta ruta para que la aplicación funcione corrARCHIVO NO ENCONTRADO" End If EXPORTAR_Exit: Exit Function EXPORTAR

206

Page 223: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

If Err.Number = 3010 Then gBox Err.Number & " - Cierre el archivo de Excel ''carga_finita.xls'' para realizar

ase

ion estácargado(ByVal txtNombreFormulario As String) As Boolean Verdadero si se ha cargado el formulario especificado.

onObjetoEstaCerrado = 0

ysCmd(acSysCmdGetObjectState, acForm, txtNombreFormulario) <> conObjetoEstaCerrado

ombreFormulario).CurrentView <> conModoDiseño Then

Function

anabasededatos()

nel de control principal.

a de base de datos; seleccionar la tabla

eDatos: tion

VerVentanaBaseDeDatos

salir()

Mscorrectamente " _

cription, vbCritical, "Error - EL ARCHIVO & "el envio de la información - " & Err.DesDESTINO ESTA ABIERTO" Else

MsgBox Err.Number & "- - " & Err.Description, vbCritical, "ERROR" End If Resume EXPORTAR_Exit End Function

Modulo funciones de utilidad

Option Compare DatabOption Explicit

Funct ' Devuelve Const c Const conModoDiseño = 0 If SThen If Forms(txtN EstáCargado = True End If End If End

Function VerventOn Error GoTo Err_VerVentanaBaseDeDatos Dim txtNombreDoc As String txtNombreDoc = "Centro_trabajo" ' Cerrar el formulario Pa DoCmd.Close ' Mandar el enfoque a la ventan ' Categorías (primer formulario de la lista).

Table, txtNombreDoc, True DoCmd.SelectObject acSalir_VerVentanaBaseDeDatos: Exit Function Err_VerVentanaBaseD MsgBox Err.Descrip Resume Salir_End Function

Function

207

Page 224: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

On Error GoTo Err_salir

ASE DE DATOS", acToolbarYes

olbar "BASE DE DATOS", acToolbarYes

atabase nction

Jesús Eduardo Scarpetta [email protected] abajo de grado

lectrónica para la planeación a a, para PYMES con sistema de

Jesús Eduardo Scarpetta y Eliana Cuellar l archivo en Access HPP-S.mdb", vbInformation, "Acerca de"

"TRABAJO DE GRADO Herramienta informática en hoja electrónica para la

neación a corto plazo de la producción en ambientes de planificación jerárquica, para producción por lotes o series cortas. REALIZADO POR Jesús

ivo en do Húngaro, VER: MACHUCA DOMÍNGUEZ, José Antonio et

operativos en la producción y los rvicios. España : Mc Graw Hill, 1995. 299 p.", vbInformation, "Acerca de"

DoCmd.ShowToolbar "B DoCmd.Quit Exit_salir: Exit Function Err_salir: MsgBox Err.Description Resume Exit_salir End Function

Function cerrar()DoCmd.ShowToCloseCurrentDEnd Fu

Archivos Excel

Prioridades.Xls 'Diseñado por

Tr'Feb 2002 Sub msg() MsgBox "TRABAJO DE GRADO Herramienta informática en hoja ecorto plazo de la producción en ambientes de planificación jerárquicproducción por lotes o series cortas. REALIZADO PORBernal. Este archivo es un vinculo deEnd Sub

Asignación.Xls 'Diseñado por Jesús Eduardo Scarpetta [email protected]'Feb 2002 Trabajo de grado Sub msg()MsgBox plaPYMES con sistema de Eduardo Scarpetta y Eliana Cuellar Bernal. Este archivo es un vinculo del archAccess HPP-S.mdb Métoal. Dirección De Operaciones : Aspectos tácticos yseEnd Sub Sub algoritmo()

208

Page 225: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Dim n, m, i As Integer, aux As Double Dim mat(1 To 99, 1 To 99) As Double

o(1 To 99, 1 To 99) p(1 To 99, 1 To 99)

im cont(1 To 99, 1 To 1) Double

itmo_Err ignar").Select

").Select rkbook.Names.Add Name:="tabla",

T(RC[-98]:RC[-1])" busca el limite para las columnas

0").Select ell.FormulaR1C1 = "=COUNT(R[-98]C:R[-1]C)"

r m = 0 Then 'condicional primario ambos limites de la matriz igual a cero. verifique que los datos

omienzan desde la casilla B2", vbInformation, "ERROR EN LOS LIMITES"

en 'control ok para saber en que momento ciones son validas

ee los datos de las celdas y los coloca en la o n 'matriz mat

ells(r, c)

**************************************************** '

'MÍNIMO por COLUMNA '

'

Dim cerDim temDDim fila(1 To 99, 1 To 99) As On Error GoTo algorWorksheets("asRange("B2:CU99 ActiveWoRefersToR1C1:="=asignar!R2C2:R99C99" Range("CV2").Select ActiveCell.FormulaR1C1 = "=COUN n = Range("Cv2") ' Range("B10 ActiveC m = Range("B100") 'busca el limite para las filas Range("B2").Select If n = 0 OMsgBox "alguno ocElse If n >= m Th ok = m 'las itera Else: ok = n End If m = m + 1 n = n + 1 For r = 2 To m 'l For c = 2 T With Worksheets("asignar").C mat(r, c) = .Value End With Worksheets("asignar").Cells(r, c).Select Next c Next r '*************For c = 2 To n aux = mat(2, c) For r = 2 To m If mat(r, c) < aux Then aux = mat(r, c)

209

Page 226: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

End If Next r For r = 2 To m ' resta Mínimo por COLUMNA

****************************************** por fila OK!

Then

2 To n ' resta Mínimo por fila mat(r, c) = mat(r, c) - aux

******************************************* orksheets("Hoja1").Select

99").Select e se pegan los datos

***********************************

o \\\\\ciclo fase tres\\\\\\\\

---------------------------------

nd If

mat(r, c) = mat(r, c) - aux Next r Next c '***********************For r = 2 To m 'MÍNIMOaux = mat(r, 2) For c = 2 To n If mat(r, c) < aux aux = mat(r, c) End If Next c For c =

Next c Next r '**********************W Range("B2:CU Selection.ClearContents 'limpia la zona dond '******************************fase3 = False D'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'FASE 3 '------------------------------- If fase3 = True Then For r = 2 To m i = 0 For c = 2 To n If cero(r, c) = "asignar" Then i = i + 1 E Next c If i = 0 Then p = r End If Next r

210

Page 227: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

For c = 2 To n temp(p, c) = mat(p, c)

= 0 Then "asignar" Then

) = "asignar" Then (r, q) = cero(r, q)

Else: temp(r, q) = mat(r, q) End If

Next q Else: temp(r, c) = mat(r, c)

m 'contador de casillas con ceros o 'asignar en la matriz temp

n Or temp(r, c) = "asignar" Then

) Then

Else: i = i + 1

e: i = i End If

'asigna las filas con ceros o asignacion ) = temp(r, c) 'a la matriz fila, borrando esa casillas

(r, c) = Null 'de la matriz temp Next c

2 To n

For r = 2 To m

Next c For c = 2 To n If temp(p, c) For r = 2 To m If cero(r, c) = For q = 2 To n If cero(r, q temp End If Next r End If Next c For r = 2 To i = 0 For c = 2 To If temp(r, c) = 0 If IsEmpty(temp(r, c) i = i End If Els Next c If i > 0 Then For c = 2 To n fila(r, c temp End If Next r For c = If fila(p, c) = 0 Then fila(r, c) = Null Next r

211

Page 228: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

End If Next c aux = fila(2, 2) For r = 2 To m For c = 2 To n If IsEmpty(fila(r, c)) Then 'busca el mínimo en la matriz

c

ext r

ty(fila(r, c)) Then 'resta el mínimo a la matriz c) - aux 'fila

ty(temp(r, c)) Then 'suma el mínimo a la matriz e: temp(r, c) = temp(r, c) + aux 'temp

End If (fila(r, c)) Or IsEmpty(fila(r, c)) Then

lse: temp(r, c) = fila(r, c) 'pasa los datos de la 'matriz fila a temp

ull(temp(r, c)) Or IsEmpty(temp(r, c)) Then ) = temp(r, c) 'pasa los datos de la

End If

\\\\\\\\\\\\\\\\\\\\\\\\\ ================================

SE DOS BUSQUEDA SOLUCIÓN ÓPTIMA ==========================================================

2 To m 'cambia los ceros por c = 2 To n 'sus valores en la hoja

= 0 Then 'de calculo matriz y los r").Cells(r, c) 'guarda en la matriz cero

ero(r, c) = .Value End With

Else 'fila If fila(r, c) < aux Then aux = fila(r, c) End If End If Next N For r = 2 To m For c = 2 To m If IsEmp Else: fila(r, c) = fila(r, End If If IsEmp Els If IsNull E End If If IsN Else: mat(r, c Next c Next r End If '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'================================' FA'======For r = For If mat(r, c) With Worksheets("asigna c End If

212

Page 229: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Next c

********************************************ciclo externo

0

To m 'contador de casillas con números 'en la matriz ceros y guardado de la

antidad en el vector cont(contador)

-------------------------ciclo interno--

o m If cont(r, 1) = 0 Then 'contador de ceros en el vector cont(r,1)

j + 1

True ndo el vector

= aux: p = r: q = c nd If

ith

Next r '**************vacio = False 'valor de la variable de control Do 'inicio del ciclo externo aux = 0: min = 100 For r = 2 i = 0 For c = 2 To n 'c If cero(r, c) <> 0 And cero(r, c) <> "asignar" Then i = i + 1 cont(r, 1) = i Else: cont(r, 1) = i End If Next c Next r '-------------------------------- i = 1 Do j = 1 For r = 2 T j = End If If j = m Then vacio = Exit Do 'sale del ciclo interno cua Else: vacio = False 'este lleno de ceros End If If cont(r, 1) = i Then For c = 2 To n If cero(r, c) <> 0 Then With Worksheets("asignar").Cells(r, c) aux = .Value If aux < min Then min E End W End If Next c End If Next r

213

Page 230: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

If min = 1000 Then

cio = True

o = False ----------------------fin---ciclo interno--

e Then

o m '

" Then + i

If ext c

ok Then

'coloca vacios en la columna menor valor y asignar en la

enor ar" '

*******************************

'con el menor valor ll

*********************************fin****ciclo externo se

umna

, c) = cero(r, c)

i = 1 + i: va End If Loop Until vaci'------------------------------ If vacio = Tru i = 0 For r = 2 T For c = 2 To n ' If cero(r, c) = "asignar i = 1 End N Next r If i = fase3 = False Exit Do Else: fase3 = True Exit Do End If End If For r = 2 To m If p <> r Then 'con cero(r, q) = Null 'posición del m Else: cero(r, q) = "asign End If Next r '********************************** For c = 2 To n 'coloca vacios en la fila If q <> c Then cero(p, c) = Nu End If Next c Loop Until vacio = True '*****************Loop Until fase3 = Fal'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\fin--ciclo fase tres\\\\\\\\ For r = 2 To m 'imprime los datos del array en For c = 2 To n 'la hoja1 del archivo por col Cells(r

214

Page 231: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Worksheets("Hoja1").Cells(r, c).Select

"

utina de control de errores. Err.Description, vbCritical, "ERROR"

147024809 Then ro_de_texto

Resume

xit

tbox(msoTextOrientationHorizontal, 151.5, 92.25, 299.25,

se Select

.Line.Visible = msoFalse

ent = xlJustify

e = False

Selection.Characters.Text = _ bra ASIGNAR indica que trabajo debe asignarse a que maquina para obtener

1, Length:=117).Font

alse

False

Next c Next r End If ActiveSheet.Shapes(2).Select Range("A1").Select 'MsgBox "finalgoritmo_Exit: Exit Sub algoritmo_Err: ' R 'MsgBox Err.Number & "- - " & If Err.Number = -2 cuad Else MsgBox Err.Number & "- - " & Err.Description, vbCritical, "ERROR" Resume algoritmo_E End If End Sub 'algoritmo Sub cuadro_de_texto()ActiveSheet.Shapes.AddTex72#).Select Selection.Font.Bold = Fal ActiveSheet.Shapes(2). Selection.ShapeRange With Selection .HorizontalAlignm .VerticalAlignment = xlJustify .Orientation = xlHorizontal .AutoSiz End With "La palael menor tiempo de proceso posible." With Selection.Characters(Start:= .Name = "Times New Roman" .FontStyle = "Normal" .Size = 16 .Strikethrough = F .Superscript = False .Subscript = .OutlineFont = False .Shadow = False

215

Page 232: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

.Underline = xlUnderlineStyleNone atic

ngth:=7).Font n"

le = "Negrita"

ethrough = False .Superscript = False

ript = False

"A1").Select End Sub

om

To 99, 1 To 3): Dim graf(1 To 99, 1 To 3)

o_Err

2:C99").Select ctiveWorkbook.Names.Add Name:="tabla", RefersToR1C1:="=johnson!R2C2:R99C3"

).Select

ca el limite para las filas ange("B2").Select

en 'condicional primario

e las 1 To 3 'celdasy los coloca en

With Worksheets("johnson").Cells(r, c) 'la matriz dat = .Value

.ColorIndex = xlAutom End With With Selection.Characters(Start:=12, Le .Name = "Times New Roma .FontSty .Size = 16 .Strik .Subsc .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = 7 End With Range(

Johnson.Xls 'Diseñado por Jesús Eduardo Scarpetta [email protected]'Feb 2002 Trabajo de grado Sub algoritmo() Dim g, t, y, j, m, i As Integer, aux, s As Variant Dim dat(1 To 99, 1 To 3) As Variant Dim JOHN(1 On Error GoTo algoritmWorksheets("johnson").Select Range("BARange("B100"ActiveCell.FormulaR1C1 = "=COUNT(R[-98]C:R[-1]C)"m = Range("B100") 'busRIf m = 0 Th MsgBox "el limite vertical de la matriz es igual a cero. verifique que los datos comienzan desde la casilla B2", vbInformation, "ERROR EN LOS LIMITES" Else ok = m: i = 2: j = 0: m = m + 1 For r = 1 To m 'lee los datos d For c = dat(r, c) End With

216

Page 233: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Worksheets("johnson").Cells(r, c).Select

)

l

hen

hen

*******************************************************

To 3 'copia los encabezados JOHN(1, c) = dat(1, c) 'de la matriz dat a la

Next c Next r Do 'ciclo hasta que la matriz dat este vacía aux = 1000 For r = 2 To m For c = 2 To 3 If dat(r, c) < aux Then aux = dat(r, c p = r: q = c End If Next c Next r If q = 2 Then For c = 1 To 3 JOHN(i, c) = dat(p, c) dat(p, c) = Nul Next c i = i + 1 Else t = m - j For c = 1 To 3 JOHN(t, c) = dat(p, c) dat(p, c) = Null Next c j = j + 1 End If k = 0 For r = 2 To m If IsNull(dat(r, 2)) T k = k + 1 End If Next r If k = ok T Exit Do End If Loop '********** For c = 1

217

Page 234: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

graf(1, c) = JOHN(1, c) 'matriz john y graf

orksheets("Hoja1").Select :CU99").Select 'limpia la zona donde

sheets("Hoja1").Cells(r, c).Select Next c

(r, 2) + s ext r

+ s

or r = 1 To q 'imprime los datos del array en 3 'la hoja1 del archivo por columna

= graf(r, c)

Next c W Range("A1 Selection.ClearContents 'se pegan los datos For r = 1 To m 'imprime los datos del array en For c = 1 To 3 'la hoja1 del archivo por columna Cells(r, c) = JOHN(r, c) Work Next r i = 0 For c = 2 To 3 For r = 2 To m p = r + i graf(p, c) = JOHN(r, c) Next r i = i + 1 Next c q = m + 1 s = 0 For r = 2 To m s = graf N s = graf(q, 3) graf(2, 3) = JOHN(2, 2) F For c = 1 To q = 8 - c Cells(r, q) 'Worksheets("Hoja1").Cells(r, q).Select Next c Next r t = 0 g = 0 For i = 1 To 3 ActiveSheet.Shapes(i).Select Next i If g = 0 And t = 0 Then

218

Page 235: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

g = 2 Else: If t <> 0 Then

LIZARSE MAL LA OPERACIÓN BORRE EL E NUEVO LA OPERACIÓN. ", vbInformation,

ect os trabajos se terminan en " & s & " horas estándar "

ers(Start:=1, Length:=43).Font

se

nt = False

lineStyleNone tomatic

Select

it:

de errores. & "- - " & Err.Description, vbCritical, "ERROR"

47024809 Then de estos elementos en la hoja de cálculo: " _

" _ entativo de la Regla de Johnson. " _

cación de la respuesta obtenida. " _ ejecuta el algoritmo. " _

iores", "FALTA ALGO EN LA HOJA DE CÁLCULO")

MsgBox "EN CASO DE REAOBJETO E INTENTE D"IMPORTANTE" g = 2 End If End If ActiveSheet.Shapes(g).Sel Selection.Characters.Text = "l With Selection.Charact .Name = "Arial" .FontStyle = "Normal" .Size = 16 .Strikethrough = False .Superscript = Fal .Subscript = False .OutlineFo .Shadow = False .Underline = xlUnder .ColorIndex = xlAu End With End If Worksheets("Hoja1").Cells(1, 1). algoritmo_Ex Exit Sub algoritmo_Err: ' Rutina de control 'MsgBox Err.Number If Err.Number = -21 y = InputBox("Falta uno & " & "1 - El grafico repres & "2 - El Texto expli & "3 - El botón que & "4 - Todas las anter Select Case y Case 1 grafico t = 1 Case 2 cuadro_de_texto g = i

219

Page 236: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Case 3 boton t = 1 Case 4 grafico cuadro_de_texto boton t = 1 Case Else MsgBox "El número no es valido"

iption, vbCritical, "ERROR"

esús Eduardo Scarpetta

").Activate

Legend = False

ed e:=Sheets("Hoja1").Range("A1:A99,E1:F99"), _

o 98 esCollection(r).Select r.ColorIndex = xlNone

Where:=xlLocationAsObject, Name:="Hoja1"

ters.Text = "Secuenciación Regla de Johnson para N trabajos en 2

mary).HasTitle = False lue, xlPrimary).HasTitle = False

Resume algoritmo_Exit End Select Resume Else MsgBox Err.Number & "- - " & Err.Descr Resume algoritmo_Exit End If End Sub 'JOHNSON MODULO 2 'Diseñado por J'[email protected] 'Feb 2002 'Trabajo de grado Sub grafico() 'ActiveWindow.Visible = False 'Windows("grafico johnson.xls Range("A1:C99").Select Charts.Add ActiveChart.Has ActiveChart.ChartType = xlBarStack ActiveChart.SetSourceData Sourc PlotBy:=xlRows For r = 1 T ActiveChart.Seri Selection.Interio Next r ActiveChart.Location With ActiveChart .HasTitle = True .ChartTitle.Characmaquinas" .Axes(xlCategory, xlPri .Axes(xlVa End With

220

Page 237: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

With ActiveChart.Axes(xlCategory) s = False

False

ible = False

ddTextbox(msoTextOrientationHorizontal, 203.25, 16.5, _

ge.Line.Visible = msoFalse s se terminan en " & s & " horas estándar"

t:=1, Length:=63).Font

le = "Normal"

e cript = False

.OutlineFont = False w = False

atic End With

n.Characters.Text = "JOHNSON" With Selection.Characters(Start:=1, Length:=4).Font

"Arial" e = "Normal"

rscript = False

.HasMajorGridline .HasMinorGridlines = End With With ActiveChart.Axes(xlValue) .HasMajorGridlines = False .HasMinorGridlines = False End With ActiveChart.PlotArea.Select ActiveChart.ChartArea.Select 'MsgBox "borrar" ' ActiveWindow.Vis ' Selection.Delete End Sub Sub cuadro_de_texto() ActiveSheet.Shapes.A 388.5, 43.5).Select Selection.ShapeRan Selection.Characters.Text = "los trabajo With Selection.Characters(Star .Name = "Arial" .FontSty .Size = 16 .Strikethrough = False .Superscript = Fals .Subs

.Shado .Underline = xlUnderlineStyleNone .ColorIndex = xlAutom End Sub Sub boton() ActiveSheet.Buttons.Add(49.5, 249, 123.75, 28.5).Select Selection.OnAction = "algoritmo" 'ActiveSheet.Shapes("1").Select Selectio .Name = .FontStyl .Size = 10 .Strikethrough = False .Supe

221

Page 238: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

.Subscript = False eFont = False

False

rmática en hoja electrónica para la ntes de planificación jerárquica, para

series cortas. REALIZADO POR Jesús rpetta y Eliana Cuellar Bernal. Este archivo es un vinculo del archivo en

cerca de"

s

fico 12").Activate ct

rt.ChartArea.Select

xisTitle.Characters.Text = "he"

sús Eduardo Scarpetta [email protected]

hoja electrónica para la la producción en ambientes de planificación jerárquica, para

de producción por lotes o series cortas. REALIZADO POR Jesús liana Cuellar Bernal. Este archivo es un vinculo del archivo en

.Outlin .Shadow = .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With Range("A2").Select End Sub Sub msg() MsgBox "TRABAJO DE GRADO Herramienta infoplaneación a corto plazo de la producción en ambiePYMES con sistema de producción por lotes oEduardo ScaAccess HPP-S.mdb", vbInformation, "AEnd Sub

Detallada.XlSub Macro1() ActiveSheet.ChartObjects("Grá ActiveChart.Axes(xlValue).Sele ActiveCha With ActiveChart .Axes(xlValue, xlPrimary).HasTitle = True .Axes(xlValue, xlPrimary).A End With Selection.Left = 282 Selection.Top = 162 Selection.Font.Bold = False End Sub MODULO 2 'Diseñado por Je'Feb 2002 Trabajo de grado Sub msg() MsgBox "TRABAJO DE GRADO Herramienta informática enplaneación a corto plazo de PYMES con sistemaEduardo Scarpetta y EAccess HPP-S.mdb", vbInformation, "Acerca de" End Sub Sub grafico() Range("A1:B100").Select

222

Page 239: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Charts.Add ActiveChart.ChartType = xlBarStacked ActiveChart.SetSourceData Source:=Sheets("prog_detallada").Range("A1:B100"), _

g_detallada" False

With Selection.TickLabels.Font

eNone

x(msoTextOrientationHorizontal, 6.75, 24#, 37.5 _

ido"

=1, Length:=6).Font

s.Text = "he"

End Sub

PlotBy:=xlRows ActiveChart.Location Where:=xlLocationAsObject, Name:="pro ActiveChart.HasLegend = ActiveChart.Axes(xlCategory).Select Selection.TickLabels.AutoScaleFont = True

.Name = "Arial" .FontStyle = "Normal" .Size = 10 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyl .ColorIndex = 2 .Background = xlTransparent End With ActiveChart.Shapes.AddTextbo , 22.5).Select Selection.ShapeRange.Line.Visible = msoFalse Selection.Characters.Text = "Ped Selection.AutoScaleFont = False With Selection.Characters(Start: .Name = "Arial" .FontStyle = "Normal" .Size = 10 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With With ActiveChart .Axes(xlValue, xlPrimary).HasTitle = True .Axes(xlValue, xlPrimary).AxisTitle.Character End With Range("A1").Select

223

Page 240: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

Carga_Finita.Xls 'Diseñado por Jesús Eduardo Scarpetta [email protected]

la icación jerárquica, para

ión por lotes o series cortas. REALIZADO POR Jesús archivo es un vinculo del archivo en

n, "Acerca de"

verde claro para variar las horas reales ran en la celda de arriba en color naranja. Realice los

ones en el grafico. Al cerrar el archivo e trabajo para el periodo evaluado en el centro de análisis

ÓN CORTO PLAZO' en el formulario OL en la columna HR de la tabla INPUT,

ara el centro seleccionado.", vbInformation,

de la columna F (números en Fucsia) y observe los rmation, "INFORMACIÓN"

'Diseñado por Jesús Eduardo Scarpetta [email protected]

rce:=Sheets("Hoja2").Range("B5:H8"), PlotBy:= _

lLocationAsObject, Name:="Hoja2"

_ "GANTT de carga finita para el centro seleccionado"

.HasTitle = True ters.Text = "periodos"

'Feb 2002 Trabajo de grado Sub msg() MsgBox "TRABAJO DE GRADO Herramienta informática en hoja electrónica paraplaneación a corto plazo de la producción en ambientes de planifPYMES con sistema de produccEduardo Scarpetta y Eliana Cuellar Bernal. EsteAccess HPP-S.mdb", vbInformatioEnd Sub Sub Informacion1() MsgBox "Cambie las horas reales de la celda ennormales de trabajo que se muestcambios en la celda verde y observe las modificacicopie el nuevo valor de las horas den la base de datos en Access archivo 'PLANEACIPRODUCCIÓN PLANEADA del menú CONTROUTPUT PLANIFICADO p"INFORMACIÓN" End Sub Sub Informacion2() MsgBox "Suprima o borre cargascambios en el grafico al realizar lo anterior", vbInfoEnd Sub MODULO 2

'Feb 2002 Trabajo de grado Sub grafico() Range("B5:H8").Select Charts.Add ActiveChart.ChartType = xlColumnClustered ActiveChart.SetSourceData Sou xlRows ActiveChart.Location Where:=x With ActiveChart .HasTitle = True .ChartTitle.Characters.Text =

.Axes(xlCategory, xlPrimary) .Axes(xlCategory, xlPrimary).AxisTitle.Charac

224

Page 241: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

.Axes(xlValue, xlPrimary).HasTitle = True .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "carga"

alue).Select hart.PlotArea.Select

Selection.Left = 1 Selection.Top = 61 Selection.Top = 6 Selection.Width = 278 Selection.Height = 135 ActiveChart.Legend.Select Selection.Left = 188 Selection.Top = 25 ActiveChart.Axes(xlCategory).Select Selection.TickLabels.AutoScaleFont = False With Selection.TickLabels.Font .Name = "Arial" .FontStyle = "Normal" .Size = 8 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic .Background = xlAutomatic End With ActiveChart.Axes(xlCategory).AxisTitle.Select Selection.AutoScaleFont = False With Selection.Font .Name = "Arial" .FontStyle = "Negrita" .Size = 7 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic .Background = xlAutomatic End With Selection.Left = 230 ActiveChart.Axes(xlValue).Select

End With ActiveChart.Axes(xlV ActiveC

225

Page 242: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

226

Selection.TickLabels.AutoScaleFont = False With Selection.TickLabels.Font .Name = "Arial" .FontStyle = "Normal" .Size = 8 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic .Background = xlAutomatic End With ActiveChart.Axes(xlValue).AxisTitle.Select Selection.AutoScaleFont = False With Selection.Font .Name = "Arial" .FontStyle = "Negrita" .Size = 7 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic .Background = xlAutomatic End With With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .Orientation = xlHorizontal End With Selection.Left = 3 Selection.Top = 1 ActiveChart.ChartTitle.Select Selection.Left = 117 Selection.Top = 1 Selection.AutoScaleFont = False With Selection.Font .Name = "Arial" .FontStyle = "Negrita" .Size = 10 .Strikethrough = False

Page 243: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

227

.Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic .Background = xlAutomatic End With ActiveChart.Legend.Select Selection.AutoScaleFont = False With Selection.Font .Name = "Arial" .FontStyle = "Normal" .Size = 8 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic .Background = xlAutomatic End With ActiveWindow.Visible = False Windows("carga_finita.xls").Activate Range("B5").Select End Sub

In-out.Xls 'Diseñado por Jesús Eduardo Scarpetta [email protected] 'Feb 2002 Trabajo de grado Sub msg() MsgBox "TRABAJO DE GRADO Herramienta informática en hoja electrónica para la planeación a corto plazo de la producción en ambientes de planificación jerárquica, para PYMES con sistema de producción por lotes o series cortas. REALIZADO POR Jesús Eduardo Scarpetta y Eliana Cuellar Bernal. Este archivo es un vinculo del archivo en Access HPP-S.mdb", vbInformation, "Acerca de" End Sub MODULO 2 Sub gráfico() Range("D1:E100").Select ActiveWindow.SmallScroll Down:=-8 End Sub

Page 244: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

228

Sub graf() Charts.Add ActiveChart.ChartType = xlColumnStacked ActiveChart.SetSourceData Source:=Sheets("control_input_output").Range( _ "D1:E100"), PlotBy:=xlRows ActiveChart.Location Where:=xlLocationAsObject, Name:= _ "control_input_output" With ActiveChart .HasTitle = True .ChartTitle.Characters.Text = "input para el CT" .Axes(xlCategory, xlPrimary).HasTitle = False .Axes(xlValue, xlPrimary).HasTitle = False End With With ActiveChart.Axes(xlCategory) .HasMajorGridlines = False .HasMinorGridlines = False End With With ActiveChart.Axes(xlValue) .HasMajorGridlines = True .HasMinorGridlines = False End With ActiveChart.HasLegend = False ActiveSheet.Shapes("Gráfico 3").ScaleWidth 1.14, msoFalse, _ msoScaleFromBottomRight ActiveSheet.Shapes("Gráfico 3").ScaleHeight 1.34, msoFalse, _ msoScaleFromTopLeft ActiveSheet.Shapes("Gráfico 3").IncrementLeft -93.75 ActiveSheet.Shapes("Gráfico 3").IncrementTop 36# End Sub Sub outgraf() Charts.Add ActiveChart.ChartType = xlColumnStacked ActiveChart.SetSourceData Source:=Sheets("control_input_output").Range( _ "F1:G100"), PlotBy:=xlRows ActiveChart.Location Where:=xlLocationAsObject, Name:= _ "control_input_output" With ActiveChart .HasTitle = True .ChartTitle.Characters.Text = "out para el CT" .Axes(xlCategory, xlPrimary).HasTitle = False .Axes(xlValue, xlPrimary).HasTitle = False End With ActiveChart.HasLegend = False

Page 245: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

229

ActiveSheet.Shapes("Gráfico 4").ScaleWidth 1.07, msoFalse, msoScaleFromTopLeft ActiveSheet.Shapes("Gráfico 4").ScaleHeight 1.16, msoFalse, _ msoScaleFromTopLeft ActiveSheet.Shapes("Gráfico 4").ScaleWidth 1.05, msoFalse, msoScaleFromTopLeft ActiveSheet.Shapes("Gráfico 4").ScaleHeight 1.1, msoFalse, _ msoScaleFromTopLeft ActiveSheet.Shapes("Gráfico 4").IncrementLeft 192# ActiveSheet.Shapes("Gráfico 4").IncrementTop 54# ActiveSheet.Shapes("Gráfico 4").IncrementLeft -1.5 ActiveSheet.Shapes("Gráfico 4").IncrementTop -17.25 ActiveWindow.Visible = False Windows("in-out.xls").Activate ActiveSheet.ChartObjects("Gráfico 3").Activate ActiveChart.ChartArea.Select ActiveSheet.Shapes("Gráfico 3").IncrementLeft -8.25 ActiveSheet.Shapes("Gráfico 3").ScaleWidth 0.97, msoFalse, msoScaleFromTopLeft ActiveSheet.Shapes("Gráfico 3").ScaleHeight 1.01, msoFalse, _ msoScaleFromBottomRight ActiveWindow.Visible = False Windows("in-out.xls").Activate ActiveSheet.ChartObjects("Gráfico 4").Activate ActiveChart.ChartArea.Select ActiveSheet.Shapes("Gráfico 4").IncrementLeft -16.5 ActiveSheet.Shapes("Gráfico 4").IncrementTop -1.5 ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate Windows("in-out.xls").SmallScroll ToRight:=1 ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate Windows("in-out.xls").SmallScroll ToRight:=1 ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate Windows("in-out.xls").SmallScroll ToRight:=-1 ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate

Page 246: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

230

Windows("in-out.xls").SmallScroll ToRight:=1 ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate Windows("in-out.xls").SmallScroll ToRight:=1 Windows("in-out.xls").SmallScroll Down:=3 ActiveSheet.Shapes("Gráfico 4").ScaleWidth 0.94, msoFalse, msoScaleFromTopLeft ActiveSheet.Shapes("Gráfico 4").ScaleHeight 0.99, msoFalse, _ msoScaleFromBottomRight Windows("in-out.xls").LargeScroll ToRight:=-1 ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate Windows("in-out.xls").SmallScroll Down:=-1 ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate Windows("in-out.xls").SmallScroll Down:=-1 ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate Windows("in-out.xls").SmallScroll Down:=-1 ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate Windows("in-out.xls").SmallScroll Down:=1 ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate ActiveWindow.Visible = False ActiveSheet.ChartObjects("Gráfico 4").Activate

Page 247: PLANEACIÓN JERÁRQUICA DE LA PRODUCCIÓN – CORTO PLAZO / HIERARCHICAL PRODUCTION PLANNING – SCHEDULING

231

Windows("in-out.xls").SmallScroll Down:=-1 ActiveWindow.Visible = False Windows("in-out.xls").Activate Range("A1").Select End Sub