-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rao parameters remove curative stop criterion #1139
base: rao_parameters_forbid_cost_increase_always_true
Are you sure you want to change the base?
Rao parameters remove curative stop criterion #1139
Conversation
6ef7c93
to
00713a3
Compare
22ef4cf
to
30c511d
Compare
30c511d
to
443782c
Compare
7fc9c43
to
6607c13
Compare
dcc85bc
to
7d68245
Compare
6607c13
to
b1a5757
Compare
7d68245
to
9ad0337
Compare
82aacb6
to
f57fcdb
Compare
43b027a
to
78c32dc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First pass is okay for me, I think some behavior changes were agreed between @pjeanmarie and @phiedw. I think a more precise look at the comment I placed would be good.
@@ -181,8 +181,8 @@ public CompletableFuture<RaoResult> run() { | |||
|
|||
private boolean shouldStopOptimisationIfPreventiveUnsecure(double preventiveOptimalCost) { | |||
return raoParameters.getObjectiveFunctionParameters().getPreventiveStopCriterion().equals(ObjectiveFunctionParameters.PreventiveStopCriterion.SECURE) | |||
&& preventiveOptimalCost > 0 | |||
&& !raoParameters.getObjectiveFunctionParameters().getOptimizeCurativeIfPreventiveUnsecure(); | |||
&& preventiveOptimalCost > 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To check @phiedw
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems correct
// we do not want to run a second preventive that would not be able to fix the situation, to save time | ||
BUSINESS_LOGS.info("First preventive RAO was not able to fix all preventive constraints, second preventive RAO cancelled to save computation time."); | ||
return false; | ||
ObjectiveFunctionParameters.PreventiveStopCriterion preventiveStopCriterion = raoParameters.getObjectiveFunctionParameters().getPreventiveStopCriterion(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To check @phiedw
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this logic is correct
stopCriterion = StopCriterion.MIN_OBJECTIVE; | ||
targetObjectiveValue = 0.0; | ||
targetObjectiveValue = preventiveOptimizedCost - parameters.getObjectiveFunctionParameters().getCurativeMinObjImprovement(); | ||
if (parameters.getObjectiveFunctionParameters().getEnforceCurativeSecurity()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To check @phiedw
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks correct
f57fcdb
to
159c8e2
Compare
78c32dc
to
4371fee
Compare
…nsecure' and partially replace them by 'enforce curative security' NB. Curative min objective does no longer exist and is replaced by Curative have the same objective than the Preventive results Signed-off-by: Pauline Jean-Marie <pauline.jean-marie@artelys.com>
4371fee
to
d726fbb
Compare
…ps://github.com/powsybl/open-rao into rao_parameters_remove_curative_stop_criterion Signed-off-by: Philippe Edwards <philippe.edwards@rte-france.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it might make more sense to rename preventive-stop-criterion to stop-criterion now since it affects both preventive and curative steps
Ah i forgot it's removed in the next pull request anyways so I think it's all good for this pull request! :) |
Please check if the PR fulfills these requirements
Does this PR already have an issue describing the problem?
What kind of change does this PR introduce?
What is the current behavior?
What is the new behavior (if this is a feature change)?
Does this PR introduce a breaking change or deprecate an API?
If yes, please check if the following requirements are fulfilled
What changes might users need to make in their application due to this PR? (migration steps)
remove ("curative-stop-criterion", "optimize-curative-if-preventive-unsecure") from the objective function parameters
Other information: