Optimize Civ6 district placement for maximum adjacency bonuses. Use when given a .Civ6Map file and scenario parameters (num_cities, population, civilization). Reads map as SQLite, computes hex grid neighbors, validates placement rules, calculates adjacency bonuses per district type, and uses greedy optimization to find best layout.