-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmodel_build.sh
135 lines (94 loc) · 2.66 KB
/
model_build.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#!/bin/bash
set -eu
export PYTHONUNBUFFERED=1
start=`date +%s`
TESTPHASE=0
cd src
python faster_parser.py
start_2=$(date +%s)
python create_haversine_dist_matrix.py $TESTPHASE
start_3=$(date +%s)
python create_all_train_heading_matrices.py
start_4=$(date +%s)
cd GRASP-TSPTW
make clean
make
mv grasp_tw ..
cd ../..
mkdir -p data/model_build_outputs/local_optima_analisis
mkdir -p data/model_build_outputs/df_local_optima_analisis
cd src
#Begin RANDOMIZATION parameter fitting
file_count=500
RANDOMIZATION=2
mkdir -p ../data/model_build_outputs/grasp_routes_prob_random_2
echo EXECUTING GRASP $RANDOMIZATION
for i in `seq 1 $file_count`
do
./grasp_tw $i $RANDOMIZATION $TESTPHASE
done
RANDOMIZATION=3
mkdir -p ../data/model_build_outputs/grasp_routes_prob_random_3
echo EXECUTING GRASP $RANDOMIZATION
for i in `seq 1 $file_count`
do
./grasp_tw $i $RANDOMIZATION $TESTPHASE
done
RANDOMIZATION=4
mkdir -p ../data/model_build_outputs/grasp_routes_prob_random_4
echo EXECUTING GRASP $RANDOMIZATION
for i in `seq 1 $file_count`
do
./grasp_tw $i $RANDOMIZATION $TESTPHASE
done
RANDOMIZATION=5
mkdir -p ../data/model_build_outputs/grasp_routes_prob_random_5
echo EXECUTING GRASP $RANDOMIZATION
for i in `seq 1 $file_count`
do
./grasp_tw $i $RANDOMIZATION $TESTPHASE
done
echo EVALUATING SCORES FOR DIFFERENT RANDOMIZATION VALUES
python prueba_scores_randomization.py 2 &
python prueba_scores_randomization.py 3 &
python prueba_scores_randomization.py 4 &
python prueba_scores_randomization.py 5 &
wait
python determine_best_randomization.py
start_5=$(date +%s)
<<'COMMENTS'
for i in `seq 1 $file_count`; do
(
# .. do your stuff here
python prueba_scores_local_optimas_aws.py $i
) &
# allow to execute up to $N jobs in parallel
if [[ $(jobs -r -p | wc -l) -ge $N ]]; then
# now there are $N jobs already running, so wait here for any job
# to be finished so there is a place to start next one.
wait -n
fi
done
wait
COMMENTS
echo DONE EXECUTING GRASP RANDOMIZATION $RANDOMIZATION
end=`date +%s`
total_runtime=$(($end-$start))
parser_time=$(($start_2-$start))
haversine_time=$(($start_3-$start_2))
heading_time=$(($start_4-$start_3))
randomization_time=$(($start_5-$start_4))
parameter_tuning_time=$(($end-$start_5))
echo TOTAL TIME IN SECONDS FOR PARSING
echo $parser_time
echo TOTAL TIME IN SECONDS FOR HAVERSINE
echo $haversine_time
echo TOTAL TIME IN SECONDS FOR HEADING
echo $heading_time
echo TOTAL TIME IN SECONDS FOR RANDOMIZATION
echo $randomization_time
echo TOTAL TIME IN SECONDS FOR PARAMETER TUNING
echo $parameter_tuning_time
echo TOTAL TIME IN SECONDS FOR MODEL_BUILD
echo $total_runtime
echo DONE WITH MODEL_BUILD