Getting started#

Cross-layer

Learn what you need to start using saealib and how to run a simple optimization.

Start with the basics#

Start here for installation and a simple implementation.

What is saealib?

Learn saealib’s purpose and overall structure.

What is saealib?
Installation

Install saealib in your environment.

Installation
Quickstart

Run your first optimization.

Quickstart

Choose how to use saealib#

saealib offers four ways to work, depending on how much of the configuration you assemble yourself.

Layer

Usage

First step

Layer 1: Use

Run an optimization with the defaults. Define a problem and pass it to minimize() or maximize().

Quickstart, Tutorials

Layer 2: Compose

Choose built-in components and combine them with Optimizer. Reproduce algorithms from the literature.

Optimization components, Algorithms

Layer 3: Extend Components

Replace an existing responsibility with a custom implementation by subclassing an abstract base.

Implement a custom component

Layer 4: Extend Framework

Extend the meaning of contracts, graphs, compilers, and execution itself.

Framework extensions

Start at Layer 1 and move down the layers when the defaults no longer cover your needs. To choose a layer by the part you want to change, see Choosing an extension point.