Skip to content

Electric Vehicle Charging Stations Location Problem

Notifications You must be signed in to change notification settings

cintrano/EV-CSL

Repository files navigation

EV-CSL

Electric Vehicle Charging Stations Location Problem

Setup

source ./venv/bin/activate
python3 -m pip install -r requirements.txt -f libs

Generate libraries

In the case that you must download the libraries again

pip freeze --local > requirements.txt
mkdir libs
cd libs/
pip download -r ../requirements.txt --no-index --find-links `pwd`

Run

python3 main.py <Fixed Parameters> <Opional Parameters>

Fixed Parameters:

  • [Number clients]
  • [Number locations]
  • [Number electrical stations]
  • [Matrix clients x locations]
  • [Matrix electrical stations x locations]
  • [Clients data file]
  • [Locations data file]
  • [Electrical substation data file]

Optional Parameters:

  • --seed [Random seed]
  • --algo [Algorithm]: Options [NSGA2,SPEA2]
  • --pop [population size]
  • --prob-cross [Crossover probability]
  • --prob-mut [Mutation probability]
  • --ga-sel [Selection operator]: Options [TOURNAMENT2]
  • --ga-cross [Crossover operator]: Options [2POINT]
  • --ga-mut [Mutation operator]: Options [UNIFORM]
  • --ga-repl [Replacement operator]: Options [mu_lambda]. If the algorithm is NSGAII or SPEA2 this option is fixed.
  • --iter [Maximun number of iterations]
  • --radius [Radius size]: in meters
  • --qos-alpha [number]: weight to the qos term in the QoS fitness function
  • --qos-beta [number]: weight to the overlapping term in the QoS fitness function
  • --qos-gamma [number: weight to the not service term in the QoS fitness function]
  • --input [folder]: Folder where the input data is
  • --output [ folder]: Folder where write the output files
  • ./outputs

Example

venv/bin/python3.8 main.py 363 33550 14 CxA_filter.ssv ExA.ssv cp.ssv facility_points.ssv substations_points_EkW.ssv --pop 20 --ga-sel None --prob-cross 0.7 --prob-mut 0.2 --ga-sel TOURNAMENT2 --ga-cross 2POINT --ga-mut UNIFORM --ga-repl mu_lambda --pop 20 --iter 1000 --radius 500 --input ./inputs --output ./outputs