code: def _runAuction(self, gteeOfferPrice, gteeBidPrice, haveQ):
          
          pOffers = [offer for offer in self.offers if not offer.reactive]
          pBids = [bid for bid in self.bids if not bid.reactive]
  
          # Clear offer/bid quantities and prices.
          auction = Auction(self.case, pOffers, pBids, self.auctionType,
                            gteeOfferPrice, gteeBidPrice, self.limits)
          auction.run()
  
          # Separate auction for reactive power.
          if haveQ:
              qOffers = [offer for offer in self.offers if offer.reactive]
              qBids = [bid for bid in self.bids if bid.reactive]
  
              # Too complicated to scale with mixed bids/offers (only
              # auction_types LAO and FIRST_PRICE allowed)
              qAuction = Auction(self.case, qOffers, qBids, self.auctionType,
                                  gteeOfferPrice, gteeBidPrice, self.limits)
              qAuction.run()
docs: Clears an auction to determine the quantity and price for each
              offer/bid.