Release Comments
9.1.13. (download)

Jan 2021 release: added ANAC 2018 agents to repository. Fixed minor issue with duplicate bids in user model.

9.1.11. (download)

Fixed minimum size, enabling the use of Genius again on small screens.

9.1.10. (download)

Special release for ANAC 2019, containing special profiles but otherwise identical to 9.1.9.
Normal Genius users should use 9.1.9 instead of this version.

9.1.9. (download) + Added example agent RandomBidderExample: a simple example agent that makes random bids above a minimum target utility.
+ CustomUtilitySpacePartyExample now works for all settings.
9.1.8. (download) - Improved agent examples in the "bilateralexamples" folder:

+ BoaPartyExample shows how to use BOA components and how to combine them into a single stand-alone party. BoaPartyExample also includes an example of estimating the utility space.

+ CustomUtilitySpacePartyExample shows how a party can deal with preference uncertainty by defining a custom UtilitySpace based on the closest known bid.

9.1.7. (download) - Any AbstractNegotiationParty is now compatible with preference uncertainty
- Updated code and documentation on preference uncertainty
- Cleanup of BOA repository
- Cleanup of agent names to improve the readability of the party repository
9.1.6. (download) Random seed selection for uncertain profiles. Hi-dpi screens workaround added to user manual. BidRanking now contains utility of worst and best bid.
9.1.5. (download) Fixed documentation about uncertainty model.
9.1.4. (download) Correctly load uncertain utility space.
9.1.2. (download) BOA components support partial profiles.
9.1.1. (download) Support for partial profiles added.
9.1.0. (download) BETA RELEASE (not fully tested). Support for partial profiles added.
9.0.0. (download) Genius now is not on maven anymore. Restructured packages. All genius core code now in genius.core (instead of negotiator).
Genius core source is now included in the jar. All sources (also of the agents) are available on"
8.0.5. (download) All core packages are now in genius.core. Check the examples and doc for more info.
8.0.4. (download) Console logging fixed.
8.0.3. (download) Improved logging and event handling.
8.0.2. (download) Do not overwrite existing fles.
8.0.1. (download) Updated manual.
8.0.0 (download) Removed bi-lateral only system, as these can be run also with the multilateral system. Mavenized the system.
7.1.8 (download) Fixed issue when running bilateral negotiation in multilateral tournament from command line.
7.1.7 (download)  
7.1.6 (download)  
7.1.5 (download)  
7.1.4 (download) Fixed issue in bilateral negotiation.
7.1.3 (download) Fixed issue with mediator.
7.1.2 (download)  
7.1.1 (download) New option:  You can disable the progress-chart in the multilateral single-session negotiation.
Bugfix: We now check the bid contained in an Accept.
7.1.0 (download) - The new init method of the AbstractNegotiationParty method adds a persistance storage parameter.
- The Accept and Offer methods have extra parameters.
- TimeLineInfo class has been moved to negotiatior.timeline.
This has consequences for the backward compatibility of agents.
The agents in the repository have been adapted to work with these changes.
7.0.1 (download)  
7.0.0 (download)  
6.0.1 (download)  
6.0.0 (download)  
5.3.5 (download) Always use discount. Reservation value only used if no agreement was reached.
5.3.4 (download) This is the official release for ANAC 2016.
5.3.3 (download)  
5.3.2 (download)  
5.3.1 (download)  
5.2.11 (download)  
5.2.10 (download) This is the official release for ANAC 2015.


+ ANAC 2015 agents are included.
+ The interface for multiparty negotiation tournament has ben improved.
+ Some bugs have been fixed.
+ This version has been tested for Java 7. If you have any problems while using Genius with Java 8, please report us.

+ You can find the details of the Stacked Alternating Offers Protocol (SAOP) in the following paper:

Reyhan Aydoğan, David Festen, Koen V. Hindriks, and Catholijn M. Jonker. "Alternating Offers Protocols for Multilateral Negotiation". In Fujita et. al (editors). Modern Approaches to Agent-based Complex Automated Negotiation, Springer, To be appeared.

5.2.5 (download) This is the official release for ANAC 2015.
+ Time based deadlines could work properly if you try to do a large loop just before deadline  +  Reservation value is now used when no agreement could be found (tournament + single session)
5.2.4 (download) This is the official release for ANAC 2015.
+ This version supports the user interface for multiparty negotiation tournament on the MacOS or CentOS (Unix-based OS) too.<
5.2.3 (download) This is the official release for ANAC 2015.
+ Walk away option is added to the protocol.
Note: If you use "walk away" option as a negotiation action, please use this version. Otherwise, you can also use Genius 5.2.2.
5.2.2 (download) This is the official release for ANAC 2015.
+ Eclipse project version for the developer is ready.
+ Multiparty negotiation protocol called "Stacked Alternating Offers Protocol for Multi-Lateral" has been implemented.
+ Users can develop a negotiating party for this protocol and run a multiparty negotiation session.
+ Bugfix: The logging problem related to tournament session has been solved.
+ Bugfix: Running multiparty negotiation session by specifying the deadline in terms of seconds is working properly at this moment.
*  You can find how to set the environment in the following tutorial:

ANAC Tutorial

5.1.1 (download) This is the official release for ANAC 2014.
+ Users are now able to change the reservation value and discount factor of non-linear scenarios using the graphical user interface.
+ Bugfix: Windows users can now also load agents into the repository through the user interface from anywhere in their file system.
5.1 (download) + Genius now supports non-linear negotiation scenarios. In these scenarios, the agents no longer have linear utility functions; instead, they can only sample their utility of a bid through the getUtility() method. In terms of the API, this means the agents no longer have access to methods pertaining to linear scenarios (e.g., getWeight()). The agents have to search the utility space bid-by-bid, using the getUtility() method for any bid they are interested in.
See also the Q&A section of

