Skip to content

Commit

Permalink
Bug fixes after merge
Browse files Browse the repository at this point in the history
Signed-off-by: wangjer <jeremy.wang@rte-france.com>
  • Loading branch information
wangjer committed Oct 24, 2024
1 parent 51b8096 commit 8c43b3d
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -193,18 +193,16 @@ private OptimizationResult optimizeCurativePerimeter(Perimeter curativePerimeter
.collect(Collectors.toSet());

Set<FlowCnec> loopFlowCnecs = AbstractOptimizationPerimeter.getLoopFlowCnecs(flowCnecs, raoParameters, network);

Map<RangeAction<?>, Double> rangeActionSetpointMap = crac.getPotentiallyAvailableRangeActions(curativeState)
.stream()
.collect(Collectors.toMap(rangeAction -> rangeAction, prePerimeterSensitivityOutput::getSetpoint));
RangeActionSetpointResult rangeActionSetpointResult = new RangeActionSetpointResultImpl(rangeActionSetpointMap);
RangeActionActivationResult rangeActionsResult = new RangeActionActivationResultImpl(rangeActionSetpointResult);
ObjectiveFunction objectiveFunction = ObjectiveFunction.create().build(flowCnecs, loopFlowCnecs, initialSensitivityOutput, prePerimeterSensitivityOutput, stateTree.getOperatorsNotSharingCras(), raoParameters);
ObjectiveFunctionResult objectiveFunctionResult = objectiveFunction.evaluate(prePerimeterSensitivityOutput);
ObjectiveFunctionResult objectiveFunctionResult = objectiveFunction.evaluate(prePerimeterSensitivityOutput, rangeActionsResult);
boolean stopCriterionReached = isStopCriterionChecked(objectiveFunctionResult, curativeTreeParameters);
if (stopCriterionReached) {
NetworkActionsResult networkActionsResult = new NetworkActionsResultImpl(Collections.emptySet());

Map<RangeAction<?>, Double> rangeActionSetpointMap = crac.getPotentiallyAvailableRangeActions(curativeState)
.stream()
.collect(Collectors.toMap(rangeAction -> rangeAction, prePerimeterSensitivityOutput::getSetpoint));
RangeActionSetpointResult rangeActionSetpointResult = new RangeActionSetpointResultImpl(rangeActionSetpointMap);
RangeActionActivationResult rangeActionsResult = new RangeActionActivationResultImpl(rangeActionSetpointResult);
return new OptimizationResultImpl(objectiveFunctionResult, prePerimeterSensitivityOutput, prePerimeterSensitivityOutput, networkActionsResult, rangeActionsResult);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ public CompletableFuture<RaoResult> run() {
}
RaoLogger.logSensitivityAnalysisResults("Systematic sensitivity analysis after preventive remedial actions: ",
prePerimeterSensitivityAnalysis.getObjectiveFunction(),
new RangeActionActivationResultImpl(RangeActionSetpointResultImpl.buildWithSetpointsFromNetwork(raoInput.getNetwork(), raoInput.getCrac().getRangeActions())),
new RangeActionActivationResultImpl(RangeActionSetpointResultImpl.buildWithSetpointsFromNetwork(network, crac.getRangeActions())),
preCurativeSensitivityAnalysisOutput,
raoParameters,
NUMBER_LOGGED_ELEMENTS_DURING_RAO);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,7 @@ private SecondPreventiveRaoResult runSecondPreventiveRao(PrePerimeterSensitivity
}
RaoLogger.logSensitivityAnalysisResults("Systematic sensitivity analysis after curative remedial actions before second preventive optimization: ",
prePerimeterSensitivityAnalysis.getObjectiveFunction(),
new RangeActionActivationResultImpl(RangeActionSetpointResultImpl.buildWithSetpointsFromNetwork(network, crac.getRangeActions())),
sensiWithPostContingencyRemedialActions,
raoParameters,
NUMBER_LOGGED_ELEMENTS_DURING_RAO);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public MinCostFiller(Set<FlowCnec> optimizedCnecs,
}

@Override
public void fill(LinearProblem linearProblem, FlowResult flowResult, SensitivityResult sensitivityResult) {
public void fill(LinearProblem linearProblem, FlowResult flowResult, SensitivityResult sensitivityResult, RangeActionActivationResult rangeActionActivationResult) {
Set<FlowCnec> validFlowCnecs = FillersUtil.getFlowCnecsComputationStatusOk(optimizedCnecs, sensitivityResult);

// build variables
Expand All @@ -55,11 +55,6 @@ public void fill(LinearProblem linearProblem, FlowResult flowResult, Sensitivity
fillObjectiveWithActivationCost(linearProblem);
}

@Override
public void updateBetweenSensiIteration(LinearProblem linearProblem, FlowResult flowResult, SensitivityResult sensitivityResult, RangeActionActivationResult rangeActionActivationResult) {
// Objective does not change, nothing to do
}

@Override
public void updateBetweenMipIteration(LinearProblem linearProblem, RangeActionActivationResult rangeActionActivationResult) {
// Objective does not change, nothing to do
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import com.powsybl.openrao.searchtreerao.linearoptimisation.algorithms.linearproblem.OpenRaoMPConstraint;
import com.powsybl.openrao.searchtreerao.linearoptimisation.algorithms.linearproblem.OpenRaoMPVariable;
import com.powsybl.openrao.searchtreerao.result.api.RangeActionSetpointResult;
import com.powsybl.openrao.searchtreerao.result.impl.RangeActionActivationResultImpl;
import com.powsybl.openrao.searchtreerao.result.impl.RangeActionSetpointResultImpl;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
Expand Down Expand Up @@ -64,7 +63,6 @@ public void setUp() throws IOException {
coreProblemFiller = new CoreProblemFiller(
optimizationPerimeter,
initialRangeActionSetpointResult,
new RangeActionActivationResultImpl(initialRangeActionSetpointResult),
rangeActionParameters,
Unit.MEGAWATT,
false, RangeActionsOptimizationParameters.PstModel.CONTINUOUS);
Expand All @@ -81,6 +79,7 @@ private void buildLinearProblem() {
.withProblemFiller(coreProblemFiller)
.withProblemFiller(minCostFiller)
.withSolver(RangeActionsOptimizationParameters.Solver.SCIP)
.withInitialRangeActionActivationResult(getInitialRangeActionActivationResult())
.build();
linearProblem.fill(flowResult, sensitivityResult);
}
Expand Down

0 comments on commit 8c43b3d

Please sign in to comment.