Inspiration

Shipbuilding is a massive optimization problem. Each structural block must be assigned to a bay, placed without collisions, processed on time, and removed without violating crane movement constraints. The challenge is not just packing blocks — it is deciding where, when, and how every block should move through a limited shipyard workspace.

BlockForge Optimizer was built for the OGC 2026 Grand Shipyard Puzzle: Pack the Block, Beat the Clock.

What it does

BlockForge Optimizer is a competition-safe solver for shipyard block packing and scheduling. It assigns each block to a bay, position, orientation, entry time, and exit time while minimizing tardiness, workload imbalance, and bay preference penalties.

The solver focuses on one thing first: always returning a feasible solution. From there, it improves schedule quality through objective-aware construction, safer fallback scheduling, local search, and bounded large-neighborhood search.

How we built it

I built BlockForge in Python using the official OGC 2026 baseline package and feasibility checker. The solver evolved through multiple protected versions:

  • V1 established a safe, feasible baseline.
  • V2 improved score quality while preserving safety.
  • V3 explored future tuning ideas without replacing the current best version.

The current solver uses a safety-first architecture with time guards, fallback scheduling, multi-start greedy construction, objective-aware bay selection, relocation search, and feasibility validation before accepting improvements.

Challenges I ran into

The hardest part was balancing aggressive optimization with feasibility. Some placements looked strong at first but failed crane path constraints. I had to redesign the solver around safer placement behavior and official feasibility checks.

Another major challenge was preventing timeouts on larger instances. I added strict time guards and fallback logic so the solver returns safely instead of hanging.

Accomplishments that I'm proud of

I built a solver that is packaged, smoke-tested, version-controlled, and competition-safe. It consistently returns feasible solutions on synthetic benchmarks and significantly improves over the first safe baseline on medium and large cases.

I’m also proud of the engineering workflow: protected backups, repeatable tests, submission checklists, and a runbook for future official training-instance tuning.

What I learned

I learned that optimization competitions are not just about clever algorithms. Reliability, feasibility, time limits, and reproducibility matter just as much. A risky solution that sometimes fails is worse than a robust solver that always returns valid output.

What's next

Once official training instances are released, the next step is tuning BlockForge against real problem data. Future improvements include stronger instance profiling, better placement candidate generation, more adaptive search budgets, and leaderboard-driven refinements.

Built With

Share this project:

Updates

Submission history