PROYECTO FIN DE CARRERA - Servidor de la Biblioteca de...
Transcript of PROYECTO FIN DE CARRERA - Servidor de la Biblioteca de...
UNIVERSIDAD DE SEVILLA
ESCUELA SUPERIOR DE INGENIEROS
TITULACIÓN: INGENIERÍA DE ORGANIZACIÓN INDUSTRIAL
Departamento de Organización Industrial y Gestión de Empresas I
PROYECTO FIN DE CARRERA
OPTIMIZACIÓN DE LA PRODUCCIÓN DE UNA LÍNEA DE PATATAS
FRITAS MEDIANTE PROGRAMACIÓN MATEMÁTICA
AUTOR: Concepción Torres García
TUTOR: José Manuel García Sánchez
Septiembre, 2014
CONTENIDO.
Página 2 de 148
CONTENIDO CAPÍTULO 1. INTRODUCCIÓN. ....................................................................................................... 5
CAPÍTULO 2. OBJETO DEL PROYECTO. ........................................................................................... 8
CAPÍTULO 3. PRESENTACIÓN DE LA PLANTA. ............................................................................. 10
3.1. HISTORIA ..................................................................................................................... 10
3.2. DATOS GENERALES ...................................................................................................... 11
3.3. DISTRIBUCIÓN DE LA PLANTA ..................................................................................... 12
3.4. ORGANIGRAMA GRUPO ESPAÑA ................................................................................ 15
3.5. ORGANIGRAMA PATATAS SA ...................................................................................... 16
3.6. PRODUCTOS FABRICADOS ........................................................................................... 19
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA. ....................................................... 21
4.1. PROCESO DE FABRICACIÓN DE EXTRUSIONADOS ....................................................... 22
4.2. PROCESO DE FABRICACIÓN DE PELLET ....................................................................... 32
4.3. PROCESO DE FABRICACIÓN DE PATATAS FRITAS ........................................................ 43
CAPÍTULO 5. IDENTIFICACIÓN DE LOS DATOS DEL PROBLEMA. ................................................. 67
5.1. PERSONAL NECESARIO. ............................................................................................... 67
5.2. DATOS DE CAPACIDAD. ............................................................................................... 68
5.3. TIEMPO DE SET UP. ..................................................................................................... 71
5.4. RESTRICCIONES DE PRODUCCIÓN. .............................................................................. 72
5.5. FORMADORES DISPONIBLES. ...................................................................................... 73
5.6. PRODUCTOS FABRICADOS. .......................................................................................... 74
CAPÍTULO 6. EL MODELO MATEMÁTICO. ................................................................................... 77
6.1. LOS DATOS................................................................................................................... 77
6.2. LAS VARIABLES. ........................................................................................................... 78
6.3. LAS RESTRICCCIONES. .................................................................................................. 79
6.4. LA FUNCIÓN OBJETIVO. ............................................................................................... 80
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO. ........................................................... 81
7.1. OPTIMIZADOR LINGO. ................................................................................................. 81
7.1.1. LIBRERÍA LINGO ................................................................................................... 82
7.1.2. INTRODUCCIÓN BÁSICA DE UN MODELO EN LINGO ........................................... 84
7.1.3. COMANDOS MÁS FRECUENTES DEL MENÚ LINGO ............................................. 87
7.2. PROGRAMA VISUAL BASIC. ......................................................................................... 95
CONTENIDO.
Página 3 de 148
CAPÍTULO 8. RESULTADOS DE LA APLICACION. ........................................................................ 102
CAPÍTULO 9. CONCLUSIONES. ................................................................................................... 135
CAPÍTULO 10. BIBLIOGRAFÍA. .................................................................................................... 136
CAPÍTULO 11. ANEXO. ............................................................................................................... 137
11.1. CÓDIGO PARA LA GENERACIÓN DEL MODELO MATEMATICO. ............................ 137
CAPÍTULO 2. OBJETO DEL PROYECTO
Página 4 de 148
CAPÍTULO 1.
INTRODUCCIÓN.
CAPÍTULO 2. OBJETO DEL PROYECTO
Página 5 de 148
CAPÍTULO 1. INTRODUCCIÓN.
La Universidad de Sevilla, en particular esta Escuela Técnica Superior de
Ingenieros, ofrece una formación académica teórica que nos permitirá hacer frente a
los distintos retos que se nos plantean en el mundo laboral.
En este proyecto fin de carrera se aplican los conocimientos teóricos adquiridos
durante la formación académica para modelar una línea de producción y obtener la
secuencia óptima de fabricación de los distintos productos.
La realización de este proyecto se ha llevado a cabo en el Departamento de
Organización Industrial y Gestión de Empresas I de la Escuela Técnica Superior de
Ingenieros de Sevilla, con los datos aportados por PATATAS SA.
El proceso de fabricación de aperitivos y snacks está sujeto a diversos factores
que determinan los plazos de fabricación y la conformidad de los productos
terminados, tales como la demanda de cada producto, stock de materias primas,
capacidad de producción de las líneas, limitaciones de producción y estándares de
calidad, entre otros.
Teniendo en cuenta estos factores se desarrolla un modelo matemático que
determina la secuencia óptima de producción de los distintos productos. El objetivo
del modelo es minimizar el tiempo total de producción, consiguiendo un aumento de
la productividad de la línea.
El análisis se centra en la línea de patatas debido a que es el producto con mayor
coste de producción, no obstante el estudio es extensible al resto de las líneas con las
modificaciones pertinentes.
El proyecto consta de once capítulos:
Los capítulos 2 y 3 recogen los objetivos del proyecto y una descripción de la
planta PATATAS SA.
En el capítulo 4 se describen los distintos procesos de fabricación de los
diferentes tipos de productos, extrusionados, pellet y patatas.
CAPÍTULO 2. OBJETO DEL PROYECTO
Página 6 de 148
El capítulo 5 describe los datos y restricciones del problema necesarios para la
planificación.
El modelo matemático y las herramientas utilizadas para su creación se detallan
en los capítulos 6, y 7.
El capitulo 8 recoge los resultados de la aplicación, cuyas conclusiones se
incluyen en el capítulo 9.
La bibliografía se relaciona en el capítulo 10.
En el último capítulo, a modo de anexo, puede verse el código para la generación
del modelo.
CAPÍTULO 2. OBJETO DEL PROYECTO
Página 7 de 148
CAPÍTULO 2.
OBJETO DEL PROYECTO.
CAPÍTULO 2. OBJETO DEL PROYECTO
Página 8 de 148
CAPÍTULO 2. OBJETO DEL PROYECTO.
EL objeto de este proyecto consiste en estudiar y valorar, utilizando
programación matemática, las posibles soluciones para la planificación de la
producción de una línea de patatas.
Partiendo de las características, especificaciones y peculiaridades del proceso se
generan las restricciones del modelo matemático. El modelo se completa con la
función objetivo, que expresa el criterio de elegir aquel plan de fabricación que
minimice el tiempo de proceso.
Para generar el modelo, debido a la complejidad del mismo, se crea una
herramienta de programación en Visual Basic que realiza la lectura de los datos de
entrada y genera el modelo lineal. El modelo se genera en el formato adecuado para
poder acceder al optimizador LINGO, ejecutarlo y estudiar los resultados obtenidos.
Este proyecto analiza el tamaño del modelo y el tiempo de ejecución del mismo.
CAPÍTULO 3. PRESENTACIÓN DE LA PLANTA.
Página 9 de 148
CAPÍTULO 3.
PRESENTACIÓN DE LA PLANTA.
CAPÍTULO 3. PRESENTACIÓN DE LA PLANTA.
Página 10 de 148
CAPÍTULO 3. PRESENTACIÓN DE LA PLANTA.
3.1. HISTORIA
La empresa PATATAS SA se fundó en el año 1978 por un grupo alimentario
nacional puntero en investigación y desarrollo tanto de productos como de
maquinaria.
PATATAS SA fue creada para la fabricación y distribución de snacks y aperitivos a
partir de maíz, patatas, féculas y aromas, obtenidos por procesos de fritura o tostado
con un grado de automatización importante. Dispone de tres líneas fundamentales de
productos: patatas fritas, pellets y extrusionados.
El mercado de PATATAS SA está localizado principalmente en la zona norte,
centro y en Andalucía, por lo que ubicar la planta en el centro de España reduce
considerablemente los costes en transporte para la distribución.
Por otro lado la tradición agrícola y ganadera de la zona la hacen especialmente
atractiva ya que el personal es poco conflictivo, con escasa representación sindical.
Otras razones de peso, sin lugar a dudas, son las importantes ayudas económicas
para la creación de nuevas empresas, así como el bajo coste del suelo, sin olvidar que
la mano de obra es más barata que en otras zonas de España.
PATATAS SA está íntimamente ligada a la empresa PASTELERIA SA dedicada a la
producción de pastelería industrial.
El GRUPO ESPAÑA, multinacional italiana líder en la producción y distribución de
patatas, snacks salados y dulces y productos de bollería, adquiere PATATAS SA y
PASTELERIA SA en el año 1992 continuando con su expansión por Europa.
La calidad y el servicio son de vital importancia, así como la investigación para el
desarrollo de nuevos productos.
CAPÍTULO 3. PRESENTACIÓN DE LA PLANTA.
Página 11 de 148
3.2. DATOS GENERALES
Esta empresa del sector alimentario se dedica a la fabricación de snacks y
aperitivos salados.
Los tipos de productos que fabrica son los siguientes:
1. Extrusionados de maíz:
a. Gusis.
b. Ganchis.
c. Bolitas.
2. Pellet:
a. Palis.
b. Estrellis.
c. Tetras.
d. Conos.
3. Patatas fritas:
a. Chips: al punto de sal.
b. Onduladas: al punto de sal, al jamón, a la barbacoa.
En la actualidad el personal de PATATAS SA es vecino de la zona de ubicación de
la fábrica, es decir, zona rural. La cultura industrial es muy escasa debido a que en la
zona las actividades económicas predominantes son la ganadería, la agricultura y el
turismo. Para la mayoría del personal contratado el trabajo en la fábrica representa
solamente una parte de sus ingresos, desarrollando un segunda actividad. El trabajo en
PATATAS SA les garantiza los servicios de la Seguridad Social, la pensión de Jubilación,
y una parte del salario de subsistencia. El 40% de la plantilla está formada por mujeres
que en la mayoría de los casos representa el aporte de un segundo salario a la unidad
familiar. En resumen la dependencia económica, tanto del personal como de la zona
de ubicación, de la empresa PATATAS SA está en un segundo plano.
La antigüedad del personal de la fábrica es elevada, siendo la antigüedad media
de 23 años en una plantilla de 60 personas. La formación académica de la plantilla es
baja, y la experiencia laboral es la adquirida en PATATAS SA.
CAPÍTULO 3. PRESENTACIÓN DE LA PLANTA.
Página 12 de 148
3.3. DISTRIBUCIÓN DE LA PLANTA
La superficie total es de 5.000 m2 distribuida de la siguiente manera:
1. Nave de producción:
− Caldera de vapor.
− Zona de descarga de patatas.
− Almacén de patata cruda.
− Zona de producción.
− Vestuarios y aseos.
− Botiquín.
− Comedor.
− Almacén de productos de limpieza.
− Oficinas.
2. Nave de almacén:
− Almacén de materias primas.
− Almacén de producto terminado.
− Zona de picking.
− Taller mecánico.
− Laboratorio de control de calidad.
− Cuarto eléctrico.
3. Zona de Tratamiento de aguas residuales:
− Sala de máquinas.
− Almacén de reactivos.
− Vestuario.
− Zona de lagunas de decantación.
4. Zona de tratamiento de residuos sólidos:
− Compactador de cartón.
− Compactador de residuos orgánicos.
5. Zona de carga:
− Báscula para camiones.
− Muelle de carga.
− Aparcamiento.
CAPÍTULO 3. PRESENTACIÓN DE LA PLANTA.
Página 13 de 148
6. Transformador eléctrico.
7. Depósitos de gas propano.
8. 2 depósitos de gasoil de 40.000 litros.
9. Depósitos de agua.
En la siguiente página se puede ver el plano general de la planta.
3.4. ORGANIGRAMA GRUPO
GRUPO ESPAÑA está formado
PASTELERIA SA.
La comercialización de los productos la realiza la sociedad comercial
SA.
SOCIEDADES INDUSTRIALES
PASTELERÍA SA
CAPÍTULO 3. PRESENTA
ORGANIGRAMA GRUPO ESPAÑA
está formado por las sociedades industriales
La comercialización de los productos la realiza la sociedad comercial
GRUPO ESPAÑA
SOCIEDADES INDUSTRIALES
PATATAS SA
SOCIEDAD COMERCIAL
APERITIVOS SA
CAPÍTULO 3. PRESENTACIÓN DE LA PLANTA
Página 15 de 148
por las sociedades industriales PATATAS SA y
La comercialización de los productos la realiza la sociedad comercial APERITIVOS
SOCIEDAD COMERCIAL
APERITIVOS SA
3.5. ORGANIGRAMA
La plantilla está forma
− 1 Director industrial (contratado por
y PASTELERIA
− 2 Técnicos de calidad.
− 1 Jefe de producción.
− 3 Encargados de producción (1 por turno)
− 40 Oficiales para producción.
− 1 Departamento de administración
− 1 Departamento de compras.
− 1 Jefe de logística.
− 1 Auxiliar de logística.
− 2 Encargados de almacén.
− 6 Oficiales de
− 1 Jefe de mantenimiento.
El organigrama de la empresa puede verse en el siguiente diagrama.
DIRECCIÓN INDUSTRIAL
CALIDAD LOGÍSTICA
ALMACÉN
CAPÍTULO 3. PRESENTA
ORGANIGRAMA PATATAS SA
La plantilla está formada por 60 personas, detallada a continuación:
1 Director industrial (contratado por GRUPOESPAÑA SA para
PASTELERIA SA).
2 Técnicos de calidad.
1 Jefe de producción.
3 Encargados de producción (1 por turno)
40 Oficiales para producción.
artamento de administración
1 Departamento de compras.
1 Jefe de logística.
1 Auxiliar de logística.
ncargados de almacén.
almacén (3 por turno)
1 Jefe de mantenimiento.
El organigrama de la empresa puede verse en el siguiente diagrama.
DIRECCIÓN INDUSTRIAL
PATATAS SA
PASTELERÍA SA
ADMINISTRACIÓN COMPRAS PRODUCCIÓN
MANTENIMIENTO FABRICACIÓN
LÍNEA PATATAS
LÍNEA PELLET
CAPÍTULO 3. PRESENTACIÓN DE LA PLANTA
Página 16 de 148
da por 60 personas, detallada a continuación:
ESPAÑA SA para PATATAS SA
El organigrama de la empresa puede verse en el siguiente diagrama.
FABRICACIÓN
LÍNEA EXTRUSIONADOS
CAPÍTULO 3. PRESENTACIÓN DE LA PLANTA
Página 17 de 148
De acuerdo al organigrama anterior detallo a continuación cada uno de los
departamentos:
1. DEPARTAMENTO DE CALIDAD: formado por dos técnicos de calidad. Su
trabajo consiste en garantizar que las materias primas y el proceso sean
adecuados para la obtención de productos conformes a las
especificaciones técnicas marcadas.
2. DEPARTAMENTO DE LOGÍSTICA: sus funciones son, planificar las
necesidades de producción de acuerdo a los pedidos y stocks. Control de
stock, planificación de las expediciones, preparación de pedidos,
aprovisionamiento a producción de materias primas, retirada del
producto terminado de producción. El personal de este departamento es:
a. 1 Jefe de logística.
b. 1 Auxiliar de logística.
c. 2 Encargados de almacén.
d. 6 Oficiales de primera para almacén.
3. DEPARTAMENTO DE ADMINISTRACIÓN: 1 persona encargada de los
trabajos administrativos relacionados con la producción y personal.
4. DEPARTAMENTO DE COMPRAS: 1 persona que controla el almacén de
materias primas, analiza las necesidades de compras, realiza pedidos y el
resto de trabajos administrativos relacionados con proveedores.
5. DEPARTAMENTO DE PRODUCCIÓN: su misión se reduce a realizar la
producción en tiempo, forma y costo. Su estructura es:
a. 1 Jefe de producción.
b. 3 Encargados de turno (uno por turno).
c. 40 Oficiales de producción.
d. 1 Encargado de mantenimiento.
e. El resto del personal de mantenimiento está contratado a una
empresa de servicios.
6. El Servicio de Prevención, a cargo de una empresa externa, planifica las
acciones preventivas y realiza los estudios pertinentes de acuerdo a la Ley
31/1995 del 8 de noviembre, de Prevención de Riesgos Laborales
CAPÍTULO 3. PRESENTACIÓN DE LA PLANTA
Página 18 de 148
publicado en el BOE 10-11-1995. Estas funciones las realiza un Técnico de
Prevención de Riesgos Laborales de grado superior con la colaboración
del Departamento de Calidad.
7. En cuanto a la Vigilancia de la Salud, es responsabilidad del servicio
médico formado por:
a. 1 Médico especialista en medicina del trabajo.
b. 1 ATS.
8. El Comité de Seguridad y Salud está formado paritariamente por dos
miembros del Comité de Empresa y dos miembros nombrados por la
dirección de la empresa. Realiza el seguimiento de la actividad
preventiva, propone acciones a realizar y participa en la planificación del
Servicio de Prevención de Riesgos Laborales.
9. El servicio de tratamiento de residuos se hace a través de una empresa
externa con un oficial de primera por cada turno de trabajo (3 turnos). La
supervisión la realiza el departamento de Control de Calidad.
Se utilizan los servicios de Empresas de Trabajo Temporal para cubrir las
necesidades de producción (aumento de pedidos, promociones, lanzamiento de
productos, entre otras) así como para suplencias (vacaciones, bajas por enfermedad).
El resto de departamentos están centralizados en APERITIVOS SA prestando sus
servicios para PATATAS SA y PASTELERIA SA. Formados por el siguiente personal.
− 1 Director comercial.
− 1 Director de marketing.
− 1 Director de compras.
− 1 Jefe de personal.
− 1 Director del departamento de informática.
− 1 Director financiero.
− 1 Controller (supervisión y análisis de cuentas de resultados).
La distribución comercial la realiza la empresa APERITIVOS SA con estructura y
plantilla propias: 16 puestos en Administración y 3 puestos en el departamento de
logística.
CAPÍTULO 3. PRESENTACIÓN DE LA PLANTA
Página 19 de 148
3.6. PRODUCTOS FABRICADOS
Los productos fabricados en PATATAS SA pueden agruparse en tres grandes
grupos:
1. PATATAS FRITAS: patatas cortadas de diferentes formas fritas en aceites
vegetales y, según el caso, saladas o aromatizadas. Los tipos de cortes
utilizados son chips (lisas clásicas) y onduladas.
2. PELLETS: son productos de diversas formas realizados a partir de pastas
de diferentes cereales, como maíz o trigo, o de féculas y almidones de
patata. Esta pasta, una vez seca, se fríe en aceites vegetales y se sala o
aromatiza según el producto. Los pellets de
patata utilizados son ESTRELLIS y PALIS. Los
TETRAS son pellet de trigo, los CONOS tienen
como base el maíz.
3. EXTRUSIONADOS: son productos realizados por extrusión de gritz de
maíz, horneados y salados o
aromatizados. Se fabrican los
productos GUSIS (con sal) y
GUSIS KETCHUP (sabor
ketchup), GANCHIS y BOLITAS
(al queso).
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 20 de 148
CAPÍTULO 4.
PROCESOS DE FABRICACIÓN EN PATATAS SA.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 21 de 148
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA.
En este capítulo se explica brevemente como se planifica la producción as í como
los distintos procesos de fabricación para llevarla a cabo.
La planificación de la producción se realiza semanalmente de acuerdo a los
pedidos y al stock existente. Se realiza de esta manera por los siguientes motivos:
1. El almacén existente es pequeño.
2. El tamaño de la instalación permite cierta flexibilidad.
3. Las previsiones por parte de la distribución comercial no son fiables. No
se cumplen en un 90% de las ocasiones.
Logística
Compras
Producción Pedidos
Stocks
Pedido inicial
Limitaciones de
fabricación (M.P y
Packaging
Plan de producción
semanal
Pedido
definitivo
Diagrama de planificación.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 22 de 148
4.1. PROCESO DE FABRICACIÓN DE EXTRUSIONADOS
Muchos aperitivos se pueden elaborar a partir de materias primas tales como
maíz cocido, harina de trigo, etc. Los productos de maíz se elaboran a gran escala y son
una de las formas más importantes de aperitivos.
Los extrusionados son aperitivos de maíz expandidos directamente. Esta fue la
primera forma industrial de un aperitivo alimentario. La compañía Adams lo elaboró
hacia 1940 a partir de sémolas de maíz utilizando un extrusor de tornillo simple.
En la extrusión de expansión directa las harinas de maíz, trigo, patata, etc., ricas
todas ellas en almidón se funden en el interior del extrusor y se expanden
directamente a medida que salen del troquel.
ESQUEMA TÍPICO DE UN PROCESO DE EXTRUSIÓN
El proceso de extrusión directa se inicia con la mezcla de diferentes ingredientes
(sémolas de maíz, arroz o trigo y agua) en una mezcladora para una perfecta
homogeneización y humectación.
La mezcla se introduce en la extrusora, y por la acción de la presión y la
temperatura se funde formando una masa plástica en el interior de la extrusora. Bajo
condiciones de alta temperatura y alta presión la masa es muy flexible y se adapta a
cualquier configuración.
Al salir por el molde, la masa se expande al desaparecer la presión. La humedad
es expulsada y el producto se enfría, manteniendo una estructura muy ligera.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 23 de 148
Tras salir de la extrusora el producto debe pasar por un horno para reducirle la
humedad.
Después se le aplica el aroma y la sal que se adhiere al producto por un ligero
espray de aceite y se envasa en máquinas automáticas.
Este proceso es utilizado para realizar los productos “Gusis”, “Gusis Ketchup”,
“Ganchis” y “Bolitas”.
CAPÍTULO 4. PROCESOS DE FABRICACPROCESOS DE FABRICACIÓN EN PATATAS SA
Página 24 de 148
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 25 de 148
4.2.1. Gusis
Maíz extrusionado en forma de barritas cilíndricas curvadas recubierto con aceite
y sal.
Se presentan en formato individual en bolsas de 13, 34 y 45 gramos y en formato
multipack con 6 bolsas de 13 gramos.
El proceso de fabricación de los Gusis
comienza con la humectación del maíz en la
mezcladora o silo mezclador. Una vez mezclado
el maíz se alimentan las extrusoras mediante un
tornillo sinfín.
Disponemos de cuatro extrusoras marca
HEBENSTREIT SEK-70 que trabajan a una
temperatura de 160 ºC. La velocidad de corte y el diámetro de los orificios son
variables.
Durante el proceso de extrusión se pierde aproximadamente un 13% del peso
inicial.
El consumo de maíz es de 90-120 Kg/h por cada extrusora.
Disponemos de dos hornos de tambor giratorio calentados con gas propano cuya
capacidad es de 180-240 Kg/h de producto acabado.
El transporte entre el horno y el bombo recubridor se hace mediante una cinta
trasportadora a la que se le puede invertir el sentido de giro. Esto permite retirar el
producto no conforme a la salida del horno.
Se mezclan en la amasadora de brazos en “Z” la sal y el glutamato monosódico,
llenando la tolva del salero vibrador con la mezcla.
El depósito de aceite debe estar lleno, manteniendo un nivel estable durante la
producción. Se pone en marcha el bombo recubridor a 10-14 rpm.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 26 de 148
Cuando llega el producto al bombo recubridor se abre lentamente el grifo de
salida de aceite y la salida de aire del difusor. Se conecta el vibrador y el ventilador del
salero.
Una vez confeccionadas las bolsas se colocan en los “bolsones” de polietileno en
la posición y cantidad correspondiente al formato.
Estas bolsas se colocan en otras de mayor tamaño en la cantidad
correspondiente al formato y se paletizan. En cada palet se coloca un número que lo
identifica, esto permite llevar un control de la producción y retirar el palet en caso de
detectar alguna anomalía. Una vez confeccionado el palet se retractila
automáticamente con film retráctil y se coloca en su lugar en el almacén de producto
terminado. El producto está preparado para su expedición.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 27 de 148
PROCESO DE EXTRUSIÓN (GUSIS)
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 28 de 148
4.2.2. Ganchis
Extrusionado de maíz en forma de barritas curvadas de sección circular,
recubierto con queso y aceite.
Se presenta en bolsas individuales de 15, 33, 50 y 90 gramos.
El proceso de fabricación de los Ganchis es similar al de los Gusis salvo las
diferencias que se detallan a continuación.
Para la preparación del recubrimiento, en primer lugar se llena con agua caliente
a 50ºC la cámara del depósito de preparación de la mezcla y se pone en marcha el
agitador. Se añade el aceite de palma y el resto de ingredientes manteniendo la
agitación durante, al menos 5 minutos.
Cuando el producto llega al bombo recubridor se procede del mismo modo que
con los Gusis. Se añade la sal en la cantidad adecuada.
Una vez confeccionadas las bolsas se coloca en cajas de cartón ondulado
específicas para cada formato. La posición de las bolsas en las cajas y el número de
bolsas debe ser el correspondiente al formato.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 29 de 148
PROCESO DE EXTRUSIÓN (GANCHIS)
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 30 de 148
4.2.3. Bolitas
Este producto tiene características similares al anterior (Ganchis) por lo que el
proceso de fabricación no varía sustancialmente.
La diferencia fundamental entre los Ganchis y los Bolitas es la forma, tienen
forma esférica.
EL recubrimiento aplicado a los Bolitas varía en cuanto a las
cantidades de sus ingredientes.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 31 de 148
PROCESO DE EXTRUSIÓN (BOLITAS)
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 32 de 148
4.2. PROCESO DE FABRICACIÓN DE PELLET
Los pellet son productos formados de pasta de patata, que se elaboran por
extrusión indirecta a temperaturas relativamente bajas para obtener las formas
básicas mediante modelado, laminado y corte.
La elaboración de pellets comienza con la mezcla de los ingredientes
seleccionados, harinas y sémolas, de maíz, trigo, arroz, fécula de patata, a la que se
añade la cantidad necesaria de agua y se homogeneíza en la mezcladora.
La mezcla es introducida en la extrusora. Estas máquinas se componen de varios
cuerpos regulables a diferentes temperaturas para que la mezcla, por los efectos
combinados de presión y temperatura, se vaya modificando según el tipo de producto
que se desee obtener.
A la salida de la extrusora la temperatura siempre es más baja para evitar que el
producto expansione, como ocurre en la extrusión directa.
A este tipo de producto, por lo general se le da
distintas formas (conos, cuadraditos, Palis, etc.) pasándolo
a través de un molde. Posteriormente se pasa a través de
secadores, para dejarle con la humedad óptima para la
fritura.
La diferencia mayor con el proceso de extrusión directa es que las maquinas
extrusoras son diferentes al tener varios cuerpos para soportar cambios de
temperatura, de forma que se pueda enfriar la masa a la salida de la boquilla que evite
la expansión, como ocurre en la expansión directa.
Cada producto de extrusión indirecta es sometido a un proceso de fritura
durante un tiempo y temperatura determinados. En el proceso de fritura el producto
se expande y aumenta su tamaño, adquiriendo una estructura esponjosa pero
crujiente. Posteriormente, a determinados productos, se les aplica aroma o sal y se
envasan.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 33 de 148
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 34 de 148
4.3.1. Palis
Piezas crujientes en forma de barrita de sección cuadrada obtenidas por fritura
de pellets.
Se presenta en formato individual en bolsas de 15, 33, 50 y 85 gramos.
Los Palis se envasan en polipropileno biorientado complejo 20+20 micras, con la
cara interior metalizada. Posteriormente se colocan las unidades adecuadas, según el
formato, en su correspondiente caja de cartón ondulado, para
La primera fase del proceso es la obtención del pellet, mediante extrusión
indirecta. Se realiza en la línea Braibanti.
FREIDORA DE PELLET
Una vez frito el producto se le añade la sal en el bombo recubridor para una
correcta distribución de la misma.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 35 de 148
El proceso de envasado es el mismo descrito en el proceso de fabricación de
Gusis.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 36 de 148
PROCESO DE OBTENCIÓN DE PELLET (PALIS)
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 37 de 148
4.3.2. Estrellis
Piezas en forma de Estrellis, ligeras, crujientes, a base de patata.
Se presentan en formato individual de 13, 15, 33 y 50 gramos.
Las Estrellis se envasan en polipropileno biorientado complejo 20+20 micras, con
la cara interior metalizada. Posteriormente se colocan las unidades adecuadas, según
el formato, en su correspondiente caja de cartón ondulado, para el posterior marcado
y paletizado.
En cuanto al proceso de producción es similar al de los Palis. El pellet no se
elabora en PATATAS SA por lo que se considera una materia prima.
El proceso de fritura se realiza de igual modo que en el caso de los Palis.
Las Estrellis no llevan sal añadida.
El resto del proceso, transporte, envasado y paletizado, es común a los Palis.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 38 de 148
PROCESO DE OBTENCIÓN DE PELLET (ESTRELLIS)
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 39 de 148
4.3.3. Tetras
Piezas de forma rectangular, ligeras, crujientes, a base de trigo.
Se presentan en formato individual de 27 y 58 gramos.
Los Tetras se envasan en polipropileno biorientado complejo 20+20 micras, con
la cara interior metalizada. Posteriormente se colocan las unidades adecuadas, según
el formato, en su correspondiente caja de cartón ondulado, para el posterior marcado
y paletizado.
En cuanto al proceso de producción es similar al de los Palis. El pellet no se
elabora en PATATAS SA por lo que se considera una materia prima.
El proceso de fritura se realiza de igual modo que en el caso de los Palis. A este
producto se le añade aroma del mismo modo que la sal a los Palis.
El resto del proceso, transporte, envasado y paletizado, es común a los Palis.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 40 de 148
PROCESO DE OBTENCIÓN DE PELLET (TETRAS)
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 41 de 148
4.3.4. Conos
Piezas en forma de cono, ligeras, crujientes, a base de maíz.
Se presentan en formato individual de 50 y 80 gramos.
Los Conos se envasan en polipropileno biorientado complejo 20+20 micras, con
la cara interior metalizada. Posteriormente se colocan las unidades adecuadas, según
el formato, en su correspondiente caja de cartón ondulado, para el posterior marcado
y paletizado.
En cuanto al proceso de producción es similar al de los Palis. El pellet no se
elabora en PATATAS SA por lo que se considera una materia prima.
El proceso de fritura se realiza de igual modo que en el caso de los Palis. A este
producto se le añade aroma del mismo modo que la sal a los Palis.
El resto del proceso, transporte, envasado y paletizado, es común a los Palis.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 42 de 148
PROCESO DE OBTENCIÓN DE PELLET (CONOS)
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 43 de 148
4.3. PROCESO DE FABRICACIÓN DE PATATAS FRITAS
ESQUEMA DE LA LINEA DE PATATAS
La patata es el primer ingrediente en importancia en los productos fabricados en
PATATAS SA. Al igual que el maíz proviene de América.
La patata es un tubérculo, es decir un engrosamiento subterráneo del tallo de
ciertas plantas del género de las solanáceas. La patata es un alimento saludable,
apetecible y muy nutritivo. Hoy en día resulta un alimento básico cultivado en las
regiones cálidas de todo el mundo.
Las patatas deben tener un alto contenido en materia seca y un bajo nivel de
azúcares reductores (glucosa), para asegurar que éstas tengan un ligero color amarillo
dorado.
En PATATAS SA se utiliza fundamentalmente aceite de soja y de palma ya que
satisfacen el paladar y las necesidades nutritivas de los consumidores pero también
responden adecuadamente a las condiciones del proceso de elaboración. Últimamente
se está utilizando aceite de oliva como ingrediente de algunos productos de aperitivo
con lo que se incrementa considerablemente el valor añadido del producto.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 44 de 148
Es importante tener en cuenta las siguientes propiedades de los aceites:
− Presentan alta temperatura de ebullición, de hecho es bastante superior
a la del agua, pero varía también según el tipo de aceite. Se prefieren
aceites con alta temperatura de ebullición para que puedan freír sin
descomponerse.
− Mejoran el gusto de aquellos productos que son sometidos al proceso de
fritura.
− Presentan un punto de fusión y solidificación adecuadas para que las
elaboraciones no absorban demasiado aceite ni tampoco formen una
película blanquecina en su exterior después de enfriarse.
− Repelen el agua: esto facilita el mantenimiento de la forma de las piezas.
El proceso de fabricación de patatas fritas consta de las siguientes fases:
− Aprovisionamiento.
Al llegar el camión con patata cruda a las instalaciones de PATATAS SA,
antes de su descarga, se realiza un test de control de calidad para
verificar que los requisitos
corresponden a los parámetros
establecidos, y en caso
afirmativo, se procede a la
aceptación y entrada del lote.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 45 de 148
Antes de su traspaso para el almacenaje definitivo, se elimina la tierra y
se criban las patatas según el estándar establecido. Una vez seleccionadas
se procede a su conservación en box de madera.
− La fase de conservación es muy delicada, por
lo que se debe tener especial atención a los
factores ambientales: iluminación,
ventilación, humedad y temperatura.
− Producción.
La producción se inicia con el lavado de la
patata en agua potable, continuando con el proceso de
pelado y aclarado y se somete a una comprobación de su
idoneidad a través de inspección visual.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 46 de 148
El grado de pelado de la patata debe ser tal que
asegure la eliminación del 95% de la piel de la patata.
Para conseguir este objetivo es necesario
controlar frecuentemente, al menos una vez por
semana, el estado de la superficie del abrasivo de la peladora, sustituyéndolo o
reparándolo en caso necesario. Realizar limpiezas frecuentes del abrasivo de la
peladora para asegurar que se eliminan los depósitos de almidón que pudieran
haberse formado durante la fase de pelado. Es necesario asegurar el equilibrio
entre cantidad de patata que entra en la peladora, tiempo de permanencia y
velocidad de rotación de la superficie abrasiva. Además es necesario realizar una
inspección a la salida de la peladora, esto permite modificar los parámetros de
pelado así como eliminar patatas en mal estado.
PATATA PELADA
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 47 de 148
La operación de selección de la patata a la salida de la peladora ha de
realizarse con el máximo esmero. Una eficaz selección de la patata antes de la
cortadora asegura una mejor ejecución del proceso de fritura además de
prevenir cierto tipo de problemas en el proceso, permite determinar si las
cuchillas de la cortadora están en correctas condiciones, reduce 10 veces los
defectos en las patatas a la salida de la freidora.
Las operaciones que debe realizar el operario en orden de importancia
son: eliminación de cuerpos extraños (madera, piedras, etc.), eliminar las
patatas verdes o si es posible reutilizarlas quitando la parte verde, separar las
patatas con defecto de pelado colocándolas en el contenedor para su reciclado,
eliminar las partes dañadas de la patata, trocear las patatas de gran tamaño.
INSPECCION DE PATATA PELADA ANTES DE SU FRITURA
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 48 de 148
A continuación se corta la patata en finas rodajas. Esta fase representa un
punto crítico en el proceso productivo. La premisa para conseguir un producto
cualitativamente adecuado es obtener rodajas con una superficie perfecta es
decir, con un espesor de corte adecuado y constante en todos sus puntos.
El control de esta fase del proceso es de suma importancia, de esto
depende la forma de la patata (chips, onduladas), la facilidad para freírlas, la
obtención de un producto crujiente, el grado de absorción de aceite, la cantidad
de aceite acumulada en la patata y la uniformidad en el proceso de fritura.
El espesor de la rodaja debe ser correlativo al peso específico de la patata
que se utilice en cada momento, siendo uniforme en todos los puntos de la
rodaja y son una superficie sin rugosidades.
Para asegurar un corte perfecto se deben sustituir las cuchillas de corte
cada 2 horas como máximo, así como en el momento en que se observe alguna
deficiencia en las rodajas.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 49 de 148
La particularidad de la cortadora (URSCHELL) es la de dejar caer la patata
en una centrífuga que gira a 265-270 rpm.
Gracias a la fuerza centrífuga, la patata gira
en sentido horario contra el anillo de corte
que contiene ocho cuchillas. La rotación de
la centrífuga produce una fuerza de empuje
tal que una patata de 227 gramos viene a
pesar 18 kilogramos.
Debido a que la patata frena la
fuerza del añillo de la cortadora es necesario que la alimentación sea regular y
uniforme. Una sobrealimentación de la cortadora puede hacer resbalar la patata
en el interior del anillo cambiando la posición de corte de la misma dando lugar
a rodajas con corte irregular.
La regulación de las cuchillas es un punto crítico. Cuando la cortadora se
alimenta correctamente el corte de las rodajas puede sufrir oscilaciones en el
espesor de las rodajas inferiores a 0,2 mm. En caso de fallo de alimentación o
sobrealimentación la diferencia en el espesor puede ser de 0,5-0,55 mm.
El anillo de la cortadora, en el que se alojan las cuchillas, es un
instrumento de máxima precisión, que requiere extremo cuidado y
mantenimiento. La mordaza de corte donde apoya la cuchilla de corte debe
estar en buen estado, cada vez que se cambian las cuchillas debe comprobarse
que está intacta y en caso contrario reemplazarla por otra.
El anillo de soporte inferior fijado al ensamblaje de la base de la cortadora
debe ser sustituido cada vez que se observe un desgaste que produce holgura
entre éste y el anillo de corte.
CORTADORA URSCHELL
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 50 de 148
Las cuchillas de la cortadora deben cambiarse cada hora o cuando el
espesor de las rodajas de patata no sea el adecuado o se observen diferencias
sustanciales entre distintas rodajas.
La capacidad máxima de una cortadora de este tipo trabajando a una
velocidad de 265-270 rpm y con las cuchillas reguladas para un espesor de 1,5
mm puede ser de unos 6.800 Kg de patata a la hora.
Una vez cortadas las rodajas se lavan con agua corriente para eliminar el
exceso de almidón de su superficie. En ocasiones suele utilizarse agua caliente
con lo que disminuye el choque térmico a la entrada de la freidora manteniendo
una temperatura del aceite más uniforme. Cuando el agua supera los 80oC este
proceso se conoce como blanqueo (blanching). Con el blanqueo se reduce la
cantidad de almidón con lo que se obtiene un color más blanco de la patata
frita.
Este proceso implica una disminución del rendimiento del proceso ya que
se pierde parte de la materia seca de la patata, una pérdida de sabor de la
patata, una mayor absorción de aceite y un aumento de las necesidades
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 51 de 148
energéticas para calentar el agua. Este proceso sólo es recomendable cuando la
patata utilizada procede de almacenes, es decir, durante el invierno. Durante el
almacenaje suele aumentar la concentración de almidón en la patata.
Después del lavado, las rodajas pasan por la cinta de escurrido para
eliminar la mayor cantidad de agua posible, evitando así el deterioro del aceite.
Durante el proceso de fritura debemos mantener constantes controles
sobre los siguientes parámetros: nivel de aceite en la freidora, temperatura del
aceite tanto a la entrada como a la salida de la misma, tiempo de permanencia
de la patata en la freidora. La combinación adecuada de estos parámetros
permite obtener un producto crujiente con un color y aspecto adecuado.
Además deben realizarse estrictos controles sobre el aceite para verificar un
correcto grado de acidez, cantidad de aceite absorbido por la patata, grado de
fritura de las rodajas esto es, uniformidad en la fritura y porcentaje de humedad
del producto.
Al finalizar el proceso de fritura, se escurre el exceso de aceite mediante
una cinta de escurrido.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 52 de 148
El proceso de salado se realiza con un dosificador que esparce la sal sobre
la patata en forma de polvo.
Finaliza el proceso de fritura con la inspección visual y eliminación del
producto con posibles alteraciones de calidad.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 53 de 148
El transporte de la patata frita hacia las envasadoras se realiza mediante
vibradores. Mediante un vibrador espiral se transporta la patata desde el
vibrador de inspección de patata frita hasta la plataforma elevada donde se
encuentran las pesadoras automáticas multicabezales marca ISHIDA.
TRANSPORTE DE PATATA FRITA
En el caso de las patatas con aroma, se hacen pasar por el bombo
recubridor donde se suministra el aroma en forma de polvo muy fino
VIBRADOR
ESPIRAL
VIBRADORES HORIZONTALES VIBRADOR
HACIA
PESADORA
PESADORA
AUTOMATICA
MULTICABEZAL
(ISHIDA)
PATATAS EN LA
PESADORA
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 54 de 148
pulverizado. El bombo recubridor está situado antes de las pesadoras
multicabezales.
− Envasado. En esta fase se confecciona la bolsa, mediante el pesado
automático del producto, llenado y la posterior soldadura e impresión de
la fecha de caducidad y lote de producción. Durante esta fase se debe
prestar especial atención a los siguientes parámetros: aspecto de llenado
de la bolsa, el marcado del lote debe ser correcto y legible, contenido de
aire en la bolsa, precisión en el peso de la bolsa, centrado de la impresión
de la bolsa, largo de la bolsa, estanqueidad de las soldaduras, calidad de
la soldadura (evitar pliegues, arrugas, rizado del área soldada,
quemaduras).
Una vez confeccionada la bolsa, se procede al llenado de las unidades
correspondientes en cada embalaje, para su paletización y envío al almacén del
producto terminado para la posterior expedición a los distintos centros de
distribución.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 55 de 148
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 56 de 148
4.4.1. Chips al punto de sal
Patata pelada, cortada en rodajas finas, en forma lisa, frita en
aceite.
Se presentan en formato individual de 15, 22, 45,100 y 150 gramos.
Las Chips deben tener una humedad inferior a 2,5%, siendo el
valora habitual del 2%.
El contenido de sal óptimo varía entre 1,25-2,25 %, se aceptan
puntualmente valores de 1,0-2,5 aplicando medidas correctoras, los
valores críticos son 0.6-3% procediendo a la retirada del producto.
El contenido de sal si se utiliza blanqueo debe ser de 2,0-2,5%,
siendo aceptable un 1,5-3,0%, y con valores críticos de 0,6-3,5%.
Las características organolépticas deben ser aceptables, es decir
exentas de defectos. Olor, sabor y textura característicos del producto.
Aspecto exterior de la bolsa: limpia, sin roturas, carente de defectos
en la impresión, perfectamente soldada, con aire, con impresión legible
del lote, centrado horizontal y vertical de la impresión.
Aspecto de llenado de la bolsa: el producto debe ocupar un
volumen del 75% de la bolsa.
El contenido en grasa aceptable debe ser como máximo de 38%,
con valor critico del 40 %.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 57 de 148
Se aceptan un máximo del 15% de fragmentos en las bolsas, puede
darse en algún caso hasta un 20% modificando los parámetros de
producción, pero llegando a valores del 30 % debe retirarse el producto.
Podemos observar varios defectos en las Chips como son:
Centros blandos, la parte central de la rodaja está cruda: máximo
del 2%, valor crítico de 3%.
Huecos con bordes negros, la rodaja presenta agujeros de 1cm2 o
superior, como máximo el 5%.
Rodajas con zonas grises de 1cm2 o superior en un porcentaje
máximo del 5%, con valor crítico del 10%.
Rodajas con exceso de aceite, apariencia traslucida inferior al 5%.
Rodajas con manchas menores, no se incluye la mancha gris, no
serán superiores al 10%.
Rodajas con huecos de borde limpio inferiores al 10%.
Burbujas que afecten a más de la mitad de la superficie de la rodaja,
inferiores al 10%.
Las rodajas con bordes afilados serán inferiores al 10%.
Rodajas con zonas verdes penetrando más de 3mm, máximo 10%.
Como es obvio no podemos aceptar patatas en las que se presenten
todos los defectos mencionados anteriormente. Se considera un
producto conforme si la suma de los cuatro primeros tipos de defectos y
la mitad de la suma del resto es inferior al 20%, siendo el valor crítico de
30%
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 58 de 148
Se acepta hasta el 1% de bolsas con defecto de soldadura
(incompletas o con producto aprisionado) aunque el valor óptimo es
0,5%.
Las Chips se envasan en polipropileno biorientado complejo 20+20
micras, con la cara interior metalizada. Posteriormente se colocan las
unidades adecuadas, según el formato, en su correspondiente caja de
cartón ondulado, para el posterior marcado y paletizado.
La impresión del polipropileno debe ser correcta en cuanto a
diseño, color (según patrón), y especialmente en los textos legales. En
caso de modificación de diseño o cambio de proveedor se exige un
fotolito que se revisa cuidadosamente para su aceptación. La primera
partida de film precisa una especial atención, verificando dimensiones,
color, diseño y textos legales. La cohesión entre láminas debe ser
correcta, las láminas no deben despegarse con facilidad.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 59 de 148
PROCESO DE OBTENCIÓN DE PATATAS (CHIP)
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 60 de 148
4.4.2. Chips aromatizadas
Patata pelada, cortada en rodajas finas en forma lisa, frita en aceite, a
la que se le añade aroma.
Las características de este producto son las mismas que las de las
chips al punto de sal.
Debemos tener en cuenta que el porcentaje de sal es ligeramente
superior al de las chips al punto de sal debido al aporte de sal del aroma.
Este valor depende del aroma utilizado.
En cuanto al proceso de fabricación es idéntico al del las chips, salvo
por la adicción de aroma.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 61 de 148
PROCESO DE OBTENCIÓN DE PATATAS (CHIPS AROMATIZADAS)
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 62 de 148
4.4.3. Onduladas al punto de sal
Patata pelada, cortada en rodajas finas en forma ondulada, frita en
aceite.
Las características de este producto son las mismas que las de las
chips al punto de sal.
El porcentaje de humedad es ligeramente superior siendo habitual un
2,5% y el valor crítico es del 3%.
En cuanto al proceso de fabricación es idéntico al del las chips,
detallado anteriormente.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 63 de 148
PROCESO DE OBTENCIÓN DE PATATAS (ONDULADAS)
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 64 de 148
4.4.4. Onduladas aromatizadas
Patata pelada, cortada en rodajas finas en forma ondulada, frita en
aceite a la que se le añade aroma.
Las características de este producto son las mismas que las de las
onduladas al punto de sal.
Debemos tener en cuenta que el porcentaje de sal es ligeramente
superior al de las onduladas al punto de sal debido al aporte de sal del
aroma. Este valor depende del aroma utilizado.
En cuanto al proceso de fabricación es idéntico al del las chips, salvo
por la adicción de aroma.
CAPÍTULO 4. PROCESOS DE FABRICACIÓN EN PATATAS SA
Página 65 de 148
PROCESO DE OBTENCIÓN DE PATATAS (ONDULADAS AROMATIZADAS)
CAPÍTULO 5. IDENTIFICACIÓN DE LOS DATOS DEL PROBLEMA.
Página 66 de 148
CAPÍTULO 5.
IDENTIFICACIÓN DE LOS DATOS DEL PROBLEMA.
CAPÍTULO 5. IDENTIFICACIÓN DE LOS DATOS DEL PROBLEMA.
Página 67 de 148
CAPÍTULO 5. IDENTIFICACIÓN DE LOS DATOS DEL PROBLEMA. Una vez conocido el proceso de fabricación, a continuación se detallan los datos
necesarios para definir el problema matemático, tales como el personal necesario, los
datos de capacidad de la línea, los tiempos de setup, restricciones de producción,
formadores disponibles y características de los productos fabricados.
5.1. PERSONAL NECESARIO.
PUESTO Nº OPERARIOS OBSERVACIONES
Peladora 1 Almacén de patata cruda
Freidora 1
Preparación de
envasadoras
2
Envasadoras 10 Número máximo de
operarios. Estos
operarios rotan por los
diferentes puestos de
envasado y paletizado
Paletizado 2 Estos operarios rotan por
los diferentes puestos de
envasado y paletizado
Encargado 1
Servicio de sección 2 Aprovisionamiento de
materias primas y
packaging a producción.
Llevar el producto
terminado al almacén
CAPÍTULO 5. IDENTIFICACIÓN DE LOS DATOS DEL PROBLEMA.
Página 68 de 148
5.2. DATOS DE CAPACIDAD.
1. Transporte de patata cruda: 1.500 kg/h.
2. Ciclón: 1.500 kg/h.
3. Peladora: 1.100 kg/h.
El pelado óptimo de la patata requiere introducir en la peladora 15 kg de
patata y mantenerla en funcionamiento entre 30 y 40 segundos. Este
tiempo varía según la variedad de patata, la época del año (patata nueva o
vieja) y las condiciones del material abrasivo. Se considera un
rendimiento de la peladora del 85%.
Para 30 segundos la capacidad es de 1.530 kg/h.
Para 50 segundos la capacidad es de 1.147,5 kg/h.
4. Calibradora y tolva pulmón: 1.200 kg/h.
5. Cortadora: 1.200 kg/h.
6. Lavadora: 1.800 kg/h.
7. Blanching (blanqueador): 800 kg/h.
Aplicando blanqueo: 800 kg/h.
Sin aplicar blanqueo: 1.200 kg/h.
8. Freidora: la capacidad varía en función del tipo de corte que se realice.
Para corte tipo chips (familia 1): 1.000 kg/h.
Para corte tipo ondulado (familia 2): 900 kg/h.
9. Salador: 1.000 kg/h
10. Elevador y vibradores: 1.100 kg/h.
11. Envasado: la planta dispone de 5 envasadoras, 4 marca Wright y 1
marca Sandiacre, se hace esta distinción ya que cada tipo de envasadora
requiere sus propios accesorios.
Cada envasadora dispone de dos brazos, puede ponerse en marcha uno de
ellos o los dos al mismo tiempo.
CAPÍTULO 5. IDENTIFICACIÓN DE LOS DATOS DEL PROBLEMA.
Página 69 de 148
Los dos brazos de cada envasadora solo pueden confeccionar bolsas del
mismo formato ya que están gobernados por un único autómata.
La velocidad de envasado depende del tamaño de bolsa a confeccionar. Se
mide en golpes por minuto, siendo el golpe el ciclo completo que realiza
un brazo para confeccionar una bolsa.
Formato pequeño: 40 golpes/minuto.
Formato grande: 36 golpes/minuto.
No todos los golpes dan como resultado bolsas aptas para la venta por lo
que hay que tener en cuenta que el rendimiento de las envasadoras es del
95%. Por tanto:
Formato pequeño: 38 bolsas/minuto.
Formato grande: 34 bolsas/minuto.
12. Pesadoras ISHIDA.
El funcionamiento de una pesadora multicabezal parte de una tolva, por
donde entra el producto a granel, a partir de ahí, mediante una tolva
cónica, se distribuye el producto por todo el perímetro del círculo,
cayendo en los distintos bols mediante vibración. Dichos bols, una vez
activada la señal, se abren o permanecen cerrados según el peso elegido.
El multicabezal establece el sumatorio de todos los pesos para decidir
cuál es el más aproximado al peso requerido. Al tener dos bols verticales,
CAPÍTULO 5. IDENTIFICACIÓN DE LOS DATOS DEL PROBLEMA.
Página 70 de 148
en cuanto ha caído uno de ellos en la máquina envasadora, ya hay otro
preparado para su envasado, con lo que se gana en velocidad.
Nuestras pesadoras son bastante antiguas por lo que sus características
técnicas varían respecto a la descrita anteriormente, aunque el
funcionamiento es básicamente el mismo.
La velocidad de envasado es menor debido a que solamente tienen una
línea de bols, hasta que no se ha descargado una pesada no se realiza la
siguiente.
Debido a esto el error de pesado es mayor, por lo que se produce un
sobrepeso medio de un 2% de producto.
CAPÍTULO 5. IDENTIFICACIÓN DE LOS DATOS DEL PROBLEMA.
Página 71 de 148
5.3. TIEMPO DE SET UP.
Disponemos de un equipo de trabajo (tercer turno) para la puesta en marcha y
limpieza de la línea de producción. Debido a esto, no hay tiempo de preparación para
arrancar la línea. El tiempo de setup se aplica cuando se realiza un cambio de producto
y/o formato dentro de los turnos de trabajo (primer y segundo turno).
1. De chips a onduladas (de familia 1 a familia 2):
a. Envasado: 40 minutos (0,67 h). Cambio de formatos (5 minutos
por brazo) y limpieza.
b. Dosificador de aroma:
i. Preparación de aroma: 10 minutos (0,17 h). Cambio de
patatas con sal a patatas con aroma.
ii. Cambio de aroma: 20 minutos (0,33 h). Preparación del
aroma y limpieza. Cambio de tipo de aroma.
iii. Limpieza: 10 minutos (0,17h). Se realiza cuando se cambia
de patatas con aroma a patatas al punto de sal.
c. Cortadora: 120 minutos (2 h). Cambio de cuchillas y ajustes.
d. Freidora:
i. 120 minutos. Cambio de aceite y ajuste de temperatura.
ii. 30 minutos. Sin cambio de aceite.
e. Precintado, encajado y transporte: 45 minutos (0,75 h). Ajuste de
precintadoras, suministro de material (cajas, precinto,
identificación de palets, aromas, sal…)
f. Preparación de material y suministro: 80 minutos (1,33 h).
Identificar la patata a utilizar, limpieza de la zona almacén y
suministro de patata cruda (recepción de patata, lavado, pelado,
troceado).
2. De onduladas a chips (de familia 2 a familia1):
Los tiempos son similares al cambio anterior, de chips a onduladas.
5.4. RESTRICCIONES DE PRO
Disponemos de cinco envasadoras (4 Wright y 1 Sandiacre) dispuestas en
Paralelo. Se trata de máquinas idénticas cuyo tiempo de proceso de envasado es
idéntico en cada una de ellas. Cada máquina dispone de dos brazos para confeccionar
bolsas. Los tiempos de proceso son diferentes para cada producto.
1. No se pueden producir simultáneamente chips (familia 1) y onduladas
(familia 2).
2. La planta tiene un rendimiento global real del 80%, debido a pérdidas
de tiempo en arrancar máquinas, tiempo de setup, a
incidencias.
3. Envasadoras:
a. Wright Nº1: dispone de dos robots para dispensar gadget
(muñecos) para promociones. También dispone de dispensador
de cromos para las promociones.
b. Wright Nº2: Dispone de dispensador de cromos para las
promociones.
c. Wright Nº3: Dispone de dosificador de aroma.
d. Wright Nº4: Dispone de dosificador de aroma.
e. Sandiacre. No dispone de ningún tipo de dispensador para
promociones ni dosificador de aroma.
4. Al disponer de
de ellos para cada tipo de aroma. Esto evita aumentar el tiempo de
setup.
CAPÍTULO 5. IDENTIFICACIÓN DE LOS DATOS DEL PROBLEMA.
RESTRICCIONES DE PRODUCCIÓN.
Disponemos de cinco envasadoras (4 Wright y 1 Sandiacre) dispuestas en
Paralelo. Se trata de máquinas idénticas cuyo tiempo de proceso de envasado es
idéntico en cada una de ellas. Cada máquina dispone de dos brazos para confeccionar
iempos de proceso son diferentes para cada producto.
No se pueden producir simultáneamente chips (familia 1) y onduladas
La planta tiene un rendimiento global real del 80%, debido a pérdidas
de tiempo en arrancar máquinas, tiempo de setup, a
Envasadoras:
Wright Nº1: dispone de dos robots para dispensar gadget
(muñecos) para promociones. También dispone de dispensador
de cromos para las promociones.
Wright Nº2: Dispone de dispensador de cromos para las
promociones.
right Nº3: Dispone de dosificador de aroma.
Wright Nº4: Dispone de dosificador de aroma.
Sandiacre. No dispone de ningún tipo de dispensador para
promociones ni dosificador de aroma.
Al disponer de dos dosificadores de aroma, se suele utilizar cada uno
ellos para cada tipo de aroma. Esto evita aumentar el tiempo de
DATOS DEL PROBLEMA.
Página 72 de 148
Disponemos de cinco envasadoras (4 Wright y 1 Sandiacre) dispuestas en
Paralelo. Se trata de máquinas idénticas cuyo tiempo de proceso de envasado es
idéntico en cada una de ellas. Cada máquina dispone de dos brazos para confeccionar
No se pueden producir simultáneamente chips (familia 1) y onduladas
La planta tiene un rendimiento global real del 80%, debido a pérdidas
de tiempo en arrancar máquinas, tiempo de setup, averías y otras
Wright Nº1: dispone de dos robots para dispensar gadget
(muñecos) para promociones. También dispone de dispensador
Wright Nº2: Dispone de dispensador de cromos para las
Sandiacre. No dispone de ningún tipo de dispensador para
dos dosificadores de aroma, se suele utilizar cada uno
ellos para cada tipo de aroma. Esto evita aumentar el tiempo de
CAPÍTULO 5. IDENTIFICACIÓN DE LOS DATOS DEL PROBLEMA.
Página 73 de 148
5.5. FORMADORES DISPONIBLES.
Un formador es la pieza que se coloca en la envasadora para dar forma a la
bolsa. Cada formato de bolsa tiene un ancho diferente por lo que requiere un tamaño
de formador determinado. Los formadores son específicos para cada tipo de
envasadora (Wright y Sandiacre), debido a las características constructivas de las
mismas.
MÁQUINA PRODUCTO ANCHO DE
BOLSA
ANCHO DE
FORMADOR
FORMADORES
DISPONIBLES
Wright Chips 45g
Onduladas 45g
Ond Jam 45g
Ond BBQ 45g
295 300 8
Wright Chips 100g
Onduladas 100g
Ond Jam 100g
Ond BBQ 100g
370 370 4
Wright Chips 150g
Onduladas 150g
Ond Jam 150g
Ond BBQ 150g
Chips Granel 3kg
400 400 4
Wright Onduladas 22g 285 285 8
Wright Patatine 50g
Chips Jr 30g
328 328 8
Wright Patatine 65g 350 350 8
Sandiacre Chips 45g
Onduladas 45g
295 300 2
Sandiacre Chips 100g
Onduladas 100g
370 370 2
Sandiacre Chips 150g
Onduladas 150g
Chips Granel 3kg
400 400 2
Sandiacre Onduladas 22g 285 285 2
Sandiacre Patatine 50g 328 328 2
Sandiacre Patatine 65g 350 350 2
CAPÍTULO 5. IDENTIFICACIÓN DE LOS DATOS DEL PROBLEMA.
Página 74 de 148
5.6. PRODUCTOS FABRICADOS.
En la siguiente tabla se detallan algunas características de los productos
fabricados.
Tiempo de ciclo: tiempo necesario para producir una pieza (bolsa o caja) en
condiciones óptimas. En la tabla se considera el tiempo de ciclo de envasado.
Tiempo de ciclo bolsa (min): �
���������� ��
Tiempo de ciclo caja (min): ����������������������� ��
Tiempo de ciclo caja (h): �������������
���������� ����
Peso de la caja (kg): ������������������������ �����,�"
�.���
Se considera un sobrepeso del 2%.
Los productos Chips Jr 30g y Onduladas 22g pese a ser formatos pequeños se
producen a la misma velocidad que los formatos grandes. Esto es debido a que en las
Chips Jr 30g hay que introducir un gadget (muñeco). Las Onduladas 22g tienen un
ancho de bolsa muy pequeño y es necesario el uso de un empujador para evitar que se
atasquen las rodajas de patata. Esto disminuye la velocidad de envasado.
La familia 1, chips consta de 7 productos diferentes.
La familia 2, onduladas consta de 10 productos diferentes.
PRODUCTO
PESO NOMINAL (g) PESO
ESTÁNDAR (g) ANCHO DE BOBINA
BOLSAS POR CAJA
BOLSAS POR MINUTO
TIEMPO DE CICLO BOLSA (min)
TIEMPO DE CICLO CAJA (min)
TIEMPO DE CICLO CAJA (h)
PESO DE LA CAJA (kg)
PRODUCCIÓN Kg/h (kg/min)
(1) Chips 45 45 46 295 60 38 0,026 1,579 0,026 2,754 104,65 (1,74)
(2) Chips 100 100 101 370 14 34 0,029 0,412 0,007 1,428 208,08 (3,47)
(3) Chips 150 150 151 400 18 34 0,029 0,529 0,009 2,754 312,12 (5,20)
(4) Chips Granel 3 kg
150 151 400 20 34 0,029 0,588 0,010 3,060 312,12 (5,20)
(5)Chips Jr 30 30 32 328 60 34 0,029 1,765 0,029 1,836 62,42(1,04)
(6) Patatine 50 50 51 328 40 38 0,026 1,053 0,018 2,040 116,28 (1,94)
(7) Patatine 65 65 66 350 28 34 0,029 0,824 0,014 1,856 135,25 (2,25)
(8) Onduladas 22
22 23 285 40 34 0,029 1,176 0,020 0,898 45,78 (0,76)
(9) Onduladas 45
45 46 295 60 38 0,026 1,579 0,026 2,754 104,65 (1,74)
(10) Onduladas 100
100 101 370 14 34 0,029 0,412 0,007 1,428 208,08 (3,47)
(11) Onduladas 150
150 151 400 18 34 0,029 0,529 0,009 2,754 312,12 (5,20)
(12) Onduladas Jamón 45
45 46 295 60 38 0,026 1,579 0,026 2,754 104,65 (1,74)
(13)Onduladas Jamón 100
100 101 370 14 34 0,029 0,412 0,007 1,428 208,08 (3,47)
(14) Onduladas Jamón 150
150 151 400 18 34 0,029 0,529 0,009 2,754 312,12 (5,20)
(15) Onduladas BBQ 45
45 46 295 60 38 0,026 1,579 0,026 2,754 104,65 (1,74)
(16) Onduladas BBQ 100
100 101 370 14 34 0,029 0,412 0,007 1,428 208,08 (3,47)
(17) Onduladas BBQ 150
150 151 400 18 34 0,029 0,529 0,009 2,754 312,12 (5,20)
CAPÍTULO 6 EL MODELO MTEMÁTICO.
Página 76 de 148
CAPÍTULO 6.
EL MODELO MATEMÁTICO.
CAPÍTULO 6 EL MODELO MTEMÁTICO.
Página 77 de 148
CAPÍTULO 6. EL MODELO MATEMÁTICO. El problema de planificación de la producción de patatas se ha abordado como
un problema de programación lineal. El modelo matemático se construye a partir de
las características y especificaciones del proceso. El modelo se define por la función
objetivo, las variables y las restricciones sobre el uso de los recursos considerados.
El modelo de optimización se aborda desde el punto de vista de la minimización
del tiempo de producción de la demanda.
6.1. LOS DATOS.
tp Longitud de cada periodo en los que se divide el horizonte de
planificación. Expresado en minutos.
n Número de productos a fabricar. En nuestro caso son 17. Cada producto
contiene la siguiente información: nombre del producto, número del producto, familia
a la que pertenece (chips u onduladas), capacidad de la freidora, tiempo de ciclo para
fabricar una caja en minutos, consumo de la envasadora en kg/min, peso de la caja en
kg, demanda en cajas.
m Número de brazos disponibles para fabricar los productos. En este caso
son 10.
L Número de periodos en los que se divide el horizonte de planificación.
Durante el tiempo del periodo no hay cambios en las máquinas ni paradas de
producción.
Di Demanda del producto i expresado en kg.
ci Consumo de la envasadora para confeccionar el producto i, expresado
en kg/min.
C Capacidad de la freidora expresada en kg/min. La freidora tiene distinta
capacidad si se producen chips u onduladas.
st Tiempo de cambio entre productos, setup, en minutos.
fj Formadores disponibles para el brazo j
CAPÍTULO 6 EL MODELO MTEMÁTICO.
Página 78 de 148
6.2. LAS VARIABLES.
La variable principal Xijt , es una variable binaria.
$��% = '1)*)+,-./+)0+1,-.23/4.*+5+16-07.8+5+1,+-*.2.40+5.4-./0). :
Siendo:
i=1…n Los n productos que se han de fabricar.
j=1…m Los brazos disponibles.
t=1…L Los periodos en los que se divide la planificación
Se define rt como una variable binaria.
-% = '1)*ℎ0<,-.23//*ó5+5+1,+-*.2.40+5.4-./0). :
Siendo:
t=1…L Los periodos en los que se divide la planificación
Se define fijt como una variable binaria.
>�%? = '1)*)+34*1*70+5+16-07.823-054++1,+-*.2.4+1>[email protected]>0+5.4-./0). :
Siendo:
j=1…m Los brazos disponibles.
t=1…L Los periodos en los que se divide la planificación
f=1…F Los formadores disponibles.
Se define la variable auxiliar bii’jt como una variable binaria
6��A�% = '1)*)+-+01*7035/0@6*.2+,-.23/4.B2+*0*AC+5+16-07.823-054++1,+-*.2.40+5.4-./0).:
Siendo:
i=1…n Los n productos que se han de fabricar. Distinto de i’.
i’=1…n Los n productos que se han de fabricar. Distinto de i.
j=1…m Los brazos disponibles.
t=1…L Los periodos en los que se divide la planificación
CAPÍTULO 6 EL MODELO MTEMÁTICO.
Página 79 de 148
6.3. LAS RESTRICCCIONES.
(1) Se ha de fabricar cada uno de los productos:
D� ≤FF4��
�G�
H
�G�/�$��% ∀* = 1…5
D� = D+@05202+1,-.23/4.+K,-+)02.+5LM
(2) Se hace, a lo sumo, un trabajo en un brazo en cada periodo:
F$��%�
�G�≤ 1∀4 = 1…N, ∀8 = 1…@
(3) El consumo de la envasadora en cada periodo no puede superar la capacidad de la
freidora:
FF/�$��% ≤ O∀4 = 1…N�
�G�
�
�G�
(4) Restricciones de asignación a brazos:
− Incompatibilidades de productos a brazos:
$��% = 0∀4 = 1…N; *, 8 *+)*5/.@,04*61+/.58⁄
− Compatibilidad de pares de brazos:
<��A% =F$R�A%RS�
∀8A, ∀4
<��A% ≤ 1 − $��%∀8 8′⁄ +)+1,0-2+8, ∀4
(5) Restricciones de Tiempo de setup:
6��A�% ≥ $��% + $�A�% − 1∀*, ∀*A ≠ *, ∀8, ∀4 )% ≥ 4)��A6��A�%
@-% ≥FF$��%∀4�
�G�
�
�G�
-% ≥ -%Y�∀4 = 1…N − 1
(6) Restricciones de uso de formadores:
− En cada periodo se usa, al menos, un formador:
F>�%?Z
�G�≤ 1∀8 = 1…@,∀4 = 1…N, ∀> = 1…[
CAPÍTULO 6 EL MODELO MTEMÁTICO.
Página 80 de 148
− No se usan más formadores de los disponibles:
F>�%?Z
�G�≤F>�
Z
�G�∀8 = 1…@,∀4 = 1…N, ∀> = 1…[
− A cada producto se le asigna su formador:
$��% ≤ >�%?∀8 = 1…@,∀4 = 1…N, ∀> = 1…[
6.4. LA FUNCIÓN OBJETIVO.
\*5F4�-% + )%H
%G�
La función objetivo es minimizar el tiempo de procesado de todos los productos.
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 81 de 148
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
7.1. Optimizador LINGO. LINGO: (LINear Generalize Optimizer) es una herramienta simple para formular
problemas de optimización lineales y no lineales, resolverlos y analizar su solución. El
resultado que LINGO proporciona es la optimización que ayuda a encontrar el mejor
resultado: la ganancia más alta, o el costo más bajo. A menudo estos problemas
involucran el uso más eficiente de los recursos. Los problemas de optimización son
clasificados a menudo como lineales o no lineales, dependiendo si las relaciones en el
problema son lineales con respecto a las variables.
Uno de los rasgos más poderosos de LINGO es su aplicación en el lenguaje de
modelado matemático. El cual permite expresar un problema de una manera muy
similar a la notación matemática habitual pudiendo también, expresar una serie entera
de restricciones en una declaración compacta. Esto lleva a modelos que son mucho
más fáciles de mantener.
Otro aspecto es la sección de los datos, que permite aislar los datos de la
formulación del modelo. De hecho LINGO puede leer datos incluso de una hoja de
cálculo separada, base de datos, o archivo de texto. Con datos independientes del
modelo, es mucho más fácil de hacer cambios, y hay menos posibilidad de error
cuando se realiza el modelo.
Al optimizador Lingo hay que pasarle el modelo del sistema codificado en un
archivo con el lenguaje propio de modelado del programa, el cual es muy intuitivo. El
flujo de datos será el de la siguiente figura:
Archivo de entrada
Modelo + Datos
Interfaz Entrada
EjecuciónInterfaz
ResultadosArchivo de
salida
LINGO
Modelo + Datos
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 82 de 148
7.1.1. Librería LINGO
La sintaxis que se utiliza en este programa es muy sencilla. Para el nombre de las
variables se establece que deben tener 32 caracteres como máximo, Deben comenzar
con una letra seguido de letras, dígitos o _ . El compilador de LINGO no distingue entre
mayúsculas y minúsculas.
Todas las sentencias deben terminar en un punto y coma.
Para darle un nombre a la función objetivo o a las restricciones, estos deben
colocarse entre corchetes.
Para declarar la función objetivo debemos colocar las palabras reservadas MAX o
MIN, que aparecerán en color azul, seguidas del signo =.
Los comentarios deben comenzar con un signo !, que aparecerán en color verde.
Los archivos generados por LINGO tiene la extensión .lg4.
Nombre de las restricciones
LINGO tiene la posibilidad de nombrar las restricciones en su modelo. Ésta es una
práctica buena por dos razones. Primero, los nombres de restricciones se usan en el
reporte de las soluciones lo que facilita su interpretación. Segundo, muchos de los
mensajes del error de LINGO se refieren al nombre de una restricción.
Para dar nombre a una restricción, se inserta el nombre entre corchetes, delante
de una línea de código. El nombre debe obedecer los requisitos normales para un
nombre de LINGO.
Uso de funciones de dominio de variables
Los valores de las variables, por defecto en un modelo de LINGO, son no-
negativas y continúas, a menos que se especifique lo contrario. Las variables pueden
asumir algún valor real desde cero hasta infinito positivo. En muchos casos, este
dominio de valor por defecto puede ser impropio. Por ejemplo, puede requerirse que
una variable asuma valores negativos, o bien restringirla puramente a valores enteros.
LINGO proporciona cuatro funciones de variables dominio que permite sustituir el
dominio predefinido de una variable.
@GIN restringe una variable para comenzar con valores enteros;
@BIN hace una variable binaria (es decir, 0 ó 1). Por ejemplo @BIN(X);
@FREE permite que una variable pueda asumir algún valor real, positivo o
negativo;
@BND limita una variable dentro de un rango finito.
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 83 de 148
Variables enteras y binarias
LINGO da la posibilidad de definir dos tipos de variables enteras, una general y
otra binaria. Una variable entera general requiere ser un número entero. Una variable
entera binaria requiere ser cero o uno. Cualquier modelo que contiene una o más
variables enteras, es requerido para un modelo de programación entera (IP)
Las variables binarias son el método normal usado por modelar decisiones de
si/no.
Variables libres
Por defecto, las variables en LINGO tiene un límite inferior de cero y un límite
superior de infinito. @FREE quita el límite inferior cero y permite que la variable tome
valores negativos. La sintaxis es:
@FREE (variable_name); donde variable_name es el nombre de la variable libre.
La función de @FREE puede usarse en cualquier parte correspondiente a una
restricción del modelo.
@FREE (X); hace una variable X libre
Variables limitadas
La función @BND permite poner límite superior e inferior específicos en una
variable, es decir, @BND limita el rango de una variable dentro de algún intervalo. La
sintaxis para @BND es:
@BND (lower_bound, variable_name, upper_bound); donde variable_name es la
variable a ser limitada inferiormente por lower_bound y limitado superiormente por el
upper_bound. Lower_bound y upper_bound deben ser valores numéricos o variables
cuyos valores han sido fijados en la sección de datos. @BND puede usarse en cualquier
lugar en el que normalmente se usaría una restricción en el modelo. En términos
matemáticos, LINGO interpreta que este @BND funcionan como:
lower_bound <= variable_name <= upper_bound
En general, se usa @BND en lugar de una restricción siempre que sea posible,
por ejemplo:
@BND (-1, X, 1); la variable X toma valores entre -1 y 1
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 84 de 148
7.1.2. Introducción básica de un modelo en LINGO
Teniendo presente las consideraciones anteriores podemos construir cualquier
modelo.
EJEMPLO ARCHIVO DE TEXTO (.lg4): \0KK� + K" + <
s.a. K� ≤ 2
K� + < ≤ 3 < + 2K" ≤ 4 K� ≥ 0,
K" ≥ 0, `54+-0 <a*50-*0
TITLE Ejemplo; [OBJETIVO] MAX = x1 + x2 + y; [PRIMERA] x1 <=2; !ejemplo de comentario; [SEGUNDA] x1 + y <=3; [TERCERA] y + 2*x2 <=4; [Signo_x1] x1>=0; [Signo_x2] x2>=0; @GIN(x2); @BIN(y);
Una vez elaborado el fichero de entrada, basta con arrancar Lingo, y cargarlo
para que lo resuelva. Para ello, abrir el programa, en File->Open se selecciona el
archivo .lg4 que contiene el modelo.
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 85 de 148
Se comprueba que el modelo es correcto y le indicamos al programa que
resuelva el problema (LINGO->Solve). Cuando termina de resolver el modelo, Lingo nos
saca por pantalla la solución, indicando los valores de la función objetivo y de las
variables del problema.
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 86 de 148
El ejemplo es un modelo muy simple, pero cuando se tiene un modelo
complicado, con muchísimas restricciones, no es tan sencillo construir el fichero de
entrada para el programa. Esto es lo que ocurre en nuestro caso, para el cual se ha
tenido que crear una rutina específica, que para un determinado problema de entrada,
cree el archivo .lg4 con el modelo. Para ello se ha utilizado el programa Visual Basic.
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 87 de 148
7.1.3. Comandos más frecuentes del menú LINGO
LINGO\Solve
El comando Solve se utiliza para resolver el modelo en la ventana activa. Cuando
se resuelve un modelo, LINGO examina la sintaxis del modelo para determinar si es
válida. Si se encuentra un error de sintaxis, se presentará un mensaje de error donde
se imprime el número de la línea en la que ocurrió el error, el texto de la línea, y una
marca (^) donde LINGO piensa que el ocurrió el error.
En la mayoría de los casos, se apunta exactamente a donde el error ocurrió.
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 88 de 148
Cuando se ejecuta el comando Solve (asumiendo que el modelo no tiene ningún
error de sintaxis), se desplegará la ventana de estado Solver Status.
Una vez que la opción Solve ha completado el proceso del modelo, creará una
nueva ventana que contiene el informe de la solución para su modelo.
LINGO|Solution
El comando Solution se usa para generar un informe de la solución para la
ventana activa, después de seleccionar el comando SOLVE. El informe de la solución
puede estar en formato de texto o gráfico.
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 89 de 148
En la ficha Attribute or Row Name, se selecciona la variable para la que
deseamos el informe. Si no se selecciona un nombre en esta ficha, LINGO generará un
informe de la solución que incluye todos los atributos.
En la ficha Header Text, se incluye el texto que se desea que aparezca en el
informe.
En la ficha Type of Output se puede seleccionar la salida en forma de texto o de
gráfico. Si se selecciona texto, LINGO creará una nueva ventana que contiene la
solución en formato del texto. Si se selecciona gráfico se creará una nueva ventana que
contiene la solución en uno de los formatos gráficos disponibles. Los gráficos
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 90 de 148
disponibles son barras, líneas, y de círculos. Esta opción se selecciona en la ficha
Graphics properties, en graphics type.
En la ficha de nonzeros Only se selecciona si las variables que aparecen en el
informe tienen valores distintos de cero.
En la ficha Values se puede seleccionar los valores del dual u primal.
La ficha Bounds da la opción de poner límites en los valores del gráfico.
LINGO|Range
El comando Range sirve para generar un informe del rango para el modelo en la
ventana activa. Un informe del rango muestra las siguientes posibilidades:
Cambiar un coeficiente en el objetivo sin que cambie ninguno de los valores
óptimos de las variables de decisión, o bien; Cambiar el término constante de una fila
(también conocido como coeficiente del lado derecho) sin causar cambio en cualquiera
de los valores óptimos de los precios duales o costes reducidos.
LINGO|Options
El comando Options se utiliza para cambiar los parámetros que afectan a la
interface del usuario de LINGO, así como la manera en que se resuelve el modelo.
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 91 de 148
La ficha Interfaz del cuadro de diálogo Opciones: se puede utilizar para controlar
el aspecto de LINGO, las salidas de LINGO, y el formato de archivo predeterminado.
El cuadro GENERAL de la ficha Interfaz, permite configurar las siguientes
opciones generales:
• Errores en los diálogos.
• Pantalla de bienvenida.
• Barra de estado.
• Ventana de estado.
• Nivel de salida.
• Barra de herramientas.
• Rellenar rangos y tablas.
• Corte de soluciones.
El cuadro FILE FORMAT de la ficha Interfaz: se utiliza para seleccionar el formato
de archivo predeterminado que LINGO utiliza para guardar los modelos en el disco.
Hay tres formatos diferentes para elegir: .lg4, .gnl o .ltx .El formato .lg4 es un formato
binario legible sólo por LINGO.
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 92 de 148
El formato de .lng es un formato basado en texto. Por lo tanto, los modelos
guardados en el formato de .lng se pueden leer en otras aplicaciones. Modelos de
formato de .lng son transferibles a otras plataformas que ejecutan LINGO. Los modelos
guardados en formato .lng no pueden contener formato personalizado ni objetos
incrustados.
Los modelos con archivos .ltx utilizan la sintaxis LINDO. Los usuarios expertos
pueden preferir sintaxis LINDO sobre sintaxis LINGO. La sintaxis LINDO es conveniente
para introducir rápidamente programas lineales de tamaño medio. Siempre y cuando
un archivo tiene la extensión. .ltx, LINGO asumirá que el modelo está escrito con la
sintaxis LINDO.
El formato de archivo predeterminado es .lg4.
El cuadro SINTAXIS COLORING de la ficha Interfaz se utiliza para controlar la
capacidad de coloreado de sintaxis del editor de LINGO. Cuando el editor encuentra
palabras clave Lingo, estas se muestran en azul; los comentarios se muestran en verde,
y todo el resto del texto se muestra en negro. Los paréntesis también se destacan en
rojo cuando se coloca el cursor inmediatamente después de un paréntesis.
Los controles disponibles en este cuadro son: Limit Line, Delay, y Paren Match.
El coloreado de sintaxis puede llevar mucho tiempo si tiene archivos muy
grandes. El campo Limit Line establece el tamaño máximo de archivo aceptable para el
coloreado de sintaxis. Establecer este parámetro en 0 deshabilitará la característica
coloreado de sintaxis. El valor predeterminado es de 1000 líneas.
El campo Delay establece el número de segundos que LINGO esperará antes de
volver a colorear un texto modificado. El valor predeterminado es 0 segundos.
Si la opción PAREN MATCH está marcada, LINGO destacará paréntesis
coincidentes en rojo cuando se coloca el cursor inmediatamente después de un
paréntesis. LINGO mostrará simultáneamente el paréntesis coincidente en rojo. Estos
paréntesis permanecerán visualizados en rojo hasta que se mueva el cursor a otra
posición, momento en el que volverán a un color negro. Esta opción está habilitada por
defecto.
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 93 de 148
La ficha General Solver del cuadro de diálogo Opciones, se puede utilizar para
controlar varios parámetros generales relacionados con el funcionamiento del
solucionador de LINGO .
LINGO | Debugger. El depurador es muy útil en la búsqueda de problemas en los
modelos que son no factibles o no acotados.
La opción Output Level controla la cantidad de salidas que genera el depurador
del modelo. Los niveles de salida posibles varían desde 1 (salida mínima) hasta 15
(máximo rendimiento).La única razón para restringir estos valores sería la de acelerar
el tiempo de depuración en grandes modelos.
El ajuste predeterminado para el nivel de salida de depuración es de 15.
Cold Start Solver y Warm Start Solver se utiliza en los modelos lineales para el
Cold Start (arranque sin una base existente en la memoria) y Warm Start (reinicio de
una base existente) durante el proceso de depuración. En cualquiera de los casos, las
opciones disponibles son:
Solver Decide :LINGO selecciona el solucionador que considera más adecuado.
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 94 de 148
Primal: se utilizará el solucionador simplex primal.
Dual: se utilizará el solucionador dual simplex.
Barrera: se utilizará el solucionador de barrera (requiere una licencia
solucionador de barrera).
En algunos modelos, es posible que la elección de un programa de solución
particular, mejore el rendimiento global del depurador.
Por defecto LINGO selecciona Solver Decide tanto para el solucionador de
depuración fría como caliente.
LINGO | Runtime Límits.
El cuadro de los límites de tiempo de ejecución en la ficha General solver, se
utiliza para controlar la longitud de tiempo que el solucionador pasa en su modelo.
El primer campo, iteraciones, le permite colocar un límite superior en el número
de iteraciones que el solucionador realizará. Una iteración es la operación fundamental
realizada por el solucionador. En el riesgo de simplificación excesiva, es un proceso que
implica forzar una variable, actualmente 0, para convertirse a distinto de cero hasta
que alguna otra variable es forzada a cero, mejorando el objetivo a medida que
avanzamos. En general, los modelos más grandes tardan más en realizar una iteración
y modelos no lineales tardarán más que los modelos lineales. El límite de iteraciones
predeterminado es Ninguno, es decir, no se impone límite alguno en el número de
iteraciones.
El segundo campo en el cuadro de límites es el tiempo de ejecución, Tiempo ( seg
) , es un límite en la cantidad de tiempo transcurrido para la optimización de un
modelo . El límite de tiempo predeterminado es Ninguno, es decir, no se impone límite
de la duración del tiempo que puede correr el solucionador. Si el modelo contiene
variables enteras, LINGO restablecerá la mejor solución encontrada hasta el momento
El cuadro Dual computaions en la ficha General solver se utiliza para controlar el
nivel de los cálculos realizados en el dual. Las opciones disponibles son:
Ninguno: LINGO no calcula ninguna información dual. Esta opción proporciona
los tiempos de solución más rápidos, pero sólo es adecuado si no se requiere
información dual.
Precios: LINGO calcula los valores duales, pero no los rangos en los duales
Precios y márgenes: LINGO calcula tanto los precios duales y rangos.
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 95 de 148
Precios Opt Only: Esto puede ser una opción útil si LINGO está empleando un
tiempo esxcesivo durante el proceso de solución
LINGO|Picture
Este comando despliega el modelo en forma de matriz.
7.2. Programa Visual Basic. EL Visual Basic 6.0, es una herramienta de programación utilizada para el diseño
de una aplicación que permita, de manera sencilla, el acceso a los datos para generar
un modelo matemático del problema y poder resolverlo mediante el optimizador
LINGO.
El Visual Basic es una de las herramientas más utilizada en la actualidad por los
programadores ya que crea aplicaciones potentes de manera rápida para los sistemas
operativos Microsoft Windows. Se programa utilizando el mismo lenguaje asistente de
Office, integrando datos y cualquier otra cosa que esté disponible dentro del sistema,
ya que la tecnología ActiveX/DCOM permite que los objetos puedan intercambiar
información independiente de su naturaleza (documentos, bases de datos, páginas
HTML, etc.).
El código consiste en sentencias del lenguaje, constantes y declaraciones que se
divide en pequeños bloques llamados procedimientos. Un procedimiento de evento
contiene el código que se ejecuta cuando sucede un evento. Un procedimiento es un
bloque de instrucciones de Visual Basic incluido entre una instrucción de declaración
(Function, Sub, Operator, Get, Set) y una declaración End correspondiente. Todas las
instrucciones ejecutables de Visual Basic deben estar incluidas en algún
procedimiento.
Para crear una aplicación en Visual Basic se trabaja con proyectos. Un proyecto
es una colección de archivos que se usan para generar una aplicación, estos son:
Un archivo de proyecto .VBP
Un archivo para cada formulario .FRM
Un archivo para cada módulo estándar .BAS
El código de Visual Basic se almacena en módulos: módulo formulario y módulo
estándar.
Para crear el código se realizan las siguientes acciones:
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 96 de 148
El modulo estándar contiene declaraciones de constantes y variables así como
los procedimientos. Los procedimientos son partes del código que pueden ejecutarse
como una unidad, de esta forma la programación se simplifica dividiéndose en
componentes lógicos más pequeños. Esto resulta muy práctico especialmente para
condensar tareas repetitivas.
Una variable se declara para especificar su nombre y sus características. La
instrucción de declaración para variables es Instrucción Dim (Visual Basic). Su ubicación
y contenido determinan las características de la variable. Una variable local es aquella
que se declara dentro de un procedimiento. Una variable miembro es un miembro de
un tipo de Visual Basic; se declara en el nivel de módulo, dentro de una clase,
estructura o módulo, pero no dentro de ningún procedimiento interno de esa clase,
estructura o módulo. Es decir, las variables que se definen al principio del código son
conocidas por todos los procedimientos.
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 97 de 148
La instrucción Option Base 1 cambia el índice de comienzo de los vectores y de
estar inicializados en ceso, comienzan con valor 1.
En este caso la declaración de las variables es la siguiente:
En el menú Proyecto, en la opción Propiedades del Proyecto, es necesario
seleccionar el objeto inicial para que la aplicación ejecute en primer lugar dicho objeto.
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 98 de 148
Los procedimientos del modulo estándar son los siguientes: busca el documento
de texto con los datos de entrada, lee los datos de entrada y genera el modelo
matemático en formato adecuado para resolverlo con LINGO.
El procedimiento LeerArchivoEntrada, comienza con la declaración de variables.
A continuación se indica la ruta de acceso al archivo que contiene los datos y lo abre.
La lectura de datos se realiza del archivo Datos.txt .
...
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 99 de 148
Todos los procesos de lectura de datos tienen la misma estructura: se abre el
archivo con la instrucción Open, se procesa cada línea leída, se introduce el valor en la
variable correspondiente y se termina cerrando el archivo con la instrucción Close.
Los datos incluidos en el archivo de texto son:
Duración del periodo.
Número de productos.
Matriz con los datos de los productos: nombre del producto, número asignado al
producto, familia a la que pertenece (1=chips, 2=onduladas), consumo de la freidora
(kg/min), tiempo de ciclo de la caja (min), consumo de la envasadora (kg/min), peso de
la caja (kg), demanda (cajas)
Matriz de tiempo de setup.
Número de brazos.
Matriz de compatibilidad producto-brazo.
Familias de productos.
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 100 de 148
Matriz de compatibilidad familia-brazo.
Número de tipos de formadores.
Matriz con los datos de los formadores: ancho, número asignado al formador,
cantidad de formadores, familia de producto.
Matriz de compatibilidad formador-producto.
…
El procedimiento GenerarModelo comienza con la declaración de variables
específicas. Se calcula el número de periodos de producción. Se crea el fichero con el
modelo en formato .lg4, compatible con LINGO.
CAPÍTULO 7. RESOLUCIÓN DEL MODELO MATEMÁTICO.
Página 101 de 148
El procedimiento CambiarPuntoComa es necesario para cambiar el punto por la
coma en los números decimales de los datos de entrada.
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 102 de 148
CAPÍTULO 8. RESULTADOS DE LA APLICACION. En este capítulo se presentan los resultados obtenidos, como consecuencia de
aplicar el modelo a distintas longitudes del periodo para un mismo problema. Se
consideran los datos de demanda para una semana de producción. La configuración
del modelo depende de dos parámetros principalmente, el número de productos y por
tanto la demanda de los mismos, y la longitud de los periodos de producción.
Se realiza el estudio para los 17 productos existentes en la planta, debido al
tamaño excesivo del problema no se encuentra una solución factible en un tiempo
razonable, esto es, menos de 24 horas. Por ello se divide el problema en dos
subproblemas, uno para cada familia (chips y onduladas) obteniendo así resultados
óptimos con tiempos de ejecución menores. En varios casos se ha interrumpido la
ejecución del programa con objeto de observar la bondad de la solución para un
mismo tiempo de búsqueda de la solución.
A continuación se muestra la planificación de la producción para los distintos
tiempos de periodo para los tres tipos de problema considerados:
• Chips y onduladas (17 productos): archivo de entrada Datos1.txt.
• Chips y onduladas (17 productos), con demanda de onduladas nula:
archivo de entrada Datos1.1.txt.
• Chips (7 productos): Archivo de entrada: Datos1.2.txt
• Onduladas (10 productos): Archivo de entrada: Datos1.3.txt
El archivo de datos de entrada es de la siguiente forma:
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 103 de 148
También se muestra el error cometido en la producción respecto a la demanda,
el exceso de producción es debido a que se fabrica durante todo el periodo. Cuanto
mayor es la longitud del periodo, mayor es error cometido.
A continuación se puede ver un resumen de los diferentes casos estudiados, con
el error de producción y la relación entre restricciones y variables para distintas
longitudes de periodo. El número de variables y restricciones aumenta
significativamente al disminuir la longitud del periodo, aumentando el tiempo de
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 104 de 148
ejecución del programa para la búsqueda de soluciones. En estos casos se observa que
interrumpiendo la ejecución del programa, este nos da una solución relativamente
cercana al óptimo para tiempos de ejecución razonables (6 horas).
La siguiente tabla recoge los resultados obtenidos para el primer tipo de
problema: Chips y onduladas (17 productos): archivo de entrada Datos1.txt.
Longitud del periodo
1200
600
300 180
Archivo Datos1.txt
Datos1.txt
Datos1.txt Datos1.txt
Solución No factible
No factible
No factible No factible
Total variables
9492
21704
46128 79711
No lineales 0
0
0 0
Enteras 508
1016
2032 3429
Total restricciones
18941
43305
92033 159034
No lineales 0
0
0 0
Tiempo de ejecución
6:00:00 6:00:00 6:00:00 6:00:00 6:00:00 6:00:00
Debido a que el programa LINGO no encuentra solución al problema para
tiempos de ejecución aceptables, se reduce el tamaño de los datos de entrada. Se
divide en dos uno para chips (Datos1-1.txt) siendo la demanda de onduladas nula.
(Datos 1-2.txt) eliminando los datos correspondientes a las onduladas, y otro para
onduladas (Datos 1-3.txt).
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 105 de 148
En la tabla se muestran los resultados correspondientes al segundo tipo de
problema: Chips y onduladas (17 productos), con demanda de onduladas nula:
archivo de entrada Datos1.1.txt.
Longitud del periodo
1200 600 300 180
Archivo Datos1.1.txt Datos1.1.txt Datos1.1.txt Datos1.1.txt
Solución Óptima Óptima Interrumpida
ejecución No factible
Total variables
9492 21704 46128 79711
No lineales 0 0 0 0
Enteras 508 1016 2032 3429
Total restricciones
18941 43305 92033 159034
No lineales 0 0 0 0
Tiempo de ejecución
00:00:28 00:22:03 6:00:00 6:00:00
ERROR % PARA DISTINTOS TIEMPOS
DE PERIODO
PRODUCTO 1200 600 300*
(1) Chips 45
52,00 52,00 14,00
(2) Chips 100
164,82 32,45 32,45
(3) Chips 150
62,04 21,54 1,29
(4) Chips Granel 3 kg
(5)Chips Jr 30 (6) Patatine 50
0,91 0,91 0,91
(7) Patatine 65
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 106 de 148
Relación entre el número de variables y restricciones y la longitud del periodo.
0,00
20,00
40,00
60,00
80,00
100,00
120,00
140,00
160,00
180,00
1200 600 300
(1) Chips 45
(2) Chips 100
(3) Chips 150
(4) Chips Granel 3 kg
(5)Chips Jr 30
(6) Patatine 50
0100002000030000400005000060000700008000090000
100000
1200 600 300
Longitud del periodo
Total variables
No lineales
Enteras
Total restricciones
No lineales
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 107 de 148
Los resultados del tercer tipo de problema: Chips (7 productos): Archivo de
entrada: Datos1.2.txt, se muestra a continuación. Se reduce considerablemente el
tiempo de ejecución hasta encontrar el óptimo, respecto del caso anterior. Al reducir
el tamaño del problema es más fácil encontrar la solución óptima.
Longitud del periodo
1200 900 600 480 300* 240
Archivo Datos1-2.txt Datos1-2.txt Datos1-2.txt Datos1-2.txt Datos1-2.txt Datos1-2.txt
Solución Óptima Óptima Óptima Óptima Óptima Óptima
Total variables
2136 2775 4692 5970 9804 12360
No lineales 0 0 0 0 0 0
Enteras 252 315 504 630 1008 1260
Total restricciones
3979 5182 8791 11197 18415 23227
No lineales 0 0 0 0 0 0
Tiempo de ejecución
00:00:20 0:02:15 0:17:40 0:00:05 03:19:40 0:01:22
ERROR % PARA DISTINTOS TIEMPOS DE PERIODO
PRODUCTO 1200 900 600 480 300* 240
(1) Chips 45
52,00 14,00 52,00 21,60 14,00 21,60
(2) Chips 100
164,82 98,64 32,45 6,00 32,45 6,00
(3) Chips 150
62,04 21,54 21,54 29,64 1,29 -2,75
(4) Chips Granel 3 kg
(5)Chips Jr 30 (6) Patatine 50
0,91 1,88 0,91 0,91 0,91 0,13
(7) Patatine 65
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 108 de 148
El exceso de producción, error, disminuye notablemente al reducir la longitud del
periodo.
Se observa que el número de variables y restricciones es inversamente
proporcional a la longitud del periodo.
0,00
20,00
40,00
60,00
80,00
100,00
120,00
140,00
160,00
180,00
1200 900 600 480 300* 240
(1) Chips 45
(2) Chips 100
(3) Chips 150
(4) Chips Granel 3 kg
(5)Chips Jr 30
(6) Patatine 50
(1) Chips 45
(2) Chips 100
(3) Chips 150
(4) Chips Granel 3 kg
0
5000
10000
15000
20000
25000
1200 900 600* 480 300* 240*
Longitud del periodo
Total variables
No lineales
Enteras
Total restricciones
No lineales
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 109 de 148
Por último se muestran los resultados del cuarto tipo de problema: Onduladas
(10 productos): Archivo de entrada: Datos1.3.txt
Longitud del periodo
1200 480 240 210 180* 120*
Archivo Datos1-
3.txt Datos1-
3.txt Datos1-
3.txt Datos1-3.txt Datos1-3.txt Datos1-3.txt
Solución Optima Optima Optima Optima Interrumpida
ejecución Interrumpida
ejecución
Total variables
3644 10460 21820 25228 29772 44540
No lineales 0 0 0 0 0 0
Enteras 260 650 1300 1495 1755 2600
Total restricciones
7182 20640 43070 49799 58771 87930
No lineales 0 0 0 0 0 0
Tiempo de ejecución
0:00:23 0:10:29 0:10:50 0:38:37 6:03:11 6:00:18
error % para distintos tiempos de periodo
PRODUCTO 1200 480 240 210 180* 120*
(8) Onduladas 22 27,63 2,13 2,13 34,00 14,88 2,13
(9) Onduladas 45 90,00 52,00 14,00 33,00 14,00 14,00
(10) Onduladas 100 482,60 133,20 482,60 104,00 74,80 307,80
(11) Onduladas 150 183,58 51,25 51,25 32,33 13,46 13,46
(12) Onduladas Jamón 45
117,14 73,71 30,29 52,00 30,29 -13,14
(13)Onduladas Jamón 100 61,83 29,50 29,50 41,61 21,39 13,28
(14) Onduladas Jamón 150
62,07 29,64 29,64 41,79 21,57 13,43
(15) Onduladas BBQ 45
1800,00 153,33 26,67 121,67 90,00 26,67
(16) Onduladas BBQ 100
(17) Onduladas BBQ 150
106,27 65,00 23,82 44,36 23,82 3,18
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 110 de 148
Relación entre el número de variables y restricciones y la longitud del periodo:
0,00
100,00
200,00
300,00
400,00
500,00
1200 480 240 210 180* 120*
(8) Onduladas 22 (9) Onduladas 45
(10) Onduladas 100 (11) Onduladas 150
(12) Onduladas Jamón 45 (13)Onduladas Jamón 100
(14) Onduladas Jamón 150 (15) Onduladas BBQ 45
(16) Onduladas BBQ 100 (17) Onduladas BBQ 150
0
10000
20000
30000
40000
50000
60000
70000
80000
90000
1200 480 240 210 180* 120*
Total variables
No lineales
Enteras
Total restricciones
No lineales
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 111 de 148
A continuación pueden verse los resultados obtenidos para cada uno de los casos
estudiados.
• Chips y onduladas (17 productos), con demanda de onduladas nula:
archivo de entrada Datos1.1.txt.
Tiempo del periodo: 1200 Solución: Es la solución óptima
DISTRIBUCIÓN DE LA PRODUCCIÓN EN LAS MAQUINAS DURANTE LOS PERIODOS
COMPARATIVA ENTRE LA DEMANDA Y LA SOLUCIÓN OBTENIDA
2
3
3
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
1
1
6
6
6
6
6
6
6
0 1 2 3 4
1
2
3
4
5
6
7
8
9
10
0
5000
10000
15000
20000
25000
30000
(1) Chips 45
(2) Chips 100
(3) Chips 150
(4) Chips Granel 3
kg
(5)Chips Jr 30
(6) Patatine
50
(7) Patatine
65
DEMANDA (CAJAS)
CAJAS MODELO
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 112 de 148
PRODUCTO DEMANDA (CAJAS)
CAJAS MODELO
EXCESO PRODUCCIÓN CAJAS
ERROR CAJAS %
(1) Chips 45 500 760 260 52,00
(2) Chips 100 1100 2913 1813 164,82
(3) Chips 150 2800 4537 1737 62,04
(4) Chips Granel 3 kg (5)Chips Jr 30 (6) Patatine 50
29363 29630 267 0,91
(7) Patatine 65
Tiempo del periodo: 600 Solución: Es la solución óptima
DISTRIBUCIÓN DE LA PRODUCCIÓN EN LAS MAQUINAS DURANTE LOS PERIODOS
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
3
3
2
6
6
3
1
6
0 1 2 3 4 5 6
1
2
3
4
5
6
7
8
9
10
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 113 de 148
COMPARATIVA ENTRE LA DEMANDA Y LA SOLUCIÓN OBTENIDA
PRODUCTO DEMANDA
(CAJAS) CAJAS
MODELO
EXCESO PRODUCCIÓN
CAJAS
ERROR CAJAS %
(1) Chips 45 500 760 260 52,00
(2) Chips 100 1100 1457 357 32,45
(3) Chips 150 2800 3403 603 21,54
(4) Chips Granel 3 kg (5)Chips Jr
30 (6) Patatine
50 29363 29630 267 0,91
(7) Patatine 65
0
5000
10000
15000
20000
25000
30000
(1) Chips 45
(2) Chips 100
(3) Chips 150
(4) Chips Granel 3
kg
(5)Chips Jr 30
(6) Patatine
50
(7) Patatine
65
DEMANDA (CAJAS)
CAJAS MODELO
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 114 de 148
Tiempo del periodo: 300 Solución: Interrumpida la ejecución después de 6
horas. La solución no es la óptima
DISTRIBUCIÓN DE LA PRODUCCIÓN EN LAS MAQUINAS DURANTE LOS PERIODOS
COMPARATIVA ENTRE LA DEMANDA Y LA SOLUCIÓN OBTENIDA
6
6
6
6
1
1
6
6
6
6
6
6
6
6
1
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
3
6
6
6
6
6
6
6
6
3
3
6
6
6
6
6
6
6
6
3
3
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
2
2
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
0 1 2 3 4 5 6 7 8 9 10 11 12
1
2
3
4
5
6
7
8
9
10
0
5000
10000
15000
20000
25000
30000
(1) Chips 45
(2) Chips 100
(3) Chips 150
(4) Chips Granel 3
kg
(5)Chips Jr 30
(6) Patatine
50
(7) Patatine
65
DEMANDA (CAJAS)
CAJAS MODELO
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 115 de 148
PRODUCTO DEMANDA
(CAJAS) CAJAS
MODELO
EXCESO PRODUCCIÓN
CAJAS
ERROR CAJAS %
(1) Chips 45 500 570 70 14,00
(2) Chips 100 1100 1457 357 32,45
(3) Chips 150 2800 2836 36 1,29
(4) Chips Granel 3 kg (5)Chips Jr
30 (6) Patatine
50 29363 29630 267 0,91
(7) Patatine 65
• Chips (7 productos): Archivo de entrada: Datos1.2.txt
Tiempo del periodo: 1200 Solución: Es la solución óptima
DISTRIBUCIÓN DE LA PRODUCCIÓN EN LAS MAQUINAS DURANTE LOS PERIODOS
6
6
6
6
6
6
2
6
6
6
6
6
6
6
6
1
6
6
6
6
6
6
6
6
6
6
6
6
3
3
0 1 2 3 4
1
2
3
4
5
6
7
8
9
10
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 116 de 148
COMPARATIVA ENTRE LA DEMANDA Y LA SOLUCIÓN OBTENIDA
PRODUCTO DEMANDA
(CAJAS) CAJAS
MODELO
EXCESO PRODUCCIÓN
CAJAS
EXCESO DE CAJAS
%
(1) Chips 45 500 760 260 52,00
(2) Chips 100
1100 2913 1813 164,82
(3) Chips 150
2800 4537 1737 62,04
(4) Chips Granel 3 kg (5)Chips Jr
30
(6) Patatine 50
29363 29630 267 0,91
(7) Patatine 65
0
5000
10000
15000
20000
25000
30000
(1) Chips 45
(2) Chips 100
(3) Chips 150
(4) Chips Granel 3
kg
(5)Chips Jr 30
(6) Patatine
50
(7) Patatine
65
DEMANDA (CAJAS)
CAJAS MODELO
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 117 de 148
Tiempo del periodo: 900 Solución: Solución óptima.
DISTRIBUCIÓN DE LA PRODUCCIÓN EN LAS MAQUINAS DURANTE LOS PERIODOS
COMPARATIVA ENTRE LA DEMANDA Y LA SOLUCIÓN OBTENIDA
2
3
3
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
1
6
6
6
0 1 2 3 4 5
1
2
3
4
5
6
7
8
9
10
0
5000
10000
15000
20000
25000
30000
(1) Chips 45
(2) Chips 100
(3) Chips 150
(4) Chips Granel 3
kg
(5)Chips Jr 30
(6) Patatine
50
(7) Patatine
65
DEMANDA (CAJAS)
CAJAS MODELO
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 118 de 148
PRODUCTO
DEMANDA (CAJAS)
CAJAS MODELO
EXCESO PRODUCCIÓN
CAJAS
ERROR CAJAS %
(1) Chips 45
500 570 70 14,00
(2) Chips 100
1100 2185 1085 98,64
(3) Chips 150
2800 3403 603 21,54
(4) Chips Granel 3 kg (5)Chips Jr
30 (6) Patatine
50 29363 29915 552 1,88
(7) Patatine 65
Tiempo del periodo: 600 Solución: Solución óptima.
DISTRIBUCIÓN DE LA PRODUCCIÓN EN LAS MAQUINAS DURANTE LOS PERIODOS
2
3
3
6
6
1
1
3
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
0 1 2 3 4 5 6
1
2
3
4
5
6
7
8
9
10
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 119 de 148
COMPARATIVA ENTRE LA DEMANDA Y LA SOLUCIÓN OBTENIDA
PRODUCTO DEMANDA (CAJAS)
CAJAS MODELO
EXCESO PRODUCCIÓN CAJAS
ERROR CAJAS %
(1) Chips 45
500 760 260 52,00
(2) Chips 100
1100 1457 357 32,45
(3) Chips 150
2800 3403 603 21,54
(4) Chips Granel 3 kg
(5)Chips Jr 30
(6) Patatine 50
29363 29630 267 0,91
(7) Patatine 65
0
5000
10000
15000
20000
25000
30000
(1) Chips 45
(2) Chips 100
(3) Chips 150
(4) Chips Granel 3
kg
(5)Chips Jr 30
(6) Patatine
50
(7) Patatine
65
DEMANDA (CAJAS)
CAJAS MODELO
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 120 de 148
Tiempo del periodo: 240 Solución: solución óptima.
DISTRIBUCIÓN DE LA PRODUCCIÓN EN LAS MAQUINAS DURANTE LOS PERIODOS
COMPARATIVA ENTRE LA DEMANDA Y LA SOLUCIÓN OBTENIDA
3
3
6
6
6
6
6
6
6
6
3
3
6
6
6
6
6
6
6
6
3
3
6
6
6
6
6
6
6
6
3
6
6
6
6
6
6
6
6
2
6
6
6
6
6
6
6
6
1
6
6
6
6
6
6
6
6
1
1
6
6
6
6
6
6
6
6
1
6
6
6
6
6
6
6
6
2
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1
2
3
4
5
6
7
8
9
10
0
5000
10000
15000
20000
25000
30000
(1) Chips 45
(2) Chips 100
(3) Chips 150
(4) Chips Granel 3
kg
(5)Chips Jr 30
(6) Patatine
50
(7) Patatine
65
DEMANDA (CAJAS)
CAJAS MODELO
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 121 de 148
PRODUCTO DEMANDA (CAJAS)
CAJAS MODELO
EXCESO PRODUCCIÓN CAJAS
ERROR CAJAS %
(1) Chips 45
500 608 108 21,60
(2) Chips 100
1100 1166 66 6,00
(3) Chips 150
2800 3176 376 13,43
(4) Chips Granel 3 kg
(5)Chips Jr 30
(6) Patatine 50
29363 29402 39 0,13
(7) Patatine 65
Tiempo del periodo: 480 Solución: Esta es la solución óptima
DISTRIBUCIÓN DE LA PRODUCCIÓN EN LAS MAQUINAS DURANTE LOS PERIODOS
2
1
1
3
3
3
3
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
0 1 2 3 4 5 6 7 8
1
2
3
4
5
6
7
8
9
10
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 122 de 148
COMPARATIVA ENTRE LA DEMANDA Y LA SOLUCIÓN OBTENIDA
PRODUCTO DEMANDA (CAJAS)
CAJAS MODELO
EXCESO PRODUCCIÓN CAJAS
ERROR CAJAS %
(1) Chips 45
500 608 108 21,60
(2) Chips 100
1100 1166 66 6,00
(3) Chips 150
2800 3630 830 29,64
(4) Chips Granel 3 kg
(5)Chips Jr 30
(6) Patatine 50
29363 29630 267 0,91
(7) Patatine 65
0
5000
10000
15000
20000
25000
30000
(1) Chips 45
(2) Chips 100
(3) Chips 150
(4) Chips Granel 3
kg
(5)Chips Jr 30
(6) Patatine
50
(7) Patatine
65
DEMANDA (CAJAS)
CAJAS MODELO
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 123 de 148
Tiempo del periodo: 300 Solución: Esta solución es la óptima.
DISTRIBUCIÓN DE LA PRODUCCIÓN EN LAS MAQUINAS DURANTE LOS PERIODOS
COMPARATIVA ENTRE LA DEMANDA Y LA SOLUCIÓN OBTENIDA
3
3
6
6
6
6
6
6
6
6
3
3
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
2
6
6
6
6
6
6
6
6
2
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
1
6
6
6
6
6
6
6
6
1
1
6
6
6
6
0 1 2 3 4 5 6 7 8 9 10 11 12
1
2
3
4
5
6
7
8
9
10
0
5000
10000
15000
20000
25000
30000
(1) Chips 45
(2) Chips 100
(3) Chips 150
(4) Chips Granel 3
kg
(5)Chips Jr 30
(6) Patatine
50
(7) Patatine
65
DEMANDA (CAJAS)
CAJAS MODELO
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 124 de 148
PRODUCTO DEMANDA (CAJAS)
CAJAS MODELO
EXCESO PRODUCCIÓN CAJAS
ERROR CAJAS %
(1) Chips 45
500 570 70 14,00
(2) Chips 100
1100 1457 357 32,45
(3) Chips 150
2800 2836 36 1,29
(4) Chips Granel 3 kg
(5)Chips Jr 30
(6) Patatine 50
29363 29630 267 0,91
(7) Patatine 65
• Onduladas (10 productos): Archivo de entrada: Datos1.3.txt
Tiempo del periodo: 1200 Solución: óptima.
DISTRIBUCIÓN DE LA PRODUCCIÓN EN LAS MAQUINAS DURANTE LOS PERIODOS
1
2
5
7
3
4
4
4
6
8
10
8
8
0 1 2 3
1
2
3
4
5
6
7
8
9
10
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 125 de 148
COMPARATIVA ENTRE LA DEMANDA Y LA SOLUCIÓN OBTENIDA
PRODUCTO DEMANDA (CAJAS)
CAJAS MODELO
EXCESO PRODUCCIÓN CAJAS
ERROR CAJAS %
(1) Onduladas 22 800 1021 221 28
(2) Onduladas 45 400 760 360 90
(3) Onduladas 100 500 2913 2413 483
(4) Onduladas 150 2400 6806 4406 184
(5) Onduladas Jamón 45 350 760 410 117
(6)Onduladas Jamón 100 1800 2913 1113 62
(7) Onduladas Jamón 150 1400 2269 869 62
(8) Onduladas BBQ 45 120 2280 2160 1800
(9) Onduladas BBQ 100
(10) Onduladas BBQ 150 1100 2269 1169 106
0
500
1000
1500
2000
2500
3000
DEMANDA (CAJAS)
CAJAS MODELO
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 126 de 148
Tiempo del periodo: 480 Solución: óptima.
DISTRIBUCIÓN DE LA PRODUCCIÓN EN LAS MAQUINAS DURANTE LOS PERIODOS
COMPARATIVA ENTRE LA DEMANDA Y LA SOLUCIÓN OBTENIDA
2
2
4
4
10
10
6
8
7
7
4
4
1
1
6
5
5
3
0 1 2 3
1
2
3
4
5
6
7
8
9
10
0
500
1000
1500
2000
2500
3000
DEMANDA (CAJAS)
CAJAS MODELO
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 127 de 148
PRODUCTO DEMANDA (CAJAS)
CAJAS MODELO
EXCESO PRODUCCIÓN CAJAS
ERROR CAJAS %
(1) Onduladas 22 800 817 17 2
(2) Onduladas 45 400 608 208 52
(3) Onduladas 100 500 1166 666 133
(4) Onduladas 150 2400 3630 1230 51
(5) Onduladas Jamón 45 350 608 258 74
(6)Onduladas Jamón 100 1800 2331 531 30
(7) Onduladas Jamón 150 1400 1815 415 30
(8) Onduladas BBQ 45 120 304 184 153
(9) Onduladas BBQ 100
(10) Onduladas BBQ 150 1100 1815 715 65
Tiempo del periodo: 240 Solución: óptima.
DISTRIBUCIÓN DE LA PRODUCCIÓN EN LAS MAQUINAS DURANTE LOS PERIODOS
3
3
3
7
7
10
10
4
4
1
3
3
7
7
10
4
4
2
8
1
4
4
6
6
5
2
2
1
1
4
4
6
6
5
5
0 1 2 3 4 5
1
2
3
4
5
6
7
8
9
10
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 128 de 148
COMPARATIVA ENTRE LA DEMANDA Y LA SOLUCIÓN OBTENIDA
PRODUCTO DEMANDA (CAJAS)
CAJAS MODELO
EXCESO PRODUCCIÓN CAJAS
ERROR CAJAS %
(1) Onduladas 22 800 817 17 2
(2) Onduladas 45 400 456 56 14
(3) Onduladas 100 500 2913 2413 483
(4) Onduladas 150 2400 3630 1230 51
(5) Onduladas Jamón 45 350 456 106 30
(6)Onduladas Jamón 100 1800 2331 531 30
(7) Onduladas Jamón 150 1400 1815 415 30
(8) Onduladas BBQ 45 120 152 32 27
(9) Onduladas BBQ 100
(10) Onduladas BBQ 150 1100 1362 262 24
0
500
1000
1500
2000
2500
3000
DEMANDA (CAJAS)
CAJAS MODELO
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 129 de 148
Tiempo del periodo: 210 Solución: óptima.
DISTRIBUCIÓN DE LA PRODUCCIÓN EN LAS MAQUINAS DURANTE LOS PERIODOS
COMPARATIVA ENTRE LA DEMANDA Y LA SOLUCIÓN OBTENIDA
4
4
6
6
8
1
3
1
6
6
7
2
1
6
7
7
2
4
2
2
8
7
7
3
1
4
4
10
10
5
5
4
4
1
1
10
10
5
5
4
0 1 2 3 4 5 6
1
2
3
4
5
6
7
8
9
10
0
500
1000
1500
2000
2500
3000
DEMANDA (CAJAS)
CAJAS MODELO
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 130 de 148
PRODUCTO DEMANDA (CAJAS)
CAJAS MODELO
EXCESO PRODUCCIÓN CAJAS
ERROR CAJAS %
(1) Onduladas 22 800 1072 272 34
(2) Onduladas 45 400 532 132 33
(3) Onduladas 100 500 1020 520 104
(4) Onduladas 150 2400 3176 776 32
(5) Onduladas Jamón 45 350 532 182 52
(6)Onduladas Jamón 100 1800 2549 749 42
(7) Onduladas Jamón 150 1400 1985 585 42
(8) Onduladas BBQ 45 120 266 146 122
(9) Onduladas BBQ 100 0 0 0 #¡DIV/0!
(10) Onduladas BBQ 150 1100 1588 488 44
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 131 de 148
Tiempo del periodo: 180 Solución: Interrumpida la ejecución de LINGO
después de 6 horas. Esta solución no es la óptima.
DISTRIBUCIÓN DE LA PRODUCCIÓN EN LAS MAQUINAS DURANTE LOS PERIODOS
COMPARATIVA ENTRE LA DEMANDA Y LA SOLUCIÓN OBTENIDA
1
4
5
5
10
10
3
2
2
5
5
10
10
3
1
1
1
6
8
8
4
1
1
7
4
4
4
4
7
7
6
6
4
2
4
7
7
6
6
2
0 1 2 3 4 5 6
1
2
3
4
5
6
7
8
9
10
0
500
1000
1500
2000
2500
3000
DEMANDA (CAJAS)
CAJAS MODELO
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 132 de 148
PRODUCTO DEMANDA (CAJAS)
CAJAS MODELO
EXCESO PRODUCCIÓN CAJAS
ERROR CAJAS %
(1) Onduladas 22 800 919 119 15
(2) Onduladas 45 400 456 56 14
(3) Onduladas 100 500 874 374 75
(4) Onduladas 150 2400 2723 323 13
(5) Onduladas Jamón 45 350 456 106 30
(6)Onduladas Jamón 100 1800 2185 385 21
(7) Onduladas Jamón 150 1400 1702 302 22
(8) Onduladas BBQ 45 120 228 108 90
(9) Onduladas BBQ 100
(10) Onduladas BBQ 150 1100 1362 262 24
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 133 de 148
Tiempo del periodo: 120 Solución: Interrumpida la ejecución de LINGO
después de 6 horas. Esta solución
DISTRIBUCIÓN DE LA PRODUCCIÓN EN LAS MAQUINAS DURANTE LOS PERIODOS
COMPARATIVA ENTRE LA DEMANDA Y LA SOLUCIÓN OBTENIDA
4
4
1
1
6
6
6
4
4
4
4
1
7
7
5
5
4
4
4
2
2
7
7
7
2
2
1
1
3
6
6
7
7
2
2
1
1
10
10
10
10
3
3
3
3
8
10
3
3
4
4
5
6
6
1
4
8
5
5
0 1 2 3 4 5 6 7 8
1
2
3
4
5
6
7
8
9
10
0
500
1000
1500
2000
2500
3000
DEMANDA (CAJAS)
CAJAS MODELO
CAPÍTULO 8. RESULTADOS DE LA APLICACIÓN
Página 134 de 148
PRODUCTO DEMANDA (CAJAS)
CAJAS MODELO EXCESO PRODUCCIÓN CAJAS
ERROR CAJAS %
(1) Onduladas 22 800 817 17 2
(2) Onduladas 45 400 456 56 14
(3) Onduladas 100 500 2039 1539 308
(4) Onduladas 150 2400 2723 323 13
(5) Onduladas Jamón 45 350 304 -46 -13
(6)Onduladas Jamón 100 1800 2039 239 13
(7) Onduladas
Jamón 150 1400 1588 188 13
(8) Onduladas BBQ 45 120 152 32 27
(9) Onduladas BBQ 100
(10) Onduladas BBQ 150 1100 1135 35 3
CAPÍTULO 9. CONCLUSIONES
Página 135 de 148
CAPÍTULO 9. CONCLUSIONES.
El mayor reto de este proyecto ha sido enfrentarse a un modelo real, con la
dificultad que esto supone. Ha sido necesario profundizar en el conocimiento tanto del
proceso de fabricación como de los productos a fabricar. Las características y
especificaciones han de transformarse en las restricciones del modelo.
Ha sido necesario relajar el modelo para poder trabajar con él y obtener
soluciones coherentes, con el consiguiente trabajo de mejora del programa. En
ocasiones se ha debido a que el programa no encontraba ninguna solución posible.
Este modelo permite optimizar cualquier caso planificación de la producción para
la línea estudiada. Realizando pequeñas modificaciones es posible aplicarlo al resto de
las líneas de producción de la planta.
Debido a que el error cometido en la producción es relativamente grande, según
la longitud del periodo, sería necesario ampliar el estudio con alguna heurística o
metaheurística, para obtener soluciones aceptables para tiempos de ejecución más
breves.
CAPÍTULO 10. BIBLIOGRAFÍA.
Página 136 de 148
CAPÍTULO 10. BIBLIOGRAFÍA.
� Larrañeta, Juan/Onieva, Luis/ Lozano, Sebastian (1995). Métodos
modernos de gestión de la producción.Escuela Superior de Ingenieros
Industriales (Universidad de Sevilla)
� Larrañeta, Juan/ Onieva, Luis/ Cortés, Pablo/ Muñuzuri, Jesús/ Guadix,
José. Métodos cuantitativos en ingeniería de organización. Escuela
superior de ingenieros industriales (Universidad de Sevilla)
� Onieva, Luis/ Cortés, Pablo/ Muñuzuri, Jesús/ Guadix, José/ Ibáñez, Juan
Nicolás. Métodos cuantitativos y organización de la producción. Editorial
Síntesis
� García de Jalón, Javier/ Rodríguez, José Ignacio/ Brazalez, Alfonso.
Aprenda visual Basic 6.0, como si estuviera en primero.
Escuela Superior de Ingenieros Industriales (Universidad de Navarra)
� Microsoft visual Basic 6.0
Referencia de controles (volumen 2)
Guía de herramientas y componentes (volumen 3)
Edita Microsoft Press
� García Sánchez, José Manuel. Librerías lingo: lenguaje básico LP.
Publicaciones de la Universidad de Sevilla.
� Carizo, Erica/ Lucero, Paola (2002). Investigación Operativa 2002.
Software para programación Lineal: Lingo/ Lindo.
� Manual de procedimientos y autocontrol de PATATAS SA.
CAPÍTULO 11. ANEXO.
Página 137 de 148
CAPÍTULO 11. ANEXO.
11.1. CÓDIGO PARA LA GENERACIÓN DEL MODELO MATEMATICO.
Option Explicit Option Base 1 Type Ayuda Inicio As Integer Final As Integer End Type Type RegProductos Nombre As String Ref As Integer Familia As Integer Consumo As Double Tiempo As Double Cons_Envasadora As Double Peso_Caja As Double Demanda As Long DemandaPeso As Double End Type Type RegFormadores Ref As Integer Ancho As Integer Cantidad As Integer TipoEnv As Integer End Type Dim NumProductos As Integer Dim NumTEnv As Integer Dim TEnv() As Integer Dim NumBrazos As Integer Dim Productos() As RegProductos Dim CostesSetup() As Integer Dim Comp() As Integer Dim FormProducto() As Integer Dim NumFormadores As Integer Dim Formadores() As RegFormadores Dim FicheroEntrada As String Dim TiempoPeriodo As Integer Dim NumPeriodos As Integer Dim ConsumoFreidora1 As Double Dim ConsumoFreidora2 As Double ' Funcion para poder correr todos los archivos Sub main() FicheroEntrada = "Datos1-2.txt" LeerArchivoEntrada GenerarModelo End Sub
CAPÍTULO 11. ANEXO.
Página 138 de 148
Sub LeerArchivoEntrada() Dim NumArchivo As Integer Dim Linea As String Dim Indice As Integer Dim Pos As Integer Dim Izq As String Dim Der As String Dim I As Integer Dim J As Integer Dim Aux As String NumArchivo = FreeFile Open App.Path & "\" & FicheroEntrada For Input As NumArchivo 'abro el archivo de la ruta Line Input #NumArchivo, Linea 'lee linea 0 TiempoPeriodo = CInt(Linea) 'el numero de Productos es la parte entera de la linea 0 Line Input #NumArchivo, Linea 'lee linea 0 NumProductos = CInt(Linea) 'el numero de Productos es la parte entera de la linea 0 ReDim Productos(NumProductos) 'dimensiono el array de estructuras para que tenga el espacio
suficiente For Indice = 1 To NumProductos Line Input #NumArchivo, Linea 'lee linea 1 Linea = Trim(Linea) 'elimina espacios en la primera linea al principio y al final Pos = InStr(Linea, " ") 'decir donde se encuentra el primer espacio Izq = Left(Linea, Pos - 1) 'lo que hay a la izquierda Productos(Indice).Nombre = Izq 'lee el instane inicial ventana de inicio Der = Right(Linea, Len(Linea) - Pos) ' lo que hay a la derecha, coge toda la cadena menos el
primer termino Linea = Der ' la variable linea cambia de valor Pos = InStr(Linea, " ") Izq = Left(Linea, Pos - 1) Productos(Indice).Ref = CInt(Izq) 'lee instante final de ventana de inicio Der = Right(Linea, Len(Linea) - Pos) Linea = Der Pos = InStr(Linea, " ") Izq = Left(Linea, Pos - 1) Productos(Indice).Familia = CInt(Izq) 'lee duración Der = Right(Linea, Len(Linea) - Pos) Linea = Der Pos = InStr(Linea, " ") Izq = Left(Linea, Pos - 1) If InStr(Izq, ".") > 0 Then Aux = Left(Izq, InStr(Izq, ".") - 1) & "," & Right(Izq, Len(Izq) - InStr(Izq, ".")) Else Aux = Izq End If Productos(Indice).Consumo = CDbl(Aux) 'lee duración Der = Right(Linea, Len(Linea) - Pos) Linea = Der Pos = InStr(Linea, " ")
CAPÍTULO 11. ANEXO.
Página 139 de 148
Izq = Left(Linea, Pos - 1) If InStr(Izq, ".") > 0 Then Aux = Left(Izq, InStr(Izq, ".") - 1) & "," & Right(Izq, Len(Izq) - InStr(Izq, ".")) End If Productos(Indice).Tiempo = CDbl(Aux) 'lee peso Der = Right(Linea, Len(Linea) - Pos) Linea = Der Pos = InStr(Linea, " ") Izq = Left(Linea, Pos - 1) If InStr(Izq, ".") > 0 Then Aux = Left(Izq, InStr(Izq, ".") - 1) & "," & Right(Izq, Len(Izq) - InStr(Izq, ".")) End If Productos(Indice).Cons_Envasadora = CDbl(Aux) 'lee peso de la caja (nuevo) Der = Right(Linea, Len(Linea) - Pos) Linea = Der Pos = InStr(Linea, " ") Izq = Left(Linea, Pos - 1) If InStr(Izq, ".") > 0 Then Aux = Left(Izq, InStr(Izq, ".") - 1) & "," & Right(Izq, Len(Izq) - InStr(Izq, ".")) End If Productos(Indice).Peso_Caja = CDbl(Aux) 'lee peso de la caja (nuevo) Der = Right(Linea, Len(Linea) - Pos) Linea = Der Productos(Indice).Demanda = CLng(Linea) 'lee clase Next ReDim CostesSetup(NumProductos, NumProductos) For I = 1 To NumProductos Line Input #NumArchivo, Linea Linea = Trim(Linea) 'elimina espacios en la primera linea al principio y al final For J = 1 To NumProductos Pos = InStr(Linea, " ") 'decir donde se encuentra el primer espacio If Pos > 0 Then Izq = Left(Linea, Pos - 1) 'lo que hay a la izquierda Else Izq = Linea End If CostesSetup(I, J) = CInt(Izq) If J < NumProductos Then Der = Right(Linea, Len(Linea) - Pos) Linea = Der End If Next Next Line Input #NumArchivo, Linea 'lee linea 0 NumBrazos = CInt(Linea) 'el numero de Productos es la parte entera de la linea 0 ReDim Comp(NumProductos, NumBrazos) For I = 1 To NumProductos Line Input #NumArchivo, Linea Linea = Trim(Linea) 'elimina espacios en la primera linea al principio y al final
CAPÍTULO 11. ANEXO.
Página 140 de 148
For J = 1 To NumBrazos Pos = InStr(Linea, " ") 'decir donde se encuentra el primer espacio If Pos > 0 Then Izq = Left(Linea, Pos - 1) 'lo que hay a la izquierda Else Izq = Linea End If Comp(I, J) = CInt(Izq) If J < NumBrazos Then Der = Right(Linea, Len(Linea) - Pos) Linea = Der End If Next Next Line Input #NumArchivo, Linea 'lee linea 0 NumTEnv = CInt(Linea) 'el numero de Productos es la parte entera de la linea 0 ReDim TEnv(NumBrazos) Line Input #NumArchivo, Linea For I = 1 To NumBrazos Pos = InStr(Linea, " ") 'decir donde se encuentra el primer espacio If Pos > 0 Then Izq = Left(Linea, Pos - 1) 'lo que hay a la izquierda Else Izq = Linea End If TEnv(I) = CInt(Izq) If I < NumBrazos Then Der = Right(Linea, Len(Linea) - Pos) Linea = Der End If Next Line Input #NumArchivo, Linea 'lee linea 0 NumFormadores = CInt(Linea) 'el numero de Productos es la parte entera de la linea 0 ReDim Formadores(NumFormadores) 'dimensiono el array de estructuras para que tenga el
espacio suficiente For Indice = 1 To NumFormadores Line Input #NumArchivo, Linea 'lee linea 1 Linea = Trim(Linea) 'elimina espacios en la primera linea al principio y al final Pos = InStr(Linea, " ") 'decir donde se encuentra el primer espacio Izq = Left(Linea, Pos - 1) 'lo que hay a la izquierda Formadores(Indice).Ancho = CInt(Izq) 'lee el instane inicial ventana de inicio Der = Right(Linea, Len(Linea) - Pos) ' lo que hay a la derecha, coge toda la cadena menos el
primer termino Linea = Der ' la variable linea cambia de valor Pos = InStr(Linea, " ") Izq = Left(Linea, Pos - 1) Formadores(Indice).Ref = CInt(Izq) 'lee instante final de ventana de inicio Der = Right(Linea, Len(Linea) - Pos) Linea = Der Pos = InStr(Linea, " ") Izq = Left(Linea, Pos - 1)
CAPÍTULO 11. ANEXO.
Página 141 de 148
Formadores(Indice).Cantidad = CInt(Izq) 'lee duración Der = Right(Linea, Len(Linea) - Pos) Linea = Der Formadores(Indice).TipoEnv = CInt(Linea) 'lee clase Next ReDim FormProducto(NumFormadores, NumProductos) For I = 1 To NumFormadores Line Input #NumArchivo, Linea Linea = Trim(Linea) 'elimina espacios en la primera linea al principio y al final For J = 1 To NumProductos Pos = InStr(Linea, " ") 'decir donde se encuentra el primer espacio If Pos > 0 Then Izq = Left(Linea, Pos - 1) 'lo que hay a la izquierda Else Izq = Linea End If FormProducto(I, J) = CInt(Izq) If J < NumProductos Then Der = Right(Linea, Len(Linea) - Pos) Linea = Der End If Next Next Close NumArchivo End Sub Sub GenerarModelo() Dim NumArchivo As Integer Dim Linea As String Dim Cadena As String Dim Indice As Integer Dim I As Integer Dim II As Integer Dim t As Integer Dim J As Integer Dim JJ As Integer Dim F As Integer Dim K As Integer Dim L As Integer Dim R As Integer Dim Existe As Boolean Dim NombreLingo As String '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'CALCULOS PRECIOS NumPeriodos = 10 * 8 * (60 / TiempoPeriodo) ConsumoFreidora1 = 16.67 ' chips ConsumoFreidora2 = 15 ' onduladas For I = 1 To NumProductos Productos(I).DemandaPeso = Productos(I).Demanda * Productos(I).Peso_Caja Next
CAPÍTULO 11. ANEXO.
Página 142 de 148
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' NumArchivo = FreeFile NombreLingo = Left(FicheroEntrada, Len(FicheroEntrada) - 4) & ".lg4" Open App.Path & "\" & NombreLingo For Output As NumArchivo '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' linea del titulo Linea = "TITLE Modelo_Produccion_PATATAS;" Print #NumArchivo, Linea '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' linea de la funcion objetivo Cadena = "MIN = " For t = 1 To NumPeriodos If Cadena = "MIN = " Then Cadena = Cadena & CStr(TiempoPeriodo) & "*" & "r" & CStr(t) & " + " & "s" & CStr(t) Else Cadena = Cadena & " + " & CStr(TiempoPeriodo) & "*" & "r" & CStr(t) & " + " & "s" & CStr(t) End If If Len(Cadena) > 200 Then Print #NumArchivo, Cadena Cadena = "" End If Next Print #NumArchivo, Cadena & ";" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'Restriccion asociadas al cálculo de rt Cadena = "" For t = 1 To NumPeriodos For I = 1 To NumProductos For J = 1 To NumBrazos If Cadena = "" Then Cadena = Cadena & CStr(NumBrazos) & " * " & "r" & CStr(t) & " >= " & "x" & CStr(I) & "_" &
CStr(J) & "_" & CStr(t) Else Cadena = Cadena & " + " & "x" & CStr(I) & "_" & CStr(J) & "_" & CStr(t) End If If Len(Cadena) > 200 Then Print #NumArchivo, Cadena Cadena = " " End If Next Next Print #NumArchivo, Cadena & ";" Cadena = "" Next '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Cadena = "" For t = 1 To NumPeriodos - 1 Cadena = "r" & CStr(t) & " >=" & "r" & CStr(t + 1) Print #NumArchivo, Cadena & ";" Next
CAPÍTULO 11. ANEXO.
Página 143 de 148
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Restricciones de hacer la producción (Demanda) Cadena = "" For I = 1 To NumProductos For J = 1 To NumBrazos For t = 1 To NumPeriodos If Cadena = "" Then Cadena = Cadena & CStr(Productos(I).DemandaPeso) & " <= " & CStr(TiempoPeriodo *
Productos(I).Cons_Envasadora) & " * x" & CStr(I) & "_" & CStr(J) & "_" & CStr(t) Else Cadena = Cadena & " + " & CStr(TiempoPeriodo * Productos(I).Cons_Envasadora) & " * x"
& CStr(I) & "_" & CStr(J) & "_" & CStr(t) End If If Len(Cadena) > 200 Then CambiaPuntoComa Cadena Print #NumArchivo, Cadena Cadena = " " End If Next Next CambiaPuntoComa Cadena Print #NumArchivo, Cadena & ";" Cadena = "" Next '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Restricciones de hacer a lo sumo un producto en un brazo Cadena = "" For t = 1 To NumPeriodos For J = 1 To NumBrazos For I = 1 To NumProductos If Cadena = "" Then Cadena = Cadena & "x" & CStr(I) & "_" & CStr(J) & "_" & CStr(t) Else Cadena = Cadena & " + " & "x" & CStr(I) & "_" & CStr(J) & "_" & CStr(t) End If If Len(Cadena) > 200 Then Print #NumArchivo, Cadena Cadena = " " End If Next Print #NumArchivo, Cadena & " <= 1" & ";" Cadena = "" Next Next '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Restricciones de consumo de freidora Cadena = "" For t = 1 To NumPeriodos For J = 1 To NumBrazos For I = 1 To NumProductos If Cadena = "" Then
CAPÍTULO 11. ANEXO.
Página 144 de 148
Cadena = Cadena & CStr(Productos(I).Cons_Envasadora) & " * x" & CStr(I) & "_" & CStr(J) & "_" & CStr(t)
Else Cadena = Cadena & " + " & CStr(Productos(I).Cons_Envasadora) & " * x" & CStr(I) & "_" &
CStr(J) & "_" & CStr(t) End If If Len(Cadena) > 200 Then CambiaPuntoComa Cadena Print #NumArchivo, Cadena Cadena = " " End If If Productos(I).Familia = 1 Then Cadena = Cadena & " <= " & CStr(ConsumoFreidora1) CambiaPuntoComa Cadena Print #NumArchivo, Cadena & ";" Else CambiaPuntoComa Cadena Print #NumArchivo, Cadena & " <= " & CStr(ConsumoFreidora2) & ";" End If Cadena = "" Next Next Next '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Restricciones de Incompatibilidades Cadena = "" For t = 1 To NumPeriodos For I = 1 To NumProductos For J = 1 To NumBrazos If Comp(I, J) = 0 Then Cadena = "x" & CStr(I) & "_" & CStr(J) & "_" & CStr(t) Print #NumArchivo, Cadena & " = 0" & ";" Cadena = "" End If Next Next Next '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Restricciones de Compatibilidades Cadena = "" For t = 1 To NumPeriodos For J = 1 To (NumBrazos / 2) JJ = J * 2 For I = 1 To NumProductos For K = 1 To NumProductos If K <> I Then If Cadena = "" Then Cadena = "y" & CStr(I) & "_" & CStr(JJ) & "_" & CStr(t) & " = " & "x" & CStr(K) & "_" & CStr(JJ)
& "_" & CStr(t) Else Cadena = Cadena & " + " & "x" & CStr(K) & "_" & CStr(JJ) & "_" & CStr(t) End If End If
CAPÍTULO 11. ANEXO.
Página 145 de 148
Next Print #NumArchivo, Cadena & ";" Cadena = "" Cadena = "y" & CStr(I) & "_" & CStr(JJ) & "_" & CStr(t) & " <= " & "1 - " & "x" & CStr(I) & "_" &
CStr(JJ - 1) & "_" & CStr(t) Print #NumArchivo, Cadena & ";" Cadena = "" Next Next Next '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Restricciones de Tiempo de Setup Cadena = "" For t = 1 To NumPeriodos - 1 For J = 1 To NumBrazos For I = 1 To NumProductos For II = 1 To NumProductos If I <> II Then Cadena = "b" & CStr(I) & "_" & CStr(II) & "_" & CStr(J) & "_" & CStr(t) & " >= " & "x" & CStr(I)
& "_" & CStr(J) & "_" & CStr(t) & " + " & "x" & CStr(II) & "_" & CStr(J) & "_" & CStr(t + 1) & " -1 " Print #NumArchivo, Cadena & ";" Cadena = "" End If Next Next Next Next For t = 1 To NumPeriodos - 1 For J = 1 To NumBrazos For I = 1 To NumProductos For II = 1 To NumProductos If I <> II Then Cadena = "s" & CStr(t) & " >= " & CostesSetup(I, II) & " * " & "b" & CStr(I) & "_" & CStr(II) &
"_" & CStr(J) & "_" & CStr(t) Print #NumArchivo, Cadena & ";" Cadena = "" End If Next Next Next Next '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Incompatibilidad Chips y Onduladas ' Cadena = "" ' For t = 1 To NumPeriodos ' For J = 1 To NumBrazos ' For I = 1 To NumProductos ' If Productos(I).Familia = 1 Then ' For II = 1 To NumProductos ' If Productos(II).Familia = 2 Then ' For JJ = 1 To NumBrazos ' If JJ <> J Then ' If Cadena = "" Then
CAPÍTULO 11. ANEXO.
Página 146 de 148
' Cadena = "x" & CStr(I) & "_" & CStr(J) & "_" & CStr(t) & " + " & "x" & CStr(II) & "_" & CStr(JJ) & "_" & CStr(t)
' Else ' Cadena = Cadena & " + " & "x" & CStr(II) & "_" & CStr(JJ) & "_" & CStr(t) ' End If ' End If ' Next ' End If ' Next ' Print #NumArchivo, Cadena & " <=1" & ";" ' Cadena = "" ' End If ' ' Next ' Next ' Next '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Restricciones de compatibilidad de formadores Cadena = "" For t = 1 To NumPeriodos For J = 1 To NumBrazos For F = 1 To NumFormadores If Cadena = "" Then Cadena = Cadena & " f" & CStr(J) & "_" & CStr(t) & "_" & CStr(F) Else Cadena = Cadena & " + " & " f" & CStr(J) & "_" & CStr(t) & "_" & CStr(F) End If If Len(Cadena) > 100 Then Print #NumArchivo, Cadena Cadena = " " End If Next Print #NumArchivo, Cadena & "<= 1" & ";" Cadena = "" Next Next Cadena = "" For t = 1 To NumPeriodos For F = 1 To NumFormadores For J = 1 To NumBrazos If Cadena = "" Then Cadena = Cadena & " f" & CStr(J) & "_" & CStr(t) & "_" & CStr(F) Else Cadena = Cadena & " + " & " f" & CStr(J) & "_" & CStr(t) & "_" & CStr(F) End If If Len(Cadena) > 100 Then Print #NumArchivo, Cadena Cadena = " " End If Next Print #NumArchivo, Cadena & " <= " & Formadores(F).Cantidad & ";" Cadena = "" Next Next
CAPÍTULO 11. ANEXO.
Página 147 de 148
Cadena = "" For t = 1 To NumPeriodos For J = 1 To NumBrazos For I = 1 To NumProductos For F = 1 To NumFormadores If FormProducto(F, I) = 1 Then If Formadores(F).TipoEnv = TEnv(J) Then Cadena = " x" & CStr(I) & "_" & CStr(J) & "_" & CStr(t) & " <= " & " f" & CStr(J) & "_" &
CStr(t) & "_" & CStr(F) Print #NumArchivo, Cadena & ";" Cadena = "" End If End If Next Next Next Next '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Restricciones de Variables Cadena = "" For t = 1 To NumPeriodos Cadena = "s" & CStr(t) & " >=0" Print #NumArchivo, Cadena & ";" Cadena = "" Next Cadena = "" For t = 1 To NumPeriodos Cadena = "@BIN(" & " r" & CStr(t) & ")" Print #NumArchivo, Cadena & ";" Cadena = "" Next Cadena = "" For t = 1 To NumPeriodos For J = 1 To NumBrazos For F = 1 To NumFormadores Cadena = " f" & CStr(J) & "_" & CStr(t) & "_" & CStr(F) & " >= 0" Print #NumArchivo, Cadena & ";" Cadena = "" Next Next Next Cadena = "" For t = 1 To NumPeriodos For J = 1 To NumBrazos For I = 1 To NumProductos Cadena = "@BIN(" & " x" & CStr(I) & "_" & CStr(J) & "_" & CStr(t) & ")" Print #NumArchivo, Cadena & ";" Cadena = "" Next Next Next
CAPÍTULO 11. ANEXO.
Página 148 de 148
Close NumArchivo End Sub Sub CambiaPuntoComa(ByRef Cadena As String) Dim I As Integer Dim Longitud As Integer While InStr(Cadena, ",") > 0 I = InStr(Cadena, ",") Longitud = Len(Cadena) Cadena = Left(Cadena, I - 1) & "." & Right(Cadena, Longitud - I) Wend End Sub