Advanced Features

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:

ComponentDefault statusTurn onTurn off
Feasibility PumpOFFobj_fph=falseobj_fph=true
Objective Feasibility PumpONobj_fph=trueobj_fph=false
1-OPT Local SearchONlocal_search=truelocal_search=false
Stage 1 ( Decomposition )ONdecomposition=truedecomposition=false
Stage 2 ( Solution Polishing )ONsolution_polishing=truesolution_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)