Minimizer Plugins

A plugin that can evaluate an objective function used inside an optimization context.

Required Tags:

Tag

Description

minimizer

The identifying tag for plugins implementing this interface.

Optional Tags:

Tag

Description

gradient

If present, the plugin can use gradients some objective functions supply during minimization.

Interface

Main Interaction

Both, the micro frontend and the processing endpoint accept a callback paramater in the query string of the URL. This parameter contains a webhook that will be automatically subscribed to all task updates (especially updates to task status and steps).

The main interaction is otherwise completely up to the objective function plugin. However, the plugin must expose certain steps and task specific links in later parts of the interaction.

Inputs

Initial inputs are up to the plugin.

Outputs

The minimizer must output the final weights of the minimization process.

  • weights.json / weights.csv
    The weights must be of the type entity/vector.

Substeps

1. optional plugin-specific steps

The plugin can expose additional steps for initializing parameters etc.

2. "minimize" required

After the initial interaction the plugin must expose a step with id minimize.

The step has 1 required input:

  • Objective Function (parameter: objectiveFunction):
    The objective function is provided in the form of a URL pointing to an objective function task that is in the evaluate step.

Additionally, the step has one optional input:

  • Initial Weight (parameter initialWeights):
    The data input must have the data-type entity/vector.

    A single entity with numeric data attached that represent the initial weights. All weights must be between 0 and 1!

    The plugin must always allow this input, but callers of this plugin may not always provide a value for this input.

3. optional plugin-specific steps

The plugin can expose additional steps.

Interaction Endpoints

None