refactor(compare): realign + sort tables, add combinatorial problems
The terminal output was misaligned: headers and data were right-aligned with hardcoded column widths and separator lengths, and the mean ± std cells contained the non-ASCII `±` (plus `ε`, `↑`, `↓`) -- on any terminal that renders those at a non-1 column width the columns drift, and the hardcoded `-`.repeat(n) separators didn't match the real table width anyway. Changes: - New `print_table` helper: column widths derived from the actual cell contents (header + every row), separator length computed to match. - All table cells are now ASCII: `+/-` instead of `±`, `eps-MOEA` instead of `ε-MOEA`, arrows dropped from headers. - Every table is sorted best-first by its primary quality metric. - Added three combinatorial / sequencing problems with their own (permutation- / bitstring-native) algorithm rosters: a convex-position ring TSP (known optimum), FT06 job-shop makespan (known optimum 55), and a bi-objective 0/1 knapsack scored by hypervolume. - Expanded every problem's preamble: what it is, why it's hard, and the best-known / optimal result. - Regenerated examples/compare-results.md to match. Continuous-problem quality metrics are unchanged (bit-identical to prior snapshots); only ms columns and row order move. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in: