• No se han encontrado resultados

Having explained how agents calculate their threshold values and market price estima- tions, the following sections introduce how they use these estimations to generate and evaluate proposals.

4.2.4.1 Proposal Generation

As mentioned in Section 4.1.3, when agents need to acquire the services of another they must first generate proposals, offering a certain amount of reward for the selling agent. To do so, the agent first ascertains the minimum price (Pmin) it is going to offer and then the maximum price (Pmax) it can afford to offer to acquire that capability for that time slot. In our model, the minimum price an agent could offer is set to zero. This is based on the rationale that any self-interested buyer agent is motivated to pay the minimum to acquire another’s service (refer to Section 4.1.2 for a detailed explanation on the different motivations of the agents). However, since it is not logical to forward proposals with negative price offers, we use zero as the minimum possible offer:

Pmin = 0.0 (4.13)

On the other hand, the maximum price that an agent will offer for a service will depend on two factors. First, on the amount of resources it can afford to spend on the service. This amount will depend both on the amount of potential funds available to the agent (which are not already committed either as penalty charges or as payment agreements for previous time slots) and on the number of services that it needs to find using these funds. Thus, this maximum price Pmaxres (l), indicating the maximum price for the lth

time slot based on resource availability, is expressed as follows: Pmaxres(l) = Rinit− l−1 P i=1 (Pi)− l−1 P i=1 (P enalty) Tinit−(l−1) where:

• lrepresents the current time slot. Thus,l−1represents the number of time slots that have previous been allocated.

• Pi represents the price promised for theithtime slot. Thus, l−1

P i=1

(Pi)represents the accumulated funds already committed for the previous(l−1)time slots.

l−1

P i=1

(P enalty)represents the total penalty charges suffered till the last(l−1)time slot.

• Tinit−(l−1)represents number of time slots yet to be filled in the future with the above funds.13

Second, the agent considers the current market price for the required service. More specifically, it considers the opportunity (or the economic) cost [Samuelson and Nord- haus, 2001] of not acquiring the resource at that specific time slot. The opportunity cost is defined as the cost of the next best alternative, which, in this situation, amounts to the cost to the agent of not acquiring that service and buying it in the next time slot after suffering a penalty charge for the delay. Thus, the opportunity cost of acquiring the service in the next time slot (or the cost of not acquiring the service at this time slot) is the cumulative value of the penalty charge and the current expected market price for that service. Therefore, this market based maximum price (Pmkt

max(l)) is calculated as follows: Pmaxmkt(l) =Pmktl + Rinit Tinit∗mdf (4.14) where:

• Pmktl represents the agent’s approximation of the current market price for that capability (refer Section 4.2.3).

13Since we make the assumption that all service types are equally available in the context (refer to

Section 4.2.3), distributing the available funds at any given point equally among the services yet to be completed is a fair approximation.

• Rinit

Tinit∗mdf represents the penalty charge that it will suffer if the agent does not make an agreement in this time slot (refer to Section 4.2.1.3).

Having computed both these values, the agent will choose the minimum of the two. The rationale for doing so is derived from the self interested nature of the agent and its desire to make prudent use of the available resources. For example, if the agent can only afford to pay a maximum of£200, but the opportunity cost is£100 (this can occur if there is low competition in the society and the agent’s initial task reward is high) it is more prudent to pay only up to the£100. On the other hand, if the market based price is too high for the agent to bare at this point, (this can occur if there is a high degree of competition, which may have caused a temporary increase in the market price) it is rational to pay only the amount it can afford to pay and not more than the opportunity cost. Thus, the final maximum price is calculated as follows:

Pmax =M in(Pmaxres, P mkt

max) (4.15)

Using Pmin and Pmax as the lower and the upper boundaries, the agent generates an array of potential quotations:

Pi = [Pmin. . . Pmax]

= [Pmin,(Pmin+I),(Pmin+ 2I), . . . , Pmax]

(4.16)

whereI represents a finite value of increment14:

I = µ

Tinit

∗0.1 (4.17)

4.2.4.2 Proposal Evaluation

As mentioned above, each generated proposal incorporates a price quotation (Pi) and a time slot (Tl) which will indicate, respectively, the price that the buyer is willing to pay and the time slot that it is requesting the service for. When the seller receives this proposal, it will first consider the requested time slot to determine whether it has already made a prior agreement to provide its service to another at this time. If it has not done so and the time slot is vacant, then the seller will compare the proposed price with its current threshold value (before receiving the proposal)Pthi−1. The rationale for this comparison is to determine whether the proposal offers a higher reward than the agent’s

14The choice of this value is based on our initial experiments, which showed it to be a satisfactory

own estimation of the current market price. If the proposed price is higher than the current market value, the agent would accept. Otherwise, it will reject the offer. This evaluation process is as follows:

response=    accept ifPi > Pthi−1, reject ifPi ≤Pthi−1 (4.18)

However, on the other hand, if the agent has already made a prior agreement to another to provide its service, then the agent will compare the current offer against its previously agreed price Px. Thus, in this instant, for the proposal to be worthwhile, it needs to provide the agent with a higher reward than the previously agreed price. Therefore, in such a case the proposal is evaluated as follows:

response=    accept ifPi > Px, reject ifPi ≤Px (4.19)

Documento similar