negmas-elicit
A library for preference elicitation during automated negotiations. This module was extracted from the negmas library to provide a focused, standalone package for elicitation capabilities.
Features
- Multiple Elicitation Strategies: Pandora-based elicitors, Value of Information (VOI) elicitors, and baseline implementations
- Query System: Flexible query types including range, rank, comparison, and marginal neutrality constraints
- User Modeling: Simulate users with different response behaviors and costs
- Expector Functions: Various strategies for handling uncertainty (mean, max, min, balanced, aspiring)
- Mechanism Integration:
SAOElicitingMechanismfor running negotiations with preference elicitation
Installation
From PyPI
pip install negmas-elicit
From Source
git clone https://github.com/yasserfarouk/negmas-elicit.git
cd negmas-elicit
pip install -e .
Quick Start
from negmas import MappingUtilityFunction
from negmas.outcomes import make_issue
from negmas_elicit import (
User,
PandoraElicitor,
SAOElicitingMechanism,
)
# Define the negotiation issues
issues = [make_issue(10, "price"), make_issue(5, "quality")]
# Create a user with a known utility function
ufun = MappingUtilityFunction(
mapping=lambda o: o[0] / 10 + o[1] / 5,
issues=issues,
)
user = User(ufun=ufun, cost=0.1)
# Create an elicitor
elicitor = PandoraElicitor(user=user)
# Use in a mechanism or standalone elicitation
# ...
Available Elicitors
Baseline Elicitors
DummyElicitor: No elicitation, uses prior beliefsFullKnowledgeElicitor: Assumes complete knowledge of user preferences
Pandora Elicitors
PandoraElicitor: Standard Pandora's box approachOptimalIncrementalElicitor: Optimal incremental elicitationFastElicitor: Fast approximationMeanElicitor,BalancedElicitor,AspiringElicitor: Different expectation strategiesOptimisticElicitor,PessimisticElicitor: Optimistic/pessimistic strategies
VOI Elicitors
VOIElicitor: Value of Information based elicitation (OQA)VOIFastElicitor: Fast VOI approximationVOIOptimalElicitor: Optimal VOI strategyVOINoUncertaintyElicitor: VOI without uncertainty modeling
References
The elicitation algorithms implemented in this library are based on the following papers:
| Algorithm | Paper |
|---|---|
| Pandora's Box | Baarslag, T., & Gerding, E. H. (2015). Optimal incremental preference elicitation during negotiation. IJCAI'15. |
| VOI / OQA | Baarslag, T., & Kaisers, M. (2017). The Value of Information in Automated Negotiation. AAMAS'17. |
| FastVOI | Mohammad, Y., & Nakadai, S. (2018). FastVOI: Efficient utility elicitation during negotiations. PRIMA'18. |
| Optimal VOI | Mohammad, Y., & Nakadai, S. (2019). Optimal Value of Information Based Elicitation During Negotiation. AAMAS'19. |
BibTeX
@inproceedings{baarslag2015optimal,
title={Optimal incremental preference elicitation during negotiation},
author={Baarslag, Tim and Gerding, Enrico H},
booktitle={Proceedings of the 24th International Conference on Artificial Intelligence},
pages={3--9},
year={2015},
organization={AAAI Press}
}
@inproceedings{baarslag2017value,
title={The value of information in automated negotiation: A decision model for eliciting user preferences},
author={Baarslag, Tim and Kaisers, Michael},
booktitle={Proceedings of the 16th Conference on Autonomous Agents and MultiAgent Systems},
pages={391--400},
year={2017},
organization={IFAAMAS}
}
@inproceedings{mohammad2018fastvoi,
title={FastVOI: Efficient utility elicitation during negotiations},
author={Mohammad, Yasser and Nakadai, Shinji},
booktitle={International Conference on Principles and Practice of Multi-Agent Systems},
pages={560--567},
year={2018},
organization={Springer}
}
@inproceedings{mohammad2019optimal,
title={Optimal value of information based elicitation during negotiation},
author={Mohammad, Yasser and Nakadai, Shinji},
booktitle={Proceedings of the 18th International Conference on Autonomous Agents and MultiAgent Systems},
pages={242--250},
year={2019},
organization={IFAAMAS}
}
Documentation
Full documentation is available at https://yasserfarouk.github.io/negmas-elicit/
Requirements
- Python 3.12+
- negmas >= 0.10.0
License
This project is licensed under the GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later). See the LICENSE file for details.
Citation
If you use this library in your research, please cite the negmas library:
@inproceedings{negmas2019,
title={NegMAS: A Platform for Automated Negotiation},
author={Mohammad, Yasser and Greenwald, Amy and Nakadai, Shinji},
booktitle={International Conference on Principles and Practice of Multi-Agent Systems},
pages={343--351},
year={2019},
organization={Springer}
}
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Metadata
Release files for negmas-elicit 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| negmas_elicit-0.1.1.tar.gz | 145.8 kB | With provenance | Details for negmas_elicit-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| negmas_elicit-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for negmas_elicit-0.1.1-py3-none-any.whl |
Total release size: 192.5 kB
Release files / negmas_elicit-0.1.1.tar.gz
| Download URL | negmas_elicit-0.1.1.tar.gz |
|---|---|
| Size | 145.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ccbe7d793fadcd1712ecad0071b26563890bd072a5166fefecf9367c048805cd
|
|
BLAKE2b-256 checksum How to use checksums |
ffe234dc46923837f81c617fc1fcf92fb14a20a8046ee081019304170a646930
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 13, 2026.
Transparency logRelease files / negmas_elicit-0.1.1-py3-none-any.whl
| Download URL | negmas_elicit-0.1.1-py3-none-any.whl |
|---|---|
| Size | 46.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
97a60c13857b4dd3d58de0f92d71a5a964fb0f8dd3c56babd8526e152e1dbc83
|
|
BLAKE2b-256 checksum How to use checksums |
b1410dfdeb45d64947401582d8d00682238b7e5a651085527616a68cc8647ed9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 13, 2026.
Transparency logSecurity for negmas-elicit 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for negmas_elicit-0.1.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 13, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.