Formulation Schema

Methods in the Formulation API use the formulation schema.

Schemas are used to validate JSON-style API inputs. You can use them as an additional guide for composing those inputs.

This page discusses:

Constraint Schema

{
    "$id": "http://www.3ds.com/schemas/Formulation/constraint.json",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "Constraint",
    "type": "object",
    "info": {
        "description": "JSON schema for constraint object.",
        "version": "1.0",
        "title": "Constraint JSON"
    },
    "additionalProperties":false,
    "properties":{
        "parameterID":{
            "type":"string"
        },
        "type":{
            "type":"string"
        },
        "boundValue":{
            "type":"number"
        },
        "range":{
        	"type":"array",
        	"items":{
        	    "type":"number"
        	},
        	"minItems":2,
        	"maxItems":2
        }
    },
    "oneOf":[
        {
            "properties":{"type":{"enum":["LESS_THAN","GREATER_THAN"]}},
            "required":["boundValue"]
        },
        {
            "properties":{"type":{"enum":["IN_RANGE"]}},
            "required":["range"]
        }
    ],
    "required":["parameterID","type"]
}

Objective Schema

{
    "$id": "http://www.3ds.com/schemas/Formulation/constraint.json",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "Constraint",
    "type": "object",
    "info": {
        "description": "JSON schema for constraint object.",
        "version": "1.0",
        "title": "Constraint JSON"
    },
    "additionalProperties":false,
    "properties":{
        "parameterID":{
            "type":"string"
        },
        "type":{
            "type":"string"
        },
        "value":{
            "type":"number"
        },
        "rank":{
        	"type":"number"
        }
    },
    "required":["parameterID","type"]
}

Formulation Schema

{
    "$id": "http://www.3ds.com/schemas/Formulation/constraint.json",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "Constraint",
    "type": "object",
    "info": {
        "description": "JSON schema for constraint object.",
        "version": "1.0",
        "title": "Constraint JSON"
    },
    "additionalProperties":false,
    "properties":{
        "objectives":{
            "type":"array",
            "items":{"$ref":"http://www.3ds.com/schemas/Formulation/objective.json"}
        },
        "constraints":{
            "type":"array",
            "items":{"$ref":"http://www.3ds.com/schemas/Formulation/constraint.json"}
        },
        "uncertainties":{
            "type":"array"
        }
    },
    "required":["parameterID","type"]
}
This schema references the following schema: