Commit e48ff153 authored by Topi Rasku's avatar Topi Rasku
Browse files

Improving the performance of *v_genRamp* variable limit generation.

parent b01f1809
......@@ -187,28 +187,28 @@ v_gen.up(gnu_output(grid, node, unit), sft(s, f, t))${gnuft(grid, node, unit, f,
// Ramping capability of units not part of investment set
// NOTE: Apply the corresponding equations only to units with investment possibility,
// online variable, or reserve provision
loop(sft(s, f, t)$(ord(t) > msStart(mSolve, s) + 1),
v_genRamp.up(grid, node, unit, s, f, t)${gnuft_ramp(grid, node, unit, f, t)
and p_gnu(grid, node, unit, 'maxRampUp')
and not uft_online(unit, f, t)
and not unit_investLP(unit)
and not unit_investMIP(unit)
and not uft_startupTrajectory(unit, f, t) // Trajectories require occasional combinations with 'rampSpeedToMinLoad'
}
= ( p_gnu(grid, node, unit, 'maxGen') + p_gnu(grid, node, unit, 'maxCons') )
* p_gnu(grid, node, unit, 'maxRampUp')
* 60; // Unit conversion from [p.u./min] to [p.u./h]
v_genRamp.lo(grid, node, unit, s, f, t)${gnuft_ramp(grid, node, unit, f, t)
and p_gnu(grid, node, unit, 'maxRampDown')
and not uft_online(unit, f, t)
and not unit_investLP(unit)
and not unit_investMIP(unit)
and not uft_shutdownTrajectory(unit, f, t) // Trajectories require occasional combinations with 'rampSpeedFromMinLoad'
}
= -( p_gnu(grid, node, unit, 'maxGen') + p_gnu(grid, node, unit, 'maxCons'))
* p_gnu(grid, node, unit, 'maxRampDown')
* 60; // Unit conversion from [p.u./min] to [p.u./h]
);
v_genRamp.up(gnu(grid, node, unit), sft(s, f, t))${ ord(t) > msStart(mSolve, s) + 1
and gnuft_ramp(grid, node, unit, f, t)
and p_gnu(grid, node, unit, 'maxRampUp')
and not uft_online(unit, f, t)
and not unit_investLP(unit)
and not unit_investMIP(unit)
and not uft_startupTrajectory(unit, f, t) // Trajectories require occasional combinations with 'rampSpeedToMinLoad'
}
= ( p_gnu(grid, node, unit, 'maxGen') + p_gnu(grid, node, unit, 'maxCons') )
* p_gnu(grid, node, unit, 'maxRampUp')
* 60; // Unit conversion from [p.u./min] to [p.u./h]
v_genRamp.lo(gnu(grid, node, unit), sft(s, f, t))${ ord(t) > msStart(mSolve, s) + 1
and gnuft_ramp(grid, node, unit, f, t)
and p_gnu(grid, node, unit, 'maxRampDown')
and not uft_online(unit, f, t)
and not unit_investLP(unit)
and not unit_investMIP(unit)
and not uft_shutdownTrajectory(unit, f, t) // Trajectories require occasional combinations with 'rampSpeedFromMinLoad'
}
= -( p_gnu(grid, node, unit, 'maxGen') + p_gnu(grid, node, unit, 'maxCons'))
* p_gnu(grid, node, unit, 'maxRampDown')
* 60; // Unit conversion from [p.u./min] to [p.u./h]
// v_online cannot exceed unit count if investments disabled
// LP variant
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment