API-Based Optimization Services

RESTful services wrapping optimization solvers for integration into operational workflows.

Optimization models are most valuable when they are embedded into the systems that people actually use. This project designs and implements lightweight RESTful services that wrap optimization solvers behind a clean API.

Each service follows a consistent pattern:

  1. Accept a problem description — JSON payload specifying the instance data (jobs, machines, time windows, etc.).
  2. Solve — invoke a CP, MILP, or heuristic solver depending on the problem class and size.
  3. Return a solution — structured JSON response with the schedule, assignments, or resource allocations.

Technologies used:

  • Python / FastAPI for the service layer.
  • OR-Tools, MiniZinc (via Dzn), or custom heuristics depending on the problem.
  • Redis for caching repeated or similar queries.
  • Docker for deployment.

The emphasis is on reliability and observability: each endpoint logs solve times, solution quality, and any infeasibility conditions. Clients receive clear error messages when a problem is over-constrained or the data is malformed.

This approach allows optimization capabilities to be integrated into existing ERP, MES, or planning tools without requiring those systems to embed solvers directly.