{"id":31849154,"url":"https://github.com/viveksapkal2793/exit-flow","last_synced_at":"2025-10-12T10:57:00.066Z","repository":{"id":317044569,"uuid":"1061900921","full_name":"viveksapkal2793/Exit-Flow","owner":"viveksapkal2793","description":"A Multi-agent system built using autogen for managing student flows in and out of classrooms.","archived":false,"fork":false,"pushed_at":"2025-09-28T13:22:48.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-28T14:26:17.228Z","etag":null,"topics":["agent-based-simulation","autogen","multi-agent-system","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/viveksapkal2793.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-22T14:35:00.000Z","updated_at":"2025-09-28T13:23:59.000Z","dependencies_parsed_at":"2025-09-28T14:26:42.123Z","dependency_job_id":"ca499dc0-7e5b-4a17-91cb-b4cbe5f840c3","html_url":"https://github.com/viveksapkal2793/Exit-Flow","commit_stats":null,"previous_names":["viveksapkal2793/exit-flow"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/viveksapkal2793/Exit-Flow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viveksapkal2793%2FExit-Flow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viveksapkal2793%2FExit-Flow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viveksapkal2793%2FExit-Flow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viveksapkal2793%2FExit-Flow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/viveksapkal2793","download_url":"https://codeload.github.com/viveksapkal2793/Exit-Flow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viveksapkal2793%2FExit-Flow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279011046,"owners_count":26084865,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-based-simulation","autogen","multi-agent-system","python"],"created_at":"2025-10-12T10:56:57.193Z","updated_at":"2025-10-12T10:57:00.061Z","avatar_url":"https://github.com/viveksapkal2793.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Exit-Flow\nA Multi-agent system for managing student flows in and out of classrooms.\n\nA distributed simulation system that models classroom exit flow coordination through autonomous agent negotiation. The system solves bottleneck congestion problems where multiple classrooms must coordinate student exit times through a shared corridor with limited capacity.\n\n## What It Does\n\nThe simulation models three classroom agents (C1, C2, C3) that must coordinate student exit times to avoid congestion at a shared bottleneck. Agents negotiate with each other using a commitment-based protocol, redistributing exit slots while respecting individual professor scheduling constraints. The system demonstrates distributed problem-solving, social contract enforcement, and adaptive behavior under realistic constraints.\n\n## Dependencies\n\n- Python 3.8+\n- pandas\n- autogen\n\n## Setup and Installation\n\n1. **Clone the repository:**\n```bash\ngit clone https://github.com/viveksapkal2793/Exit-Flow\ncd Exit-Flow\n```\n\n2. **Install dependencies:**\n```bash\npip install -r requirements.txt\n```\n\n3. **Run the simulation:**\n```bash\npython driver.py\n```\n\n## File Structure\n\n- driver.py - Main simulation orchestration and analysis\n- agents.py - Agent classes (BottleneckAgent, ClassroomAgent)\n- protocols.py - Data structures (Message, Commitment, Adjustment)\n- config.py - System parameters and constants\n\n## Output\n\nThe simulation generates:\n- Episode-by-episode negotiation logs\n- Final traffic distribution table with per-agent slot assignments\n- Commitment history tracking social contracts and violations\n- Performance metrics (congestion resolution, delay times, violation counts)\n\n## Key Features\n\n- **Dynamic Attendance**: ±10% variation per episode\n- **Heterogeneous Constraints**: Different professor policies per classroom\n- **Social Contracts**: Commitment tracking with violation penalties\n- **Distributed Coordination**: No central authority, pure agent negotiation","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviveksapkal2793%2Fexit-flow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fviveksapkal2793%2Fexit-flow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviveksapkal2793%2Fexit-flow/lists"}