{'fraction_non_alphanumeric': 0.01903973509933775, 'fraction_numerical': 0.0, 'mean_word_length': 5.296875, '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}}
Penalty Cuts for GUB-Constrained Mixed Integer Programs

Penalty cuts provide a new class of cutting planes for GUB-constrained (and ordinary) mixed integer programs, which are easy to generate by exploiting standard penalty calculations employed in branch-and-bound. The Penalty cuts are created by reference to a selected GUB set and a foundation hyperplane that is typically dual feasible relative to a current linear programming basis. As a special case, the GUB restrictions translate into related disjunctions that provide cutting planes for ordinary MIP problems. At the simplest level these yield the classical Gomory mixed-integer cuts, and at higher levels yield deeper cuts. In general, the strength of the cuts can be varied according to the tradeoffs between the strengths of alternative penalty calculations and the effort required to apply them, according to interactions between the foundation hyperplanes and the branching disjunctions that underlie the penalties. By this means, Penalty cuts are especially convenient to use in branch-and-cut procedures, where penalty calculations are employed as a matter of course, and afford new strategies for generating cutting planes in this setting.