Skip to main content

negmas-elicit

PyPI version Tests Documentation License: AGPL v3 Python 3.12+

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: SAOElicitingMechanism for 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 beliefs
  • FullKnowledgeElicitor: Assumes complete knowledge of user preferences

Pandora Elicitors

  • PandoraElicitor: Standard Pandora's box approach
  • OptimalIncrementalElicitor: Optimal incremental elicitation
  • FastElicitor: Fast approximation
  • MeanElicitor, BalancedElicitor, AspiringElicitor: Different expectation strategies
  • OptimisticElicitor, PessimisticElicitor: Optimistic/pessimistic strategies

VOI Elicitors

  • VOIElicitor: Value of Information based elicitation (OQA)
  • VOIFastElicitor: Fast VOI approximation
  • VOIOptimalElicitor: Optimal VOI strategy
  • VOINoUncertaintyElicitor: 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)

Source distribution for negmas-elicit 0.1.1
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)

Table of built distributions (wheels) for negmas-elicit 0.1.1
File Interpreter ABI Platform Actions
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page