surrogate_based_local

pydantic model dakota.spec.method.surrogate_based_local.SurrogateBasedLocalSelection

Generated model for SurrogateBasedLocalSelection

Show JSON schema
{
   "title": "SurrogateBasedLocalSelection",
   "description": "Generated model for SurrogateBasedLocalSelection",
   "type": "object",
   "properties": {
      "surrogate_based_local": {
         "$ref": "#/$defs/SurrogateBasedLocalConfig",
         "x-materialization": [
            {
               "ir_key": "method.algorithm",
               "ir_value_type": "unsigned short",
               "storage_type": "PRESENCE_ENUM",
               "stored_value": "SURROGATE_BASED_LOCAL"
            }
         ]
      }
   },
   "$defs": {
      "AdaptivePenaltyMerit": {
         "additionalProperties": false,
         "description": "Use adaptive penalty merit function",
         "properties": {
            "adaptive_penalty_merit": {
               "const": true,
               "default": true,
               "description": "Use adaptive penalty merit function",
               "title": "Adaptive Penalty Merit",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.merit_function",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "ADAPTIVE_PENALTY_MERIT"
                  }
               ]
            }
         },
         "title": "AdaptivePenaltyMerit",
         "type": "object"
      },
      "ApproxSubproblem": {
         "additionalProperties": false,
         "description": "Identify functions to be included in surrogate merit function",
         "properties": {
            "objective_formulation": {
               "anchor": true,
               "anyOf": [
                  {
                     "$ref": "#/$defs/OriginalPrimary"
                  },
                  {
                     "$ref": "#/$defs/SingleObjective"
                  },
                  {
                     "$ref": "#/$defs/AugmentedLagrangianObjective"
                  },
                  {
                     "$ref": "#/$defs/LagrangianObjective"
                  }
               ],
               "description": "Objective Formulation",
               "title": "Objective Formulation",
               "x-union-pattern": 4
            },
            "constraint_formulation": {
               "anchor": true,
               "anyOf": [
                  {
                     "$ref": "#/$defs/OriginalConstraints"
                  },
                  {
                     "$ref": "#/$defs/LinearizedConstraints"
                  },
                  {
                     "$ref": "#/$defs/NoConstraints"
                  }
               ],
               "description": "Constraint Formulation",
               "title": "Constraint Formulation",
               "x-union-pattern": 4
            }
         },
         "required": [
            "objective_formulation",
            "constraint_formulation"
         ],
         "title": "ApproxSubproblem",
         "type": "object"
      },
      "AugmentedLagrangianMerit": {
         "additionalProperties": false,
         "description": "Use combined penalty and zeroth-order Lagrangian merit function",
         "properties": {
            "augmented_lagrangian_merit": {
               "const": true,
               "default": true,
               "description": "Use combined penalty and zeroth-order Lagrangian merit function",
               "title": "Augmented Lagrangian Merit",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.merit_function",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "AUGMENTED_LAGRANGIAN_MERIT"
                  }
               ]
            }
         },
         "title": "AugmentedLagrangianMerit",
         "type": "object"
      },
      "AugmentedLagrangianObjective": {
         "additionalProperties": false,
         "description": "Augmented Lagrangian approximate subproblem formulation",
         "properties": {
            "augmented_lagrangian_objective": {
               "const": true,
               "default": true,
               "description": "Augmented Lagrangian approximate subproblem formulation",
               "title": "Augmented Lagrangian Objective",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_objective",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "AUGMENTED_LAGRANGIAN_OBJECTIVE"
                  }
               ]
            }
         },
         "title": "AugmentedLagrangianObjective",
         "type": "object"
      },
      "ConstraintRelax": {
         "additionalProperties": false,
         "description": "Enable constraint relaxation",
         "properties": {
            "homotopy": {
               "const": true,
               "description": "Surrogate-Based local constraint relaxation method for infeasible iterates",
               "title": "Homotopy",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.constraint_relax",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "HOMOTOPY"
                  }
               ]
            }
         },
         "required": [
            "homotopy"
         ],
         "title": "ConstraintRelax",
         "type": "object"
      },
      "Debug": {
         "additionalProperties": false,
         "description": "Level 5 of 5 - maximum",
         "properties": {
            "debug": {
               "const": true,
               "default": true,
               "description": "Level 5 of 5 - maximum",
               "title": "Debug",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.output",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "DEBUG_OUTPUT"
                  }
               ]
            }
         },
         "title": "Debug",
         "type": "object"
      },
      "DefaultTrustRegionContext1TrustRegion": {
         "additionalProperties": false,
         "description": "Specification group for trust region model management",
         "properties": {
            "initial_size": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Trust region initial size (relative to bounds)",
               "title": "Initial Size",
               "x-materialization": [
                  {
                     "ir_key": "method.trust_region.initial_size",
                     "ir_value_type": "RealVector",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            },
            "minimum_size": {
               "default": 1e-06,
               "description": "Trust region minimum size",
               "title": "Minimum Size",
               "type": "number",
               "x-materialization": [
                  {
                     "ir_key": "method.trust_region.minimum_size",
                     "ir_value_type": "Real",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            },
            "contract_threshold": {
               "default": 0.25,
               "description": "Shrink trust region if trust region ratio is below this value",
               "title": "Contract Threshold",
               "type": "number",
               "x-materialization": [
                  {
                     "ir_key": "method.trust_region.contract_threshold",
                     "ir_value_type": "Real",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            },
            "expand_threshold": {
               "default": 0.75,
               "description": "Expand trust region if trust region ratio is above this value",
               "title": "Expand Threshold",
               "type": "number",
               "x-materialization": [
                  {
                     "ir_key": "method.trust_region.expand_threshold",
                     "ir_value_type": "Real",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            },
            "contraction_factor": {
               "default": 0.25,
               "description": "Amount by which step length is rescaled",
               "title": "Contraction Factor",
               "type": "number",
               "x-materialization": [
                  {
                     "ir_key": "method.trust_region.contraction_factor",
                     "ir_value_type": "Real",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            },
            "expansion_factor": {
               "default": 2.0,
               "description": "Trust region expansion factor",
               "title": "Expansion Factor",
               "type": "number",
               "x-materialization": [
                  {
                     "ir_key": "method.trust_region.expansion_factor",
                     "ir_value_type": "Real",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            }
         },
         "title": "DefaultTrustRegionContext1TrustRegion",
         "type": "object",
         "x-model-validations": [
            {
               "validationContext": "trust_region",
               "validationErrorMessage": "For trust_region, trust region parameters are invalid.",
               "validationFields": [
                  "initial_size",
                  "minimum_size",
                  "contract_threshold",
                  "expand_threshold",
                  "contraction_factor",
                  "expansion_factor"
               ],
               "validationLiterals": [],
               "validationRuleName": "trust_region_validate"
            }
         ]
      },
      "Filter": {
         "additionalProperties": false,
         "description": "Surrogate-Based Local iterate acceptance logic",
         "properties": {
            "filter": {
               "const": true,
               "default": true,
               "description": "Surrogate-Based Local iterate acceptance logic",
               "title": "Filter",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.acceptance_logic",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "FILTER"
                  }
               ]
            }
         },
         "title": "Filter",
         "type": "object"
      },
      "LagrangianMerit": {
         "additionalProperties": false,
         "description": "Use first-order Lagrangian merit function",
         "properties": {
            "lagrangian_merit": {
               "const": true,
               "default": true,
               "description": "Use first-order Lagrangian merit function",
               "title": "Lagrangian Merit",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.merit_function",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "LAGRANGIAN_MERIT"
                  }
               ]
            }
         },
         "title": "LagrangianMerit",
         "type": "object"
      },
      "LagrangianObjective": {
         "additionalProperties": false,
         "description": "Lagrangian approximate subproblem formulation",
         "properties": {
            "lagrangian_objective": {
               "const": true,
               "default": true,
               "description": "Lagrangian approximate subproblem formulation",
               "title": "Lagrangian Objective",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_objective",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "LAGRANGIAN_OBJECTIVE"
                  }
               ]
            }
         },
         "title": "LagrangianObjective",
         "type": "object"
      },
      "LinearizedConstraints": {
         "additionalProperties": false,
         "description": "Use linearized approximations to the constraints",
         "properties": {
            "linearized_constraints": {
               "const": true,
               "default": true,
               "description": "Use linearized approximations to the constraints",
               "title": "Linearized Constraints",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_constraints",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "LINEARIZED_CONSTRAINTS"
                  }
               ]
            }
         },
         "title": "LinearizedConstraints",
         "type": "object"
      },
      "NoConstraints": {
         "additionalProperties": false,
         "description": "Don't use constraints",
         "properties": {
            "no_constraints": {
               "const": true,
               "default": true,
               "description": "Don't use constraints",
               "title": "No Constraints",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_constraints",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "NO_CONSTRAINTS"
                  }
               ]
            }
         },
         "title": "NoConstraints",
         "type": "object"
      },
      "Normal": {
         "additionalProperties": false,
         "description": "Level 3 of 5 - default",
         "properties": {
            "normal": {
               "const": true,
               "default": true,
               "description": "Level 3 of 5 - default",
               "title": "Normal",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.output",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "NORMAL_OUTPUT"
                  }
               ]
            }
         },
         "title": "Normal",
         "type": "object"
      },
      "OriginalConstraints": {
         "additionalProperties": false,
         "description": "Use the constraints directly",
         "properties": {
            "original_constraints": {
               "const": true,
               "default": true,
               "description": "Use the constraints directly",
               "title": "Original Constraints",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_constraints",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "ORIGINAL_CONSTRAINTS"
                  }
               ]
            }
         },
         "title": "OriginalConstraints",
         "type": "object"
      },
      "OriginalPrimary": {
         "additionalProperties": false,
         "description": "Construct approximations of all primary functions",
         "properties": {
            "original_primary": {
               "const": true,
               "default": true,
               "description": "Construct approximations of all primary functions",
               "title": "Original Primary",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_objective",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "ORIGINAL_PRIMARY"
                  }
               ]
            }
         },
         "title": "OriginalPrimary",
         "type": "object"
      },
      "PenaltyMerit": {
         "additionalProperties": false,
         "description": "Use penalty merit function",
         "properties": {
            "penalty_merit": {
               "const": true,
               "default": true,
               "description": "Use penalty merit function",
               "title": "Penalty Merit",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.merit_function",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "PENALTY_MERIT"
                  }
               ]
            }
         },
         "title": "PenaltyMerit",
         "type": "object"
      },
      "Quiet": {
         "additionalProperties": false,
         "description": "Level 2 of 5 - less than normal",
         "properties": {
            "quiet": {
               "const": true,
               "default": true,
               "description": "Level 2 of 5 - less than normal",
               "title": "Quiet",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.output",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "QUIET_OUTPUT"
                  }
               ]
            }
         },
         "title": "Quiet",
         "type": "object"
      },
      "Silent": {
         "additionalProperties": false,
         "description": "Level 1 of 5 - minimum",
         "properties": {
            "silent": {
               "const": true,
               "default": true,
               "description": "Level 1 of 5 - minimum",
               "title": "Silent",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.output",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "SILENT_OUTPUT"
                  }
               ]
            }
         },
         "title": "Silent",
         "type": "object"
      },
      "SingleObjective": {
         "additionalProperties": false,
         "description": "Construct approximation a single objective functions only",
         "properties": {
            "single_objective": {
               "const": true,
               "default": true,
               "description": "Construct approximation a single objective functions only",
               "title": "Single Objective",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_objective",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "SINGLE_OBJECTIVE"
                  }
               ]
            }
         },
         "title": "SingleObjective",
         "type": "object"
      },
      "SurrogateBasedLocalConfig": {
         "additionalProperties": false,
         "description": "Local Surrogate Based Optimization",
         "properties": {
            "constraint_tolerance": {
               "default": 0.0,
               "description": "Maximum allowable constraint violation still considered feasible",
               "title": "Constraint Tolerance",
               "type": "number",
               "x-materialization": [
                  {
                     "ir_key": "method.constraint_tolerance",
                     "ir_value_type": "Real",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            },
            "convergence_tolerance": {
               "default": -1.7976931348623157e+308,
               "description": "Stopping criterion based on objective function or statistics convergence",
               "title": "Convergence Tolerance",
               "type": "number",
               "x-materialization": [
                  {
                     "ir_key": "method.convergence_tolerance",
                     "ir_value_type": "Real",
                     "storage_type": "DIRECT_VALUE"
                  },
                  {
                     "ir_key": "method.jega.percent_change",
                     "ir_value_type": "Real",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            },
            "max_iterations": {
               "default": 9223372036854775807,
               "description": "Number of iterations allowed for optimizers and adaptive UQ methods",
               "minimum": 0,
               "title": "Max Iterations",
               "type": "integer",
               "x-materialization": [
                  {
                     "ir_key": "method.max_iterations",
                     "ir_value_type": "size_t",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            },
            "trust_region": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/DefaultTrustRegionContext1TrustRegion"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specification group for trust region model management"
            },
            "id_method": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Name the method block; helpful when there are multiple",
               "title": "Id Method",
               "x-materialization": [
                  {
                     "ir_key": "method.id",
                     "ir_value_type": "String",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            },
            "output": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Debug"
                  },
                  {
                     "$ref": "#/$defs/Verbose"
                  },
                  {
                     "$ref": "#/$defs/Normal"
                  },
                  {
                     "$ref": "#/$defs/Quiet"
                  },
                  {
                     "$ref": "#/$defs/Silent"
                  }
               ],
               "description": "Control how much method information is written to the screen and output file",
               "title": "Output",
               "x-model-default": "Normal",
               "x-union-pattern": 1
            },
            "final_solutions": {
               "default": 0,
               "description": "Number of designs returned as the best solutions",
               "minimum": 0,
               "title": "Final Solutions",
               "type": "integer",
               "x-materialization": [
                  {
                     "ir_key": "method.final_solutions",
                     "ir_value_type": "size_t",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            },
            "sub_method": {
               "anchor": true,
               "anyOf": [
                  {
                     "$ref": "#/$defs/SurrogateBasedLocalMethodPointer"
                  },
                  {
                     "$ref": "#/$defs/SurrogateBasedLocalMethodName"
                  }
               ],
               "description": "Subproblem Optimizer Selection",
               "title": "Sub Method",
               "x-union-pattern": 4
            },
            "model_pointer": {
               "description": "Identifier for model block to be used by a method",
               "title": "Model Pointer",
               "type": "string",
               "x-aliases": [
                  "approx_model_pointer"
               ],
               "x-block-pointer": "model",
               "x-materialization": [
                  {
                     "ir_key": "method.model_pointer",
                     "ir_value_type": "String",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            },
            "soft_convergence_limit": {
               "default": 0,
               "description": "Limit number of iterations w/ little improvement",
               "title": "Soft Convergence Limit",
               "type": "integer",
               "x-materialization": [
                  {
                     "ir_key": "method.soft_convergence_limit",
                     "ir_value_type": "unsigned short",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            },
            "truth_surrogate_bypass": {
               "anyOf": [
                  {
                     "const": true,
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Bypass lower level surrogates when performing truth verifications on a top level surrogate",
               "title": "Truth Surrogate Bypass",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.truth_surrogate_bypass",
                     "ir_value_type": "bool",
                     "storage_type": "PRESENCE_TRUE"
                  }
               ]
            },
            "approx_subproblem": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ApproxSubproblem"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Identify functions to be included in surrogate merit function"
            },
            "merit_function": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/PenaltyMerit"
                  },
                  {
                     "$ref": "#/$defs/AdaptivePenaltyMerit"
                  },
                  {
                     "$ref": "#/$defs/LagrangianMerit"
                  },
                  {
                     "$ref": "#/$defs/AugmentedLagrangianMerit"
                  }
               ],
               "description": "Select type of penalty or merit function",
               "title": "Merit Function",
               "x-model-default": "AugmentedLagrangianMerit",
               "x-union-pattern": 1
            },
            "acceptance_logic": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TrRatio"
                  },
                  {
                     "$ref": "#/$defs/Filter"
                  }
               ],
               "description": "Set criteria for trusted surrogate",
               "title": "Acceptance Logic",
               "x-model-default": "Filter",
               "x-union-pattern": 1
            },
            "constraint_relax": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ConstraintRelax"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Enable constraint relaxation"
            }
         },
         "required": [
            "sub_method",
            "model_pointer"
         ],
         "title": "SurrogateBasedLocalConfig",
         "type": "object"
      },
      "SurrogateBasedLocalMethodName": {
         "additionalProperties": false,
         "description": "Specify sub-method by name",
         "properties": {
            "method_name": {
               "description": "Specify sub-method by name",
               "title": "Method Name",
               "type": "string",
               "x-aliases": [
                  "approx_method_name"
               ],
               "x-materialization": [
                  {
                     "ir_key": "method.sub_method_name",
                     "ir_value_type": "String",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            }
         },
         "required": [
            "method_name"
         ],
         "title": "SurrogateBasedLocalMethodName",
         "type": "object"
      },
      "SurrogateBasedLocalMethodPointer": {
         "additionalProperties": false,
         "description": "Pointer to sub-method to apply to a surrogate or branch-and-bound sub-problem",
         "properties": {
            "method_pointer": {
               "description": "Pointer to sub-method to apply to a surrogate or branch-and-bound sub-problem",
               "title": "Method Pointer",
               "type": "string",
               "x-aliases": [
                  "approx_method_pointer"
               ],
               "x-block-pointer": "method",
               "x-materialization": [
                  {
                     "ir_key": "method.sub_method_pointer",
                     "ir_value_type": "String",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            }
         },
         "required": [
            "method_pointer"
         ],
         "title": "SurrogateBasedLocalMethodPointer",
         "type": "object"
      },
      "TrRatio": {
         "additionalProperties": false,
         "description": "Surrogate-Based Local iterate acceptance logic",
         "properties": {
            "tr_ratio": {
               "const": true,
               "default": true,
               "description": "Surrogate-Based Local iterate acceptance logic",
               "title": "Tr Ratio",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.acceptance_logic",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "TR_RATIO"
                  }
               ]
            }
         },
         "title": "TrRatio",
         "type": "object"
      },
      "Verbose": {
         "additionalProperties": false,
         "description": "Level 4 of 5 - more than normal",
         "properties": {
            "verbose": {
               "const": true,
               "default": true,
               "description": "Level 4 of 5 - more than normal",
               "title": "Verbose",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.output",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "VERBOSE_OUTPUT"
                  }
               ]
            }
         },
         "title": "Verbose",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "surrogate_based_local"
   ]
}

