Configuration

Verteego facilitates powerful optimization under various constraints, supporting a range of optimization types and constraint models. The configuration process is structured into clear steps, detailed below, to guide you through setting up and executing an optimization pipeline.

Overall Operation

The optimization process involves three key steps:

  1. Choosing the Variable to Optimize:

    • Identify the specific variable that needs optimization. Each variable is uniquely identified, often by a multi-dimensional key. For example, pricing might be indexed by category, rate, and duration.

  2. Generating an Input File:

    • Construct an input file where each line represents a potential optimization scenario, complete with constraint values. This file is crucial as it defines the "optimization space." Use a configuration file to preprocess and compute all necessary values for the optimization.

  3. Solving the Problem:

    • Define a comprehensive set of constraints using data from the preprocessed input file and decide on the objective to optimize. The solution process involves applying these constraints to find the optimal configuration.

Example configuration

Here a price is indexed by a category, a rate and a duration.

variables:
- name: price
variable_types: int
variable_keys:
- category
- rate
- duration

Objective

The objective defines what Verteego aims to optimize, represented as a real number indicating a global business indicator, such as total revenue or costs. Verteego supports various methods to compute this objective:

  • Direct sum of values from a given column.

  • Weighted sum where one column serves as a weight and another as the value.

You can choose to either maximize or minimize this objective based on your business needs.

  • Objective Configuration Example:

objective_method: max
weighted_objective_columns:
- price

Constraints

Verteego supports diverse types of constraints to fine-tune the optimization process:

Unary Constraint

Applies a single condition to a variable.

Binary Constraint

Involves conditions between two variables.

Aggregation Constraint

Conditions applied on aggregated data.

Order Constraint

Ensures a specific order among variables.

Multiplicative Equality Constraint

Equality condition involving products of variables.

Generate constraints from a Dataset

Additionally, Verteego offers the capability to dynamically generate constraints from datasets, enhancing the adaptability of the optimization to real-world data and scenarios.

Last updated