issues_to_genius

negmas.outcomes.issues_to_genius(issues, file_name)[source]

Exports a the domain issues to a GENIUS XML file.

Parameters:
  • issues (Sequence[Issue]) – The issues to be exported

  • file_name (str) – File name to export to

Return type:

None

Returns:

A tuple[Issue, …] or dict[Issue]

Examples

>>> import pkg_resources
>>> issues, _ = issues_from_genius(
...     file_name=pkg_resources.resource_filename(
...         "negmas", resource_name="tests/data/Laptop/Laptop-C-domain.xml"
...     )
... )
>>> issues_to_genius(
...     issues=issues,
...     file_name=pkg_resources.resource_filename(
...         "negmas", resource_name="tests/data/LaptopConv/Laptop-C-domain.xml"
...     ),
... )
>>> issues2, _ = issues_from_genius(
...     file_name=pkg_resources.resource_filename(
...         "negmas", resource_name="tests/data/LaptopConv/Laptop-C-domain.xml"
...     )
... )
>>> print("\n".join([" ".join(list(issue.all)) for issue in issues]))
Dell Macintosh HP
60 Gb 80 Gb 120 Gb
19'' LCD 20'' LCD 23'' LCD
>>> print("\n".join([" ".join(list(issue.all)) for issue in issues2]))
Dell Macintosh HP
60 Gb 80 Gb 120 Gb
19'' LCD 20'' LCD 23'' LCD
  • Forcing Single outcome

>>> issues, _ = issues_from_genius(
...     file_name=pkg_resources.resource_filename(
...         "negmas", resource_name="tests/data/Laptop/Laptop-C-domain.xml"
...     )
... )
>>> print([list(issue.all) for issue in issues])
[['Dell', 'Macintosh', 'HP'], ['60 Gb', '80 Gb', '120 Gb'], ["19'' LCD", "20'' LCD", "23'' LCD"]]
Remarks:

See from_xml_str for all the parameters