I’m wondering why the solver dispatches fuel generators and curtails PV even when total PV generation exceeds demand. Generators startup and shutdown costs are set to zero, fuel cost is higher than PV (which has zero marginal cost), no ancillary services are assigned, Pmin is 0, and there are no external constraints on generator operation. Shouldn’t the solver fully utilize PV during the daytime before turning on fuel generators? Could this be due to default dispatch behavior or internal dispatch priority, or is the solver avoiding generator shutdowns during the day if they were running overnight, even with zero startup and shutdown cost?
I assure you there is no internal dispatch priority. Everything used in the solver is directly accessible to users. I agree with you: based on what you are describing, I would not expect FGEN objects to generate when enough PV is available to serve all demand.
However, there are some nuances to be aware of. Here are a couple of ideas:
Do any of the values for the PSET events exceed the PMAX value for any of the PV objects? If so, you should increase PMAX of the PV objects such that PMAX is always greater than PSET. Alternatively, you could set PMAXPRC equal to 0 for all PV objects.
Are there any transmission constraints that are preventing PV generation from reaching demand? If so, you may want to increase transmission capacities (or tinker with the XXDEF values if you are running a nodal model). Alternatively, you could set PMAXPRC equal to 0 for all LI and TRF objects.
What are the MinUpTime and MinDownTime values for the generators in your model? If these are greater than 0, this could be causing what you are observing.
Again, these questions are not guaranteed to reveal the problem but they should help steer us towards it.
Thank you so much. My PSET value was higher than the PMAXDEF for PV thinking that optimizer will only follow the profile given in the event. The first point solves my problem. Now, daytime, no fuel generator dispatch.