Automated Negotiation for Decentralised Scheduling

This paper is concerned with inter-company scheduling between manufacturers of similar products who wish to pool resources for their mutual benefit, but without sharing commercially sensitive situation such as order lists and production technology with one another and without the need for a third-party brokerage infrastructure. The ultimate objective of this work is to enable small-scale manufacturers, which may be competitors in certain markets, to achieve some of the economies of scale of their larger counterparts. To accomplish this, the paper introduces a simple agent-negotiation approach that is able to identify mutually beneficial resource transactions.


Introduction
Individual organisations may benefit from coordinating their planning and scheduling activities for various reasons.For example, inter-company scheduling can allow manufacturers or service providers to achieve objectives that they cannot accomplish on their own by pooling resources with their competitors [1], such as fulfil larger orders or offer more services out of their individual capabilities.This paper demonstrates the work by means of a manufacturing scenario but it is applicable to the service provision as well.
An increasing number of papers examine developing agent-based negotiation approaches for inter-company scheduling in manufacturing [2][3][4][5][6][7][8][9][10][11].In them, the auctionbased protocol has widely been used to guide agent negotiation behaviours [12].A key requirement of these approaches is that they rely on the use of one agent to act as a central authority.This central authority coordinates the negotiations between agents and maintains information about all the other agents.Even if this central authority can ensure that all participating agents benefit from any suggested transactions, such an approach can be unacceptable to some or all participating agents for two reasons.
Firstly, the participating agents may not be prepared to trust another agent or a third-party with the information required to produce effective inter-company schedules.Secondly, in a competitive market, it can be contrary to an agent's long-term profit to support the profitability of its competitors.In other words, if the central authority of an inter-company scheduling system produces one solution that is beneficial to an agent, but even more beneficial to its competitors, then that solution reduces the agent's market share, which adversely affects the agent's long-term profitability.In such circumstances, negotiation through bilateral negation remains the only alternative approach to inter-company scheduling.
This paper introduces such an approach in a simple two-company, single product, single resource, one-off transaction scenario.The organisation of the paper is as follows.In Section 2 our scenario is defined that involves only two manufacturers.Next, Section 3 proposes our negotiation approach for inter-company scheduling.There the agent interactive protocol and individual strategy are illustrated.Finally, our future work towards decentralised agent-based inter-company scheduling is described in Section 4.

Figure 1. Our scenario
Our scenario is depicted in Figure 1.It consists of two manufacturers 1 and 2, each denoted by ݅ aiming to maximise its profit.To simplify the problem, we assume that there is only one type of resource.A company's production capacity ܿ is shown as the production resources it possesses.A company can increase the number of resources available for production by purchasing additional resources from the other company.Conversely, a company that sells resources to the other reduces the resources available to it.This scenario takes into account only one type of product with market price ݉ per product.To manufacture one unit of the product, ‫ݎ‬ units of resource are required in manufacturer ݅ .Two manufacturers are assumed to use similar amount of resources for production.Otherwise, the one with much bigger ‫ݎ‬ may lose competitiveness in a long term.
The manufacturer receives a set of orders ܱ from customers for the solely product and also obtains income by fulfilling orders.In order to fulfil an order, the manufacturer must produce as many products as stipulated in the order.No income is received for orders that are only partially fulfilled.Each order ‫ݍ‬ ∈ ܱ represents the quantity of the product required to fulfil the order.For each order ‫ݍ‬ ∈ ܱ that the manufacturer ݅ fulfils, ‫ݍ‬ * ‫ݎ‬ units of resources are allocated and an income ‫ݍ‬ * ݉ is received.
Three additional variables are introduced to represent resource sharing between manufacturers.Boolean variable ߱ describes whether or not the order ‫ݍ‬ ∈ ܱ is accepted by manufacturer ݅ .The integer variable ‫ݍݏ‬ indicates the number of units of resource purchased by manufacturer ݅ .Negative values of ‫ݍݏ‬ indicate that ݅ sells ‫ݍݏ−‬ units of resource.The other integer variable ‫ݏ‬ represents the overall price of the transaction.
If manufacturer ݅ does not buy or sell resources, its maximum profit is computed as: A manufacturer unable to meet all its orders is willing to acquire additional resources provided that the purchasing cost is less than the marginal profit realised from those additional resources.In other words, a resource purchase must increase total profit.
Let the manufacturer ݅ offer to purchase ‫ݍݏ‬ units of resource with ‫ݏ‬ payment.Then these two integer variables in resource purchase must satisfy the constraints in Equations ( 3) and ( 4).The profit of this purchase proposal can be obtained through Equation (5).
Similarly, a manufacturer will not sell resources unless the marginal profit lost through the sale is less than the total income received from transaction.Formally, ݅ only sells ‫ݍݏ−‬ units of resource at an overall price ‫ݏ‬ if constraints (3) and ( 6) are met.Its corresponding profit can be calculated via Equation (7).

