sieve

A community detection algorithm based on optimizing the Sieve objective function using IBM ILOG CPLEX to solve an Integer Linear Program.

https://github.com/climerlab/sieve

Science Score: 52.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
    Organization climerlab has institutional domain (www.cs.umsl.edu)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.5%) to scientific vocabulary

Keywords

community-detection cplex cpp integer-linear-programming integer-programming
Last synced: 4 months ago · JSON representation ·

Repository

A community detection algorithm based on optimizing the Sieve objective function using IBM ILOG CPLEX to solve an Integer Linear Program.

Basic Info
  • Host: GitHub
  • Owner: ClimerLab
  • License: bsd-3-clause
  • Language: C++
  • Default Branch: main
  • Homepage:
  • Size: 22.5 KB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Topics
community-detection cplex cpp integer-linear-programming integer-programming
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

sieve

A community detection algorithm based on optimizing the Sieve objective function using IBM ILOG CPLEX to solve an Integer Linear Program.

Setup

Clone repo

Install IBM ILOG CPLEX

Update Makefile with path to CPLEX and CONCERT directories

Compile using the Makefile by navigating to the root directory and entering: make

Execute Program

This repo contains 3 programs that are to be used together to optimize the Sieve objective function of a graph. The first program, 'SepComp', identifies all of the seperated components in the original network and creates to files for each compnent. Next, 'S_MIP' is executed on each component to find an optimal solution for the component. Finally, 'CombClustOut' combines the results from each component into an optimal solution of the original network.

The user can call each program seperately or they may use the included shell script.

ORIG_GML - Full file path of the .gml or .graph representing the network

OUTPUT_DIR - Directory to save the output and temporary files. You must include the trailing '/'

RUNTAG - Name included in output files for run

CLEANUP_FLAG - Boolean used to control cleanup of temp files

Output

S_ObjValue.csv - File containint the component number, Sieve value, and run time of each component

RUNTAG_S.out - Optimal community assignment for the nodes in the network

RUNTAG.stats - Statistics from SepComp

Owner

  • Name: Climer Lab
  • Login: ClimerLab
  • Kind: organization
  • Location: Saint Louis Missouri

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Smith"
  given-names: "Ken"
  orcid: "https://orcid.org/0000-0002-7292-8268"
- family-names: "Climer"
  given-names: "Sharlee"
  orcid: "https://orcid.org/0000-0003-2731-7377"
title: "sieve"
version: 1.0.0
license: BSD-3-Clause
license-url: "https://github.com/ClimerLab/sieve/blob/main/LICENSE"
repository-code: "https://github.com/ClimerLab/sieve/"
keywords:
  - community detection
  - integer linear program
  - sieve
date-released: 2024-09-16
type: software
url: "https://github.com/ClimerLab/sieve"

GitHub Events

Total
Last Year