SCML 2024
Part of the ANAC 2024 Competition @ AAMAS 2024, Auckland
Days
Hours
Minutes
Seconds

The final submission deadline in your time-zone is: [i.e. ]

NEWS

  • 2024.04.12 A hotfix was just pushed to pypi for the visualizer library (scml-vis 3.1.2). If you are using the visualizer, please upgrade to this version to avoid incompatibility with pandas 2.0.2 and failing to see the market network in some cases. If you are not using the visualizer, you do not need to do anything.
  • 2024.04.12 We received inquiries about whether the same agent can be submitted to the OneShot and Standard tracks. Yes. You just need to check the newly added two boxes for the two tracks in the agent page.
  • 2024.04.07 Application for scholarships to attend the ANAC session at AAMAS extended. If you would like to apply, please fill this application form by April 20th
  • 2024.04.07 Submissions to the official competition are REQUIRED to have a pinned requirements file that can be used to reproduce the same behavior of the agent in the future. You can get this file by running "pip freeze" in your environemnt. Moreover, you are now required to register the exact python version (i.e. output of "python --version") when submitting your agent. Please be sure to submit this file with the academic report by April 16th.
  • 2024.04.04 To unify the development environment, we recommend using python 3.11.8 and insalling the pinned library versions in this requirements file using "pip install -U -r requirements.txt" specially if you are using scikit-learn, tensorflow, pytorch, or pickle.
  • 2024.03.31 You can now have multiple active agents (one per track). For example, you can use the same account to submit up to three agents, one for each track. Check the 'Submissions' tab in your home page for all your submissions and easily toggle the active agent per track. Only active agents are allowed into the competition. Note that in 2024, the standard and oneshot tracks are API compatible so agents for each can in principle be used in the other.
  • 2024.03.28 Application for scholarships to attend the ANAC session at AAMAS is now open. If you would like to apply, please fill this application form by April 7th
  • 2024.03.26 As we are approaching the official competition, we will be running tournaments in a more predictable schedule to provide timely feedback to participants. A tournament will only be run if at least one new agent or one code modification is submitted. Once such a submission is made, a tournament will start within 2-4hours and the results will be reported once avaialble to the leaderboard.
  • 2024.03.25 We added feedback about exceptions thrown by agents during tournaments. To check for these exceptions, goto the leaderboard and press the "History" button. This will open a list of the last 10 tournaments run for this track. The number of exceptions thrown during the tournament are shown in the table. Press the "Details" button to see the details of a specific tournament. In the list showing the rank of agents in this tournaments, you can see the number of exceptions thrown by every agent. If the number of exceptions for your agent is nonzero, press it and you will get a list of tracebacks of these exceptions.
  • 2024.03.23 Due to multiple requests, submission deadline was extended to April 14th AoE
  • 2024.03.21 A new version of the SCML Visualizer (scml-vis 0.3.1) was released which resolved an issue in visualizing tournaments run from the provided skeletons. If you did not install the visualizer yet, you can do so using `pip install scml-vis`. Please check this slightly-old demo for an idea of how to use it
  • 2024.03.17 A new version of NegMAS (0.10.18) and SCML (0.7.3) is now available on pypi. Please update your installation to the latest version. These new versions include speed improvements and bugfixes as well as better documentation at multiple places. You can upgrade by just running "pip install -U scml"
  • 2024.03.06 A new version of the SCML OneShot RL skeleton was created which is compatible with SCML v0.7.1. It is highly recommended to switch to this skeleton if you are using RL.
  • 2024.03.06 A new version of NegMAS (0.10.16) and SCML (0.7.1) is now available on pypi. Please update your installation to the latest version. These new versions include speed improvements and bugfixes as well as better documentation at multiple places.
  • 2023.06.07 The final results of the SCML 2023 competition were announced at AAMAS 2023. Please check them out here

This is the home of the Supply Chain Management League (SCML) one of ANAC 2024 leagues

The main motivation behind the SCM league is to increase the relevance of automated negotiation research by focusing on real-world scenarios that are characterized by situated negotiations, and complex dynamic utility functions.

The agent needs not only decide how to negotiate in a predefined single negotiation session, but when to join negotiations, and how to coordinate the behavior of its negotiators across multiple concurrent negotiations.

It is highly recommended to register your interest in the league by registering to this website by April 14th (No need to upload an agent by that time). It is mandatory to upload a preliminary version of the agent by April 10th

The live competition is run using fewer configurations than the official competition to facilitate faster feedback when submitting new agents. This may lead to different results in the official competition.


Changes from SCML 2023

The collusion track is not running in 2024. We provide a new skeleton for the OneShot track and redesign the Standard track to make it simpler while keeping the main challelenge of combining concurrent negotiation, sequential negotiation and inventory management.

OnesShot Track

No changes to the rules of the SCML OneShot game will be introduced this year. We introduce a new RL skeleton to help develop agents for the competition using Reinforcement learning.

Standard Track

The standard track is reimplemented as a generalization of the OneShot track. You can read the rules for the standard game here. Both tracks now have exactly the same API and OneShot agents can work as myopic baselines for the Standard game. The main differences between the Standard and OneShot tracks are:

  1. Products are not perishable in the Standard game allowing factories to accumulate stock of their input product. This means that profits calculated every day are lower limits as they do not take into account the value of accumulated stock which can be manufactured and sold in the future. This implies that there is no disposal of products at the end of each day, instead there is a small cost associated with carrying stock (storage cost).
  2. Agents can negotiate future contracts instead of only being allowed to negotiate about deliveries on the same day.
  3. Negotiated quantities have a larger range to allow for proactive stockpiling of the input product.
  4. Negotiated prices have a larger range which necessitates reasoning about prices as well as quantity matching.
  5. Production graphs can be deeper which means that some agents will negotiate with both their suppliers and consumers at the same time.
  6. Finally, the fact that agents can have contracts with delivery dates in the future, complicates bankruptcy processing. When an agent goes bankrupt, its future contracts are all nullified/cancelled.

Getting started and getting help

  1. The first thing you need to do is to read the game overview for the track you plan to submit to. You can check this year's rules for the one shot track and/or the standard track.
  2. If you are not registered here, do so to received updates and be able to submit your agents later here.
  3. After deciding which track(s) to participate in, check there detailed description ( OneShot or Standard).
  4. Next, Check the tutorials. You can find video tutorials and consult the documentation and we are happy to see you joining the discussions.
  5. Next, Download the appropriate skeleton (OneShot Classic, RL or Standard Classic) and test it. You will find a full description on how to do that in the README as well as the docstring on top of myagent.py in the skeleton .
  6. Happy hacking :-) If you have any questions, bug reports, feature requests, etc, you can open an issue on the SCML GitHub page

Sponsors

Links

Important Dates (GMT)

Travel SupportApril 20th
Preliminary Submission (Optional)April 10th
Final SubmissionApril 14th
Report SubmissionApril 16th
Finalist AnnouncementApril 17th
Winner AnnouncementMay 8th

Statistics (2024)

Past Competitions