Negotiation approach
In our scenario, manufacturers are autonomous decision makers.For this reason, each company is represented by an agent that can allocate resources for production or remain them unused.When its resources are insufficient for orders, it intends to purchase more from the other agent.Oppositely, the agent may sell out excessive resources for profit maximisation.The quantity and payment of resource sharing need to be discussed for smooth transaction.A variety of negotiation mechanisms have been posed to guide agent interactive behaviours.The alternatingoffers protocol is the most popular one where agents take turns to propose offers until agreements on given issues are achieved.The agent receiving an offer can accept the offer, make a counter-offer, or abort the negotiation.
However, this approach is crucially dependent on a central authority to decide which agent makes the initial offer.Moreover, the manufacturer may be able to achieve a better price through providing feedback than proposing counter-offers.This is because in the former situation the negotiation quantity and payment leave open.
This section introduces a modified alternating-offers protocol that governs agent negotiation behaviours from an overall view.The protocol is used to reach an agreement on resource transactions, with a view to maximise profits.We then demonstrate the strategies guiding agent individual actions in terms of their roles in the transaction.

Negotiation protocol
The agent lack of sufficient resources can identify the marginal profit from what it offers to purchase.This profit is considered as its maximal price.On the contrary, the agent with excessive resources is uncertain about the exact profit the purchaser can make.Therefore, it may miss some more profitable solutions when beginning negotiation via an offer with comparatively low selling price.This is owing to the fact that the buyer is not to pay the price higher than what the seller proposes.Thus, our approach assumes that the agent with purchase intention starts a negotiation thread.In addition, the negotiation process consists of two parallel threads when both agents require extra resources to fulfil their orders.
The negotiation protocol is illustrated in Fig. 2. First, the agent considering acquiring more resources starts a negotiation thread with a purchase offer.Within the context of this negotiation thread, the agent proposing the initial offer is called buyer and the other is seller.The seller then evaluates the proposal and responds in two ways.The seller can accept the proposal when agreeing with the terms.Alternatively, if the seller disagrees with terms of the offer, it provides feedback suggesting the buyer the direction of another offer.Here, the seller does not reject the negotiation or make a counter-offer in face of an offer for two reasons.Firstly, it wishes to sell excessive resources at a reasonable price so that it would like to await an acceptable offer rather than abort the negotiation process.Secondly, the seller is unsure about the maximal price that the buyer accepts for some resources.Then it is better to leave the offer open by providing feedback rather than arbitrarily decide the payment by making counter-offer.
The seller's feedback can provide two types of advice to update the proposal.To be precise, the seller may suggest lower_quantity when the quantity in the received offer exceeds its production capacity.Also it can require higher_payment for some units of resource if the agent can meet the quantity but it disagrees with the proposed payment.The seller does not have to suggest a higher quantity of resource sharing since the higher_payment implies not only that it can provide the quantity of resource in the corresponding proposal but also that a higher quantity may be feasible.Therefore, this protocol only takes into account lower_quantity and higher_payment two types of feedback.
When the seller replies with feedback, the buyer can take two alternative actions.It can reject the negotiation when recognising no possibility for sharing resources even with further discussion according to all received feedback.Or the buyer can provide another offer as a counter based on all received feedback aiming for future agreement.Here the buyer cannot accept ambiguous feedback due to the fact that two agents have to reach an unambiguous agreement to share resources.Meanwhile, we do not consider the situation that the buyer provides feedback for received feedback for simplification.

Figure 3. The negotiation states
The transition of agent states in one negotiation thread is described in Fig. 3. Two agents can hold two parallel negotiation threads.However, further discussion in one thread becomes unnecessary when the other achieves an agreement on resource sharing.Thus, the overall negotiation process terminates when in one thread the agents reach an agreement or in both threads the buyers determine to abort the negotiation.

Negotiation strategy
Prior to negotiation, each agent ݅ computes the maximum profit ܲ it can obtain without sharing resources.This imposes a lower limit on expected total profit as a result of resource negotiations.The agent starts a negotiation thread when unable to fulfil all its orders by means of possessed resources.As mentioned above, each negotiation thread consists of a buyer and a seller agent.We present negotiation strategies for each type of agent.

