Class Proposal

java.lang.Object
com.tnsai.coordination.Proposal

public class Proposal extends Object
Represents a proposal from a contractor agent in the Contract-Net protocol. Contractors submit proposals in response to a Call for Proposals (CFP).
  • Constructor Details

    • Proposal

      public Proposal(String proposalId, String contractorId, String taskId, double cost, long estimatedTimeMs, double confidence, Map<String,Object> capabilities)
  • Method Details

    • calculateScore

      public double calculateScore()
      Calculates a score for this proposal based on cost, time, and confidence. Uses default normalization bounds (maxCost=1000, maxTimeMs=60000). Lower score is better.
    • calculateScore

      public double calculateScore(double maxCost, long maxTimeMs)
      Calculates a score with configurable normalization bounds. Lower score is better.
      Parameters:
      maxCost - maximum expected cost for normalization
      maxTimeMs - maximum expected time in milliseconds for normalization
      Returns:
      weighted score (40% cost, 30% time, 30% confidence)
    • getProposalId

      public String getProposalId()
    • getContractorId

      public String getContractorId()
    • getTaskId

      public String getTaskId()
    • getCost

      public double getCost()
    • getEstimatedTimeMs

      public long getEstimatedTimeMs()
    • getConfidence

      public double getConfidence()
    • getCapabilities

      public Map<String,Object> getCapabilities()
    • getSubmittedAt

      public Instant getSubmittedAt()
    • toString

      public String toString()
      Overrides:
      toString in class Object