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.

Back to Home

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.

Step 1

Define

Build domain elements, constraints, and objectives in Polyhedron.

Step 2

Compile

Generate MIQP, MILP, or QUBO formulations with consistent semantics.

Step 3

Solve

Run across classical or hybrid solver backends with monitoring.

Step 4

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.

Solver-ready MIQP/MILP/QUBO compilation
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.