Buyer
In the negotiations, a prospective buyer ݅ would like to purchase resources to meet as many orders as possible for maximal income from production.Moreover, for the same amount of resource that it intends to purchase, the buyer is willing to pay as little as the seller agrees for minimal expenses.Meanwhile, it may increase the payment slower when more offers are proposed in case that it pays much more than the seller's minimal price.
Let ߙ be the payment proportion function of manufacturer ݅ .Specifically for any ‫ݍݏ‬ units of resources, the prospective buyer initially offers to pay ߙ (0) of marginal profit.When its proposal for ‫ݍݏ‬ is refused at the nth time, the buyer may increase the payment to ߙ (݊) of marginal profit unless it reaches the upper limit in Equation 4.
The buyer agent first generates the most profitable proposal of resource purchase that is then delivered as the first offer to the other agent.This proposal offers to purchase additional resources for fulfilling more orders with ߙ (0) of the marginal profit as payment.The negotiation terminates with a transaction when the seller accepts the offer.
When the seller replies with lower_quantity feedback, the buyer searches for another quantity so that the number of resources requested to purchase is lower than that in the latest offer.It offers to pay ߙ (0) of marginal profit as well.The buyer proposes a counter when receiving the higher_payment message.This negotiation thread is aborted when the buyer fails to provide a counter in the face of lower_quantity or higher_payment.
The counter is selected as the most profitable one with highest quantity from alternatives that are generated in two ways.One the one hand, the buyer searches for an offer with lower quantity than in the late proposal and ߙ (0) of marginal profit when receiving lower_quantity reply.One the other hand, the agent classifies its previous offers into groups according their quantities.For each group, it finds out the number of times ݊ that the proposals are refused.The agent then adds counter options with the quantity of this group and the payment of ߙ (݊) of marginal profit as long as the new payment is lower than the corresponding upper bound.

Seller
In the negotiation, a prospective seller ݅′ wishes to share spare or occupied resources at the price as high as it can to maximise its profit.Also it charges not less when more resources are required by the other.This is because that if the buyer has offered ‫ݏ‬ for ‫ݍݏ‬ units of resource, the agent ݅′ realises that the former can benefit not lower than ‫ݏ‬ for more than ‫ݍݏ‬ units.In addition, the seller can estimate the buyer profit since they two are supposed to be equipped with similar production technique.Thus, it can refuse some offers with low payment compared to estimated profit.
The seller agent has to terminate the negotiation thread when receiving a reject message from the buyer.Otherwise, it can either accept an offer or counter or provide feedback for further discussions.Since the agent is unable to sell resources more than possessed, it examines whether its capacity is lower than the sharing quantity in the proposal.If so, the agent replies with lower_quantity suggestion.If not, the agent computes the profit ܲܵ of selling resources as described in the received proposal.
The prospective seller then carries out three comparisons.Firstly, it examines profit ܲܵ considering resource sharing and ܲ based on local assignment.Equation (8) indicates more potential benefit for ݅′ when selling resources.If so, the agent then searches for sp(‫ݍݏ‬ ) that is the highest payment of ݅′ for no more than ‫ݍݏ‬ units of resource in the negotiation history.It is set zero initially.Next, the seller takes the second comparison of ‫ݏ‬ and sp(‫ݍݏ‬ ) .Equation (9) indicates that the purchase payment is regarded reasonable according to negotiation history.The last comparison occurs between ‫ݏ‬ and the seller's estimated profit ep(‫ݍݏ‬ ) for ‫ݍݏ‬ resources.The latter is decided with reference to its own production technique.

ܲܵ ≥ ܲ
‫ݏ‬ ≥ sp(‫ݍݏ‬ ) ‫ݏ‬ ≥ ep(‫ݍݏ‬ ) The seller takes two alternative actions according to comparison results.When Equations ( 8), ( 9) and (10) are satisfied, the agent replies with an acceptance for sharing commitment.Otherwise, it deliveries higher_payment feedback for the quantity of resource in the offer or counter.

Conclusions
This paper has proposed a novel decentralised agentbased inter-company scheduling approach.The negotiation mechanism has been applied to prevent sharing of potentially commercially sensitive information.This approach suits scenarios consisting of schedule coordinating companies remain competitors.Then they are unwilling to disclose explicit information with one another or with third party agents.
Obviously the scenario employed in this paper is a simple one.Thus, future work will examine the effect of such extensions.In particular, the introduction of a temporal dimension has many implications, not only for the simulation but the negotiation mechanism as well.Another important generalisation of the work is the introduction of additional agents.Again, this affects the negotiation in a variety of ways.Especially, adding agents makes negotiations multilateral instead of bilateral, which has implications on both the negotiation protocol and an individual agent's negotiation strategies.