Problema Programacion Secuenciacion PDF
Problema Programacion Secuenciacion PDF
Problema Programacion Secuenciacion PDF
Autor
ABEL BONILLA VANEGAS Ing. Esp.
RESUMEN ............................................................................................................... 5
ABSTRACT ............................................................................................................. 6
INTRODUCCIÓN ..................................................................................................... 7
2
2.7 MODELOS DE PROGRAMACIÓN DE PARADAS DE EQUIPOS UTILIZANDO
PROGRAMACION BINARIA ENTERA 0-1........................................................................................... 45
5.1 CONCLUSIONES........................................................................................................................ 62
ANEXOS ................................................................................................................ 74
LISTA DE FIGURAS
3
LISTA DE CUADROS
LISTA DE GRÁFICAS
LISTA DE ANEXOS
4
RESUMEN
5
ABSTRACT
In this paper the author reviews the current status of maintenance management
based on twenty years of experience and raises the implementation of a
methodology to optimize scheduling tasks and resources in the maintenance area.
6
INTRODUCCIÓN
7
La planeación es factor crítico de éxito en la implementación de estrategias de
mantenimiento, fallar en él, genera impactos negativos en los procesos operativos,
que se reflejan en tiempos improductivos, reprocesos, aumento de mano de obra y
costos adicionales.
8
CAPITULO I. PROBLEMA DE INVESTIGACIÓN Y OBJETIVOS
9
máquinas y equipos involucrados en dicha especificidad, sino en la
producción como tal.
10
Es evidente, después de realizar este análisis encontramos que existen problemas
de ineficiencia operativa en las labores de mantenimiento, puesto que el personal
que lleva a cabo esta labor, (Mano de obra) adolece de las competencias
necesarias para hacerlo, y ello obedece a que el área administrativa (Gerencia),
quien es el ente encargado de seleccionar este personal, no contrata los operarios
más idóneos para este tipo de procesos. También se puede observar que no ha
sido posible lograr un equilibrio entre la eficacia y eficacia, por lo tanto no somos
efectivos. De no tomarse los correctivos pertinentes para esta problemática, traerá
contratiempos y consecuencias severas para la compañía, a corto y mediano
plazo.
11
Cuadro 1. Efectividad en la ejecución del plan de mantenimientos preventivos
12
La eficacia se define como el nivel de consecución de metas y objetivos. La
eficacia hace referencia a la capacidad de la empresa en el logro de los
propósitos trazados. Por ejemplo: se considera eficaz si el área se ha propuesto
realizar cien actividades de mantenimiento preventivo en diez horas y se ha
logrado. Se fue eficaz por cuanto se alcanzó la meta, se logró lo que se propuso.
Así, perfectamente es posible ser eficientes sin ser eficaces y podemos ser
eficaces sin ser eficientes. Lo ideal es ser eficaces y a la vez eficientes.
13
financiero, el proceso de mantenimiento debe contribuir positivamente a la
compañía, pero también debe asegurar el adecuado funcionamiento de los
equipos; de aquí la importancia de encontrar el balance adecuado que garantice
gastos óptimos e intervenciones efectivas.
14
1.2 FORMULACIÓN DEL PROBLEMA
15
1.4 OBJETIVOS
16
Correr el modelo propuesto utilizando el software AMPL y analizar los
resultados para identificar oportunidades de mejora.
Con el desarrollo de este proyecto se hizo una revisión del estado del arte para
conocer las estrategias y técnicas más recientes en temas relacionados con
gerenciamiento estratégico de mantenimiento y su interacción con producción, la
idea era encontrar cuál o cuáles de estas estrategias resultaban aplicables para el
caso de la empresa de productos higiénicos. Al finalizar el proyecto se realizó la
propuesta para la implementación de las estrategias encontradas; estas
contemplaron tanto los aspectos técnicos de ingeniería como los impactos
financieros que causan a la empresa.
17
1.5 JUSTIFICACIÓN
18
Los tiempos invertidos para la ejecución de cada actividad dependen del grado de
complejidad, los cuales pueden variar entre una y seis horas. De igual manera, el
número de personas asignadas a cada actividad para labores con bajo grado de
complejidad puede variar; por ejemplo se puede asignar un operario de producción
puesto que en algunos casos la actividad aplica para un técnico no calificado. Las
tareas con medio o alto grado de complejidad, el número de técnicos puede variar
entre dos y cinco, se puede utilizar la combinación de personal calificado y no
calificado.
19
CAPITULO II. ESTADO DEL ARTE
20
2.2 MANTENIMIENTO PREVENTIVO (CARACTERIZACIÓN ACTUAL)
Según Smith existen tres razones principales por las que se debe hacer el
mantenimiento preventivo:
Prevenir fallas.
Detectar la aparición de fallas.
Descubrir fallas escondidas.
21
Figura 3. Diagrama de mantenimiento preventivo
Incremento de automatización.
Manufactura Just In Time.
Perdida de negocios debido a retrasos en la producción.
Reducción de equipo redundante.
Reducción de inventarios de refacciones.
Dependencia de células.
Mayor tiempo de vida del equipo.
Minimización del consumo de energía.
Manufacturar productos de mayor calidad.
Necesidad de un ambiente más organizado y planeado.
22
2.3 GESTIÓN ESTRATÉGICA DE LA FUNCIÓN DE MANTENIMIENTO
23
y en ocasiones, de fuertes conocimientos matemáticos, físicos y/o técnicos
(García Garrido, 2013).
24
Modelo condicional: El modelo de mantenimiento condicional incluye las
actividades del modelo anterior, y además, la realización de una serie de pruebas
o ensayos, que condicionarán una intervención posterior. Si después realizar las
pruebas se encuentran anomalías, se programa una intervención; de lo contrario
el equipo sigue operando. Este modelo de mantenimiento es válido en equipos de
poco uso donde a pesar de ser importantes para la producción tiene baja
probabilidad de falla.
25
orientada hacia la producción, maximizar la utilización de tiempos, los recursos y
el mejoramiento de planes y el proceso de control de los trabajos y la reducción
de los mismos.
• El costo de almacenamiento; y,
Técnico: El sistema de apoyo técnico busca minimizar el costo total del ciclo de
vida de un equipo, partiendo de detalles constructivos y posteriormente aspectos
de mantenibilidad y asesorías necesarias.
26
Beneficios de la planeación
Dentro de los beneficios de un proceso de planeación de mantenimiento se tienen:
(Silva, 2009).
27
2.3.4 Estándares para las mejores prácticas de mantenimiento
100% del tiempo de las personas cubierto por una orden de trabajo.
70% de las órdenes de trabajo son generadas por inspecciones de
mantenimiento predictivo.
30% de las horas de trabajo son para Mantenimiento Preventivo.
90% de cumplimiento de trabajos planeados / programados.
100% de confiabilidad se alcanza el 100% del tiempo.
OEE sobre 85%.
Falta de repuestos es escasa (menos de una por mes).
Sobretiempo menor de 2% del tiempo total destinado a mantenimiento.
El presupuesto de mantenimiento está dentro de +/- 2% del valor de equipo.
Mantenimiento
Mantenimiento Mantenimiento
Preventivo Correctivo
Basado en la
Predeterminado Inmediato Diferido
condición
Programado Predictivo
28
2.3.5 Indicadores de costos de mantenimiento
29
Índice costo de mantenimiento preventivo
30
tarda en fallar un equipo o sistema, es decir, su "vida útil", no se puede determinar
precisamente, por lo tanto es una variable aleatoria. Por ello, la confiabilidad se
debe cuantificar asignándole una función de probabilidad a la variable aleatoria del
tiempo de fallo. Para efectos del cálculo de la confiabilidad se considerará una
distribución exponencial de la variable aleatoria del tiempo de fallo. Por lo tanto la
confiabilidad será:
( )
Donde,
e: base del sistema logarítmico natural, e ≅ 2,178
t: tiempo considerado o tiempo de la misión
λ: tasa de fallas (constante para una distribución exponencial), la cual se
determina como:
31
distribución de fallo es exponencial. Si la distribución de fallo es de otro tipo, y no
exponencial, el TPPF puede generar comparaciones erróneas.
El uso de una función exponencial supone asumir una tasa de fallos constante, lo
cual no se desvía demasiado de la realidad, al menos por dos razones. Primero, al
combinar diferentes funciones de distribución para una variedad de componentes,
se produce un patrón aleatorio de fallos. Segundo, la reparación luego del fallo
tiende a producir una tasa de fallos constante cuando la población es grande. Se
requiere el buen juicio ingenieril del usuario sobre donde y cuando puede ser
aplicada esta distribución.
32
( ) )
33
Disponibilidad (D)
Se define como la capacidad del equipo o instalación para realizar una función
requerida bajo condiciones específicas sobre un periodo de tiempo determinado,
asumiendo que los recursos externos requeridos son suministrados. Es un
indicador determinístico que traduce los resultados de las acciones de
mantenimiento a un índice combinado para un equipo o sistema.
Utilización (U)
Confiabilidad (C)
34
Recomendaciones técnicas pendientes
Backlog
( )
Desviaciones de la planificación
( )
( ) ( )
35
Índice de rechazo unidades reparadas
36
A su vez, los procesos de apoyo son la base que soporta todas las estrategias que
se generan en el direccionamiento y son vitales para alcanzar la excelencia en las
actividades de mantenimiento, estando constituidos por los siguientes sub-
procesos:
37
2.3.8 Integración de la cadena de valor del mantenimiento
38
Programación: En este proceso se realiza la optimización y sincronización de las
actividades diarias, semanales, adicionalmente se coordina el suministro de
materiales e insumos necesarios para las actividades, el registro de información
de costos y estadísticas de todas la actividades ejecutadas, atención de
emergencias, coordinación de guardias y disponibilidad del personal, recursos y
empresas subcontratistas que sean necesarias para cubrir las eventualidades.
39
Figura 10. Correlación de las curvas de costos y desembolsos en la cadena de valor del
mantenimiento
40
Aunque estas técnicas no necesariamente garantizan soluciones óptimas
globales, por lo general no tienen problemas con el tamaño y la estructura del
problema y podrían proporcionar buenas soluciones con un tiempo de cálculo
razonable.
Se define como:
( )
41
( ) ⌊( ( ) ⌋ ( )
Dónde:
42
Existen varios trabajos que tratan el problema de la programación y secuenciación
de actividades y sus costos asociados para plantas de producción, pero no
consideran las actividades de mantenimiento. (Monma, 1989) estudió esta clase
de problemas con diferentes medidas de desempeño y demostraron que se trata
de problemas NP-hard.
43
La planificación de mantenimiento y la programación se pueden clasificar en dos
principales categorías. La primera categoría concierne al mantenimiento
programado que incluye un mantenimiento de rutina y preventivo, y dos revisiones
programadas y mantenimiento correctivo. La segunda categoría corresponde al
mantenimiento no programado o de averías imprevistas de emergencia. La
primera categoría puede ser planificada y programada con facilidad, pero la
segunda categoría es estocástica o impredecible lo que hace que la programación
del mantenimiento se convierta en todo un desafío para el personal encargado de
la programación de la producción. Un calendario realista deberá reflejar ambas
categorías.
44
2.7 MODELOS DE PROGRAMACIÓN DE PARADAS DE EQUIPOS
UTILIZANDO PROGRAMACION BINARIA ENTERA 0-1
45
con i = 1,2,..., n; k = 1,2,..., δ
donde δ es el horizonte de planificación
46
Figura 11. Programación de la producción y detenciones por mantenimiento
(∑ ∑ )
47
CAPITULO III. MODELO MATEMÁTICO
48
Para este modelo se consideran restricciones de tipo ejecución, por
interrupciones, por inicio de mantenimiento, de exclusividad, y por
actividades paralelas.
CONJUNTOS:
3 Líneas de producción, indexado por .
4 Períodos de ejecución, indexado por .
5 Actividades a desarrollar en mantenimiento, indexado por .
6 Técnicos operadores, indexado por .
Conjuntos Inducidos
Op_Act: Conjunto de operaciones ―O‖ que pueden realizar las actividades ―j‖.
PARÁMETROS
Tiempo ( ): número de período.
Demanda (Dit): Demanda de la producción.
Tasa de producción (Pit): Demanda requerida de la línea ― ‖ en el período
― ‖.
Duración de las actividades ( ): Duración de la actividad en la línea ‖.
VARIABLES DE DESICIÓN
Xijt={
49
Cijt={
Olijt={
∑ ( )
∑∑
Restricciones:
Las restricciones para este estudio hacen referencia a las disponibilidades de los
recursos y la secuenciación de las actividades con el objetivo de maximizar la
efectividad en el programa de los mantenimientos preventivos.
50
2. Restricción por interrupciones: El paro de la línea de producción para
realizar el mantenimiento preventivo no podrá ser discontinuo, es decir
que el mantenimiento deberá empezar y terminar sin interrupciones en el
período planeado:
∑∑
51
MODELO MATEMATICO COMPLETO
Función Objetivo
∑ ( )
∑∑
Restricciones
De ejecución:
Por interrupciones:
De exclusividad:
∑∑
52
CAPITULO IV. CASO DE ESTUDIO
La frecuencia para realizar los paros de las máquinas para la ejecución de los MP
es definida por políticas de la empresa teniendo en cuenta lineamientos
corporativos y recomendaciones de los fabricantes, como también
recomendaciones del departamento de confiabilidad. El planeador de
mantenimiento define la secuencia en que se ejecutarán las actividades
programadas, como también los periodos o fechas de paros y los tiempos que
permanecerá el equipo fuera de operación. La variable de decisión tiene dos
estados, ya sea la máquina operando o la máquina en mantenimiento.
53
El programa de MP inicia a las 6:00 am con una reunión informativa de seguridad,
posteriormente y de forma verbal, se asegura de que todos los técnicos tengan
claro las responsabilidades asignadas, se inician labores y durante toda la jornada
se realizan monitoreos periódicos a cada técnico evaluando el avance y
cumplimiento de las tareas.
En los paros por MP se cuenta con tres técnicos electrónicos, tres técnicos
mecánicos, y seis técnicos de operación para cumplir el programa del MP.
54
Gráfica 2. Comportamiento del gasto de mantenimiento PGI COLOMBIA (2014-2016)
En los meses de enero a abril de 2016 se presentó una disminución de 25,5% del
presupuesto asignado al departamento de mantenimiento, como consecuencia de
la implementación de nuevas estrategias y metodologías, por ejemplo la adecuada
asignación de tareas y secuenciación de actividades que generó menores tiempos
de máquinas detenidas y mayor confiabilidad en las tareas realizadas, la
55
optimización en la compra de repuestos, la minimización en el uso de recursos
externos y la inclusión de operarios en tareas de mantenimiento.
56
Como se calculan los indicadores MTTR y MTBF
57
Adicional a los indicadores mencionados, se incluyó el uso del indicador costo de
mantenimiento por unidad de producción, que nos permitirá visualizar mejoras o
deficiencias en el desempeño de las actividades de mantenimiento con relación a
la producción.
Debido a que este indicador no había sido implementado, se optó por recopilar
información de años anteriores y graficarlo.
En esta gráfica se observa el comportamiento de los últimos tres años con una
tendencia a la mejora. En el año 2014 por cada kilogramo producido,
mantenimiento gastó $199.9, en 2015 y 2016 esta cifra mejoró y llego a $187.2 y
$168.2 respectivamente debido a las nuevas estrategias implementadas en la
gestión de mantenimiento que causaron un efecto positivo generando un ahorro
58
de $387.065.000 del presupuesto de mantenimiento en el primer trimestre del año
2016 según se puede evidenciar en la siguiente gráfica.
59
Cuadro 2. Actividades programadas en los MP
MATRIZ
Tiempos
de
MANTENIMIENTO PREVENTIVO MP Especialidad
ejecución
(Horas)
Actividades
60
Cuadro 3. Personal técnico de mantenimiento y producción
61
CAPITULO V. CONCLUSIONES, RECOMENDACIONES Y FUTURAS
INVESTIGACIONES
5.1 CONCLUSIONES
62
El trabajo ha permitido que la empresa autorice un plan de capacitación
anual para todo el personal técnico, el plan inició en enero de 2016.
5.2 RECOMENDACIONES
63
además incluir los indicadores de costo de mantenimiento por hora-hombre, %
costo de mantenimiento preventivo, % costo de mantenimiento correctivo y
eficiencia.
Modelo para pronosticar las ventas y con base en los resultados programar las
paradas de las líneas de producción para realizar los mantenimientos
preventivos.
64
REFERENCIAS BIBLIOGRÁFICAS
65
Bris Radim y Byczanski Petr Effective computing algorithm for maintenance
optimization of highly reliable systems [Publicación periódica] // Reliability
Engineering and System Safety. - [s.l.] : Elsevier, 2013. - Vol. 109. - págs. 77–85.
Das S.R. J.N.D. Gupta, B.M. Khumawala, A saving index heuristic algorithm for
flowshop scheduling with sequence dependent set-up times [Libro]. - [s.l.] : Journal
of the Operational Research Society , 1995.
66
capacity for k-out-of-N systems [Publicación periódica] // International Journal of
Production Economics. - [s.l.] : Elsevier, 2009. - Vol. 118. - págs. 260–268.
Frazzon Enzo Morosini [y otros] Spare parts supply chains’ operational planning
using technical condition information from intelligent maintenance systems
[Publicación periódica] // Annual Reviews in Control. - [s.l.] : Elsevier, 2014. - Vol.
38. - págs. 147–154.
García Garrido S.
http://mantenimientoindustrial.renovetec.com/tiposdemantenimiento.html [En
línea]. - 2013.
67
González F. Auditoría del mantenimiento e indicadores de gestión. [Libro]. - [s.l.] :
2ª Edición., 2014. - pág. 276.
Jaarsveld Willem Van y Dekker Rommert Spare parts stock control for
redundant systems using reliability centered maintenance data [Publicación
periódica] // Reliability Engineeringand System Safety. - [s.l.] : Elsevier, 2011. - Vol.
96. - págs. 1576–1586.
Jin Tongdan y Liao Haitao Spare parts inventory control considering stochastic
growth of an installed base [Publicación periódica] // Computers & Industrial
Engineering. - [s.l.] : Elsevier, 2009. - Vol. 56. - págs. 452–460.
Kaplanoglu Vahit Multi-agent based approach for single machine scheduling with
sequence-dependent setup times and machine maintenance [Publicación
periódica] // Applied Soft Computing. - [s.l.] : Elsevier, 2014. - Vol. 23. - págs. 165-
179.
Lapa C.M.F Pereira C.M, Barros M.P.D. A model for preventive maintenance
planning bygenetic algorithms based in cost and reliability. [Libro]. - [s.l.] : Reliab
EngSyst Saf , 2006.
68
Lee Ju-Yong y Kim Yeong-Dae Minimizing the number of tardy jobs in a single-
machine scheduling problem with periodic maintenance [Publicación periódica] //
Computers & Operations Research. - [s.l.] : Elsevier, 2012. - Vol. 39. - págs. 2196–
2205.
Lei Deming Fuzzy job shop scheduling problem with availability constraints
[Publicación periódica] // Computers & Industrial Engineering. - [s.l.] : Elsevier,
2010. - Vol. 58. - págs. 610–617.
69
Monchy F Teoría y práctica del mantenimiento industrial‖. [Libro]. - [s.l.] : Ed.
Masson, 1990.
Monma C.L. and C.N. Potts On the Complexity of Scheduling with Batch Setup
[Libro]. - 1989.
Nasri Imed, Habchi Georges y Boukezzoula Reda Use of (max, +) algebra for
scheduling and optimization of HVLV systems subject to preventive maintenance
[Publicación periódica] // Simulation Modelling Practice and Theory. - [s.l.] :
Elsevier, 2014. - Vol. 46. - págs. 149-163.
70
Simulation / ed. simulation Mathematics and computer in. - [s.l.] : Elsevier, 1995. -
págs. 173-185.
71
Sun Yufei [y otros] An optimal machine maintenance problem with probabilistic
state constraints [Publicación periódica] // Information Sciences. - [s.l.] : Elsevier,
2014. - Vol. 281. - págs. 386–398.
Wang Wenbin A joint spare part and maintenance inspection optimisation model
using the Delay-Time concept [Publicación periódica] // Reliability Engineering and
System Safety. - [s.l.] : Elsevier, 2011. - Vol. 96. - págs. 1535–1541.
Wang Wenbin A stochastic model for joint spare parts inventory and planned
maintenance optimisation [Publicación periódica] // European Journal of
Operational Research. - [s.l.] : Elsevier, 2012. - Vol. 216. - págs. 127–139.
Wee Hui Ming y Widyadana Gede Agus A production model for deteriorating
items with stochastic preventive maintenance time and rework process with FIFO
rule [Publicación periódica] // Omega. - [s.l.] : Elsevier, 2013. - 6 : Vol. 41. - págs.
941–954.
72
Xia Tangbin [y otros] Production-driven opportunistic maintenance for batch
production based on MAM–APB scheduling [Publicación periódica] // European
Journal of Operational Research. - [s.l.] : Elsevier, 2015. - Vol. 240. - págs. 781–
790.
Zhou Yu, Kou Gang y Ergu Daji Modeling Maintenance Effect with failure-
counting [Conferencia] // Information Technology and Quantitative Management
(ITQM2013) / ed. Science Procedia Computer. - [s.l.] : Elsevier, 2013. - Vol. 17. -
págs. 298-305.
73
ANEXOS
#Modelo de la Tesis
#Conjuntos
#Subconjuntos
#Parametros
param TIEMPO>=0;
74
param TASA_PRODUCCION{i in LINEAS, t in PERIODOS}>=0;
#Variables
#Función Objetivo
maximize TIEMPO_MTTO:
#Restricciones
75
#Inicio de mantenimiento
Archivo de Comandos
# COMANDOS EN AMPL
option show_stats 1;
option solution_precision 0;
option omit_zero_rows 1;
option omit_zero_cols 1;
option display_precision 6;
option display_round 1;
# COMANDO DE SOLUCION:
solve;
76
# COMANDOS DE IMPRESION DE RESULTADOS:
printf "\n\n*************************************\n";
printf "*************************************\n\n";
display X;
display C;
display O;
Archivo Datos
77
Resultados del Problema Modelado (Mantenimiento)
Disclaimer:
MINTO (AMPL) v3.1: MINTO arg string (from AMPL options): ''
78
MINTO: Row structure analysis (after preprocessing):
Number of constraints of type ALLBINUB: 660
Number of constraints of type ALLBINEQ: 743
Number of constraints of type BINSUM1UB: 204
Number of constraints of type BINSUM1EQ: 97
79
xopt[87] = 1.000000 ()
xopt[101] = 1.000000 ()
xopt[102] = 1.000000 ()
xopt[112] = 1.000000 ()
xopt[129] = 1.000000 ()
xopt[132] = 1.000000 ()
xopt[133] = 1.000000 ()
xopt[153] = 1.000000 ()
xopt[158] = 1.000000 ()
xopt[171] = 1.000000 ()
xopt[172] = 1.000000 ()
xopt[180] = 1.000000 ()
xopt[181] = 1.000000 ()
xopt[182] = 1.000000 ()
xopt[203] = 1.000000 ()
xopt[214] = 1.000000 ()
xopt[216] = 1.000000 ()
xopt[230] = 1.000000 ()
xopt[240] = 1.000000 ()
xopt[261] = 1.000000 ()
xopt[262] = 1.000000 ()
xopt[275] = 1.000000 ()
xopt[284] = 1.000000 ()
xopt[289] = 1.000000 ()
xopt[311] = 1.000000 ()
xopt[323] = 1.000000 ()
xopt[334] = 1.000000 ()
xopt[335] = 1.000000 ()
xopt[346] = 1.000000 ()
xopt[348] = 1.000000 ()
xopt[371] = 1.000000 ()
xopt[380] = 1.000000 ()
xopt[381] = 1.000000 ()
xopt[392] = 1.000000 ()
xopt[393] = 1.000000 ()
xopt[397] = 1.000000 ()
xopt[417] = 1.000000 ()
xopt[428] = 1.000000 ()
xopt[440] = 1.000000 ()
xopt[441] = 1.000000 ()
xopt[445] = 1.000000 ()
xopt[446] = 1.000000 ()
xopt[447] = 1.000000 ()
xopt[448] = 1.000000 ()
xopt[449] = 1.000000 ()
xopt[450] = 1.000000 ()
xopt[456] = 1.000000 ()
xopt[457] = 1.000000 ()
xopt[458] = 1.000000 ()
80
xopt[459] = 1.000000 ()
xopt[460] = 1.000000 ()
xopt[461] = 1.000000 ()
xopt[474] = 1.000000 ()
xopt[475] = 1.000000 ()
xopt[476] = 1.000000 ()
xopt[477] = 1.000000 ()
xopt[478] = 1.000000 ()
xopt[487] = 1.000000 ()
xopt[488] = 1.000000 ()
xopt[489] = 1.000000 ()
xopt[490] = 1.000000 ()
xopt[491] = 1.000000 ()
xopt[495] = 1.000000 ()
xopt[496] = 1.000000 ()
xopt[497] = 1.000000 ()
xopt[498] = 1.000000 ()
xopt[499] = 1.000000 ()
xopt[504] = 1.000000 ()
xopt[505] = 1.000000 ()
xopt[506] = 1.000000 ()
xopt[517] = 1.000000 ()
xopt[518] = 1.000000 ()
xopt[537] = 1.000000 ()
xopt[538] = 1.000000 ()
xopt[540] = 1.000000 ()
xopt[541] = 1.000000 ()
xopt[542] = 1.000000 ()
xopt[563] = 1.000000 ()
xopt[574] = 1.000000 ()
xopt[576] = 1.000000 ()
xopt[588] = 1.000000 ()
xopt[601] = 1.000000 ()
xopt[619] = 1.000000 ()
xopt[620] = 1.000000 ()
xopt[635] = 1.000000 ()
xopt[638] = 1.000000 ()
xopt[650] = 1.000000 ()
xopt[660] = 1.000000 ()
xopt[675] = 1.000000 ()
xopt[691] = 1.000000 ()
xopt[692] = 1.000000 ()
xopt[697] = 1.000000 ()
xopt[719] = 1.000000 ()
xopt[722] = 1.000000 ()
xopt[742] = 1.000000 ()
xopt[751] = 1.000000 ()
xopt[766] = 1.000000 ()
xopt[775] = 1.000000 ()
81
xopt[787] = 1.000000 ()
xopt[795] = 1.000000 ()
xopt[805] = 1.000000 ()
xopt[821] = 1.000000 ()
xopt[832] = 1.000000 ()
xopt[849] = 1.000000 ()
xopt[852] = 1.000000 ()
xopt[873] = 1.000000 ()
xopt[878] = 1.000000 ()
xopt[891] = 1.000000 ()
xopt[900] = 1.000000 ()
xopt[923] = 1.000000 ()
xopt[934] = 1.000000 ()
xopt[936] = 1.000000 ()
xopt[950] = 1.000000 ()
xopt[960] = 1.000000 ()
xopt[981] = 1.000000 ()
xopt[995] = 1.000000 ()
xopt[1004] = 1.000000 ()
xopt[1009] = 1.000000 ()
xopt[1031] = 1.000000 ()
xopt[1043] = 1.000000 ()
xopt[1054] = 1.000000 ()
xopt[1066] = 1.000000 ()
xopt[1068] = 1.000000 ()
xopt[1091] = 1.000000 ()
xopt[1100] = 1.000000 ()
xopt[1112] = 1.000000 ()
xopt[1117] = 1.000000 ()
xopt[1137] = 1.000000 ()
xopt[1148] = 1.000000 ()
xopt[1160] = 1.000000 ()
xopt[1165] = 1.000000 ()
xopt[1176] = 1.000000 ()
xopt[1194] = 1.000000 ()
xopt[1207] = 1.000000 ()
xopt[1215] = 1.000000 ()
xopt[1224] = 1.000000 ()
xopt[1237] = 1.000000 ()
xopt[1257] = 1.000000 ()
xopt[1260] = 1.000000 ()
xopt[1283] = 1.000000 ()
xopt[1294] = 1.000000 ()
xopt[1296] = 1.000000 ()
xopt[1308] = 1.000000 ()
xopt[1321] = 1.000000 ()
xopt[1339] = 1.000000 ()
xopt[1355] = 1.000000 ()
xopt[1358] = 1.000000 ()
82
xopt[1370] = 1.000000 ()
xopt[1380] = 1.000000 ()
xopt[1395] = 1.000000 ()
xopt[1411] = 1.000000 ()
xopt[1417] = 1.000000 ()
xopt[1439] = 1.000000 ()
xopt[1471] = 1.000000 ()
xopt[1472] = 1.000000 ()
xopt[1487] = 1.000000 ()
xopt[1515] = 1.000000 ()
xopt[1656] = 1.000000 ()
xopt[1670] = 1.000000 ()
xopt[1702] = 1.000000 ()
xopt[1833] = 1.000000 ()
xopt[1837] = 1.000000 ()
xopt[1888] = 1.000000 ()
xopt[1890] = 1.000000 ()
xopt[2215] = 1.000000 ()
xopt[2342] = 1.000000 ()
xopt[2400] = 1.000000 ()
xopt[2421] = 1.000000 ()
xopt[2531] = 1.000000 ()
xopt[2540] = 1.000000 ()
xopt[2607] = 1.000000 ()
xopt[2761] = 1.000000 ()
xopt[2902] = 1.000000 ()
xopt[2947] = 1.000000 ()
xopt[2967] = 1.000000 ()
xopt[3060] = 1.000000 ()
xopt[3061] = 1.000000 ()
xopt[3155] = 1.000000 ()
xopt[3308] = 1.000000 ()
xopt[3321] = 1.000000 ()
xopt[3326] = 1.000000 ()
xopt[3329] = 1.000000 ()
xopt[3686] = 1.000000 ()
xopt[4017] = 1.000000 ()
xopt[4040] = 1.000000 ()
xopt[4141] = 1.000000 ()
xopt[4174] = 1.000000 ()
xopt[4176] = 1.000000 ()
xopt[4219] = 1.000000 ()
xopt[4235] = 1.000000 ()
xopt[4322] = 1.000000 ()
xopt[4353] = 1.000000 ()
xopt[4366] = 1.000000 ()
xopt[4765] = 1.000000 ()
xopt[4883] = 1.000000 ()
xopt[4908] = 1.000000 ()
83
xopt[4940] = 1.000000 ()
xopt[5125] = 1.000000 ()
xopt[5243] = 1.000000 ()
xopt[5254] = 1.000000 ()
xopt[5421] = 1.000000 ()
xopt[5432] = 1.000000 ()
xopt[5580] = 1.000000 ()
xopt[5582] = 1.000000 ()
xopt[5862] = 1.000000 ()
xopt[5889] = 1.000000 ()
xopt[6071] = 1.000000 ()
xopt[6217] = 1.000000 ()
xopt[6220] = 1.000000 ()
xopt[6221] = 1.000000 ()
xopt[6235] = 1.000000 ()
xopt[6236] = 1.000000 ()
xopt[6250] = 1.000000 ()
xopt[6398] = 1.000000 ()
xopt[6420] = 1.000000 ()
xopt[6435] = 1.000000 ()
xopt[6581] = 1.000000 ()
xopt[6613] = 1.000000 ()
xopt[6936] = 1.000000 ()
xopt[6954] = 1.000000 ()
xopt[6958] = 1.000000 ()
xopt[6968] = 1.000000 ()
xopt[6969] = 1.000000 ()
xopt[6971] = 1.000000 ()
xopt[6975] = 1.000000 ()
xopt[6976] = 1.000000 ()
xopt[6979] = 1.000000 ()
xopt[7130] = 1.000000 ()
xopt[7312] = 1.000000 ()
xopt[7332] = 1.000000 ()
xopt[7484] = 1.000000 ()
xopt[7489] = 1.000000 ()
xopt[7523] = 1.000000 ()
xopt[7658] = 1.000000 ()
xopt[7659] = 1.000000 ()
xopt[7677] = 1.000000 ()
xopt[7687] = 1.000000 ()
xopt[7697] = 1.000000 ()
xopt[7698] = 1.000000 ()
xopt[8078] = 1.000000 ()
xopt[8091] = 1.000000 ()
xopt[8092] = 1.000000 ()
xopt[8254] = 1.000000 ()
xopt[8255] = 1.000000 ()
xopt[8425] = 1.000000 ()
84
xopt[8457] = 1.000000 ()
xopt[8793] = 1.000000 ()
xopt[8986] = 1.000000 ()
xopt[9144] = 1.000000 ()
xopt[9146] = 1.000000 ()
xopt[9157] = 1.000000 ()
xopt[9331] = 1.000000 ()
xopt[9332] = 1.000000 ()
xopt[9359] = 1.000000 ()
xopt[9708] = 1.000000 ()
xopt[9878] = 1.000000 ()
xopt[9898] = 1.000000 ()
xopt[10057] = 1.000000 ()
zopt = -6.795317
zroot = -6.795317
zinit = -6.795317
appl_bounds: 0.00
appl_constraints: 0.00
appl_delconstraints: 0.00
appl_divide: 0.00
appl_exit: 0.00
appl_fathom: 0.00
appl_feasible: 0.00
appl_init: 0.00
appl_initlp: 0.00
85
appl_mps: 0.00
appl_node: 0.00
appl_preprocessing: 0.00
appl_primal: 0.00
appl_rank: 0.00
appl_terminatelp: 0.00
appl_terminatenode: 0.00
appl_variables: 0.00
*************************************
RESULTADOS DEL PROBLEMA DE MANTENIMIENTO
*************************************
X [1,*,*]
: 1 2 3 4 5 6 7 8:=
1 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0
86
3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
7 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0
8 0.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0
9 0.0 0.0 0.0 0.0 0.0 1.0 1.0 0.0
10 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
12 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0
14 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0
15 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0
: 9 10 11 12:=
2 0.0 0.0 1.0 0.0
3 1.0 1.0 0.0 0.0
4 0.0 0.0 1.0 1.0
11 0.0 1.0 0.0 0.0
13 0.0 1.0 0.0 0.0
[2,*,*]
: 1 2 3 9 10 11 12:=
1 1.0 1.0 1.0 0.0 0.0 0.0 0.0
2 0.0 0.0 0.0 0.0 0.0 0.0 1.0
3 0.0 0.0 0.0 0.0 0.0 1.0 0.0
4 1.0 0.0 0.0 0.0 0.0 0.0 0.0
5 0.0 0.0 1.0 0.0 0.0 0.0 0.0
6 1.0 0.0 0.0 0.0 0.0 0.0 0.0
7 0.0 0.0 0.0 0.0 1.0 1.0 0.0
8 0.0 0.0 0.0 0.0 0.0 0.0 1.0
9 0.0 0.0 0.0 1.0 0.0 0.0 0.0
10 0.0 1.0 0.0 0.0 0.0 0.0 0.0
11 0.0 0.0 0.0 0.0 0.0 0.0 1.0
12 0.0 0.0 0.0 0.0 0.0 0.0 1.0
13 0.0 0.0 0.0 0.0 0.0 1.0 1.0
14 0.0 0.0 0.0 0.0 0.0 1.0 0.0
15 1.0 0.0 0.0 0.0 0.0 0.0 0.0
[3,*,*]
: 1 2 3 4 5 6 7 8:=
4 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0
8 0.0 1.0 1.0 1.0 1.0 1.0 1.0 0.0
9 1.0 1.0 1.0 1.0 1.0 1.0 0.0 0.0
10 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0
11 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
12 0.0 0.0 0.0 1.0 1.0 1.0 1.0 1.0
13 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0
14 0.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0
: 9 10 11 12:=
1 0.0 0.0 0.0 1.0
2 1.0 1.0 0.0 0.0
87
3 1.0 1.0 0.0 0.0
5 0.0 1.0 0.0 0.0
6 1.0 0.0 0.0 0.0
7 1.0 1.0 0.0 0.0
10 1.0 1.0 1.0 0.0
11 1.0 1.0 1.0 1.0
15 0.0 1.0 1.0 0.0
[4,*,*]
: 1 2 3 4 8 9 11 12:=
1 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0
2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
3 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0
4 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
5 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
6 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0
7 0.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0
8 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
9 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0
10 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0
11 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
12 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0
13 0.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0
14 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0
15 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
;
C [1,*,*]
: 1 2 3 4 5 6 8 10:=
1 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0
3 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0
5 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0
6 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0
7 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0
8 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0
9 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0
10 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
11 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
12 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
13 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
14 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0
15 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0
: 11:=
88
2 1.0
4 1.0
[2,*,*]
: 1 2 3 9 10 11 12:=
1 1.0 0.0 0.0 0.0 0.0 0.0 0.0
2 0.0 0.0 0.0 0.0 0.0 0.0 1.0
3 0.0 0.0 0.0 0.0 0.0 1.0 0.0
4 1.0 0.0 0.0 0.0 0.0 0.0 0.0
5 0.0 0.0 1.0 0.0 0.0 0.0 0.0
6 1.0 0.0 0.0 0.0 0.0 0.0 0.0
7 0.0 0.0 0.0 0.0 1.0 0.0 0.0
8 0.0 0.0 0.0 0.0 0.0 0.0 1.0
9 0.0 0.0 0.0 1.0 0.0 0.0 0.0
10 0.0 1.0 0.0 0.0 0.0 0.0 0.0
11 0.0 0.0 0.0 0.0 0.0 0.0 1.0
12 0.0 0.0 0.0 0.0 0.0 0.0 1.0
13 0.0 0.0 0.0 0.0 0.0 1.0 0.0
14 0.0 0.0 0.0 0.0 0.0 1.0 0.0
15 1.0 0.0 0.0 0.0 0.0 0.0 0.0
[3,*,*]
: 1 2 4 7 8 9 10 12:=
1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
2 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0
3 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0
4 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0
5 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0
6 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0
7 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0
8 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0
9 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
10 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0
11 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
12 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0
13 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
14 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0
15 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0
[4,*,*]
: 1 2 3 4 8 11 12:=
1 1.0 0.0 0.0 0.0 0.0 0.0 0.0
2 0.0 0.0 0.0 0.0 0.0 0.0 1.0
3 0.0 0.0 0.0 0.0 0.0 1.0 0.0
4 1.0 0.0 0.0 0.0 0.0 0.0 0.0
5 1.0 0.0 0.0 0.0 0.0 0.0 0.0
6 0.0 1.0 0.0 0.0 0.0 0.0 0.0
7 0.0 0.0 0.0 0.0 1.0 0.0 0.0
8 0.0 0.0 0.0 0.0 0.0 0.0 1.0
89
9 0.0 0.0 1.0 0.0 0.0 0.0 0.0
10 0.0 0.0 1.0 0.0 0.0 0.0 0.0
11 1.0 0.0 0.0 0.0 0.0 0.0 0.0
12 0.0 0.0 0.0 1.0 0.0 0.0 0.0
13 0.0 0.0 0.0 0.0 1.0 0.0 0.0
14 0.0 1.0 0.0 0.0 0.0 0.0 0.0
15 0.0 0.0 0.0 0.0 0.0 0.0 1.0
;
O [1,1,*,*]
: 4 8 9 12:=
3 0.0 1.0 1.0 0.0
4 0.0 0.0 0.0 1.0
7 1.0 0.0 0.0 0.0
[1,2,*,*]
: 1 3 11:=
4 1.0 0.0 0.0
5 0.0 1.0 0.0
7 0.0 0.0 1.0
[1,3,*,*]
: 2 5 7 10:=
3 0.0 0.0 0.0 1.0
4 1.0 0.0 0.0 0.0
8 0.0 1.0 1.0 0.0
[1,4,*,*]
[2,1,*,*]
: 8:=
5 1.0
[2,2,*,*]
: 1 3 10:=
1 0.0 1.0 0.0
6 1.0 0.0 0.0
7 0.0 0.0 1.0
[2,3,*,*]
: 4 9 12:=
1 0.0 0.0 1.0
2 0.0 1.0 0.0
8 1.0 0.0 0.0
90
[2,4,*,*]
: 2 :=
6 1.0
[3,1,*,*]
: 4 8 11:=
2 0.0 0.0 1.0
6 0.0 1.0 0.0
8 1.0 0.0 0.0
[3,2,*,*]
: 1 2 12:=
1 1.0 1.0 0.0
8 0.0 0.0 1.0
[3,3,*,*]
: 3 6 9 10:=
6 0.0 0.0 1.0 0.0
7 0.0 0.0 0.0 1.0
8 1.0 1.0 0.0 0.0
[3,4,*,*]
[4,1,*,*]
: 3:=
8 1.0
[4,2,*,*]
[4,3,*,*]
: 9 10:=
5 0.0 1.0
7 1.0 0.0
[4,4,*,*]
: 1 2 8 11 12:=
1 0.0 1.0 0.0 0.0 0.0
3 0.0 0.0 0.0 1.0 0.0
4 1.0 0.0 0.0 0.0 0.0
7 0.0 0.0 1.0 0.0 0.0
8 0.0 0.0 0.0 0.0 1.0
[5,1,*,*]
: 3 10 11:=
1 1.0 0.0 0.0
3 0.0 1.0 0.0
4 0.0 0.0 1.0
[5,2,*,*]
[5,3,*,*]
: 2:=
91
8 1.0
[5,4,*,*]
: 1 9 12:=
2 0.0 0.0 1.0
5 1.0 0.0 0.0
7 0.0 1.0 0.0
[6,1,*,*]
: 2:=
8 1.0
[6,2,*,*]
: 11 12:=
2 0.0 1.0
3 1.0 0.0
[6,3,*,*]
: 9 10:=
2 0.0 1.0
3 1.0 0.0
[6,4,*,*]
: 1 3:=
1 1.0 1.0
[7,1,*,*]
: 7 10:=
9 1.0 0.0
11 0.0 1.0
[7,2,*,*]
: 12:=
11 1.0
[7,3,*,*]
: 2 5 6 8 9 11:=
9 1.0 1.0 1.0 0.0 0.0 0.0
10 0.0 0.0 0.0 1.0 1.0 0.0
11 0.0 0.0 0.0 0.0 0.0 1.0
[7,4,*,*]
: 1 3 4:=
9 0.0 1.0 0.0
11 1.0 0.0 0.0
12 0.0 0.0 1.0
[8,1,*,*]
92
: 2 6:=
9 0.0 1.0
12 1.0 0.0
[8,2,*,*]
[8,3,*,*]
: 1 4 5 7 8 9 10 11:=
9 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
10 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0
11 0.0 0.0 0.0 0.0 0.0 1.0 1.0 0.0
12 0.0 1.0 1.0 0.0 1.0 0.0 0.0 0.0
: 12:=
11 1.0
[8,4,*,*]
: 3:=
10 1.0
[9,1,*,*]
: 1 5:=
10 0.0 1.0
12 1.0 0.0
[9,2,*,*]
: 2 9 12:=
9 0.0 1.0 0.0
10 1.0 0.0 0.0
12 0.0 0.0 1.0
[9,3,*,*]
: 3 4 6 7 8 10:=
9 1.0 1.0 0.0 0.0 0.0 0.0
10 0.0 0.0 0.0 0.0 0.0 1.0
11 0.0 0.0 0.0 0.0 1.0 0.0
12 0.0 0.0 1.0 1.0 0.0 0.0
[9,4,*,*]
[10,1,*,*]
: 3 4 5:=
14 1.0 0.0 0.0
15 0.0 1.0 1.0
[10,2,*,*]
: 11 12:=
13 1.0 1.0
[10,3,*,*]
: 2 10:=
13 1.0 0.0
93
15 0.0 1.0
[10,4,*,*]
[11,1,*,*]
: 10:=
13 1.0
[11,2,*,*]
: 11:=
14 1.0
[11,3,*,*]
: 1 2 3:=
13 1.0 0.0 1.0
14 0.0 1.0 0.0
[11,4,*,*]
: 8 9 12:=
13 1.0 1.0 0.0
15 0.0 0.0 1.0
[12,1,*,*]
[12,2,*,*]
: 1:=
15 1.0
[12,3,*,*]
: 3 11:=
14 1.0 0.0
15 0.0 1.0
[12,4,*,*]
: 2:=
14 1.0
94
Anexo 2. Tablas de resultados del problema de mantenimiento
95
Línea de producción 2: Actividades j asignadas en el periodo t
t/j 1 2 3 9 10 11 12
1 x x X
2 x
3 x
4 x
5 X
6 x
7 x x
8 x
9 x
10 x
11 x
12 x
13 x
14 x
15 x
96
Línea de producción 4: Actividades j asignadas en el periodo t
t/j 1 2 3 4 8 9 11 12
1 X x x
2 x
3 x
4 X
5 X
6 x
7 X X
8 x
9 x
10 x
11 X
12 x
13 X X
14 x
15 x
97
Línea de producción 2: Inicio de la actividad j en el periodo t
t/j 1 2 3 9 10 11 12
1 x
2 x
3 x
4 x
5 X
6 x
7 x
8 x
9 x
10 x
11 x
12 x
13 x
14 x
15 x
98
Línea de producción 4: Inicio de la actividad j en el periodo t
t/j 1 2 3 4 8 11 12
1 x
2 x
3 x
4 x
5 x
6 x
7 x
8 x
9 X
10 X
11 x
12 x
13 x
14 x
15 x
t/j 4 8 9 12
3 X x
4 x
7 X
t/j 1 3 11
4 X
5 x
7 x
99
Operador 1, asignado a la línea de producción 4, y operador 2, asignado a la línea
de producción 1:
t/j 8
5 x
t/j 2
6 x
t/j 4 8 11
2 x
6 x
8 X
100
Operador 3, asignado a la línea de producción 3:
t/j 3 6 9 10
6 x
7 x
8 X X
101
Operador 5, asignado a la línea de producción 4:
t/j 1 9 12
2 x
5 X
7 x
102
Operador 7, asignado a la línea de producción 3:
t/j 2 5 6 8 9 11
9 x X X
10 x x
11 x
103
Operador 9, asignado a la línea de producción 2:
t/j 2 9 12
9 x
10 X
12 x
104
Operador 11, asignado a la línea de producción 3:
t/j 1 2 3
13 X x
14 x
105
Anexo 3. Características de los lenguajes de programación
AMPL's flexibility and convenience make it ideal for rapid prototyping and
development of models, while its speed and generality provide the resources
required by repeated production runs.
AMPL is one of several optimization modeling systems that are designed around
specialized algebraic modeling languages. These languages employ adaptations of
familiar mathematical notation to describe optimization problems as the
minimization or maximization of algebraic expressions in numerical decision
variables, subject to constraints expressed as equalities or inequalities between
algebraic expressions in the decision variables.
Advanced interpreters and interfaces for these languages provide support for
simplifying and analyzing models. Some also provide language extensions for
describing algorithmic schemes that attack difficult problems by alternately solving
interrelated sub problems.
AMPL provides strong support for validation, verification and reporting of optimal
solutions, through numerous alternatives for presenting data and results. AMPL's
106
extensive preprocessing routines can automatically carry out transformations that
serve to reduce problem size, convert piecewise-linearities to linear terms, and
substitute out selected variables.
MINTO
The NEOS Server offers MINTO for the solution of mixed-integer linear programs
posed in AMPL format. MINTO solves mixed-integer linear programs by a branch-
and-bound algorithm with linear programming relaxations. It also provides
automatic constraint classification, preprocessing, primal heuristics and constraint
generation. This version of MINTO uses the LP solver Clp, from the Coin-OR
project to solve the relaxations.
The user must submit a model in AMPL format to solve a mixed-integer linear
program.
Examples of models in AMPL format can be found in the netlib collection.
The model is specified by a model file, and optionally, a data file and a commands
file. If the command file is specified it must contain the AMPL solve command.
107
The commands file can contain any AMPL command or set options for MINTO by
modifying the variable 'mintoamp_options'. See the MINTO-AMPL options page to
get a listing of the various options. A few more items of note specific to the MINTO-
AMPL solver
The maximum CPU time for a job has been set to four hours
The test problems submit to NEOS can and will be harvested. Problems deemed
"interesting" are made available to the public (as MPS files) at COR@L
The Osi and Clp COIN components used in the code are compiled from the COIN
CVS tree on 8/3/05
108