Experience:
In 1995, I was fortunate to win the opportunity to enter a selective international
cooperative graduate program, in which students are given the chance to work in Mektron, one of the largest electronics corporations
in Japan. The gold plating technique of Mektron's main product Flexible Printed Circuits
(FPC) is the most advanced in the world, and their multi-layered FPC, mainly used in
compact camera, notebook and mobile phone, controls over 50% of the world market. I
studied the automatic assembly lines there, and was deeply impressed by their advanced
technology and management.
I joined a team to develop a new Management Information System (MIS) for Mektron's
Kashima factory. My duty is to devise and implement the production scheduling
algorithm, and to build and maintain part of the enterprise's production management DB
based on my scheduling module. This is no easy job: There are many different products in
the company, each of which has a highly complex and re-entrant fabrication flow with
precedence restraints between jobs, i.e., a job cannot be processed until some other jobs
(predecessors) are finished; Also, when consecutive operations on the same production line
require different molds, setup times are introduced, which, in our case, are
operation-sequence-dependent; To make things even more complex, different operations can
be processed on different subsets of assembly lines while the lines are not identical. The
scheduling objective is to improve on-time-shipment percentage and to minimize production
lead time and cost. Uncertainties in the manufacturing environment, such as unforeseen
machine breakdowns, delayed preparation of raw materials, order cancellations, rush order
arrival and increased order priorities, proposed other difficulties. This task is a real
challenge to me.
During the summer of 1995, I read over a lot of English papers and textbooks on
scheduling and resource allocation, among them are Muth, J. F. et al. (1963) Industrial
Scheduling, and French, S. (1982) Sequencing And Scheduling. They helped me
formulate and acquire a profound understanding of the problem. At the same time, I
explored many optimization methods, such as branch-and-bound method with heuristic branch
selection rule, pseudo-polynomial dynamic programming algorithm, Lagrangian relaxation
approach, GA (Genetic Algorithms) and TABU Search, trying to find the most appropriate one
to solve the problem. After many efforts and failures, I finally devised a framework,
which consists of a GA-based prescheduling module and a policies-based real-time
rescheduling module, to address those complex scheduling constraints. The framework proved
to be effective during our later implementation and is now on its way to practical use. I
have three English papers published to summarize
the work I did.
From October 1996, I began my full-time work to implement the scheduling module under
the client/server architecture. Integration of management information into the system
became yet another challenge: we had to figure out how to implement the logical database
design that works for both the senior managers and line operators, how to keep data
integrity in a distributed system, and how to share data among heterogeneous databases
(DB2 and MS SQL). Working day in and day out not only led to a phase solution, but also
provided me with up-to-date computer skills and precious experience of involvement in the
management of a manufacturing enterprise. Nearly 26,000 lines of source code in Delphi and
C++ in my module witnessed my every single step to success. I cherished this one busy year
which benefited me so much in my preparation for a career in the modern industry.