Advanced Features:
Using multiple processors:
To use multiple processors for solving an instance, start julia with the requisite number of workers. For example: if you want to use at most 4 workers start julia as julia -p 4, followed by either of the following three commands in the terminal depending on the input format chosen:
@time solutions = fpbh(model, lp_solver=ClpSolver(), timelimit=10.0, threads=4)@time solutions = fpbh("Test.lp", [:Max, :Min], lp_solver=ClpSolver(), timelimit=10.0, threads=4)@time solutions = fpbh("Test.mps", [:Max, :Min], lp_solver=ClpSolver(), timelimit=10.0, threads=4)Tuning parameters
FPBH has 5 components:
| Component | Default status | Turn on | Turn off |
|---|---|---|---|
| Feasibility Pump | OFF | obj_fph=false | obj_fph=true |
| Objective Feasibility Pump | ON | obj_fph=true | obj_fph=false |
| 1-OPT Local Search | ON | local_search=true | local_search=false |
| Stage 1 ( Decomposition ) | ON | decomposition=true | decomposition=false |
| Stage 2 ( Solution Polishing ) | ON | solution_polishing=true | solution_polishing=false |
| Time ratio | $\dfrac{2}{3}$ | - | - |
Note: Time ratio is the maximum fraction of the total timelimit available to Stage 1. It can take any value between 0 and 1 (both included).
For example: If the user wants to switch off objective feasibility pump and local search, and decrease the time ratio to 0.5, it can be done so as:
@time solutions = fpbh(model, obj_fph=false, local_search=false, time_ratio=0.5, timelimit=10.0)