Summarize the downstream problem context for a search algorithm designer.

Provide a concise summary (under 100 words) covering:
- [Read ## Problem Description] What problem is being solved. Be accurate and detailed; describe the problem in a way that is easy to understand at a high level.
- [Read ## Problem Evaluator] How solutions are evaluated/scored

INSTRUCTIONS FOR SCORING FORMULA:
1. Find the FINAL return statement in the evaluate() function - this is the ONLY source of truth for metric names.
2. Trace how `combined_score` is calculated using ONLY the metric names that appear as KEYS in that final return dict.
3. DO NOT expose internal/intermediate variable names (e.g., internal variable names within the function) that don't appear in the return statement.
4. In your answer, highlight the metric names in the return statement by ``

OUTPUT FORMAT:
**Task:** <one sentence: what the solution must optimize>

**Scoring:** combined_score = <formula with weights and metric names>

**Goal:** Maximize `combined_score`