Fields:
field surrogate_based_local: SurrogateBasedLocalConfig [Required]
classmethod get_registry() dict[str, type[MethodSelection]]

Get registry, performing deferred registration on first call

classmethod get_union()

Generate Union from all registered selections

pydantic model dakota.spec.method.surrogate_based_local.SurrogateBasedLocalConfig

Local Surrogate Based Optimization

Show JSON schema
{
   "title": "SurrogateBasedLocalConfig",
   "description": "Local Surrogate Based Optimization",
   "type": "object",
   "properties": {
      "constraint_tolerance": {
         "default": 0.0,
         "description": "Maximum allowable constraint violation still considered feasible",
         "title": "Constraint Tolerance",
         "type": "number",
         "x-materialization": [
            {
               "ir_key": "method.constraint_tolerance",
               "ir_value_type": "Real",
               "storage_type": "DIRECT_VALUE"
            }
         ]
      },
      "convergence_tolerance": {
         "default": -1.7976931348623157e+308,
         "description": "Stopping criterion based on objective function or statistics convergence",
         "title": "Convergence Tolerance",
         "type": "number",
         "x-materialization": [
            {
               "ir_key": "method.convergence_tolerance",
               "ir_value_type": "Real",
               "storage_type": "DIRECT_VALUE"
            },
            {
               "ir_key": "method.jega.percent_change",
               "ir_value_type": "Real",
               "storage_type": "DIRECT_VALUE"
            }
         ]
      },
      "max_iterations": {
         "default": 9223372036854775807,
         "description": "Number of iterations allowed for optimizers and adaptive UQ methods",
         "minimum": 0,
         "title": "Max Iterations",
         "type": "integer",
         "x-materialization": [
            {
               "ir_key": "method.max_iterations",
               "ir_value_type": "size_t",
               "storage_type": "DIRECT_VALUE"
            }
         ]
      },
      "trust_region": {
         "anyOf": [
            {
               "$ref": "#/$defs/DefaultTrustRegionContext1TrustRegion"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Specification group for trust region model management"
      },
      "id_method": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Name the method block; helpful when there are multiple",
         "title": "Id Method",
         "x-materialization": [
            {
               "ir_key": "method.id",
               "ir_value_type": "String",
               "storage_type": "DIRECT_VALUE"
            }
         ]
      },
      "output": {
         "anyOf": [
            {
               "$ref": "#/$defs/Debug"
            },
            {
               "$ref": "#/$defs/Verbose"
            },
            {
               "$ref": "#/$defs/Normal"
            },
            {
               "$ref": "#/$defs/Quiet"
            },
            {
               "$ref": "#/$defs/Silent"
            }
         ],
         "description": "Control how much method information is written to the screen and output file",
         "title": "Output",
         "x-model-default": "Normal",
         "x-union-pattern": 1
      },
      "final_solutions": {
         "default": 0,
         "description": "Number of designs returned as the best solutions",
         "minimum": 0,
         "title": "Final Solutions",
         "type": "integer",
         "x-materialization": [
            {
               "ir_key": "method.final_solutions",
               "ir_value_type": "size_t",
               "storage_type": "DIRECT_VALUE"
            }
         ]
      },
      "sub_method": {
         "anchor": true,
         "anyOf": [
            {
               "$ref": "#/$defs/SurrogateBasedLocalMethodPointer"
            },
            {
               "$ref": "#/$defs/SurrogateBasedLocalMethodName"
            }
         ],
         "description": "Subproblem Optimizer Selection",
         "title": "Sub Method",
         "x-union-pattern": 4
      },
      "model_pointer": {
         "description": "Identifier for model block to be used by a method",
         "title": "Model Pointer",
         "type": "string",
         "x-aliases": [
            "approx_model_pointer"
         ],
         "x-block-pointer": "model",
         "x-materialization": [
            {
               "ir_key": "method.model_pointer",
               "ir_value_type": "String",
               "storage_type": "DIRECT_VALUE"
            }
         ]
      },
      "soft_convergence_limit": {
         "default": 0,
         "description": "Limit number of iterations w/ little improvement",
         "title": "Soft Convergence Limit",
         "type": "integer",
         "x-materialization": [
            {
               "ir_key": "method.soft_convergence_limit",
               "ir_value_type": "unsigned short",
               "storage_type": "DIRECT_VALUE"
            }
         ]
      },
      "truth_surrogate_bypass": {
         "anyOf": [
            {
               "const": true,
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Bypass lower level surrogates when performing truth verifications on a top level surrogate",
         "title": "Truth Surrogate Bypass",
         "x-materialization": [
            {
               "ir_key": "method.sbl.truth_surrogate_bypass",
               "ir_value_type": "bool",
               "storage_type": "PRESENCE_TRUE"
            }
         ]
      },
      "approx_subproblem": {
         "anyOf": [
            {
               "$ref": "#/$defs/ApproxSubproblem"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Identify functions to be included in surrogate merit function"
      },
      "merit_function": {
         "anyOf": [
            {
               "$ref": "#/$defs/PenaltyMerit"
            },
            {
               "$ref": "#/$defs/AdaptivePenaltyMerit"
            },
            {
               "$ref": "#/$defs/LagrangianMerit"
            },
            {
               "$ref": "#/$defs/AugmentedLagrangianMerit"
            }
         ],
         "description": "Select type of penalty or merit function",
         "title": "Merit Function",
         "x-model-default": "AugmentedLagrangianMerit",
         "x-union-pattern": 1
      },
      "acceptance_logic": {
         "anyOf": [
            {
               "$ref": "#/$defs/TrRatio"
            },
            {
               "$ref": "#/$defs/Filter"
            }
         ],
         "description": "Set criteria for trusted surrogate",
         "title": "Acceptance Logic",
         "x-model-default": "Filter",
         "x-union-pattern": 1
      },
      "constraint_relax": {
         "anyOf": [
            {
               "$ref": "#/$defs/ConstraintRelax"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Enable constraint relaxation"
      }
   },
   "$defs": {
      "AdaptivePenaltyMerit": {
         "additionalProperties": false,
         "description": "Use adaptive penalty merit function",
         "properties": {
            "adaptive_penalty_merit": {
               "const": true,
               "default": true,
               "description": "Use adaptive penalty merit function",
               "title": "Adaptive Penalty Merit",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.merit_function",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "ADAPTIVE_PENALTY_MERIT"
                  }
               ]
            }
         },
         "title": "AdaptivePenaltyMerit",
         "type": "object"
      },
      "ApproxSubproblem": {
         "additionalProperties": false,
         "description": "Identify functions to be included in surrogate merit function",
         "properties": {
            "objective_formulation": {
               "anchor": true,
               "anyOf": [
                  {
                     "$ref": "#/$defs/OriginalPrimary"
                  },
                  {
                     "$ref": "#/$defs/SingleObjective"
                  },
                  {
                     "$ref": "#/$defs/AugmentedLagrangianObjective"
                  },
                  {
                     "$ref": "#/$defs/LagrangianObjective"
                  }
               ],
               "description": "Objective Formulation",
               "title": "Objective Formulation",
               "x-union-pattern": 4
            },
            "constraint_formulation": {
               "anchor": true,
               "anyOf": [
                  {
                     "$ref": "#/$defs/OriginalConstraints"
                  },
                  {
                     "$ref": "#/$defs/LinearizedConstraints"
                  },
                  {
                     "$ref": "#/$defs/NoConstraints"
                  }
               ],
               "description": "Constraint Formulation",
               "title": "Constraint Formulation",
               "x-union-pattern": 4
            }
         },
         "required": [
            "objective_formulation",
            "constraint_formulation"
         ],
         "title": "ApproxSubproblem",
         "type": "object"
      },
      "AugmentedLagrangianMerit": {
         "additionalProperties": false,
         "description": "Use combined penalty and zeroth-order Lagrangian merit function",
         "properties": {
            "augmented_lagrangian_merit": {
               "const": true,
               "default": true,
               "description": "Use combined penalty and zeroth-order Lagrangian merit function",
               "title": "Augmented Lagrangian Merit",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.merit_function",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "AUGMENTED_LAGRANGIAN_MERIT"
                  }
               ]
            }
         },
         "title": "AugmentedLagrangianMerit",
         "type": "object"
      },
      "AugmentedLagrangianObjective": {
         "additionalProperties": false,
         "description": "Augmented Lagrangian approximate subproblem formulation",
         "properties": {
            "augmented_lagrangian_objective": {
               "const": true,
               "default": true,
               "description": "Augmented Lagrangian approximate subproblem formulation",
               "title": "Augmented Lagrangian Objective",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_objective",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "AUGMENTED_LAGRANGIAN_OBJECTIVE"
                  }
               ]
            }
         },
         "title": "AugmentedLagrangianObjective",
         "type": "object"
      },
      "ConstraintRelax": {
         "additionalProperties": false,
         "description": "Enable constraint relaxation",
         "properties": {
            "homotopy": {
               "const": true,
               "description": "Surrogate-Based local constraint relaxation method for infeasible iterates",
               "title": "Homotopy",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.constraint_relax",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "HOMOTOPY"
                  }
               ]
            }
         },
         "required": [
            "homotopy"
         ],
         "title": "ConstraintRelax",
         "type": "object"
      },
      "Debug": {
         "additionalProperties": false,
         "description": "Level 5 of 5 - maximum",
         "properties": {
            "debug": {
               "const": true,
               "default": true,
               "description": "Level 5 of 5 - maximum",
               "title": "Debug",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.output",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "DEBUG_OUTPUT"
                  }
               ]
            }
         },
         "title": "Debug",
         "type": "object"
      },
      "DefaultTrustRegionContext1TrustRegion": {
         "additionalProperties": false,
         "description": "Specification group for trust region model management",
         "properties": {
            "initial_size": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Trust region initial size (relative to bounds)",
               "title": "Initial Size",
               "x-materialization": [
                  {
                     "ir_key": "method.trust_region.initial_size",
                     "ir_value_type": "RealVector",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            },
            "minimum_size": {
               "default": 1e-06,
               "description": "Trust region minimum size",
               "title": "Minimum Size",
               "type": "number",
               "x-materialization": [
                  {
                     "ir_key": "method.trust_region.minimum_size",
                     "ir_value_type": "Real",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            },
            "contract_threshold": {
               "default": 0.25,
               "description": "Shrink trust region if trust region ratio is below this value",
               "title": "Contract Threshold",
               "type": "number",
               "x-materialization": [
                  {
                     "ir_key": "method.trust_region.contract_threshold",
                     "ir_value_type": "Real",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            },
            "expand_threshold": {
               "default": 0.75,
               "description": "Expand trust region if trust region ratio is above this value",
               "title": "Expand Threshold",
               "type": "number",
               "x-materialization": [
                  {
                     "ir_key": "method.trust_region.expand_threshold",
                     "ir_value_type": "Real",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            },
            "contraction_factor": {
               "default": 0.25,
               "description": "Amount by which step length is rescaled",
               "title": "Contraction Factor",
               "type": "number",
               "x-materialization": [
                  {
                     "ir_key": "method.trust_region.contraction_factor",
                     "ir_value_type": "Real",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            },
            "expansion_factor": {
               "default": 2.0,
               "description": "Trust region expansion factor",
               "title": "Expansion Factor",
               "type": "number",
               "x-materialization": [
                  {
                     "ir_key": "method.trust_region.expansion_factor",
                     "ir_value_type": "Real",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            }
         },
         "title": "DefaultTrustRegionContext1TrustRegion",
         "type": "object",
         "x-model-validations": [
            {
               "validationContext": "trust_region",
               "validationErrorMessage": "For trust_region, trust region parameters are invalid.",
               "validationFields": [
                  "initial_size",
                  "minimum_size",
                  "contract_threshold",
                  "expand_threshold",
                  "contraction_factor",
                  "expansion_factor"
               ],
               "validationLiterals": [],
               "validationRuleName": "trust_region_validate"
            }
         ]
      },
      "Filter": {
         "additionalProperties": false,
         "description": "Surrogate-Based Local iterate acceptance logic",
         "properties": {
            "filter": {
               "const": true,
               "default": true,
               "description": "Surrogate-Based Local iterate acceptance logic",
               "title": "Filter",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.acceptance_logic",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "FILTER"
                  }
               ]
            }
         },
         "title": "Filter",
         "type": "object"
      },
      "LagrangianMerit": {
         "additionalProperties": false,
         "description": "Use first-order Lagrangian merit function",
         "properties": {
            "lagrangian_merit": {
               "const": true,
               "default": true,
               "description": "Use first-order Lagrangian merit function",
               "title": "Lagrangian Merit",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.merit_function",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "LAGRANGIAN_MERIT"
                  }
               ]
            }
         },
         "title": "LagrangianMerit",
         "type": "object"
      },
      "LagrangianObjective": {
         "additionalProperties": false,
         "description": "Lagrangian approximate subproblem formulation",
         "properties": {
            "lagrangian_objective": {
               "const": true,
               "default": true,
               "description": "Lagrangian approximate subproblem formulation",
               "title": "Lagrangian Objective",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_objective",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "LAGRANGIAN_OBJECTIVE"
                  }
               ]
            }
         },
         "title": "LagrangianObjective",
         "type": "object"
      },
      "LinearizedConstraints": {
         "additionalProperties": false,
         "description": "Use linearized approximations to the constraints",
         "properties": {
            "linearized_constraints": {
               "const": true,
               "default": true,
               "description": "Use linearized approximations to the constraints",
               "title": "Linearized Constraints",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_constraints",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "LINEARIZED_CONSTRAINTS"
                  }
               ]
            }
         },
         "title": "LinearizedConstraints",
         "type": "object"
      },
      "NoConstraints": {
         "additionalProperties": false,
         "description": "Don't use constraints",
         "properties": {
            "no_constraints": {
               "const": true,
               "default": true,
               "description": "Don't use constraints",
               "title": "No Constraints",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_constraints",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "NO_CONSTRAINTS"
                  }
               ]
            }
         },
         "title": "NoConstraints",
         "type": "object"
      },
      "Normal": {
         "additionalProperties": false,
         "description": "Level 3 of 5 - default",
         "properties": {
            "normal": {
               "const": true,
               "default": true,
               "description": "Level 3 of 5 - default",
               "title": "Normal",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.output",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "NORMAL_OUTPUT"
                  }
               ]
            }
         },
         "title": "Normal",
         "type": "object"
      },
      "OriginalConstraints": {
         "additionalProperties": false,
         "description": "Use the constraints directly",
         "properties": {
            "original_constraints": {
               "const": true,
               "default": true,
               "description": "Use the constraints directly",
               "title": "Original Constraints",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_constraints",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "ORIGINAL_CONSTRAINTS"
                  }
               ]
            }
         },
         "title": "OriginalConstraints",
         "type": "object"
      },
      "OriginalPrimary": {
         "additionalProperties": false,
         "description": "Construct approximations of all primary functions",
         "properties": {
            "original_primary": {
               "const": true,
               "default": true,
               "description": "Construct approximations of all primary functions",
               "title": "Original Primary",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_objective",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "ORIGINAL_PRIMARY"
                  }
               ]
            }
         },
         "title": "OriginalPrimary",
         "type": "object"
      },
      "PenaltyMerit": {
         "additionalProperties": false,
         "description": "Use penalty merit function",
         "properties": {
            "penalty_merit": {
               "const": true,
               "default": true,
               "description": "Use penalty merit function",
               "title": "Penalty Merit",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.merit_function",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "PENALTY_MERIT"
                  }
               ]
            }
         },
         "title": "PenaltyMerit",
         "type": "object"
      },
      "Quiet": {
         "additionalProperties": false,
         "description": "Level 2 of 5 - less than normal",
         "properties": {
            "quiet": {
               "const": true,
               "default": true,
               "description": "Level 2 of 5 - less than normal",
               "title": "Quiet",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.output",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "QUIET_OUTPUT"
                  }
               ]
            }
         },
         "title": "Quiet",
         "type": "object"
      },
      "Silent": {
         "additionalProperties": false,
         "description": "Level 1 of 5 - minimum",
         "properties": {
            "silent": {
               "const": true,
               "default": true,
               "description": "Level 1 of 5 - minimum",
               "title": "Silent",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.output",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "SILENT_OUTPUT"
                  }
               ]
            }
         },
         "title": "Silent",
         "type": "object"
      },
      "SingleObjective": {
         "additionalProperties": false,
         "description": "Construct approximation a single objective functions only",
         "properties": {
            "single_objective": {
               "const": true,
               "default": true,
               "description": "Construct approximation a single objective functions only",
               "title": "Single Objective",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_objective",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "SINGLE_OBJECTIVE"
                  }
               ]
            }
         },
         "title": "SingleObjective",
         "type": "object"
      },
      "SurrogateBasedLocalMethodName": {
         "additionalProperties": false,
         "description": "Specify sub-method by name",
         "properties": {
            "method_name": {
               "description": "Specify sub-method by name",
               "title": "Method Name",
               "type": "string",
               "x-aliases": [
                  "approx_method_name"
               ],
               "x-materialization": [
                  {
                     "ir_key": "method.sub_method_name",
                     "ir_value_type": "String",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            }
         },
         "required": [
            "method_name"
         ],
         "title": "SurrogateBasedLocalMethodName",
         "type": "object"
      },
      "SurrogateBasedLocalMethodPointer": {
         "additionalProperties": false,
         "description": "Pointer to sub-method to apply to a surrogate or branch-and-bound sub-problem",
         "properties": {
            "method_pointer": {
               "description": "Pointer to sub-method to apply to a surrogate or branch-and-bound sub-problem",
               "title": "Method Pointer",
               "type": "string",
               "x-aliases": [
                  "approx_method_pointer"
               ],
               "x-block-pointer": "method",
               "x-materialization": [
                  {
                     "ir_key": "method.sub_method_pointer",
                     "ir_value_type": "String",
                     "storage_type": "DIRECT_VALUE"
                  }
               ]
            }
         },
         "required": [
            "method_pointer"
         ],
         "title": "SurrogateBasedLocalMethodPointer",
         "type": "object"
      },
      "TrRatio": {
         "additionalProperties": false,
         "description": "Surrogate-Based Local iterate acceptance logic",
         "properties": {
            "tr_ratio": {
               "const": true,
               "default": true,
               "description": "Surrogate-Based Local iterate acceptance logic",
               "title": "Tr Ratio",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.acceptance_logic",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "TR_RATIO"
                  }
               ]
            }
         },
         "title": "TrRatio",
         "type": "object"
      },
      "Verbose": {
         "additionalProperties": false,
         "description": "Level 4 of 5 - more than normal",
         "properties": {
            "verbose": {
               "const": true,
               "default": true,
               "description": "Level 4 of 5 - more than normal",
               "title": "Verbose",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.output",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "VERBOSE_OUTPUT"
                  }
               ]
            }
         },
         "title": "Verbose",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "sub_method",
      "model_pointer"
   ]
}

