Skip to content

MatBon01/branch-and-bound

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SRA-CW

The code can be run using the following command with python 3.9:

pip install typing-extensions # install typing hints
python3 branch_and_bound.py

This will run the best solution which has been explained in the report and output the final schedule along with the file bbschedule.log containing the iteration level output. To change the method use you can change the values of explorer,bounder and brancher in the main function of branch_and_bound to the following: explorer = JumpTracker() or DepthFirstSearch() or SimulatedAnnealingBranchLoyalty(heuristic=LevelHeuristic(level_modifier=reciprocal)) bounder = AllOthersOnTimePolicy() brancher = AllBranchesPolicy(jobs, bounder) or BeamSearchPolicy(jobs, bounder, lambda level: 2) (where the third argument is the beam width when given a level)

About

Implementation of branch and bound initially written for the Imperial COMP70068 Scheduling and Resource Allocation coursework

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages