{"id":23229042,"url":"https://github.com/mgrechanik/aco-workshop-for-tsp","last_synced_at":"2025-04-05T18:29:47.909Z","repository":{"id":231478164,"uuid":"781840843","full_name":"mgrechanik/aco-workshop-for-tsp","owner":"mgrechanik","description":"Ant colony optimization workshop for solving a travelling salesman problem","archived":false,"fork":false,"pushed_at":"2024-10-08T03:42:03.000Z","size":857,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-11T15:53:46.210Z","etag":null,"topics":["aco","aco-workshop","ant-colony-optimization","app","app-solving-tsp-problem","graph","salesman-problem","travelling-salesman-problem","tsp","tsp-problem","tsp-solver","workshop"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mgrechanik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2024-04-04T06:23:48.000Z","updated_at":"2024-10-08T03:42:07.000Z","dependencies_parsed_at":"2024-05-08T07:44:25.743Z","dependency_job_id":null,"html_url":"https://github.com/mgrechanik/aco-workshop-for-tsp","commit_stats":null,"previous_names":["mgrechanik/aco-workshop-for-tsp"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgrechanik%2Faco-workshop-for-tsp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgrechanik%2Faco-workshop-for-tsp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgrechanik%2Faco-workshop-for-tsp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgrechanik%2Faco-workshop-for-tsp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mgrechanik","download_url":"https://codeload.github.com/mgrechanik/aco-workshop-for-tsp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247383127,"owners_count":20930215,"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","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":["aco","aco-workshop","ant-colony-optimization","app","app-solving-tsp-problem","graph","salesman-problem","travelling-salesman-problem","tsp","tsp-problem","tsp-solver","workshop"],"created_at":"2024-12-19T01:16:03.136Z","updated_at":"2025-04-05T18:29:47.893Z","avatar_url":"https://github.com/mgrechanik.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ant colony optimization workshop for solving a travelling salesman problem\n\n[Русская версия](docs/README_ru.md)\n\n## Table of contents\n\n* [Introdution](#goal)\n* [Demo](#demo)\n* [Installing and running on Docker](#docker)\n* [Installing and running on OpenServer](#openserver)\n* [Tips](#tips)\n\n\n---\n\n## Introdution \u003cspan id=\"goal\"\u003e\u003c/span\u003e\n\nThis workshop gives you a web-application with user interface to work with this [ACO library](https://github.com/mgrechanik/ant-colony-optimization).\n\nAll details about aco algorithm you can find in the docs of that library.\n\nThe information about graph comes from an image file.\n\nYou can set all settings and parameters used by aco algorithm and see the result of the calculation.\n\nThis application is intended to be run locally, on user's PC.\n\n---\n\n## Demo \u003cspan id=\"demo\"\u003e\u003c/span\u003e\n\n[Video demo](https://www.youtube.com/watch?v=0sNPC6pUG9U)\n\n![Ant colony optimization workshop](https://raw.githubusercontent.com/mgrechanik/aco-workshop-for-tsp/main/docs/aco_workshop_demo.jpg \"Ant colony optimization workshop\")\n\n\n\n\t\n---\n    \n## Installing ang running on Docker \u003cspan id=\"docker\"\u003e\u003c/span\u003e\n\nIf you are using Docker in your work then the application is ready to be run with it.\n\n\nDownload app's files with a Git\n```\ngit clone git@github.com:mgrechanik/aco-workshop-for-tsp.git\n```\n\nIf you do not have Git, download files from **Code --\u003e Dowload Zip** at this github page and unzip it.\n\nGo to the directory with the application\n```\ncd aco-workshop-for-tsp\n```\n\nYou need to set rigts, you need to do it one-time.\n```\nchmod -R o+w ./web/uploads\n```\n\nThat is all, application is ready to be launched, so do it with this command:\n```\ndocker compose up -d\n```\n\nAnd by opening address http://localhost:8000 in your web browser you will see the main page of the application.\n\nWhen you decide to stop working, just run\n\n```\ndocker compose down\n```\n\n\n---\n\n## Installing ang running on OpenServer \u003cspan id=\"openserver\"\u003e\u003c/span\u003e\n\nIf you are not familiar with Docker, you can run it on any webserver with PHP (version \u003e= 8.0 ) and Composer.\nBecause the application is just a PHP app on Yii2 framework.\n\nFor example, I will show you how to install and run it on [OpenServer](https://ospanel.io/)\n\n1) Download and install OpenServer, I have it installed in D:\\OpenServer\n\n2) In the directory D:\\OpenServer\\domains create new directory, say **aco.front**.\n\n3) Download application files from **Code --\u003e Dowload Zip** at this github page and unzip it. \nYour directory ```D:\\OpenServer\\domains\\aco.front``` should look like:\n```\nassets\ncommands\nconfig\n...\n```\n\n4) Now you need to set a couple of things. The steps are demonstrated on the next image.\n![installing on OpenServer](https://raw.githubusercontent.com/mgrechanik/aco-workshop-for-tsp/main/docs/os_all.jpg \"installing on OpenServer\")\n\n5) Go to Settings\n\n6) At modules tab you set PHP version to 8.0 or higher.\n\n7) At the domains tab you set new name to **aco.front**, and it's directory to - **aco.front/web** , click \"Add\" button.\n\n8) We get our domain in the list like on the image and click \"Save\"\n\n9) Go to PHP settings\n\n10) Set the work timeout from 30 (seconds) to 300 for example\n\n11) Lanch a web server\n\n12) Go to console\n\n13) Run two commands in it\n```\ncd domains\\aco.front\n\ncomposer install\n```\n\n14) That is all, application is ready to be used, just go to the next address in your web browser:\n\nhttp://aco.front/\n\n---\n\n## Tips \u003cspan id=\"tips\"\u003e\u003c/span\u003e\n\n#### How to create an image with a graph \u003cspan id=\"tips-image-create\"\u003e\u003c/span\u003e\n\nThere are two types of strategies how we find nodes of a graph on an image.\n\nThe first strategy is this: the color of nodes are different from background color (color of the top left pixel).\nTake a brush in your image editor with 10px (so they are clearly seen) diameter and draw nodes.\n\nThe second strategy is when you know the exact color, in RGB format, which is present on the node.\nIt is handy when you have some others image and draw you nodes on it.\n\nThis application comes with two example images who represent each type.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgrechanik%2Faco-workshop-for-tsp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmgrechanik%2Faco-workshop-for-tsp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgrechanik%2Faco-workshop-for-tsp/lists"}