int nb_edges =
_nb_locations * 2 +
- _nb_time_steps * (nb_exits + nb_entrances) +
+ (_nb_time_steps - 2) * (nb_exits + nb_entrances) +
(_nb_time_steps - 1) * nb_motions +
_nb_locations * _nb_time_steps;
}
}
- for(int t = 0; t < _nb_time_steps; t++) {
+ for(int t = 1; t < _nb_time_steps-1; t++) {
for(int l = 0; l < _nb_locations; l++) {
if(_entrances[l]) {
node_from[e] = source;
}
if(_exits[l]) {
node_from[e] = 1 + (2 * (t + 0) + 1) * _nb_locations + l;
- node_from[e] = sink;
+ node_to[e] = sink;
_edge_lengths[e] = 0.0;
e++;
}
_graph->find_best_paths(_edge_lengths);
_graph->retrieve_disjoint_paths();
+
+ // for(int p = 0; p < _graph->nb_paths; p++) {
+ // Path *path = _graph->paths[p];
+ // cout << "PATH " << p << " [length " << path->length << "] " << path->nodes[0];
+ // for(int n = 1; n < path->length; n++) {
+ // cout << " -> " << path->nodes[n];
+ // }
+ // cout << endl;
+ // }
}
int Tracker::nb_trajectories() {