This repository was archived by the owner on May 16, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
This repository was archived by the owner on May 16, 2018. It is now read-only.
Handle alternative actions #103
Copy link
Copy link
Open
Labels
Description
For some use cases, there is a need to test alternative actions. The alternatives should be prioritized and their test should be stopped when some criterias are fullfilled.
Several implementations are possible (to be discussed).
Current implementation (see examples below) : undo manually the actions precedently tested to set the network in the same state than it was before. It implies to use a mechanism to disable the alternatives already tested (life, actionTaken…)
Example :
// Save initial tap of PST
rule('Initial_Tap') {
when !contingencyOccurred()
life 1
apply 'saveInitialTapOfPST'
}
action('saveInitialTapOfPST') {
tasks {
script{
transformer('PST_ID').phaseTapChanger.tapInit = transformer('PST_ID').phaseTapChanger.tapPosition
}
}
}
// Open transformer TR_ID
rule('Open_TR_ID') {
when !contingencyOccurred() && constraint1
apply 'openTrId'
}
action('openTrId') {
tasks {
openSwitch 'TR_ID_BREAKER'
}
}
// Close transformer TR_ID and open line LINE_ID
rule('Open_Line_Breaker') {
when !contingencyOccurred() && actionTaken('openTrId') && !constraint1
apply 'openLineBreaker'
}
action('openLineBreaker') {
tasks {
openSwitch 'LINE_ID_BREAKER'
closeSwitch 'TR_ID_BREAKER'
script {
transformer('PST_ID').phaseTapChanger.tapPosition = transformer('PST_ID').phaseTapChanger.tapInit
}
}
}
Other ideas : keep all the network states for a calculation ?
Reactions are currently unavailable