Skip to content

Commit d27dd05

Browse files
committed
Removed PC based on cost-impact
1 parent f81bbe5 commit d27dd05

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

cbs.cpp

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ bool CBS::init_root(const Map &map, const Task &task)
3232
//conflict.path2 = pathB;
3333
if(pathA.cost > root.paths[conflict.agent1].cost && pathB.cost > root.paths[conflict.agent2].cost)
3434
{
35-
conflict.overcost = std::min(pathA.cost - root.paths[conflict.agent1].cost, pathB.cost - root.paths[conflict.agent2].cost);
35+
conflict.overcost = 0;//std::min(pathA.cost - root.paths[conflict.agent1].cost, pathB.cost - root.paths[conflict.agent2].cost);
3636
root.cardinal_conflicts.push_back(conflict);
3737
}
3838
else if(pathA.cost > root.paths[conflict.agent1].cost || pathB.cost > root.paths[conflict.agent2].cost)
@@ -225,12 +225,13 @@ Conflict CBS::get_conflict(std::list<Conflict> &conflicts)
225225
auto best_it = conflicts.begin();
226226
for(auto it = conflicts.begin(); it != conflicts.end(); it++)
227227
{
228-
if(it->overcost > 0)
228+
/*if(it->overcost > 0)
229229
{
230230
if(best_it->overcost < it->overcost || (fabs(best_it->overcost - it->overcost) < CN_EPSILON && best_it->t < it->t))
231231
best_it = it;
232232
}
233-
else if(best_it->t < it->t)
233+
else */
234+
if(best_it->t < it->t)
234235
best_it = it;
235236
}
236237

@@ -519,17 +520,17 @@ void CBS::find_new_conflicts(const Map &map, const Task &task, CBS_Node &node, s
519520
}
520521
else if (new_pathA.cost < 0)
521522
{
522-
c.overcost = new_pathB.cost - old_cost;
523+
c.overcost = 0;//new_pathB.cost - old_cost;
523524
cardinal_conflictsA.push_back(c);
524525
}
525526
else if (new_pathB.cost < 0)
526527
{
527-
c.overcost = new_pathA.cost - path.cost;
528+
c.overcost = 0;//new_pathA.cost - path.cost;
528529
cardinal_conflictsA.push_back(c);
529530
}
530531
else if(new_pathA.cost > path.cost && new_pathB.cost > old_cost)
531532
{
532-
c.overcost = std::min(new_pathA.cost - path.cost, new_pathB.cost - old_cost);
533+
c.overcost = 0;//std::min(new_pathA.cost - path.cost, new_pathB.cost - old_cost);
533534
cardinal_conflictsA.push_back(c);
534535
}
535536
else if(new_pathA.cost > path.cost || new_pathB.cost > old_cost)
@@ -557,17 +558,17 @@ void CBS::find_new_conflicts(const Map &map, const Task &task, CBS_Node &node, s
557558
}
558559
else if (new_pathA.cost < 0)
559560
{
560-
c.overcost = new_pathB.cost - old_cost;
561+
c.overcost = 0;//new_pathB.cost - old_cost;
561562
cardinal_conflictsA.push_back(c);
562563
}
563564
else if (new_pathB.cost < 0)
564565
{
565-
c.overcost = new_pathA.cost - path.cost;
566+
c.overcost = 0;//new_pathA.cost - path.cost;
566567
cardinal_conflictsA.push_back(c);
567568
}
568569
else if(new_pathA.cost > path.cost && new_pathB.cost > old_cost)
569570
{
570-
c.overcost = std::min(new_pathA.cost - path.cost, new_pathB.cost - old_cost);
571+
c.overcost = 0;//std::min(new_pathA.cost - path.cost, new_pathB.cost - old_cost);
571572
cardinal_conflictsA.push_back(c);
572573
}
573574
else if(new_pathA.cost > path.cost || new_pathB.cost > old_cost)

const.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#ifndef CONST_H
22
#define CONST_H
33

4-
#define CN_USE_CARDINAL 0 //1 - true, 0 - false
4+
#define CN_USE_CARDINAL 1 //1 - true, 0 - false
55
#define CN_HLH_TYPE 0 // 0 - no hlh, 1 - solve lpp by simplex, 2 - greedly take disjoint conflicts
66
#define CN_USE_DS 0 //1 - true, 0 - false
77
#define CN_TIMELIMIT 30 // in seconds

0 commit comments

Comments
 (0)