alpha-neighbor-p-center-problem

所属分类:论文
开发工具:Jupyter Notebook
文件大小:23914KB
下载次数:0
上传日期:2023-05-24 04:48:20
上 传 者sh-1993
说明:  阿尔法邻居p中心问题的启发式算法。
(Heuristic algorithms for the alpha-neighbor p-center problem.)

文件列表:
.vscode (0, 2023-06-21)
.vscode\settings.json (81, 2023-06-21)
LICENSE (1070, 2023-06-21)
anpcp.code-workspace (60, 2023-06-21)
anpcp (0, 2023-06-21)
anpcp\debugger.py (1450, 2023-06-21)
anpcp\grasp_betas.py (3588, 2023-06-21)
anpcp\grasp_final.py (6062, 2023-06-21)
anpcp\grasp_iters.py (1566, 2023-06-21)
anpcp\iconstructive.ipynb (67558, 2023-06-21)
anpcp\ieval_fvs-a.ipynb (186367, 2023-06-21)
anpcp\ieval_fvs-a_2.ipynb (284461, 2023-06-21)
anpcp\ieval_fvs.ipynb (130624, 2023-06-21)
anpcp\ieval_fvs_pcp.ipynb (134516, 2023-06-21)
anpcp\igrasp.ipynb (74599, 2023-06-21)
anpcp\igrasp_betas.ipynb (42130, 2023-06-21)
anpcp\igrasp_final_detailed.ipynb (257511, 2023-06-21)
anpcp\igrasp_final_summary.ipynb (30449, 2023-06-21)
anpcp\igrasp_iters.ipynb (107330, 2023-06-21)
anpcp\ilocal_search.ipynb (200892, 2023-06-21)
anpcp\ini_afvs.ipynb (88209, 2023-06-21)
anpcp\irefactor_localsearch.ipynb (6994, 2023-06-21)
anpcp\itest_greedy.ipynb (20638, 2023-06-21)
anpcp\itsp_split.ipynb (2045, 2023-06-21)
anpcp\models (0, 2023-06-21)
anpcp\models\__init__.py (1, 2023-06-21)
anpcp\models\instance.py (5372, 2023-06-21)
anpcp\models\instance_same_set.py (916, 2023-06-21)
anpcp\models\plotter.py (2889, 2023-06-21)
anpcp\models\solution.py (1416, 2023-06-21)
anpcp\models\solver.py (21263, 2023-06-21)
anpcp\models\solver_io.py (1584, 2023-06-21)
anpcp\models\solver_same_set.py (501, 2023-06-21)
anpcp\models\tabu_structures (0, 2023-06-21)
anpcp\models\tabu_structures\__init__.py (38, 2023-06-21)
anpcp\models\tabu_structures\tabu_recency.py (1224, 2023-06-21)
anpcp\models\wrappers (0, 2023-06-21)
... ...

# _α_-neighbor _p_-center problem (ANPCP) The _α_-neighbor _p_-center problem (ANPCP) is a location problem in which the goal is to select $p$ centers such that the maximum distance of a user to its $\alpha$-th closest open facility is minimized. This is the repository of the source code used for an undergraduate thesis and a future research paper, whose main goal are to design efficient heuristic and metaheuristic procedures to solve the ANPCP. A heuristic is any approach to problem solving that employs a practical method that is not guaranteed to be optimal, perfect, or rational, but is nevertheless sufficient for reaching an immediate, short-term goal or approximation. The ANPCP arises in the modeling of the placement of emergency facilities, such as fire stations or hospitals, where the aim is to have a minimum guaranteed response time between a customer or demand point and its center by considering a notion of fault tolerance, i.e., providing backup centers in case one of them fails to respond to an emergency. This ensures that even if up to $\alpha - 1$ facilities fail, every customer has an open facility close to it. # Thesis A Greedy Randomized Adaptive Search Procedure (GRASP) is proposed to solve the ANPCP. The key component of this metaheuristic is a fast local search algorithm, which provides reasonable quality solutions in less time than a greedy interchange due to the use of data structures that store how the assignments between users and centers behave after a swap of facilities, allowing to reuse these expensive computations by accessing them instead of recalculating them. This algorithm is referred to as the Alpha Fast Vertex Substitution (A-FVS) method, which is an adaptation from an algorithm with the same name designed for the PCP. We experimentally show that the A-FVS is significantly faster than a generic greedy interchange for all the tested cases (750 times faster for the largest instance), as well as the results of using our proposed GRASP to solve instances from the well-known TSPLIB library. The research concerning this thesis goes up to the development of the A-FVS algorithm and the experimentation with the proposed GRASP without extra components, as can be seen in its paper. ## Abstract We present an enhanced implementation of the vertex substitution local search procedure for the ANPCP. The heuristic, called Alpha Fast Vertex Substitution (A-FVS), is significantly faster due to the use of data structures that store how the assignments between users and centers behave after a swap of facilities, allowing to reuse these expensive computations by accessing them instead of recalculating them. This intelligent way of exploiting the structure of the objective function led to significant computational speed-up times for all cases. The A-FVS is integrated as a local search phase into a Greedy Randomized Adaptive Search Procedure (GRASP). Empirical evidence shows that GRASP outperforms A-FVS. The thesis file is available in PDF at [Releases](https://github.com/netotz/alpha-neighbor-p-center-problem/releases/tag/thesis). Or download it directly [here](https://github.com/netotz/alpha-neighbor-p-center-problem/releases/download/thesis/anpcp-thesis.pdf). # Blog posts - [Decomposing an objective function](https://netotz.github.io/posts/decomposing-of/) - [The process of designing a new algorithm](https://netotz.github.io/posts/a-fvs/) # Source code I've been using interactive programming most of the time, you can notice there are a lot of Jupyter Notebooks in the code. Some of them will fail to run now because I've changed the code many times. I didn't want to delete them though because this repository is more like a history of the changes made to the codebase used for the research. The code here is not intended to be a production application ready to be used or a package to be installed, but simply a proof of the experiments and tests conducted for the research. The `debugger.py` file contains some common lines of code that will run the solver and related classes. There are some CLI scripts that I used to run long experiments with GRASP, they are the files starting with `anpcp/grasp_*.py`. Then I used some Jupyter Notebooks to load the results of the experiments and filter the data to generate LaTeX tables. The folder `anpcp/nb_results/` is full of output files, generated from the conducted experiments. # Common acronyms | Acronym | Full name | | :------ | ------------------------------------------: | | PCP | $p$-center problem | | ANPCP | $\alpha$-neighbor $p$-center problem | | PDP | $p$-dispersion problem | | PMP | $p$-median problem | | FAGI | Fast Algorithm for Greedy Interchange | | FVS | Fast Vertex Substitution | | A-FVS | Alpha Fast Vertex Substitution | | GRASP | Greedy Randomized Adaptive Search Procedure |

近期下载者

相关文件


收藏者