Class SRVMBidder

  • All Implemented Interfaces:
    java.io.Serializable, org.marketdesignresearch.mechlib.core.bidder.Bidder, org.marketdesignresearch.mechlib.instrumentation.MipInstrumentationable

    public final class SRVMBidder
    extends SATSBidder
    Author:
    Michael Weiss
    See Also:
    Serialized Form
    • Method Detail

      • getWorld

        public SRVMWorld getWorld()
        Specified by:
        getWorld in class SATSBidder
        Returns:
        World to which this bidder belongs. The implementing Bidder class, overriding this method, should return a world type corresponding to the specific model.
      • getBidderStrength

        public java.math.BigDecimal getBidderStrength()
        This random value is used exclusively in {SRVMBidderSetup.drawBaseValues(SRVMWorld, BigDecimal, RNGSupplier), but stored in the bidder for easier analysis.
        Its mean is typically 1.

        Note that the bidder strength is not the only random influence on the base values, hence a high bidder strength does not imply that a bidder is stronger than others, it simply makes it more likely.
        Returns:
        the bidder strength
      • getSynergyThreshold

        public java.util.Map<java.lang.String,​java.lang.Integer> getSynergyThreshold()
      • getBaseValues

        public java.util.Map<java.lang.String,​java.math.BigDecimal> getBaseValues()
      • getIntrabandSynergyFactors

        public java.util.Map<java.lang.String,​java.math.BigDecimal> getIntrabandSynergyFactors()
      • getInterbandSynergyValue

        public java.math.BigDecimal getInterbandSynergyValue()
      • calculateValue

        public java.math.BigDecimal calculateValue​(org.marketdesignresearch.mechlib.core.Bundle bundle)
        Description copied from class: SATSBidder
        Returns the value this bidder has for a specific bundle.
        Specified by:
        calculateValue in class SATSBidder
        Parameters:
        bundle - the bundle for which the value is asked
        Returns:
        bidder specific value for this bundle
      • refreshReference

        public void refreshReference​(World world)
        Description copied from class: SATSBidder
        To prevent from creating too many identical world instances, worlds are not serialized and deserialized with the bidder
        As a temporary solution, the world instance is re-added after deserialization by calling this method.

        This method will be removed in a later version and be done automatically during deserialization.
        Specified by:
        refreshReference in class SATSBidder
        See Also:
        SATSBidder.refreshReference(World)
      • getBestBundles

        public java.util.LinkedHashSet<org.marketdesignresearch.mechlib.core.Bundle> getBestBundles​(org.marketdesignresearch.mechlib.core.price.Prices prices,
                                                                                                    int maxNumberOfBundles,
                                                                                                    boolean allowNegative)
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class SATSBidder
      • canEqual

        protected boolean canEqual​(java.lang.Object other)
        Overrides:
        canEqual in class SATSBidder