Thank you for your advise, @uwe.krien

Actually, I am trying to model an energy system in an off-grid situation, which means that the energy system is not connected to the national or local grid, therefore, the frequency of this isolated network should all be maintained by the diesel generators, since the PV plant is just a follower of the diesel generators frequency.

When there is a lack of power, all of these generators should be able to provide a reserved capacity called spinning reserve to mitigate the energy lack. The same for the case of energy excess, all of the machines should be able to slow down to reduce the power generation.

Supposing that there are N generators, we run N-1 in its maximum capacity, and 1 in partial load, it is obviously that the reserved capacity is not enough to mitigate the grid uncertainty. More over, runing the generators in its maximum capacity or under it optimal minimum range (e.x. 40% of its nominal power) could significantly reduce its life time. That’s why I would like to have the feature of load_sharing.

Thank you again for your help ! By the way, I have another question for you. I use the component “Transformer” to simulate the diesel generator. Inside of this component, I use the nonconvex flow at the outputs for the startup_cost and minimum_uptime and I use the normal flow at the input for my fuel consumption bus. As I understand, without the load_sharing constriant, they should be in the situation like you mentionned, N-1 in maximum capacity and 1 in partial load, but what I get is all of them run in their minimum capacity.

On your opinion, the solver try to minimize the objective expression in the blocks of Nonconvex flow or the objective expression of the blocks of normal flow? Or the solver try to minimize both of them ?