Fields:
field acceptance_logic: TrRatio | Filter [Optional]

Set criteria for trusted surrogate

field approx_subproblem: ApproxSubproblem | None = None

Identify functions to be included in surrogate merit function

field constraint_relax: ConstraintRelax | None = None

Enable constraint relaxation

field constraint_tolerance: DakotaFloat = 0.0

Maximum allowable constraint violation still considered feasible

Constraints:
  • func = <function _serialize_dakota_float at 0x7f2a3de76700>

  • return_type = float | str

  • when_used = json

field convergence_tolerance: DakotaFloat = -1.7976931348623157e+308

Stopping criterion based on objective function or statistics convergence

Constraints:
  • func = <function _serialize_dakota_float at 0x7f2a3de76700>

  • return_type = float | str

  • when_used = json

field final_solutions: int = 0

Number of designs returned as the best solutions

Constraints:
  • ge = 0

field id_method: str | None = None

Name the method block; helpful when there are multiple

field max_iterations: int = 9223372036854775807

Number of iterations allowed for optimizers and adaptive UQ methods

Constraints:
  • ge = 0

field merit_function: PenaltyMerit | AdaptivePenaltyMerit | LagrangianMerit | AugmentedLagrangianMerit [Optional]

Select type of penalty or merit function

field model_pointer: str [Required]

