« Previous « Start » Next »
D The Matlab Interface Routines - Callback Routines
D.1 cpxcb_BARRIER
CPLEX Barrier callback.
Called from TOMLAB /CPLEX when solving linear problems using the
barrier algorithm.
This callback is enabled by setting
callback(5)=1 in the call to
cplex.m, or
Prob.
MIP.
callback(5)=1 if using
tomRun('cplex',...).
cpxcb_BARRIER is called with one argument, the cpxCBInfo progress
information vector.
Contents of cpxCBInfo vector:
i cpxCBInfo(i) - Value
-------------------------------------------------------------
1 PRIMAL_OBJ - primal objective value
2 DUAL_OBJ - dual objective value
3 PRIMAL_INFMEAS - measure of primal infeasibility
4 DUAL_INFMEAS - measure of dual infeasibility
5 PRIMAL_FEAS - 1 if primal feasible, 0 if not
6 DUAL_FEAS - 1 if dual feasible, 0 if not
7 ITCOUNT - iteration count
8 CROSSOVER_PPUSH - primal push crossover itn. count
9 CROSSOVER_PEXCH - primal exchange crossover itn. count
10 CROSSOVER_DPUSH - dual push crossover itn. count
11 CROSSOVER_DEXCH - dual exchange crossover itn. count
By returning a nonzero value from cpxcb_BARRIER, the user can
terminate the optimization.
If modifying this file, it is recommended to make a copy of it which
is placed before the original file in the MATLAB path.
D.2 cpxcb_DISJCUT
CPLEX Disjunctive cut callback.
Called from TOMLAB /CPLEX during disjunctive cuts processing.
This callback is enabled by setting
callback(10)=1 in the call to
cplex.m, or
Prob.
MIP.
callback(10)=1 if using
tomRun('cplex',...).
cpxcb_DISJCUT is called with one argument, the cpxCBInfo progress
information vector.
Contents of cpxCBInfo variable:
i cpxCBInfo(i) - Value
-------------------------------------------------------------
1 BEST_INTEGER - obj. value of best integer solution
2 BEST_REMAINING - obj. value of best remaining node
3 NODE_COUNT - total number of nodes solved
4 NODES_LEFT - number of remaining nodes
5 MIP_ITERATIONS - total number of MIP iterations
6 MIP_FEAS - returns 1 if feasible solution exists; otherwise, 0
7 CUTOFF - updated cutoff value
8 CLIQUE_COUNT - number of clique cuts added
9 COVER_COUNT - number of cover cuts added
10 DISJCUT_COUNT - number of disjunctive cuts added
11 FLOWCOVER_COUNT - number of flow cover cuts added
12 FLOWPATH_COUNT - number of flow path cuts added
13 FRACCUT_COUNT - number of Gomory fractional cuts added
14 GUBCOVER_COUNT - number of GUB cover cuts added
15 IMPLBD_COUNT - number of implied bound cuts added
16 MIRCUT_COUNT - number of mixed integer rounding cuts added
17 PROBE_PHASE - current phase of probing (0-3)
18 PROBE_PROGRESS - fraction of probing phase completed (0.0-1.0)
19 FRACCUT_PROGRESS - fraction of Gomory cut generation for the pass completed (0.0 - 1.0)
20 DISJCUT_PROGRESS - fraction of disjunctive cut generation for the pass completed (0.0 - 1.0)
21 FLOWMIR_PROGRESS - fraction of flow cover and MIR cut generation for the pass completed (0.0 - 1.0)
22 MY_THREAD_NUM - identifier of the parallel thread making this call (always 0)
23 USER_THREADS - total number of parallel threads currently running (always 1)
By returning a nonzero value from cpxcb_DISJCUT, the user can
terminate the optimization.
If modifying this file, it is recommended to make a copy of it which
is placed before the original file in the MATLAB path.
D.3 cpxcb_DUAL
CPLEX Dual simplex callback.
Called from TOMLAB /CPLEX when solving linear problems using the
dual simplex algorithm.
This callback is enabled by setting
callback(2)=1 in the call to
cplex.m, or
Prob.
MIP.
callback(2)=1 if using
tomRun('cplex',...).
cpxcb_DUAL is called with one argument, the cpxCBInfo progress
information vector.
Contents of cpxCBInfo vector:
i cpxCBInfo(i) - Value
-------------------------------------------------------------
1 PRIMAL_OBJ - primal objective value
2 DUAL_OBJ - dual objective value
3 PRIMAL_INFMEAS - measure of primal infeasibility
4 DUAL_INFMEAS - measure of dual infeasibility
5 PRIMAL_FEAS - 1 if primal feasible, 0 if not
6 DUAL_FEAS - 1 if dual feasible, 0 if not
7 ITCOUNT - iteration count
8 CROSSOVER_PPUSH - primal push crossover itn. count
9 CROSSOVER_PEXCH - primal exchange crossover itn. count
10 CROSSOVER_DPUSH - dual push crossover itn. count
11 CROSSOVER_DEXCH - dual exchange crossover itn. count
By returning a nonzero value from cpxcb_DUAL, the user can
terminate the optimization.
If modifying this file, it is recommended to make a copy of it which
is placed before the original file in the MATLAB path.
D.4 cpxcb_DUALCROSS
CPLEX Dual crossover callback.
Called from TOMLAB /CPLEX during the dual crossover algorithm.
This callback is enabled by setting
callback(4)=1 in the call to
cplex.m, or
Prob.
MIP.
callback(4)=1 if using
tomRun('cplex',...).
cpxcb_DUALCROSS is called with one argument, the cpxCBInfo progress
information vector.
Contents of cpxCBInfo vector:
i cpxCBInfo(i) - Value
-------------------------------------------------------------
1 PRIMAL_OBJ - primal objective value
2 DUAL_OBJ - dual objective value
3 PRIMAL_INFMEAS - measure of primal infeasibility
4 DUAL_INFMEAS - measure of dual infeasibility
5 PRIMAL_FEAS - 1 if primal feasible, 0 if not
6 DUAL_FEAS - 1 if dual feasible, 0 if not
7 ITCOUNT - iteration count
8 CROSSOVER_PPUSH - primal push crossover itn. count
9 CROSSOVER_PEXCH - primal exchange crossover itn. count
10 CROSSOVER_DPUSH - dual push crossover itn. count
11 CROSSOVER_DEXCH - dual exchange crossover itn. count
By returning a nonzero value from cpxcb_DUALCROSS, the user can
terminate the optimization.
If modifying this file, it is recommended to make a copy of it which
is placed before the original file in the MATLAB path.
D.5 cpxcb_FLOWMIR
CPLEX Mixed integer rounding cut callback.
Called from TOMLAB /CPLEX during Mixed integer rounding cuts
processing.
This callback is enabled by setting
callback(11)=1 in the call to
cplex.m, or
Prob.
MIP.
callback(11)=1 if using
tomRun('cplex',...).
cpxcb_FLOWMIR is called with one argument, the cpxCBInfo progress
information vector.
Contents of cpxCBInfo variable:
i cpxCBInfo(i) - Value
-------------------------------------------------------------
1 BEST_INTEGER - obj. value of best integer solution
2 BEST_REMAINING - obj. value of best remaining node
3 NODE_COUNT - total number of nodes solved
4 NODES_LEFT - number of remaining nodes
5 MIP_ITERATIONS - total number of MIP iterations
6 MIP_FEAS - returns 1 if feasible solution exists; otherwise, 0
7 CUTOFF - updated cutoff value
8 CLIQUE_COUNT - number of clique cuts added
9 COVER_COUNT - number of cover cuts added
10 DISJCUT_COUNT - number of disjunctive cuts added
11 FLOWCOVER_COUNT - number of flow cover cuts added
12 FLOWPATH_COUNT - number of flow path cuts added
13 FRACCUT_COUNT - number of Gomory fractional cuts added
14 GUBCOVER_COUNT - number of GUB cover cuts added
15 IMPLBD_COUNT - number of implied bound cuts added
16 MIRCUT_COUNT - number of mixed integer rounding cuts added
17 PROBE_PHASE - current phase of probing (0-3)
18 PROBE_PROGRESS - fraction of probing phase completed (0.0-1.0)
19 FRACCUT_PROGRESS - fraction of Gomory cut generation for the pass completed (0.0 - 1.0)
20 DISJCUT_PROGRESS - fraction of disjunctive cut generation for the pass completed (0.0 - 1.0)
21 FLOWMIR_PROGRESS - fraction of flow cover and MIR cut generation for the pass completed (0.0 - 1.0)
22 MY_THREAD_NUM - identifier of the parallel thread making this call (always 0)
23 USER_THREADS - total number of parallel threads currently running (always 1)
By returning a nonzero value from cpxcb_FLOWMIR, the user can
terminate the optimization.
If modifying this file, it is recommended to make a copy of it which
is placed before the original file in the MATLAB path.
D.6 cpxcb_FRACCUT
CPLEX Gomory fractional cut callback.
Called from TOMLAB /CPLEX during Gomory fractional cuts processing
This callback is enabled by setting
callback(9)=1 in the call to
cplex.m, or
Prob.
MIP.
callback(9)=1 if using
tomRun('cplex',...).
cpxcb_FRACCUT is called with one argument, the cpxCBInfo progress
information vector.
Contents of cpxCBInfo variable:
i cpxCBInfo(i) - Value
-------------------------------------------------------------
1 BEST_INTEGER - obj. value of best integer solution
2 BEST_REMAINING - obj. value of best remaining node
3 NODE_COUNT - total number of nodes solved
4 NODES_LEFT - number of remaining nodes
5 MIP_ITERATIONS - total number of MIP iterations
6 MIP_FEAS - returns 1 if feasible solution exists; otherwise, 0
7 CUTOFF - updated cutoff value
8 CLIQUE_COUNT - number of clique cuts added
9 COVER_COUNT - number of cover cuts added
10 DISJCUT_COUNT - number of disjunctive cuts added
11 FLOWCOVER_COUNT - number of flow cover cuts added
12 FLOWPATH_COUNT - number of flow path cuts added
13 FRACCUT_COUNT - number of Gomory fractional cuts added
14 GUBCOVER_COUNT - number of GUB cover cuts added
15 IMPLBD_COUNT - number of implied bound cuts added
16 MIRCUT_COUNT - number of mixed integer rounding cuts added
17 PROBE_PHASE - current phase of probing (0-3)
18 PROBE_PROGRESS - fraction of probing phase completed (0.0-1.0)
19 FRACCUT_PROGRESS - fraction of Gomory cut generation for the pass completed (0.0 - 1.0)
20 DISJCUT_PROGRESS - fraction of disjunctive cut generation for the pass completed (0.0 - 1.0)
21 FLOWMIR_PROGRESS - fraction of flow cover and MIR cut generation for the pass completed (0.0 - 1.0)
22 MY_THREAD_NUM - identifier of the parallel thread making this call (always 0)
23 USER_THREADS - total number of parallel threads currently running (always 1)
By returning a nonzero value from cpxcb_FRACCUT, the user can
terminate the optimization.
If modifying this file, it is recommended to make a copy of it which
is placed before the original file in the MATLAB path.
D.7 cpxcb_MIP
CPLEX MIP callback.
Called from TOMLAB /CPLEX during mixed integer optimization.
This callback is enabled by setting
callback(7)=1 in the call to
cplex.m, or
Prob.
MIP.
callback(7)=1 if using
tomRun('cplex',...).
cpxcb_MIP is called with one argument, the cpxCBInfo progress
information vector.
Contents of cpxCBInfo variable:
i cpxCBInfo(i) - Value
-------------------------------------------------------------
1 BEST_INTEGER - obj. value of best integer solution
2 BEST_REMAINING - obj. value of best remaining node
3 NODE_COUNT - total number of nodes solved
4 NODES_LEFT - number of remaining nodes
5 MIP_ITERATIONS - total number of MIP iterations
6 MIP_FEAS - returns 1 if feasible solution exists; otherwise, 0
7 CUTOFF - updated cutoff value
8 CLIQUE_COUNT - number of clique cuts added
9 COVER_COUNT - number of cover cuts added
10 DISJCUT_COUNT - number of disjunctive cuts added
11 FLOWCOVER_COUNT - number of flow cover cuts added
12 FLOWPATH_COUNT - number of flow path cuts added
13 FRACCUT_COUNT - number of Gomory fractional cuts added
14 GUBCOVER_COUNT - number of GUB cover cuts added
15 IMPLBD_COUNT - number of implied bound cuts added
16 MIRCUT_COUNT - number of mixed integer rounding cuts added
17 PROBE_PHASE - current phase of probing (0-3)
18 PROBE_PROGRESS - fraction of probing phase completed (0.0-1.0)
19 FRACCUT_PROGRESS - fraction of Gomory cut generation for the pass completed (0.0 - 1.0)
20 DISJCUT_PROGRESS - fraction of disjunctive cut generation for the pass completed (0.0 - 1.0)
21 FLOWMIR_PROGRESS - fraction of flow cover and MIR cut generation for the pass completed (0.0 - 1.0)
22 MY_THREAD_NUM - identifier of the parallel thread making this call (always 0)
23 USER_THREADS - total number of parallel threads currently running (always 1)
By returning a nonzero value from cpxcb_MIP, the user can terminate
the optimization.
If modifying this file, it is recommended to make a copy of it which
is placed before the original file in the MATLAB path.
D.8 cpxcb_MIPPROBE
CPLEX MIP Probe and Clique Merging callback.
Called from TOMLAB /CPLEX during MIP Probing and Clique Merging.
This callback is enabled by setting
callback(8)=1 in the call to
cplex.m, or
Prob.
MIP.
callback(8)=1 if using
tomRun('cplex',...).
cpxcb_MIPPROBE is called with one argument, the cpxCBInfo progress
information vector.
Contents of cpxCBInfo variable:
i cpxCBInfo(i) - Value
-------------------------------------------------------------
1 BEST_INTEGER - obj. value of best integer solution
2 BEST_REMAINING - obj. value of best remaining node
3 NODE_COUNT - total number of nodes solved
4 NODES_LEFT - number of remaining nodes
5 MIP_ITERATIONS - total number of MIP iterations
6 MIP_FEAS - returns 1 if feasible solution exists; otherwise, 0
7 CUTOFF - updated cutoff value
8 CLIQUE_COUNT - number of clique cuts added
9 COVER_COUNT - number of cover cuts added
10 DISJCUT_COUNT - number of disjunctive cuts added
11 FLOWCOVER_COUNT - number of flow cover cuts added
12 FLOWPATH_COUNT - number of flow path cuts added
13 FRACCUT_COUNT - number of Gomory fractional cuts added
14 GUBCOVER_COUNT - number of GUB cover cuts added
15 IMPLBD_COUNT - number of implied bound cuts added
16 MIRCUT_COUNT - number of mixed integer rounding cuts added
17 PROBE_PHASE - current phase of probing (0-3)
18 PROBE_PROGRESS - fraction of probing phase completed (0.0-1.0)
19 FRACCUT_PROGRESS - fraction of Gomory cut generation for the pass completed (0.0 - 1.0)
20 DISJCUT_PROGRESS - fraction of disjunctive cut generation for the pass completed (0.0 - 1.0)
21 FLOWMIR_PROGRESS - fraction of flow cover and MIR cut generation for the pass completed (0.0 - 1.0)
22 MY_THREAD_NUM - identifier of the parallel thread making this call (always 0)
23 USER_THREADS - total number of parallel threads currently running (always 1)
By returning a nonzero value from cpxcb_MIPPROBE, the user can
terminate the optimization.
If modifying this file, it is recommended to make a copy of it which
is placed before the original file in the MATLAB path.
D.9 cpxcb_PRESOLVE
CPLEX Presolve callback.
Called at regular intervals from TOMLAB /CPLEX during presolve.
This callback is enabled by setting
callback(6)=1 in the call to
cplex.m, or
Prob.
MIP.
callback(6)=1 if using
tomRun('cplex',...).
cpxcb_PRESOLVE is called with one argument, the cpxCBInfo progress
information vector.
Contents of cpxCBInfo variable:
i cpxCBInfo(i) - Value
-------------------------------------------------------------
1 PRESOLVE_ROWSGONE - number of rows eliminated
2 PRESOLVE_COLSGONE - number of columns eliminated
3 PRESOLVE_AGGSUBST - number of aggregator substitutions
4 PRESOLVE_COEFFS - number of modified coefficients
By returning a nonzero value from cpxcb_PRESOLVE, the user can
terminate the optimization.
If modifying this file, it is recommended to make a copy of it which
is placed before the original file in the MATLAB path.
D.10 cpxcb_PRIM
CPLEX Primal simplex callback
Called from TOMLAB /CPLEX when solving linear problems using the
primal simplex algorithm.
This callback is enabled by setting
callback(1)=1 in the call to
cplex.m, or
Prob.
MIP.
callback(1)=1 if using
tomRun('cplex',...).
cpxcb_PRIM is called with one argument, the cpxCBInfo progress
information vector.
Contents of cpxCBInfo vector:
i cpxCBInfo(i) - Value
-------------------------------------------------------------
1 PRIMAL_OBJ - primal objective value
2 DUAL_OBJ - dual objective value
3 PRIMAL_INFMEAS - measure of primal infeasibility
4 DUAL_INFMEAS - measure of dual infeasibility
5 PRIMAL_FEAS - 1 if primal feasible, 0 if not
6 DUAL_FEAS - 1 if dual feasible, 0 if not
7 ITCOUNT - iteration count
8 CROSSOVER_PPUSH - primal push crossover itn. count
9 CROSSOVER_PEXCH - primal exchange crossover itn. count
10 CROSSOVER_DPUSH - dual push crossover itn. count
11 CROSSOVER_DEXCH - dual exchange crossover itn. count
By returning a nonzero value from cpxcb_PRIM, the user can
terminate the optimization.
If modifying this file, it is recommended to make a copy of it which
is placed before the original file in the MATLAB path.
D.11 cpxcb_PRIMCROSS
CPLEX Primal crossover callback
Called from TOMLAB /CPLEX during the primal crossover algorithm.
This callback is enabled by setting
callback(3)=1 in the call to
cplex.m, or
Prob.
MIP.
callback(3)=1 if using
tomRun('cplex',...).
cpxcb_PRIMCROSS is called with one argument, the cpxCBInfo progress
information vector.
Contents of cpxCBInfo vector:
i cpxCBInfo(i) - Value
-------------------------------------------------------------
1 PRIMAL_OBJ - primal objective value
2 DUAL_OBJ - dual objective value
3 PRIMAL_INFMEAS - measure of primal infeasibility
4 DUAL_INFMEAS - measure of dual infeasibility
5 PRIMAL_FEAS - 1 if primal feasible, 0 if not
6 DUAL_FEAS - 1 if dual feasible, 0 if not
7 ITCOUNT - iteration count
8 CROSSOVER_PPUSH - primal push crossover itn. count
9 CROSSOVER_PEXCH - primal exchange crossover itn. count
10 CROSSOVER_DPUSH - dual push crossover itn. count
11 CROSSOVER_DEXCH - dual exchange crossover itn. count
By returning a nonzero value from cpxcb_PRIMCROSS, the user can
terminate the optimization.
If modifying this file, it is recommended to make a copy of it which
is placed before the original file in the MATLAB path.
D.12 cpxcb_QPBARRIER
CPLEX Quadratic Barrier callback.
Called from TOMLAB /CPLEX when solving quadratic problems using the
barrier algorithm.
This callback is enabled by setting
callback(12)=1 in the call to
cplex.m, or
Prob.
MIP.
callback(12)=1 if using
tomRun('cplex',...).
cpxcb_QPBARRIER is called with one argument, the cpxCBInfo progress
information vector.
Contents of cpxCBInfo vector:
i cpxCBInfo(i) - Value
-------------------------------------------------------------
1 PRIMAL_OBJ - primal objective value
2 DUAL_OBJ - dual objective value
3 PRIMAL_INFMEAS - measure of primal infeasibility
4 DUAL_INFMEAS - measure of dual infeasibility
5 PRIMAL_FEAS - 1 if primal feasible, 0 if not
6 DUAL_FEAS - 1 if dual feasible, 0 if not
7 ITCOUNT - iteration count
8 CROSSOVER_PPUSH - primal push crossover itn. count
9 CROSSOVER_PEXCH - primal exchange crossover itn. count
10 CROSSOVER_DPUSH - dual push crossover itn. count
11 CROSSOVER_DEXCH - dual exchange crossover itn. count
By returning a nonzero value from cpxcb_QPBARRIER, the user can
terminate the optimization.
If modifying this file, it is recommended to make a copy of it which
is placed before the original file in the MATLAB path.
D.13 cpxcb_QPSIMPLEX
CPLEX Quadratic Simplex callback.
Called from TOMLAB /CPLEX when solving quadratic problems using the
simplex algorithm.
This callback is enabled by setting
callback(13)=1 in the call to
cplex.m, or
Prob.
MIP.
callback(13)=1 if using
tomRun('cplex',...).
cpxcb_QPSIMPLEX is called with one argument, the cpxCBInfo progress
information vector.
Contents of cpxCBInfo vector:
i cpxCBInfo(i) - Value
-------------------------------------------------------------
1 PRIMAL_OBJ - primal objective value
2 DUAL_OBJ - dual objective value
3 PRIMAL_INFMEAS - measure of primal infeasibility
4 DUAL_INFMEAS - measure of dual infeasibility
5 PRIMAL_FEAS - 1 if primal feasible, 0 if not
6 DUAL_FEAS - 1 if dual feasible, 0 if not
7 ITCOUNT - iteration count
8 CROSSOVER_PPUSH - primal push crossover itn. count
9 CROSSOVER_PEXCH - primal exchange crossover itn. count
10 CROSSOVER_DPUSH - dual push crossover itn. count
11 CROSSOVER_DEXCH - dual exchange crossover itn. count
By returning a nonzero value from cpxcb_QPSIMPLEX, the user can
terminate the optimization.
If modifying this file, it is recommended to make a copy of it which
is placed before the original file in the MATLAB path.
D.14 cpxcb_NET
Further details to be added.
« Previous « Start » Next »