s1db / Local-Search-Copeland-Method

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Towards Copeland Optimization in Combinatorial Problems

NOTE: To run the project you must have minzinc installed.

Directory Structure

  • README.md: This file.
  • simple_diversity.py: The file opens a model from the models directory, solves the constraint satisfaction problem(using minizinc and python-minizinc), and then writes the solution to a pickled file. The pickled file stores all the solutions, utilities from all agents, and the copeland score over all solutions(referred to as the ground truth in the paper). The pickled files are stored in a directory titled with the model name followed by '_profiles' in the home directory.
  • iterative_copeland.py: This contains our implementation of the copeland voting method.
  • deletion_copeland.py: Our proposed budgeted deletion copeland approach(in the paper referred to as Default Search). This file also produces plots of the copeland scores of our approach compared to the ground truth. There's also an option to produce a gif of how the solution pool evolves over time. Note: this file is meant to run right after the simple_diversity.py file.
  • diversity_copeland_search.py: Our proposed diversity maximization copeland approach(in the paper referred to as Diversity Maximization). It works directly with the model to propagate new constraints in the model. Note: this file is meant to run right after the simple_diversity.py file.
  • debug: Logs the various scripts.
  • models: Various benchmark models used to test our implementation on.
    • simple_diversity_mixin.mzn: diversity constraint for all models in the folder.
  • plots: The plots generated by the scripts for each model.
  • requirements.txt: All the libraries used during the development of the this project. Our code works with the latest stable version of python.

About


Languages

Language:Python 100.0%