Identifier for model block to be used by a method

field output: Debug | Verbose | Normal | Quiet | Silent [Optional]

Control how much method information is written to the screen and output file

field soft_convergence_limit: int = 0

Limit number of iterations w/ little improvement

field sub_method: SurrogateBasedLocalMethodPointer | SurrogateBasedLocalMethodName [Required]

Subproblem Optimizer Selection

field trust_region: DefaultTrustRegionContext1TrustRegion | None = None

Specification group for trust region model management

field truth_surrogate_bypass: Literal[True] | None = None

Bypass lower level surrogates when performing truth verifications on a top level surrogate

Generated Pydantic models for method.surrogate_based_local

pydantic model dakota.spec.method.surrogate_based_local.AdaptivePenaltyMerit

Use adaptive penalty merit function

Show JSON schema
{
   "title": "AdaptivePenaltyMerit",
   "description": "Use adaptive penalty merit function",
   "type": "object",
   "properties": {
      "adaptive_penalty_merit": {
         "const": true,
         "default": true,
         "description": "Use adaptive penalty merit function",
         "title": "Adaptive Penalty Merit",
         "type": "boolean",
         "x-materialization": [
            {
               "ir_key": "method.sbl.merit_function",
               "ir_value_type": "short",
               "storage_type": "PRESENCE_ENUM",
               "stored_value": "ADAPTIVE_PENALTY_MERIT"
            }
         ]
      }
   },
   "additionalProperties": false
}

