Objective Schema
This document describes the Objective object schema returned by the globalMOO API.
Structure
{
"id": 321, // Unique identifier
"createdAt": "2025-01-31T10:00:00.000Z", // Creation timestamp
"updatedAt": "2025-01-31T10:00:00.000Z", // Last update timestamp
"disabledAt": null, // Optional disable timestamp
"optimalInverse": { // Optional reference to the optimal inverse solution
"id": 456,
// ... other inverse properties
},
"attemptCount": 10, // Number of optimization attempts
"stopReason": 1, // Reason optimization stopped (enum)
"desiredL1Norm": 0.05, // Desired L1 norm for optimization
"objectives": [1500000, 850000], // Target objective values
"objectiveTypes": ["maximize", "minimize"], // Type of each objective
"minimumBounds": [1000000, 700000], // Minimum bounds for each objective
"maximumBounds": [2000000, 1000000], // Maximum bounds for each objective
"inverses": [ // Array of inverse optimization steps
{
"id": 789,
// ... other inverse properties
}
]
}Fields
id
integer
Unique identifier for the objective
createdAt
string (ISO 8601)
Timestamp when the objective was created
updatedAt
string (ISO 8601)
Timestamp when the objective was last updated
disabledAt
string (ISO 8601) or null
Timestamp when the objective was disabled, null if active
optimalInverse
object or null
Reference to the optimal inverse solution, null if not found
attemptCount
integer
Number of optimization attempts made
stopReason
integer
Enum indicating why optimization stopped (0=Running, 1=Satisfied, 2=Stopped, 3=Exhausted)
desiredL1Norm
number
Desired L1 norm for the optimization process
objectives
array of numbers
Target values for each objective
objectiveTypes
array of strings
Type of each objective (exact, percent, value, lessthan, etc.)
minimumBounds
array of numbers
Minimum acceptable values for each objective
maximumBounds
array of numbers
Maximum acceptable values for each objective
Stop Reason Values
0
RUNNING
Optimization is still running or being evaluated
1
SATISFIED
Optimization found a satisfactory input and output
2
STOPPED
Optimization stopped due to duplicate suggested inputs
3
EXHAUSTED
Optimization exhausted all attempts to converge
Objective Types
exact
Objective must be exactly the target value
percent
Objective is specified as a percentage
value
Objective is specified as an absolute value
lessthan
Objective must be less than the target value
lessthan_equal
Objective must be less than or equal to the target value
greaterthan
Objective must be greater than the target value
greaterthan_equal
Objective must be greater than or equal to the target value
minimize
Objective should be minimized
maximize
Objective should be maximized
SDK Representations
JavaScript SDK
In the JavaScript SDK, the Objective object uses snake_case naming for fields, translating from the API's camelCase:
Python SDK
The Python SDK also uses snake_case naming and converts timestamps to datetime objects:
PHP SDK
The PHP SDK maintains camelCase naming to match the API and converts timestamps to DateTimeImmutable objects:
Examples
Optimization in Progress
Completed Optimization
Related Endpoints
Last updated