Skip to content

Pablo-gitub/optees

Repository files navigation

Optees

Optees application icon

Model, solve, and understand optimization problems locally.
An open-source desktop workbench for operations research and educational machine learning.

Latest release Apache 2.0 license Python 3.12 or later Runs locally

Website · Download desktop builds · Roadmap · Algorithms

Optees turns mathematical models into an inspectable desktop workflow. Build a model in a guided interface, solve it locally with an appropriate engine, then read an explanation of the result instead of receiving only a number. It is for students learning the methods and for practitioners who need transparent, reproducible optimization tools without sending data to a cloud service.

Why Optees

  • Local and private: formulations, datasets, and solver runs stay on the machine. The Modeling Assistant is rule-based and sends no prompt outside the app.
  • Educational by design: examples, mathematical explanations, result contracts, diagnostics, and visualizations make assumptions visible.
  • Honest result views: an LP optimum, a feasible MILP incumbent, an NLP local numerical candidate, and a predictive ML fit are deliberately not presented as the same kind of guarantee.
  • Structured workflows: use the formulation screens or import versioned JSON rather than maintaining ad-hoc scripts for every small model.
  • English and Italian: the application, its explanations, and its local assistant support both languages.

See It In Action

Optees Home screen with algorithm families

Choose a workflow from Linear Optimization, Nonlinear Programming, Graph Theory, or AI & Machine Learning.

LP solution analysis Binary classification diagnostics
LP solution view with objective, optimal ranges, and feasible region Binary classification result with metrics and confusion matrix
Inspect objective behaviour, alternative-optimum ranges, and the feasible region. Inspect held-out metrics, class errors, probabilities, and a two-dimensional decision boundary.

More real application screens and platform downloads are available on the Optees website.

Available Workflows

Family What Optees provides
Linear Programming (LP) Continuous LP through SciPy/HiGHS, feasibility and status reporting, optimal-solution ranges when multiple optima exist, JSON import, and 2D/3D educational views where applicable.
Mixed-Integer Linear Programming (MILP) Continuous, integer, and binary variables through OR-Tools, solver controls, and educational formulation/result views.
Knapsack 0/1, Bounded, Unbounded, Fractional, and Multi-dimensional variants with capacity and item visualizations.
Continuous Nonlinear Programming (NLP) Safe scalar expressions, optional box bounds, BFGS/Nelder-Mead/L-BFGS-B, objective plots, and a clear local-candidate contract.
Graph Theory Dijkstra shortest paths on directed or undirected graphs with finite, non-negative weights, route reconstruction, and graph visualization.
Linear Regression Local OLS and Ridge regression for numeric tables, deterministic train/test splits, residuals, metrics, and a one-feature fit chart.
Binary Classification Local logistic regression for two labels, stratified held-out evaluation, accuracy/precision/recall/F1, confusion matrices, probabilities, and an optional 2D decision boundary.
Modeling Assistant English/Italian local rule-based recommendations for solver families. It drafts validated LP, MILP, Knapsack, Regression, and Binary Classification JSON only from explicit structured data; it never invents observations from prose.

Download And Run

Prebuilt desktop packages for macOS Apple Silicon, Windows x64, and Linux x86_64 are published on GitHub Releases. Each release includes SHA256SUMS for verification.

On macOS, current packages are ad-hoc signed because the project does not use an Apple Developer ID. Gatekeeper may require you to explicitly open the app after download. See the release procedure for the precise installation, verification, signing, and tag workflow.

Run From Source

Optees requires Python 3.12 or later.

git clone https://github.com/Pablo-gitub/optees.git
cd optees
conda create -n optees python=3.12
conda activate optees
python -m pip install -e ".[plot]" pytest pytest-qt
python -m optees.main

Run the complete test suite from a source checkout:

PYTHONPATH=src python -m pytest -q

Reliability And Scope

The project keeps executable tests and reference data close to each solver family. LP uses LPnetlib; MILP uses a bounded MIPLIB subset; Knapsack uses Burkardt and OR-Library cases; NLP, regression, classification, and graph workflows use documented analytic or deterministic reference cases. The full source and provenance are described in Datasets and the test strategy in Testing.

Optees is an educational and decision-support tool, not a guarantee that every model is suitable for a consequential real-world decision. In particular:

  • NLP returns a local numerical candidate unless a stronger guarantee is explicitly stated.
  • Heuristic, global-optimization, clustering, and broader graph workflows are planned rather than advertised as available.
  • Regression and classification describe fitted predictive relationships; they do not establish causality, fairness, or future performance.

Documentation

License

Optees is released under the Apache License 2.0.

About

Optees is an open-source desktop toolkit for optimization: LP (SciPy/HiGHS), MILP (OR-Tools CP-SAT), and 0/1 knapsack. Clean Architecture, TDD, dataset adapters (LPnetlib, MIPLIB, Burkardt). Minimal APIs, extensible and testable.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors