Inverse Optimization Endpoints

Inverse solution and/or optimization in globalMOO allows you to find input parameters that produce desired output values. This is particularly useful when you have target outputs and need to determine the inputs that would achieve those targets.

Available Endpoints

Inverse Solution/Optimization Process

  1. Initialize the inverse solution/optimization with:

    • Target objectives and their types

    • Initial input/output values

    • Desired L1 norm for exact objectives

    • Bounds for percent/value objectives

    • Optional convergence parameters

  2. Iterative optimization:

    • Get suggested input values

    • Run your simulation/model with these inputs

    • Load the resulting outputs

    • Repeat until convergence or maximum iterations

Stop Conditions

The inverse solution/optimization process can end in several ways, indicated by the stopReason field:

  1. Running (0) - Process is still running or being evaluated

  2. Satisfied (1) - Found a satisfactory solution meeting all objectives

  3. Stopped (2) - Stopped due to duplicate suggested inputs

  4. Exhausted (3) - Exhausted all attempts to converge

Results

Each inverse step includes a results array containing objective satisfaction details:

{
    "id": 1,
    "number": 0,
    "objective": 1.0,
    "objectiveType": "exact",
    "minimumBound": 0.0,
    "maximumBound": 0.0,
    "output": 0.98,
    "error": 0.02,
    "detail": "Error explanation",
    "satisfied": true
}

Performance Metrics

Inverse steps track performance metrics:

  • suggestTime - Time taken to generate suggestion (microseconds)

  • computeTime - Time taken to evaluate outputs (microseconds)

  • l1Norm - Current L1 norm error value

Common Use Cases

  1. Finding input parameters to achieve specific output targets

  2. Calibrating models to match experimental data

  3. Reverse engineering desired system behavior

  4. Parameter estimation from observations

Last updated