Skip to content

Commit

Permalink
ForbidCostIncrease should always be true (for the optim results to be…
Browse files Browse the repository at this point in the history
… acceptable)
  • Loading branch information
Pauline Jean-Marie authored and pjeanmarie committed Aug 14, 2024
1 parent a6074d0 commit 437b44d
Show file tree
Hide file tree
Showing 131 changed files with 33 additions and 158 deletions.
2 changes: 1 addition & 1 deletion docs/output-data/rao-result/steps.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This field contains macro information about which steps the [CASTOR RAO](/castor.md#algorithm) executed.
(See also: [Forbidding cost increase](/parameters.md#forbid-cost-increase), [Second preventive RAO parameters](/parameters.md#second-preventive-rao-parameters))
(See also: [Second preventive RAO parameters](/parameters.md#second-preventive-rao-parameters))

| Value | Did CASTOR run a 1st preventive RAO? | Did CASTOR run a 2nd preventive RAO? | Did the RAO fall back to initial situation? | Did the RAO fall back to 1st preventive RAO result even though a 2nd was run? |
|----------------------------------------------------------|--------------------------------------|--------------------------------------|---------------------------------------------|-------------------------------------------------------------------------------|
Expand Down
12 changes: 0 additions & 12 deletions docs/parameters.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,17 +40,6 @@ These parameters (objective-function) configure the remedial action optimisation
- **MAX_MIN_RELATIVE_MARGIN_IN_AMPERE**: same as MAX_MIN_MARGIN_IN_AMPERE, but the margins will be relative (divided
by the absolute sum of PTDFs) when they are positive.

#### forbid-cost-increase
- **Expected value**: true/false
- **Default value**: false
- **Usage**: if this parameter is set to true, OpenRAO will post-check the results after optimisation. If the value of
the objective function is worse after optimisation than before optimisation, then it will return the initial
solution (i.e. no PRA and no CRA applied).
This can happen for example if the preventive RAO decreases the margin on a curative CNEC, which cannot be reverted
during curative RAO.
If this parameter is set to false, OpenRAO will return the real result of optimisation, which has a worse result
than the initial situation.

#### preventive-stop-criterion
- **Expected value**: one of the following:
- "MIN_OBJECTIVE"
Expand Down Expand Up @@ -584,7 +573,6 @@ Zones are seperated by + or -.
"version" : "2.4",
"objective-function" : {
"type" : "MAX_MIN_RELATIVE_MARGIN_IN_AMPERE",
"forbid-cost-increase" : false,
"curative-min-obj-improvement" : 0.0,
"preventive-stop-criterion" : "SECURE",
"curative-stop-criterion" : "PREVENTIVE_OBJECTIVE",
Expand Down
31 changes: 31 additions & 0 deletions python-util/rao_parameter_modification.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Copyright (c) 2024, RTE (http://www.rte-france.com)
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# SPDX-License-Identifier: MPL-2.0

import os
import json

root_directory = os.getcwd()


def rao_parameters_file(file_path):
if file_path.endswith(".json") or file_path.endswith(".yml"):
with open(os.path.join(dirpath, filename), 'r') as file:
for line in file:
if "objective-function" in line:
return True
return False


for dirpath, dirnames, filenames in os.walk(root_directory):
for filename in filenames:
file_path = os.path.join(dirpath, filename)
if rao_parameters_file(file_path):
if file_path.endswith(".json"):
with open(file_path, 'r') as file:
data = json.load(file)
lines = [line for line in lines if "forbid-cost-increase" not in line]
with open(file_path, 'w') as file:
file.writelines(lines)
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ private RaoParametersCommons() {
public static final String OBJECTIVE_FUNCTION = "objective-function";
public static final String OBJECTIVE_FUNCTION_SECTION = "rao-objective-function";
public static final String TYPE = "type";
public static final String FORBID_COST_INCREASE = "forbid-cost-increase";
public static final String CURATIVE_MIN_OBJ_IMPROVEMENT = "curative-min-obj-improvement";
public static final String PREVENTIVE_STOP_CRITERION = "preventive-stop-criterion";
public static final String CURATIVE_STOP_CRITERION = "curative-stop-criterion";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ private JsonObjectiveFunctionParameters() {
static void serialize(RaoParameters parameters, JsonGenerator jsonGenerator) throws IOException {
jsonGenerator.writeObjectFieldStart(OBJECTIVE_FUNCTION);
jsonGenerator.writeObjectField(TYPE, parameters.getObjectiveFunctionParameters().getType());
jsonGenerator.writeBooleanField(FORBID_COST_INCREASE, parameters.getObjectiveFunctionParameters().getForbidCostIncrease());
jsonGenerator.writeObjectField(PREVENTIVE_STOP_CRITERION, parameters.getObjectiveFunctionParameters().getPreventiveStopCriterion());
jsonGenerator.writeObjectField(CURATIVE_STOP_CRITERION, parameters.getObjectiveFunctionParameters().getCurativeStopCriterion());
jsonGenerator.writeNumberField(CURATIVE_MIN_OBJ_IMPROVEMENT, parameters.getObjectiveFunctionParameters().getCurativeMinObjImprovement());
Expand All @@ -41,10 +40,6 @@ static void deserialize(JsonParser jsonParser, RaoParameters raoParameters) thro
case TYPE:
raoParameters.getObjectiveFunctionParameters().setType(stringToObjectiveFunction(jsonParser.nextTextValue()));
break;
case FORBID_COST_INCREASE:
jsonParser.nextToken();
raoParameters.getObjectiveFunctionParameters().setForbidCostIncrease(jsonParser.getBooleanValue());
break;
case PREVENTIVE_STOP_CRITERION:
raoParameters.getObjectiveFunctionParameters().setPreventiveStopCriterion(stringToPreventiveStopCriterion(jsonParser.nextTextValue()));
break;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,12 @@
public class ObjectiveFunctionParameters {
// Default values
private static final ObjectiveFunctionType DEFAULT_OBJECTIVE_FUNCTION = ObjectiveFunctionType.MAX_MIN_MARGIN_IN_MEGAWATT;
private static final boolean DEFAULT_FORBID_COST_INCREASE = false;
private static final double DEFAULT_CURATIVE_MIN_OBJ_IMPROVEMENT = 0;
private static final PreventiveStopCriterion DEFAULT_PREVENTIVE_STOP_CRITERION = PreventiveStopCriterion.SECURE;
private static final CurativeStopCriterion DEFAULT_CURATIVE_STOP_CRITERION = CurativeStopCriterion.MIN_OBJECTIVE;
private static final boolean DEFAULT_OPTIMIZE_CURATIVE_IF_PREVENTIVE_UNSECURE = false;
// Attributes
private ObjectiveFunctionType type = DEFAULT_OBJECTIVE_FUNCTION;
private boolean forbidCostIncrease = DEFAULT_FORBID_COST_INCREASE;
private double curativeMinObjImprovement = DEFAULT_CURATIVE_MIN_OBJ_IMPROVEMENT;
private PreventiveStopCriterion preventiveStopCriterion = DEFAULT_PREVENTIVE_STOP_CRITERION;
private CurativeStopCriterion curativeStopCriterion = DEFAULT_CURATIVE_STOP_CRITERION;
Expand Down Expand Up @@ -78,14 +76,6 @@ public void setType(ObjectiveFunctionType type) {
this.type = type;
}

public boolean getForbidCostIncrease() {
return forbidCostIncrease;
}

public void setForbidCostIncrease(boolean forbidCostIncrease) {
this.forbidCostIncrease = forbidCostIncrease;
}

public void setPreventiveStopCriterion(PreventiveStopCriterion preventiveStopCriterion) {
this.preventiveStopCriterion = preventiveStopCriterion;
}
Expand Down Expand Up @@ -121,7 +111,6 @@ public static ObjectiveFunctionParameters load(PlatformConfig platformConfig) {
.ifPresent(config -> {
parameters.setType(config.getEnumProperty(TYPE, ObjectiveFunctionType.class,
DEFAULT_OBJECTIVE_FUNCTION));
parameters.setForbidCostIncrease(config.getBooleanProperty(FORBID_COST_INCREASE, DEFAULT_FORBID_COST_INCREASE));
parameters.setCurativeMinObjImprovement(config.getDoubleProperty(CURATIVE_MIN_OBJ_IMPROVEMENT, DEFAULT_CURATIVE_MIN_OBJ_IMPROVEMENT));
parameters.setPreventiveStopCriterion(config.getEnumProperty(PREVENTIVE_STOP_CRITERION, PreventiveStopCriterion.class,
DEFAULT_PREVENTIVE_STOP_CRITERION));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ void roundTrip() throws IOException {
RaoParameters parameters = new RaoParameters();
// Objective Function parameters
parameters.getObjectiveFunctionParameters().setType(ObjectiveFunctionParameters.ObjectiveFunctionType.MAX_MIN_MARGIN_IN_AMPERE);
parameters.getObjectiveFunctionParameters().setForbidCostIncrease(true);
parameters.getObjectiveFunctionParameters().setPreventiveStopCriterion(ObjectiveFunctionParameters.PreventiveStopCriterion.MIN_OBJECTIVE);
parameters.getObjectiveFunctionParameters().setCurativeStopCriterion(ObjectiveFunctionParameters.CurativeStopCriterion.PREVENTIVE_OBJECTIVE_AND_SECURE);
parameters.getObjectiveFunctionParameters().setCurativeMinObjImprovement(983);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ public void setUp() {
void checkObjectiveFunctionConfig() {
MapModuleConfig objectiveFunctionModuleConfig = platformCfg.createModuleConfig("rao-objective-function");
objectiveFunctionModuleConfig.setStringProperty("type", "MAX_MIN_RELATIVE_MARGIN_IN_AMPERE");
objectiveFunctionModuleConfig.setStringProperty("forbid-cost-increase", Objects.toString(true));
objectiveFunctionModuleConfig.setStringProperty("curative-min-obj-improvement", Objects.toString(123.0));
objectiveFunctionModuleConfig.setStringProperty("preventive-stop-criterion", "MIN_OBJECTIVE");
objectiveFunctionModuleConfig.setStringProperty("curative-stop-criterion", "PREVENTIVE_OBJECTIVE");
Expand All @@ -50,7 +49,6 @@ void checkObjectiveFunctionConfig() {
RaoParameters parameters = new RaoParameters();
RaoParameters.load(parameters, platformCfg);
ObjectiveFunctionParameters objectiveFunctionParameters = parameters.getObjectiveFunctionParameters();
assertTrue(objectiveFunctionParameters.getForbidCostIncrease());
assertEquals(ObjectiveFunctionParameters.ObjectiveFunctionType.MAX_MIN_RELATIVE_MARGIN_IN_AMPERE, objectiveFunctionParameters.getType());
assertEquals(123, objectiveFunctionParameters.getCurativeMinObjImprovement(), DOUBLE_TOLERANCE);
assertEquals(ObjectiveFunctionParameters.PreventiveStopCriterion.MIN_OBJECTIVE, objectiveFunctionParameters.getPreventiveStopCriterion());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ void testConfigWithExtensions() throws IOException {
RaoParameters parameters = loadRaoParameters("config_withExtensions");

ObjectiveFunctionParameters objectiveFunctionParameters = parameters.getObjectiveFunctionParameters();
assertTrue(objectiveFunctionParameters.getForbidCostIncrease());
assertEquals(ObjectiveFunctionParameters.ObjectiveFunctionType.MAX_MIN_MARGIN_IN_AMPERE, objectiveFunctionParameters.getType());
assertEquals(3, objectiveFunctionParameters.getCurativeMinObjImprovement(), DOUBLE_TOLERANCE);
assertEquals(ObjectiveFunctionParameters.PreventiveStopCriterion.MIN_OBJECTIVE, objectiveFunctionParameters.getPreventiveStopCriterion());
Expand Down Expand Up @@ -125,7 +124,6 @@ void testConfigWithoutExtensions() throws IOException {
RaoParameters parameters = loadRaoParameters("config_withoutExtensions");

ObjectiveFunctionParameters objectiveFunctionParameters = parameters.getObjectiveFunctionParameters();
assertTrue(objectiveFunctionParameters.getForbidCostIncrease());
assertEquals(ObjectiveFunctionParameters.ObjectiveFunctionType.MAX_MIN_MARGIN_IN_AMPERE, objectiveFunctionParameters.getType());
assertEquals(3, objectiveFunctionParameters.getCurativeMinObjImprovement(), DOUBLE_TOLERANCE);
assertEquals(ObjectiveFunctionParameters.PreventiveStopCriterion.MIN_OBJECTIVE, objectiveFunctionParameters.getPreventiveStopCriterion());
Expand Down Expand Up @@ -196,7 +194,6 @@ void testConfigWithPartialExtensions() throws IOException {
RaoParameters parameters = loadRaoParameters("config_withPartialExtensions");

ObjectiveFunctionParameters objectiveFunctionParameters = parameters.getObjectiveFunctionParameters();
assertTrue(objectiveFunctionParameters.getForbidCostIncrease());
assertEquals(ObjectiveFunctionParameters.ObjectiveFunctionType.MAX_MIN_MARGIN_IN_MEGAWATT, objectiveFunctionParameters.getType());
assertEquals(3, objectiveFunctionParameters.getCurativeMinObjImprovement(), DOUBLE_TOLERANCE);
assertEquals(ObjectiveFunctionParameters.PreventiveStopCriterion.MIN_OBJECTIVE, objectiveFunctionParameters.getPreventiveStopCriterion());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"version" : "2.4",
"objective-function" : {
"type" : "MAX_MIN_MARGIN_IN_AMPERE",
"forbid-cost-increase" : true,
"preventive-stop-criterion" : "MIN_OBJECTIVE",
"curative-stop-criterion" : "PREVENTIVE_OBJECTIVE_AND_SECURE",
"curative-min-obj-improvement" : 983.0,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"version" : "2.4",
"objective-function" : {
"type" : "MAX_MIN_MARGIN_IN_MEGAWATT",
"forbid-cost-increase" : false,
"preventive-stop-criterion" : "WRONG",
"curative-stop-criterion" : "MIN_OBJECTIVE",
"curative-min-obj-improvement" : 0.0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"version" : "2.4",
"objective-function" : {
"type" : "MAX_MIN_MARGIN_IN_MEGAWATT",
"forbid-cost-increase" : false,
"preventive-stop-criterion" : "SECURE",
"curative-stop-criterion" : "MIN_OBJECTIVE",
"curative-min-obj-improvement" : 0.0,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"version" : "2.4",
"objective-function" : {
"type" : "MAX_MIN_MARGIN_IN_MEGAWATT",
"forbid-cost-increase" : false,
"preventive-stop-criterion" : "SECURE",
"curative-stop-criterion" : "MIN_OBJECTIVE",
"curative-min-obj-improvement" : 0.0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"version" : "2.4",
"objective-function" : {
"type" : "MAX_MIN_MARGIN_IN_MEGAWATT",
"forbid-cost-increase" : false,
"preventive-stop-criterion" : "SECURE",
"curative-stop-criterion" : "WRONG",
"curative-min-obj-improvement" : 0.0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"version" : "2.4",
"objective-function" : {
"type" : "MAX_MIN_MARGIN_IN_MEGAWATT",
"forbid-cost-increase" : false,
"preventive-stop-criterion" : "SECURE",
"curative-stop-criterion" : "MIN_OBJECTIVE",
"curative-min-obj-improvement" : 0.0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"version" : "2.4",
"objective-function" : {
"type" : "MAX_MIN_MARGIN_IN_AMPERE",
"forbid-cost-increase" : true,
"preventive-stop-criterion" : "MIN_OBJECTIVE",
"curative-stop-criterion" : "PREVENTIVE_OBJECTIVE",
"curative-min-obj-improvement" : 3.0,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"version" : "2.4",
"objective-function" : {
"type" : "MAX_MIN_MARGIN_IN_MEGAWATT",
"forbid-cost-increase" : false,
"preventive-stop-criterion" : "SECURE",
"curative-stop-criterion" : "MIN_OBJECTIVE",
"curative-min-obj-improvement" : 0.0,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"version" : "2.4",
"objective-function" : {
"type" : "MAX_MIN_MARGIN_IN_MEGAWATT",
"forbid-cost-increase" : true,
"preventive-stop-criterion" : "MIN_OBJECTIVE",
"curative-stop-criterion" : "PREVENTIVE_OBJECTIVE",
"curative-min-obj-improvement" : 3.0,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"version" : "2.4",
"objective-function" : {
"type" : "MAX_MIN_MARGIN_IN_AMPERE",
"forbid-cost-increase" : true,
"preventive-stop-criterion" : "MIN_OBJECTIVE",
"curative-stop-criterion" : "PREVENTIVE_OBJECTIVE",
"curative-min-obj-improvement" : 3.0,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"version" : "2.0",
"objective-function" : {
"type" : "MAX_MIN_MARGIN_IN_MEGAWATT",
"forbid-cost-increase" : false,
"preventive-stop-criterion" : "SECURE",
"curative-stop-criterion" : "MIN_OBJECTIVE",
"curative-min-obj-improvement" : 0.0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"version" : "2.4",
"objective-function" : {
"type" : "MAX_MIN_MARGIN_IN_MEGAWATT",
"forbid-cost-increase" : false,
"preventive-stop-criterion" : "SECURE",
"curative-stop-criterion" : "MIN_OBJECTIVE",
"curative-min-obj-improvement" : 0.0,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
rao-objective-function:
type: MAX_MIN_MARGIN_IN_AMPERE
forbid-cost-increase: true
preventive-stop-criterion: MIN_OBJECTIVE
curative-stop-criterion: PREVENTIVE_OBJECTIVE
curative-min-obj-improvement: 3.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
rao-objective-function:
forbid-cost-increase: true
preventive-stop-criterion: MIN_OBJECTIVE
curative-stop-criterion: PREVENTIVE_OBJECTIVE
curative-min-obj-improvement: 3.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
rao-objective-function:
type: MAX_MIN_MARGIN_IN_AMPERE
forbid-cost-increase: true
preventive-stop-criterion: MIN_OBJECTIVE
curative-stop-criterion: PREVENTIVE_OBJECTIVE
curative-min-obj-improvement: 3.0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ private CompletableFuture<RaoResult> postCheckResults(RaoResult raoResult, PrePe
double finalFunctionalCost = finalRaoResult.getFunctionalCost(lastInstant);
double finalVirtualCost = finalRaoResult.getVirtualCost(lastInstant);

if (objectiveFunctionParameters.getForbidCostIncrease() && finalCost > initialCost) {
if (finalCost > initialCost) {
BUSINESS_LOGS.info("RAO has increased the overall cost from {} (functional: {}, virtual: {}) to {} (functional: {}, virtual: {}). Falling back to initial solution:",
formatDouble(initialCost), formatDouble(initialFunctionalCost), formatDouble(initialVirtualCost),
formatDouble(finalCost), formatDouble(finalFunctionalCost), formatDouble(finalVirtualCost));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -667,7 +667,6 @@ void testOptimizationStepsExecutedAndLogsWhenFallbackOnFirstPrev() throws IOExce
crac = Crac.read("small-crac-2P_cost_increase.json", getClass().getResourceAsStream("/crac/small-crac-2P_cost_increase.json"), network);
RaoInput raoInput = RaoInput.build(network, crac).build();
RaoParameters raoParameters = JsonRaoParameters.read(getClass().getResourceAsStream("/parameters/RaoParameters_2P_v2.json"));
raoParameters.getObjectiveFunctionParameters().setForbidCostIncrease(true);
RaoResult raoResult = new CastorFullOptimization(raoInput, raoParameters, null).run().join();

// Test Optimization steps executed
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"version" : "2.4",
"objective-function" : {
"type" : "MAX_MIN_MARGIN_IN_AMPERE",
"forbid-cost-increase" : false,
"curative-min-obj-improvement" : 0.0,
"preventive-stop-criterion" : "MIN_OBJECTIVE",
"curative-stop-criterion" : "MIN_OBJECTIVE"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"version" : "2.4",
"objective-function" : {
"type" : "MAX_MIN_MARGIN_IN_MEGAWATT",
"forbid-cost-increase" : false,
"curative-min-obj-improvement" : 0.0,
"preventive-stop-criterion" : "MIN_OBJECTIVE",
"curative-stop-criterion" : "MIN_OBJECTIVE"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"version" : "2.4",
"objective-function" : {
"type" : "MAX_MIN_MARGIN_IN_AMPERE",
"forbid-cost-increase" : false,
"curative-min-obj-improvement" : 0.0,
"preventive-stop-criterion" : "MIN_OBJECTIVE",
"curative-stop-criterion" : "MIN_OBJECTIVE"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"version" : "2.4",
"objective-function" : {
"type" : "MAX_MIN_MARGIN_IN_MEGAWATT",
"forbid-cost-increase" : false,
"curative-min-obj-improvement" : 0.0,
"preventive-stop-criterion" : "SECURE",
"curative-stop-criterion" : "MIN_OBJECTIVE"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"version" : "2.4",
"objective-function" : {
"type" : "MAX_MIN_MARGIN_IN_AMPERE",
"forbid-cost-increase" : false,
"curative-min-obj-improvement" : 0.0,
"preventive-stop-criterion" : "MIN_OBJECTIVE",
"curative-stop-criterion" : "MIN_OBJECTIVE"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"version" : "2.4",
"objective-function" : {
"type" : "MAX_MIN_MARGIN_IN_AMPERE",
"forbid-cost-increase" : false,
"curative-min-obj-improvement" : 0.0,
"preventive-stop-criterion" : "MIN_OBJECTIVE",
"curative-stop-criterion" : "MIN_OBJECTIVE"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"version" : "2.4",
"objective-function" : {
"type" : "MAX_MIN_MARGIN_IN_AMPERE",
"forbid-cost-increase" : false,
"curative-min-obj-improvement" : 0.0,
"preventive-stop-criterion" : "MIN_OBJECTIVE",
"curative-stop-criterion" : "MIN_OBJECTIVE"
Expand Down
Loading

0 comments on commit 437b44d

Please sign in to comment.