Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: partcleda/intern_challenge
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: partcleda/intern_challenge
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: solution/placement-optimization
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 3 commits
  • 2 files changed
  • 2 contributors

Commits on Jan 27, 2026

  1. Implement overlap_repulsion_loss with advanced optimization

    Implementation details:
    - Vectorized overlap detection using ReLU-based pairwise calculation
    - log(1+x^2) penalty function for numerical stability and strong gradients
    - Adaptive lambda scaling (1x to 5x over training) to escape local minima
    - Cosine annealing learning rate scheduler
    - Early stopping when all overlaps eliminated
    - Increased to 5000 epochs with lr=0.1 for better convergence
    
    Results on tests 1-9:
    - Average Overlap: 0.0135 (1.35%)
    - Average Wirelength: 0.5424
    - 5/9 tests passed (0.0000 overlap)
    - Runtime: 520s (~9 minutes)
    
    Note: Tests 10-12 (2k-100k cells) require spatial data structures
    for O(N^2) to scale. Current pairwise approach is computationally
    infeasible for designs >1000 cells.
    
    Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
    willpartcl and claude committed Jan 27, 2026
    Configuration menu
    Copy the full SHA
    e95b6d3 View commit details
    Browse the repository at this point in the history
  2. Add auto-scaling epochs based on problem size

    - Small designs (<50 cells): 5000 epochs
    - Medium designs (50-150 cells): 3000 epochs
    - Large designs (150-500 cells): 2000 epochs
    - Very large (500-2000 cells): 1000 epochs
    - Huge (>2000 cells): 500 epochs
    
    This makes runtime more reasonable for large designs, though
    O(N²) pairwise approach still struggles with 1000+ cells.
    
    Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
    willpartcl and claude committed Jan 27, 2026
    Configuration menu
    Copy the full SHA
    012c31f View commit details
    Browse the repository at this point in the history
  3. Update leaderboard with results

    Tests 1-9 results:
    - Average Overlap: 0.0135 (1.35%)
    - Average Wirelength: 0.5424
    - Runtime: 520s
    - 5/9 tests with 0.0000 overlap
    
    Tests 10-12 (2k-100k cells) not included due to O(N²)
    computational complexity. Requires spatial data structures
    for production-scale optimization.
    
    Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
    willpartcl and claude committed Jan 27, 2026
    Configuration menu
    Copy the full SHA
    dcf641e View commit details
    Browse the repository at this point in the history
Loading