Add execution script

This commit is contained in:
coolneng 2021-04-20 01:21:30 +02:00
parent ed76d07345
commit 9ab8ec3d8a
Signed by: coolneng
GPG Key ID: 9893DA236405AF57
2 changed files with 52 additions and 0 deletions

52
src/execution.py Normal file
View File

@ -0,0 +1,52 @@
from glob import glob
from subprocess import run
from sys import executable
from numpy import mean, std
from pandas import DataFrame
def file_list(path):
file_list = []
for fname in glob(path):
file_list.append(fname)
return file_list
def create_dataframes(datasets):
greedy = DataFrame(columns=["dataset", "distancia"])
local = DataFrame(columns=["dataset", "distancia"])
greedy["dataset"] = datasets
local["dataset"] = datasets
return greedy, local
def process_output(results):
for line in results:
if line.startswith(bytes("Total distance:", encoding="utf-8")):
line_elements = line.split(sep=bytes(":", encoding="utf-8"))
distance = float(line_elements[1])
return distance
def script_execution(filenames, greedy, local, iterations=3):
script = "src/main.py"
for dataset in filenames:
greedy_list = []
local_list = []
for _ in range(iterations):
greedy_cmd = run(
[executable, script, dataset, "greedy"], capture_output=True
).stdout.splitlines()
greedy_list.append(greedy_cmd)
local_cmd = run(
[executable, script, dataset, "local"], capture_output=True
).stdout.splitlines()
local_list.append(local_cmd)
greedy.loc[greedy["dataset"] == dataset, ["distancia"]] = mean(greedy_list)
local.loc[local["dataset"] == dataset, ["distancia"]] = mean(local_list)
if __name__ == "__main__":
datasets = file_list(path="data/*.txt")
greedy, local = create_dataframes(datasets)
script_execution(filenames=datasets, greedy=greedy, local=local)

0
src/main.py Normal file → Executable file
View File