solve_semester_schedule
Generate conflict-free semester schedules from course codes and term. Optimizes for time, days off, and campus preferences, returning up to 3 options with penalty scores.
Instructions
Given a list of course_strings and a term, return up to k (default 3) conflict-free section schedules using CP-SAT optimization. preferences may include earliest_start (minutes from midnight, e.g. 600=10am), latest_end, days_off (list of day strings like ['F']), campus_preference (e.g. 'BUSCH'). Returns schedules with section assignments, a human-readable summary, and penalty_score (lower=better). Always surface caveats[] to the user. Use get_sections first to confirm sections exist for the term.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| k | No | ||
| term | Yes | ||
| preferences | No | ||
| course_strings | Yes |