{
  "initialisation": {
    "powerfactoryApiPath": "",
    "username": "",
    "outputDir": "",
    "problemType": "optimisation",
    "studyType": "steady_state",
    "codingStyle": "python_file",
    "tstop": "20"
  },
  "inputVariables": [
    {
      "name": "G2_dispatch",
      "object_query": "G2.ElmSym",
      "variable": "pgini",
      "lower": "50",
      "upper": "160",
      "step": "",
      "dtype": "float"
    },
    {
      "name": "G3_dispatch",
      "object_query": "G3.ElmSym",
      "variable": "pgini",
      "lower": "20",
      "upper": "105",
      "step": "",
      "dtype": "float"
    }
  ],
  "outputVariables": [
    {
      "id": "ov-0",
      "type": "attribute",
      "name": "total_losses",
      "object_query": "*.ElmNet",
      "variable": "c:LossP",
      "metric": "maximum",
      "threshold": "",
      "settle_band": "",
      "settle_hold_time": "",
      "settle_reference_value": "",
      "customFn": "",
      "output_graph": false,
      "output_raw_csv": false
    },
    {
      "id": "ov-1",
      "type": "attribute",
      "name": "G1_dispatch",
      "object_query": "G1.ElmSym",
      "variable": "m:P:bus1",
      "metric": "maximum",
      "threshold": "",
      "settle_band": "",
      "settle_hold_time": "",
      "settle_reference_value": "",
      "customFn": "",
      "output_graph": false,
      "output_raw_csv": false
    }
  ],
  "optimisation": {
    "sense": "minimise",
    "objectiveOutputName": "total_losses",
    "algorithm": "gp_minimize",
    "maxIterations": 60,
    "constraints": []
  },
  "customMode": {
    "scenarioFilePath": ""
  },
  "contingencyMode": {
    "elementTypes": [
      {
        "query": "",
        "filterAttr": "",
        "filterOp": ">=",
        "filterVal": ""
      }
    ],
    "contingencyN": "1",
    "combineTypes": false
  },
  "additionalConfig": {
    "iterateStudyCases": false,
    "iterateOperatingScenarios": false,
    "useProgressBar": true,
    "openPowerFactoryWindow": false,
    "saveIntermediateEnabled": false,
    "saveIntermediateMinutes": 30
  }
}