+ Bugfix: users can now load agents into the repository through the user interface from anywhere in their file system.

4.2 (download) This release incorporates all agents and domains introduced in ANAC2013.
4.1.1 (download) This minor release of Genius is designed for ANAC 2013. If you experience any problems please contact us.


+ Added capability for an agent to save and load data
For the ANAC2013 the ability to store and load information was added.
+ Changed implementation of discount
Previously, a preference profile without discount had a discount of 0.0, but now, a domain without discount has discount 1.0, which is more consistent. Also the method isDiscounted() has been added to test whether the preference profile features a discount.
+ Improved agent loading
Loading an agent has been improved in this version by providing better feedback when an error occurs.
+ Added BOA repository in GUI
BOA framework compatible agents can now be more easily added by using the BOA repository available in the GUI.
+ Validation of scenarios
Scenarios are now automatically validated to avoid errors leading to unpredictable outcomes.

4.0 (download) This major release of Genius incorporates many new features. If you experience any problems please contact us.
+ All ANAC 2010, 2011, and 2012 agents and domains are included
All ANAC agents and domains can now be used in a tournament.
+ The BOA framework has been added
The BOA framework allows to separately implement the bidding strategy, acceptance strategy, and opponent model of an agent. This allows to reuse and recombine a large set of existing components derived from price winning ANAC agents.
+ Improved documentation
Documentation has been added of the core classes and the manual has been rewritten. + Added rounds-based timeline The type of timeline can now be changed between continuous and rounds-based. In addition, the length of the negotiation can be specified.
+ Added tournament options
A tournament can now be given a large set of options, including the possibility to run without GUI and use a large set of quality measures.
+ Added a large set of quality measures A large set of quality measures have been added which can be specified in the tournament options. Examples include trajectory analysis and analysis of the accuracy of an opponent model.
+ New GUI design The GUI has been redesigned, allowing to more easily add new agents and scenarios.
+ Support of linear issues Critical bugs in the support of linear issues have been resolved.
+ Distribute a tournament over multiple computers A so called distributed tournament can be specified. This feature allows to divide a single large tournament among multiple computers.
3.2.1 (download) Used in ANAC 2012, The Third International Automated Negotiating Agent Competition.
For ANAC 2012, we have extended Genius with a classic feature in negotiation that was absent in previous years, namely reservation values. A reservation value is a real-valued value that sets a threshold below which a rational agent should not accept any offers. Intuitively, a reservation value is the utility associated with a Best Alternative to a Negotiated Agreement (BATNA). A reservation value is the utility that an agent will obtain if no agreement is realized in a negotiation session. This can happen either by breaking off the negotiation (a non-zero reservation value makes breaking off potentially interesting) or by not reaching an agreement before the deadline associated with a negotiation session (if such a deadline is present). Reservation values typically are different for each of the negotiating agents that negotiate in a session. In case no reservation value is set in a profile, the reservation value of an agent is set to zero (0). Given that utilities for outcomes range from 0 to 1, this essentially is the same as having no reservation value. If a discount factor is present, reservation values will be discounted in exactly the same way as the utility of any other outcome.
3.2 (download) Changelog:
+ All ANAC 2011 resources are included
All agents and negotiation scenarios of ANAC 2011 are included in the repository of this release.
+ User Interface Improvements
Many improvements have been made to the GUI, including highlighting of the last bid, an improved depiction of the outcome space, and a more user-friendly selection panel of the scenarios, agents, and protocols.
+ Previous tournament setup is remembered
The tournament setup is automatically saved every time you run a tournament.
+ Multiple sessions
It is now possible to run multiple instances of the same negotiation session.
+ Better logging
It is possible to save negotiation logs to .xml format. Negotiation features that can be logged include: time of agreement, number of exchanged bids, negotiation domain and preferences, opponent information, and distance of agreement to Nash and Pareto.
3.1 (download) Used in ANAC 2011, The Second International Automated Negotiating Agent Competition.
+ Changed protocol so that agents now have a shared time line of 3 minutes
The real-time deadline of ANAC is considered to be a challenge for the competitors. In 2010, the agents had three minutes each to deliberate. This means agents have to keep track of both their own time and the time the opponent has left. For ANAC 2011, we have chosen a simpler protocol where both agents have a shared time window of three minutes.
+ Discount factors
ANAC 2011 will have domains that have discount factors. In ANAC 2010, almost every negotiation between the agents took the entire negotiation time of three minutes each to reach an agreement. Adding discount factors should provide more interesting negotiations with faster deals. The implementation of discount factors is as follows. We have added a method to UtilitySpace that gives the discounted utility:
public double getUtilityWithDiscount(Bid bid, Timeline timeline) and a convenience method in Agent that does the same thing:
public double getUtility(Bid bid)
Its definition is as follows. Let d in (0, 1) be the discount factor. (If d<= 0 or d>= 1, we assume that d = 1.) Let t in [0, 1] be the current normalized time, as defined by the Timeline. We compute the discounted utility discountedUtility as follows: discountedUtility = originalUtility * d^t. Note that for t = 0, or d = 1, the utility remains unchanged. When we use normalized time, then for t = 1 the original utility is multiplied by the discount factor. The effect is almost linear in between.
3.0 (download) Used in ANAC 2010, The First International Automated Negotiating Agent Competition.
The first public version of Genius. Uses a separate timeline for the negotiating agents.