Bidder

Market participating resources (e.g., generators, IESs) submit energy bids (a.k.a., bid curves) to the day-ahead and real-time markets for each trading time period to communicate their flexibility and marginal costs. As shown in the figure below, an energy bid is a piecewise constant function described by several energy offer price ($/MWh) and operating level (MW) pairs. Bid curves from each resource are inputs (i.e., parameters) in the market-clearing optimization problems solved by production cost models. Currently, the Bidder formulates a two-stage stochastic program to calculate the optimized time-varying bid curves for thermal generators. In this stochastic program, each uncertain price scenario has a corresponding power output. As shown in the figure, each of these uncertain price and power output pairs formulates a segment in the bidding curves.

Alternative text

class idaes.apps.grid_integration.bidder.Bidder(bidding_model_object, n_scenario, solver, forecaster)[source]

Wrap a model object to bid into the market using stochastic programming.

compute_bids(date, hour=None, **kwargs)[source]

Solve the model to bid into the markets. After solving, record the bids from the solve.

Parameters
  • date – current simulation date

  • hour – current simulation hour

Returns

None

formulate_bidding_problem()[source]

Formulate the bidding optimization problem by adding necessary parameters, constraints, and objective function.

Parameters

None

Returns

None

record_bids(bids, date, hour)[source]

This function records the bids and the details in the underlying bidding model.

Parameters
  • bids – the obtained bids for this date.

  • date – the date we bid into

  • hour – the hour we bid into

Returns

None

update_model(**kwargs)[source]

Update the flowsheets in all the price scenario blocks to advance time step.

Parameters

kwargs – necessary profiles to update the underlying model. {stat_name: […]}

Returns

None

write_results(path)[source]

This methods writes the saved operation stats into an csv file.

Parameters

path – the path to write the results.

Returns

None

class idaes.apps.grid_integration.bidder.SelfScheduler(bidding_model_object, n_scenario, horizon, solver, forecaster, fixed_to_schedule=False)[source]

Wrap a model object to self schedule into the market using stochastic programming.

compute_bids(date, hour=None, **kwargs)[source]

Solve the model to self-schedule into the markets. After solving, record the schedule from the solve.

Parameters
  • date – current simulation date

  • hour – current simulation hour

Returns

None

formulate_bidding_problem()[source]

Formulate the bidding optimization problem by adding necessary parameters, constraints, and objective function.

Parameters

None

Returns

None

record_bids(bids, date, hour)[source]

This function records the bids (schedule) and the details in the underlying bidding model.

Parameters
  • bids – the obtained bids for this date.

  • date – the date we bid into

  • hour – the hour we bid into

Returns

None

update_model(**kwargs)[source]

Update the flowsheets in all the price scenario blocks to advance time step.

Parameters

kwargs – necessary profiles to update the underlying model. {stat_name: […]}

Returns

None

write_results(path)[source]

This methods writes the saved operation stats into an csv file.

Parameters

path – the path to write the results.

Returns

None