Fields:
field adaptive_penalty_merit: Literal[True] = True

Use adaptive penalty merit function

pydantic model dakota.spec.method.surrogate_based_local.ApproxSubproblem

Identify functions to be included in surrogate merit function

Show JSON schema
{
   "title": "ApproxSubproblem",
   "description": "Identify functions to be included in surrogate merit function",
   "type": "object",
   "properties": {
      "objective_formulation": {
         "anchor": true,
         "anyOf": [
            {
               "$ref": "#/$defs/OriginalPrimary"
            },
            {
               "$ref": "#/$defs/SingleObjective"
            },
            {
               "$ref": "#/$defs/AugmentedLagrangianObjective"
            },
            {
               "$ref": "#/$defs/LagrangianObjective"
            }
         ],
         "description": "Objective Formulation",
         "title": "Objective Formulation",
         "x-union-pattern": 4
      },
      "constraint_formulation": {
         "anchor": true,
         "anyOf": [
            {
               "$ref": "#/$defs/OriginalConstraints"
            },
            {
               "$ref": "#/$defs/LinearizedConstraints"
            },
            {
               "$ref": "#/$defs/NoConstraints"
            }
         ],
         "description": "Constraint Formulation",
         "title": "Constraint Formulation",
         "x-union-pattern": 4
      }
   },
   "$defs": {
      "AugmentedLagrangianObjective": {
         "additionalProperties": false,
         "description": "Augmented Lagrangian approximate subproblem formulation",
         "properties": {
            "augmented_lagrangian_objective": {
               "const": true,
               "default": true,
               "description": "Augmented Lagrangian approximate subproblem formulation",
               "title": "Augmented Lagrangian Objective",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_objective",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "AUGMENTED_LAGRANGIAN_OBJECTIVE"
                  }
               ]
            }
         },
         "title": "AugmentedLagrangianObjective",
         "type": "object"
      },
      "LagrangianObjective": {
         "additionalProperties": false,
         "description": "Lagrangian approximate subproblem formulation",
         "properties": {
            "lagrangian_objective": {
               "const": true,
               "default": true,
               "description": "Lagrangian approximate subproblem formulation",
               "title": "Lagrangian Objective",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_objective",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "LAGRANGIAN_OBJECTIVE"
                  }
               ]
            }
         },
         "title": "LagrangianObjective",
         "type": "object"
      },
      "LinearizedConstraints": {
         "additionalProperties": false,
         "description": "Use linearized approximations to the constraints",
         "properties": {
            "linearized_constraints": {
               "const": true,
               "default": true,
               "description": "Use linearized approximations to the constraints",
               "title": "Linearized Constraints",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_constraints",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "LINEARIZED_CONSTRAINTS"
                  }
               ]
            }
         },
         "title": "LinearizedConstraints",
         "type": "object"
      },
      "NoConstraints": {
         "additionalProperties": false,
         "description": "Don't use constraints",
         "properties": {
            "no_constraints": {
               "const": true,
               "default": true,
               "description": "Don't use constraints",
               "title": "No Constraints",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_constraints",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "NO_CONSTRAINTS"
                  }
               ]
            }
         },
         "title": "NoConstraints",
         "type": "object"
      },
      "OriginalConstraints": {
         "additionalProperties": false,
         "description": "Use the constraints directly",
         "properties": {
            "original_constraints": {
               "const": true,
               "default": true,
               "description": "Use the constraints directly",
               "title": "Original Constraints",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_constraints",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "ORIGINAL_CONSTRAINTS"
                  }
               ]
            }
         },
         "title": "OriginalConstraints",
         "type": "object"
      },
      "OriginalPrimary": {
         "additionalProperties": false,
         "description": "Construct approximations of all primary functions",
         "properties": {
            "original_primary": {
               "const": true,
               "default": true,
               "description": "Construct approximations of all primary functions",
               "title": "Original Primary",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_objective",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "ORIGINAL_PRIMARY"
                  }
               ]
            }
         },
         "title": "OriginalPrimary",
         "type": "object"
      },
      "SingleObjective": {
         "additionalProperties": false,
         "description": "Construct approximation a single objective functions only",
         "properties": {
            "single_objective": {
               "const": true,
               "default": true,
               "description": "Construct approximation a single objective functions only",
               "title": "Single Objective",
               "type": "boolean",
               "x-materialization": [
                  {
                     "ir_key": "method.sbl.subproblem_objective",
                     "ir_value_type": "short",
                     "storage_type": "PRESENCE_ENUM",
                     "stored_value": "SINGLE_OBJECTIVE"
                  }
               ]
            }
         },
         "title": "SingleObjective",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "objective_formulation",
      "constraint_formulation"
   ]
}

Fields:
field constraint_formulation: OriginalConstraints | LinearizedConstraints | NoConstraints [Required]

Constraint Formulation

field objective_formulation: OriginalPrimary | SingleObjective | AugmentedLagrangianObjective | LagrangianObjective [Required]

Objective Formulation

pydantic model dakota.spec.method.surrogate_based_local.AugmentedLagrangianMerit

Use combined penalty and zeroth-order Lagrangian merit function

Show JSON schema
{
   "title": "AugmentedLagrangianMerit",
   "description": "Use combined penalty and zeroth-order Lagrangian merit function",
   "type": "object",
   "properties": {
      "augmented_lagrangian_merit": {
         "const": true,
         "default": true,
         "description": "Use combined penalty and zeroth-order Lagrangian merit function",
         "title": "Augmented Lagrangian Merit",
         "type": "boolean",
         "x-materialization": [
            {
               "ir_key": "method.sbl.merit_function",
               "ir_value_type": "short",
               "storage_type": "PRESENCE_ENUM",
               "stored_value": "AUGMENTED_LAGRANGIAN_MERIT"
            }
         ]
      }
   },
   "additionalProperties": false
}

Fields:
field augmented_lagrangian_merit: Literal[True] = True

Use combined penalty and zeroth-order Lagrangian merit function

