YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
Scheduling Optimizer API
REST API and optional web UI for task/resource scheduling. The backend uses OR-Tools (CP-SAT) to compute an optimal or near-optimal schedule; the API accepts task and resource definitions and returns the schedule.
Overview
Designed for integration into planning tools: send a JSON payload with tasks (durations, dependencies, resources) and get back start times and assignments. A simple Streamlit or Gradio frontend is provided for manual try-out.
Usage
API:
pip install -r requirements.txt
uvicorn main:app --reload --host 0.0.0.0 --port 8000
Endpoints:
POST /scheduleโ body:{ "tasks": [ {"id": "A", "duration": 2}, {"id": "B", "duration": 1} ], "horizon": 10000 }(horizon optional); response:{ "schedule": [...], "makespan": N }.GET /healthโ health check.
UI (optional):
streamlit run app_ui.py
Files
solver.pyโsolve_single_machine(tasks)using OR-Tools CP-SAT (interval variables, NoOverlap, minimize makespan).main.pyโ FastAPI app:POST /schedule,GET /health.app_ui.pyโ Streamlit UI; expects the API athttp://localhost:8000(or setSCHEDULER_API_URL).
Limitations / future work
- Single objective (makespan); could add due dates, priorities, or multi-resource skills.
- Optional: Dockerfile for containerized deployment.
Author
Alireza Aminzadeh
- Email: alireza.aminzadeh@hotmail.com
- Hugging Face: syeedalireza
- LinkedIn: alirezaaminzadeh
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐ Ask for provider support