I am currently optimizing a hydrogen production chain. I am optimizing the production regime, and the size of the required wind, solar and the electrolyser.
For every hour of the year, the production level of the electrolyser should be lower than the sum of the production of wind and solar and higher than 10% of the electrolyser capacity, if the sum of wind and solar is below 10% of the electrolyser capacity, I want the production level to be 0. I have the production pattern for a 1 MW unit for both wind and solar, noted by $W_t, S_t$ for every timestep t. The sizes of the electrolyser, solar and wind are noted as $X_e, X_s, X_w$. The total energy required in a year is $E_r$. The production level for every hour is $p_t$.
Now I know that in non-linear programming, using a variable $u_t$ can be used to 'turn off' the electrolyser, but you would have to multiply it by the size of the electrolyser $X_e$, making the constraint non-linear. I have read somethings about the big-M method, but I have difficulties formulating this exact problem into that method. Could somebody please help me?
Below, I have tried to express in symbols what I mean.
$ \sum p_t = E_r$
$W_t X_w+S_t X_s - p_t \ge 0$ for all t
$p_t -X_e \le 0$ for all t
if $W_t X_w+S_t X_s \ge 0.1 X_e$
$p_t -0.1 X_e \ge 0$
elseif $W_t X_w+S_t X_s < 0.1 X_e$
$p_t = 0$
I am working with the PuLP package in Python.