Polyhedron
Professional Modeling & Optimization Framework
Polyhedron is RhineQC’s modeling system for enterprise optimization. We translate real-world operations into reusable domain models and compile them into MIQP, MILP, and QUBO formulations for efficient solving.
Framework Highlights
A modeling-first API with temporal and spatial layers, solver compilation, and a pluggable intelligence layer for heuristics and warm starts.
Modeling-First API
Define domain objects and constraints once and compile to multiple solver backends.
Temporal & Scheduling
Built-in scheduling primitives for time-indexed models and operational planning.
Spatial Intelligence
Distance matrices and location layers for logistics, routing, and network design.
Core vs Pro
Polyhedron core provides modeling primitives and solver compilation. Pro adds QUBO conversion, domain constraints, and specialized accelerators.
Core (Open Source)
- Modeling primitives and solver compilation
- Temporal & spatial layers
- Intelligence hooks for heuristics and warm starts
- Data adapters for Pandas/Polars/SQL
Pro (Commercial)
- QUBO conversion pipeline with per-constraint penalties
- Domain-specific constraints and heuristics
- Vertical accelerators (e.g., unit commitment)
- Integration support for production deployments
Modeling Workflow
From domain models to solver-ready formulations with transparent validation and reporting.
Define
Build domain elements, constraints, and objectives in Polyhedron.
Compile
Generate MIQP, MILP, or QUBO formulations with consistent semantics.
Solve
Run across classical or hybrid solver backends with monitoring.
Integrate
Deploy results via APIs and operational workflows.
Polyhedron in Practice
Polyhedron stands out for its ability to create domain models of diverse systems using convenient classes that handle spatial and temporal relationships. These models can then be optimized and solved across multiple backends, including classical MILP/MIQP solvers and quantum computers.
Below are short examples demonstrating how to build models, add constraints, and compile solver-ready formulations.
Define elements, variables, and objectives
Domain Model Example
Create reusable domain classes that represent real-world entities with their variables and objective contributions.
from polyhedron.core.model import Model
from polyhedron.modeling.element import Element
class Plant(Element):
production = Model.IntegerVar(min=0, max=10)
def objective_contribution(self):
return self.production
model = Model("demo")
model.add_element(Plant("p1"))Use Cases
We model high-impact enterprise systems where optimization delivers measurable performance improvements.
Logistics & Routing
Fleet routing, hub assignment, and last-mile scheduling.
Power Grid Operations
Unit commitment, redispatch, and grid balancing.
Manufacturing Planning
Production scheduling, capacity planning, and sequencing.
Supply Chain Design
Network design, inventory positioning, and replenishment.
Process Optimization
Batch processes, flow optimization, and resource utilization.
Portfolio Optimization
Risk-aware selection with constraints and scenarios.
Ready to model your enterprise system?
Tell us about your operations and we will propose a Polyhedron-based modeling and optimization plan.