{'fraction_non_alphanumeric': 0.018461538461538463, 'fraction_numerical': 0.0, 'mean_word_length': 5.089887640449438, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Cost minimization and workload balancing in printed circuit board assembly

We consider an operation assignment problem arising from a Printed Circuit (PC) board assembly process. The research was inspired by applications at Hewlett-Packard Company where hundreds of types of PC boards require the insertion of thousands of types of components. The components can be inserted manually or by automated insertion machines. The machines can only hold a limited number of different component types. We investigate how to assign the boards and components to the machines and manual process so as to minimize cost while at the same time balancing machine workloads. We first present a Binary Integer Program (BIP) formulation of the problem. We then develop optimality results that allow us to reduce significantly the size of the BIP. Using the improved BIP formulation, and upper bounds generated using a Cost Minimizing Workload Balancing (CMWB) heuristic that we develop, we show how branch-and-bound can be used to find optimal solutions to small and medium-sized problems in reasonable time. We also show that the CMWB heuristic finds solutions in seconds of CPU time that are within a few percent of optimal. In addition, the CMWB heuristic outperforms the heuristic that has been used at Hewlett-Packard, as well as the longest expected processing time heuristic. Although this paper specifically addresses a problem of partially-automated PC board assembly, the results apply to a more general set of problems, including job and tool assignment in flexible manufacturing systems, and general operation assignment problems.