-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* changes required to create LaCAM builder class (#37) * Add low level expansion/generation rate, and add all rates to A_RunManager output ("log" files) * add generation and expansion rates for low-level * fix low level expansion/generation rate metric * simplify (and optimize?) TieBreakingForLessConflictsAndHigherG * lacam constraints support (#39) * add constraints support in lacam, do constraints checks only if necessary for efficiency * Update src/main/java/BasicMAPF/Solvers/LaCAM/LaCAM_Solver.java Co-authored-by: J-morag <[email protected]> * Update src/main/java/BasicMAPF/Solvers/LaCAM/LaCAM_Solver.java Co-authored-by: J-morag <[email protected]> * Update src/main/java/BasicMAPF/Solvers/LaCAM/LaCAM_Solver.java Co-authored-by: J-morag <[email protected]> * Update src/main/java/BasicMAPF/Solvers/LaCAM/LaCAM_Solver.java Co-authored-by: J-morag <[email protected]> * refactoring and removing not necessary constraints set * add constraints handling test --------- Co-authored-by: J-morag <[email protected]> * Add regenerated nodes metric. Low level only. * Add regenerated nodes metric. Low level only. * simplify Move.equals * Transient seperating vertices (#43) * add boolean to TransientMAPFSettings indicates avoid separating vertices * Implementing Tarjan's Algorithm to find cut vertices with Iterative DFS * Add separating vertices set to RunParameters * Update src/main/java/BasicMAPF/DataTypesAndStructures/RunParameters.java Co-authored-by: J-morag <[email protected]> * Update src/main/java/BasicMAPF/DataTypesAndStructures/RunParameters.java Co-authored-by: J-morag <[email protected]> * Update src/main/java/BasicMAPF/DataTypesAndStructures/RunParameters.java Co-authored-by: J-morag <[email protected]> * Update src/main/java/BasicMAPF/DataTypesAndStructures/RunParametersBuilder.java Co-authored-by: J-morag <[email protected]> * Update src/main/java/BasicMAPF/Solvers/LaCAM/LaCAM_Solver.java Co-authored-by: J-morag <[email protected]> * Update src/main/java/BasicMAPF/Solvers/LaCAM/LaCAM_Solver.java Co-authored-by: J-morag <[email protected]> * Update src/main/java/TransientMAPF/TransientMAPFSettings.java Co-authored-by: J-morag <[email protected]> * Update src/main/java/BasicMAPF/Solvers/LaCAM/LaCAM_Solver.java Co-authored-by: J-morag <[email protected]> * Update src/main/java/BasicMAPF/Solvers/LaCAM/LaCAM_Solver.java Co-authored-by: J-morag <[email protected]> * Update src/main/java/BasicMAPF/Solvers/LaCAM/LaCAM_Solver.java Co-authored-by: J-morag <[email protected]> * throw exceptions where needed, add separating vertices support for PIBT and improve efficiency * refactoring of files locations, support finding SVs to I_ExplicitMap, make SV finder static, improve SV test class, * Update src/main/java/BasicMAPF/Solvers/PrioritisedPlanning/PrioritisedPlanning_Solver.java Co-authored-by: J-morag <[email protected]> * Update src/main/java/TransientMAPF/SeparatingVerticesFinder.java Co-authored-by: J-morag <[email protected]> * Update src/main/java/BasicMAPF/Solvers/CBS/CBS_Solver.java Co-authored-by: J-morag <[email protected]> * Update src/main/java/BasicMAPF/Solvers/LargeNeighborhoodSearch/LargeNeighborhoodSearch_Solver.java Co-authored-by: J-morag <[email protected]> * Update src/main/java/TransientMAPF/SeparatingVerticesFinder.java Co-authored-by: J-morag <[email protected]> * Update src/main/java/TransientMAPF/TransientMAPFExampleMain.java Co-authored-by: J-morag <[email protected]> * Update src/test/java/BasicMAPF/Solvers/LargeNeighborhoodSearch/LargeNeighborhoodSearch_SolverTest.java Co-authored-by: J-morag <[email protected]> * Update src/main/java/TransientMAPF/SeparatingVerticesFinder.java Co-authored-by: J-morag <[email protected]> * Update src/main/java/TransientMAPF/SeparatingVerticesFinder.java Co-authored-by: J-morag <[email protected]> * visualize SV in visualizer and print in test * final fixes before PR --------- Co-authored-by: J-morag <[email protected]> * merge fixes and add LaCAMBuilder --------- Co-authored-by: J-morag <[email protected]>
- Loading branch information
Showing
25 changed files
with
516 additions
and
102 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
package BasicMAPF.Solvers.LaCAM; | ||
|
||
import BasicMAPF.CostFunctions.I_SolutionCostFunction; | ||
import BasicMAPF.CostFunctions.SumOfCosts; | ||
import TransientMAPF.TransientMAPFSettings; | ||
|
||
import java.util.Objects; | ||
|
||
public class LaCAMBuilder { | ||
private I_SolutionCostFunction solutionCostFunction = null; | ||
private TransientMAPFSettings transientMAPFSettings = null; | ||
private Integer RHCR_Horizon = Integer.MAX_VALUE; | ||
|
||
private Boolean returnPartialSolutions = false; | ||
|
||
private Boolean ignoresStayAtSharedGoals = false; | ||
public LaCAMBuilder setSolutionCostFunction(I_SolutionCostFunction solutionCostFunction) { | ||
this.solutionCostFunction = solutionCostFunction; | ||
return this; | ||
} | ||
|
||
public LaCAMBuilder setTransientMAPFBehaviour(TransientMAPFSettings transientMAPFSettings) { | ||
this.transientMAPFSettings = transientMAPFSettings; | ||
return this; | ||
} | ||
|
||
public LaCAMBuilder setRHCRHorizon(Integer RHCR_Horizon) { | ||
this.RHCR_Horizon = RHCR_Horizon; | ||
return this; | ||
} | ||
|
||
public LaCAMBuilder setReturnPartialSolutions(Boolean returnPartialSolutions) { | ||
this.returnPartialSolutions = returnPartialSolutions; | ||
return this; | ||
} | ||
|
||
public LaCAMBuilder setIgnoresStayAtSharedGoals(Boolean ignoresStayAtSharedGoals) { | ||
this.ignoresStayAtSharedGoals = ignoresStayAtSharedGoals; | ||
return this; | ||
} | ||
|
||
public LaCAM_Solver createLaCAM() { | ||
return new LaCAM_Solver(solutionCostFunction, transientMAPFSettings, RHCR_Horizon, returnPartialSolutions, ignoresStayAtSharedGoals); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.