pydantic model dakota.spec.method.surrogate_based_local.AugmentedLagrangianObjective

Augmented Lagrangian approximate subproblem formulation

Show JSON schema
{
   "title": "AugmentedLagrangianObjective",
   "description": "Augmented Lagrangian approximate subproblem formulation",
   "type": "object",
   "properties": {
      "augmented_lagrangian_objective": {
         "const": true,
         "default": true,
         "description": "Augmented Lagrangian approximate subproblem formulation",
         "title": "Augmented Lagrangian Objective",
         "type": "boolean",
         "x-materialization": [
            {
               "ir_key": "method.sbl.subproblem_objective",
               "ir_value_type": "short",
               "storage_type": "PRESENCE_ENUM",
               "stored_value": "AUGMENTED_LAGRANGIAN_OBJECTIVE"
            }
         ]
      }
   },
   "additionalProperties": false
}

Fields:
field augmented_lagrangian_objective: Literal[True] = True

Augmented Lagrangian approximate subproblem formulation

pydantic model dakota.spec.method.surrogate_based_local.ConstraintRelax

Enable constraint relaxation

Show JSON schema
{
   "title": "ConstraintRelax",
   "description": "Enable constraint relaxation",
   "type": "object",
   "properties": {
      "homotopy": {
         "const": true,
         "description": "Surrogate-Based local constraint relaxation method for infeasible iterates",
         "title": "Homotopy",
         "type": "boolean",
         "x-materialization": [
            {
               "ir_key": "method.sbl.constraint_relax",
               "ir_value_type": "short",
               "storage_type": "PRESENCE_ENUM",
               "stored_value": "HOMOTOPY"
            }
         ]
      }
   },
   "additionalProperties": false,
   "required": [
      "homotopy"
   ]
}

Fields:
field homotopy: Literal[True] [Required]

Surrogate-Based local constraint relaxation method for infeasible iterates

pydantic model dakota.spec.method.surrogate_based_local.Filter

Surrogate-Based Local iterate acceptance logic

Show JSON schema
{
   "title": "Filter",
   "description": "Surrogate-Based Local iterate acceptance logic",
   "type": "object",
   "properties": {
      "filter": {
         "const": true,
         "default": true,
         "description": "Surrogate-Based Local iterate acceptance logic",
         "title": "Filter",
         "type": "boolean",
         "x-materialization": [
            {
               "ir_key": "method.sbl.acceptance_logic",
               "ir_value_type": "short",
               "storage_type": "PRESENCE_ENUM",
               "stored_value": "FILTER"
            }
         ]
      }
   },
   "additionalProperties": false
}

Fields:
field filter: Literal[True] = True

Surrogate-Based Local iterate acceptance logic

pydantic model dakota.spec.method.surrogate_based_local.LagrangianMerit

Use first-order Lagrangian merit function

Show JSON schema
{
   "title": "LagrangianMerit",
   "description": "Use first-order Lagrangian merit function",
   "type": "object",
   "properties": {
      "lagrangian_merit": {
         "const": true,
         "default": true,
         "description": "Use first-order Lagrangian merit function",
         "title": "Lagrangian Merit",
         "type": "boolean",
         "x-materialization": [
            {
               "ir_key": "method.sbl.merit_function",
               "ir_value_type": "short",
               "storage_type": "PRESENCE_ENUM",
               "stored_value": "LAGRANGIAN_MERIT"
            }
         ]
      }
   },
   "additionalProperties": false
}

Fields:
field lagrangian_merit: Literal[True] = True

Use first-order Lagrangian merit function

pydantic model dakota.spec.method.surrogate_based_local.LagrangianObjective

Lagrangian approximate subproblem formulation

Show JSON schema
{
   "title": "LagrangianObjective",
   "description": "Lagrangian approximate subproblem formulation",
   "type": "object",
   "properties": {
      "lagrangian_objective": {
         "const": true,
         "default": true,
         "description": "Lagrangian approximate subproblem formulation",
         "title": "Lagrangian Objective",
         "type": "boolean",
         "x-materialization": [
            {
               "ir_key": "method.sbl.subproblem_objective",
               "ir_value_type": "short",
               "storage_type": "PRESENCE_ENUM",
               "stored_value": "LAGRANGIAN_OBJECTIVE"
            }
         ]
      }
   },
   "additionalProperties": false
}

Fields:
field lagrangian_objective: Literal[True] = True

Lagrangian approximate subproblem formulation

pydantic model dakota.spec.method.surrogate_based_local.LinearizedConstraints

Use linearized approximations to the constraints

