Skip to content

The Coek Project - Performant optimization modeling environments

License

Notifications You must be signed in to change notification settings

sandialabs/coek

Repository files navigation

Github Actions Status

The Coek Project

Overview

The goal of the Coek project is to develop performant optimization modeling capabilities in both C++ and Python. This is a monorepo that contains the C++ Coek library, along with related C++ and Python libraries that support fast interfaces to large, complex optimization applications. Although the existing APIs for Coek and other libraries are stable, these capabilities are expected to evolve significantly in response to targetted experiments that demonstrate new strategies for performant optimization modeling.

Installation

See the Online Documentation.

Libraries

Coek: A fast C++ library that supports the definition of expressions used to formulate and solve optimization problems.

pycoek: A library of Python bindings for Coek.

Poek: A performant Python library that supports the definition of expressions used to formulate and solve optimization problems.

pyomo_coek: Pyomo hybrids that leverage Coek to accelerate common operations.

Test Utilities

aml_comparisons: Performance tests for Coek, Poek and related optimization modeling environments.

Applications

demos: Demonstrations that illustrate Coek capabilities.