This repository was created to store the final project developed for Decision and Risk Analysis discipline at PUC-Rio. The objective is to choose a problem that has intrinsic uncertainty and use Julia to model and optimize a decision.
The literature TODO
TODO
TODO
add model explanation
With this in mind, below is the maximum coverage formulation, as developed by Oliveira, 2020 (PT):
For this project, crimes have three main components:
- type (e.g.
NARCOTICS
); - location (e.g.
(41.827, -87.632)
); - and time (e.g.
01/29/2013 03:33:00 PM
).
Given the objective to minimize cost given that it is possible to cover at least a certain percentage of reported crimes to the correct place and within a maximum distance. Therefore:
The data used in this project is available at Kaggle and can be downloaded directly using Kaggle's API using kaggle datasets download -d currie32/crimes-in-chicago -p raw/ --unzip
, which will download and unzip directly inside raw/
folder.
Both visualization and selection are done using python
, and an environment with the needed packages can be created by running poetry install
.
Visualization is done in data.ipynb
Data is then selected and filered to reduce the computational power needed for the optimization model.
TODO
cooked folder
TODO
how will possible facility locations be defined?
julia --project=coverenv/ cover.jl
- Charles also developed a C++ project, available at optimization_mclp_fleet_ict
- If
scipy
's (and plotly, plotly-express, folium) installation fails by not finding BLAS or Lapack libraries, follow these steps, and make sure the python version that is being used has an available wheel forscipy
.