Show JSON schema
{
   "title": "LinearizedConstraints",
   "description": "Use linearized approximations to the constraints",
   "type": "object",
   "properties": {
      "linearized_constraints": {
         "const": true,
         "default": true,
         "description": "Use linearized approximations to the constraints",
         "title": "Linearized Constraints",
         "type": "boolean",
         "x-materialization": [
            {
               "ir_key": "method.sbl.subproblem_constraints",
               "ir_value_type": "short",
               "storage_type": "PRESENCE_ENUM",
               "stored_value": "LINEARIZED_CONSTRAINTS"
            }
         ]
      }
   },
   "additionalProperties": false
}

Fields:
field linearized_constraints: Literal[True] = True

Use linearized approximations to the constraints

pydantic model dakota.spec.method.surrogate_based_local.NoConstraints

Don’t use constraints

Show JSON schema
{
   "title": "NoConstraints",
   "description": "Don't use constraints",
   "type": "object",
   "properties": {
      "no_constraints": {
         "const": true,
         "default": true,
         "description": "Don't use constraints",
         "title": "No Constraints",
         "type": "boolean",
         "x-materialization": [
            {
               "ir_key": "method.sbl.subproblem_constraints",
               "ir_value_type": "short",
               "storage_type": "PRESENCE_ENUM",
               "stored_value": "NO_CONSTRAINTS"
            }
         ]
      }
   },
   "additionalProperties": false
}

Fields:
field no_constraints: Literal[True] = True

Don’t use constraints

pydantic model dakota.spec.method.surrogate_based_local.OriginalConstraints

Use the constraints directly

Show JSON schema
{
   "title": "OriginalConstraints",
   "description": "Use the constraints directly",
   "type": "object",
   "properties": {
      "original_constraints": {
         "const": true,
         "default": true,
         "description": "Use the constraints directly",
         "title": "Original Constraints",
         "type": "boolean",
         "x-materialization": [
            {
               "ir_key": "method.sbl.subproblem_constraints",
               "ir_value_type": "short",
               "storage_type": "PRESENCE_ENUM",
               "stored_value": "ORIGINAL_CONSTRAINTS"
            }
         ]
      }
   },
   "additionalProperties": false
}

Fields:
field original_constraints: Literal[True] = True

Use the constraints directly

pydantic model dakota.spec.method.surrogate_based_local.OriginalPrimary

Construct approximations of all primary functions

Show JSON schema
{
   "title": "OriginalPrimary",
   "description": "Construct approximations of all primary functions",
   "type": "object",
   "properties": {
      "original_primary": {
         "const": true,
         "default": true,
         "description": "Construct approximations of all primary functions",
         "title": "Original Primary",
         "type": "boolean",
         "x-materialization": [
            {
               "ir_key": "method.sbl.subproblem_objective",
               "ir_value_type": "short",
               "storage_type": "PRESENCE_ENUM",
               "stored_value": "ORIGINAL_PRIMARY"
            }
         ]
      }
   },
   "additionalProperties": false
}

Fields:
field original_primary: Literal[True] = True

Construct approximations of all primary functions

pydantic model dakota.spec.method.surrogate_based_local.PenaltyMerit

Use penalty merit function

Show JSON schema
{
   "title": "PenaltyMerit",
   "description": "Use penalty merit function",
   "type": "object",
   "properties": {
      "penalty_merit": {
         "const": true,
         "default": true,
         "description": "Use penalty merit function",
         "title": "Penalty Merit",
         "type": "boolean",
         "x-materialization": [
            {
               "ir_key": "method.sbl.merit_function",
               "ir_value_type": "short",
               "storage_type": "PRESENCE_ENUM",
               "stored_value": "PENALTY_MERIT"
            }
         ]
      }
   },
   "additionalProperties": false
}

Fields:
field penalty_merit: Literal[True] = True

Use penalty merit function

pydantic model dakota.spec.method.surrogate_based_local.SingleObjective

Construct approximation a single objective functions only

Show JSON schema
{
   "title": "SingleObjective",
   "description": "Construct approximation a single objective functions only",
   "type": "object",
   "properties": {
      "single_objective": {
         "const": true,
         "default": true,
         "description": "Construct approximation a single objective functions only",
         "title": "Single Objective",
         "type": "boolean",
         "x-materialization": [
            {
               "ir_key": "method.sbl.subproblem_objective",
               "ir_value_type": "short",
               "storage_type": "PRESENCE_ENUM",
               "stored_value": "SINGLE_OBJECTIVE"
            }
         ]
      }
   },
   "additionalProperties": false
}

Fields:
field single_objective: Literal[True] = True

Construct approximation a single objective functions only

pydantic model dakota.spec.method.surrogate_based_local.SurrogateBasedLocalMethodName

Specify sub-method by name

Show JSON schema
{
   "title": "SurrogateBasedLocalMethodName",
   "description": "Specify sub-method by name",
   "type": "object",
   "properties": {
      "method_name": {
         "description": "Specify sub-method by name",
         "title": "Method Name",
         "type": "string",
         "x-aliases": [
            "approx_method_name"
         ],
         "x-materialization": [
            {
               "ir_key": "method.sub_method_name",
               "ir_value_type": "String",
               "storage_type": "DIRECT_VALUE"
            }
         ]
      }
   },
   "additionalProperties": false,
   "required": [
      "method_name"
   ]
}

Fields:
field method_name: str [Required]

Specify sub-method by name

pydantic model dakota.spec.method.surrogate_based_local.SurrogateBasedLocalMethodPointer

Pointer to sub-method to apply to a surrogate or branch-and-bound sub-problem

Show JSON schema
{
   "title": "SurrogateBasedLocalMethodPointer",
   "description": "Pointer to sub-method to apply to a surrogate or branch-and-bound sub-problem",
   "type": "object",
   "properties": {
      "method_pointer": {
         "description": "Pointer to sub-method to apply to a surrogate or branch-and-bound sub-problem",
         "title": "Method Pointer",
         "type": "string",
         "x-aliases": [
            "approx_method_pointer"
         ],
         "x-block-pointer": "method",
         "x-materialization": [
            {
               "ir_key": "method.sub_method_pointer",
               "ir_value_type": "String",
               "storage_type": "DIRECT_VALUE"
            }
         ]
      }
   },
   "additionalProperties": false,
   "required": [
      "method_pointer"
   ]
}

Fields:
field method_pointer: str [Required]

Pointer to sub-method to apply to a surrogate or branch-and-bound sub-problem

pydantic model dakota.spec.method.surrogate_based_local.TrRatio

Surrogate-Based Local iterate acceptance logic

Show JSON schema
{
   "title": "TrRatio",
   "description": "Surrogate-Based Local iterate acceptance logic",
   "type": "object",
   "properties": {
      "tr_ratio": {
         "const": true,
         "default": true,
         "description": "Surrogate-Based Local iterate acceptance logic",
         "title": "Tr Ratio",
         "type": "boolean",
         "x-materialization": [
            {
               "ir_key": "method.sbl.acceptance_logic",
               "ir_value_type": "short",
               "storage_type": "PRESENCE_ENUM",
               "stored_value": "TR_RATIO"
            }
         ]
      }
   },
   "additionalProperties": false
}

Fields:
field tr_ratio: Literal[True] = True

Surrogate-Based Local iterate acceptance logic