NetLogo banner

 Home
 Download
 Help
 Resources
 Extensions
 FAQ
 References
 Contact Us
 Donate

 Models:
 Library
 Community
 Modeling Commons

 User Manuals:
 Web
 Printable
 Chinese
 Czech
 Japanese

  Donate

NetLogo User Community Models

(back to the NetLogo User Community Models)

Negotiations

by Zvi Vlodavsky. Doron Zarchy (Submitted: 06/10/2007)

[screen shot]

Download Negotiations
If clicking does not initiate a download, try right clicking or control clicking and choosing "Save" or "Download".

(You can also run this model in your browser, but we don't recommend it; details here.)

WHAT IS IT?

This model simulates negotiations between 3 types of agents, each with a different "toughness" property.
It shows how the toughness affects the outcome of the negotiations in different environments.
It also demonstrates dynamic toughness strategies in which the toughness is determined dynamically according to the environment, attempting to yield good results in different environments.

HOW IT WORKS

The agents have energy and money. They gain money and lose energy each round. Whenever an agent's energy reaches 0, it dies. Whenever its energy reaches 100, it multiplies.
In order to survive, agents need to buy energy packs. An agent can buy one in a certain price, but 2 agents buying together will get a discount. The agents walk around randomly and when they meet another agent they can negotiate on the amount of money each one is willing to pay in order to buy energy together.
Only if an agent is about to die, it will buy energy by itself (if it has enough money).

The negotiations work as follows:
- The number of negotiation rounds is set randomly (1-10).
- The 2 sides calculate their red line (maximum price they are willing to pay) according to their toughness.
- On each round, each side makes an offer (incrementing the previous offer), also set according to toughness.
- If the sum of both offers reaches the required price (after discount), each side pays its offer and gets the energy pack (the meeting location of the 2 agents will then flash and labels with the price paid by each one will be shown).
- If the sum of both offers doesn't reach the required price when the negotiation rounds end, the negotiation fails.

HOW TO USE IT

Buttons:

SETUP: Setup the world according to the sliders explained below.

GO: Start the negotiations model.

ENERGY-UNITS-IN-PACK: number of energy units in an energy pack.
ENERGY-PRICE-ONE-BUYER: price of an energy pack for one buyer.
DISCOUNT-TWO-BUYERS: discount given when 2 agents buy 2 energy packs together.

MONEY-GAIN-PER-ROUND: how much money is gained each round.
ENERGY-LOSS-PER-ROUND: how much energy is lost each round.

INITIAL-NUM-BLUE/GREEN/RED: initial number of agents of each type
BLUE/GREEN/RED-TOUGHNESS: toughness of each agent type. Tougher agents have a lower red-line and make smaller increments of their offers in each negotiation round.
There are constant toughness levels (1-10 where 10 is the toughest) and dynamic toughness levels:
DISCOUNT-DEP: toughness determined at setup time according to the amount of discount given. The smaller the discount is, the tougher the agent.
VAR-MONEY-ENERGY: toughness is variable, calculated dynamically in each negotiation according to the amount of money and energy the agent has. The less money an agent has, the tougher it is and vice-versa. The less energy an agent has, the less-tough it is and vice-versa.
VAR-HISTORY-AGREEMENTS: toughness is variable, calculated periodically according to the history of previous agreements. If an agent paid more on average than his partners in previous agreements -> increase toughness (in order not to waste money). If an agent paid less on average than his partners in previous agreements -> decrease toughness (in order to reach more agreements).

Plots:

NUMBER-OF-AGENTS: shows the number of agents of each type.

AVERAGE-MONEY: shows the average money per agent, for each agent type.

AVERAGE-TOUGHNESS: shows the average toughness per agent, for each agent type.

THINGS TO NOTICE

The success of the different agent types can be seen by looking at the number of agents.

Notice that in different environment, different toughness levels yield better results. In some environments (for example when the discount is small), it is more important to conserve money, so it is better not reach agreements if that requires paying too much. In other environments (for example when the discount is large), it is more important to reach agreements than to conserve money.

Notice that the success of agent types is also determined by the toughness of the other agent types in the world.

Notice also how the average money and toughness look like in different scenarios.

THINGS TO TRY

Stay with the default values for ENERGY-UNITS-IN-PACK (22), ENERGY-PRICE-ONE-BUYER (33), MONEY-GAIN-PER-ROUND (1), ENERGY-LOSS-PER-ROUND (1).

Start with 15 agents per type. Use toughness of 5,4,3 for the different types.
Play with the DISCOUNT-TWO-BUYERS slider: run the model with discounts of 35%, 50%, 75%. See which toughness level works better for each discount.

Now change one agent type to use one of the dynamic toughness settings. Change the discount and see when the dynamic toughness succeeds. Notice how toughness adapts to the situation and changes.

EXTENDING THE MODEL

Extend the negotiations to include more than 2 agents for an even bigger discount.

Allow breaking agreements if a better offer was made by another agent within a certain time period.

CREDITS AND REFERENCES

Copyright 2007 Zvi Vlodavsky and Doron Zarchy

This Negotiation simulation was developed by Zvi Vlodavsky and Doron Zarchy at the Hebrew University, Jerusalem, Israel.

The model may be freely used, modified and redistributed provided this copyright is included and it is not used for profit.

Portions of this simulation code are based on code from the "PD N-Person Iterated" model by Uri Wilensky.

To refer to the "PD N-Person Iterated" model in academic publications, please use: Wilensky, U. (2002). NetLogo PD N-Person Iterated model. http://ccl.northwestern.edu/netlogo/models/PDN-PersonIterated. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.

In other publications, please use: Copyright 2002 Uri Wilensky. All rights reserved. See http://ccl.northwestern.edu/netlogo/models/PDN-PersonIterated for terms of use.

(back to the NetLogo User Community Models)