from __future__ import annotations
from ..components.acceptance import ACNext
from ..components.offering import HybridOfferingPolicy
from .modular.mapneg import MAPNegotiator
__all__ = ["HybridNegotiator"]
[docs]
class HybridNegotiator(MAPNegotiator):
"""
Rational Concession Negotiator
Args:
name: Negotiator name
parent: Parent controller if any
preferences: The preferences of the negotiator
ufun: The ufun of the negotiator (overrides prefrences)
owner: The `Agent` that owns the negotiator.
"""
def __init__(self, *args, alpha: float = 1.0, beta: float = 0.0, **kwargs):
kwargs["offering"] = HybridOfferingPolicy()
kwargs["acceptance"] = ACNext(kwargs["offering"], alpha=alpha, beta=beta)
super().__init__(*args, **kwargs)