- ColgenInstance:(?X $= ?Y)
- Constrains X to be equal to Y.
- ColgenInstance:(?X $=< ?Y)
- Constrains X to be less than or equal to Y.
- ColgenInstance:(?X $>= ?Y)
- Constrains X to be greater than or equal to Y.
- ColgenInstance:cg_subproblem_solution(++Value)
- Posts new subproblem solution(s) to the colgen instance ColgenInstance.
- colgen_instance(++ColgenInstance)
- Initialises the colgen instance ColgenInstance.
- ColgenInstance:get(++What, -Value)
- Obtain global problem information.
- ColgenInstance:identified_constraint(+Cstr, ?Id)
- Post an identified constraint to the colgen instance ColgenInstance.
- ColgenInstance:minimize(+SolveSubProblem, +Obj, -ObjVal)
- Minimizes the problem associated with the colgen instance ColgenInstance.
- ColgenInstance:set(+What,++Value)
- Set parameters for column generation instance.
- ColgenInstance:solver_setup(+SolveSubProblem, +Obj)
- Define subproblem and objective for ColgenInstance.
- ColgenInstance:solver_setup(+SolveSubProblem, +Obj, +Options)
- Define subproblem, objective and options for ColgenInstance.
- ColgenInstance:var_get(+Var, ++What, -Value)
- Obtain information for an individual solver problem variable Var.
- reexport colgen_
- except var_dual1 / 7, get_dual1 / 3, get_coeff1 / 3, get_idx1 / 3, get_rhs1 / 3, always_set_dual1 / 3, set_dual1 / 3, bp_solve1 / 2, cg_solver_setup / 3, cg_solver_setup / 4, cg_integers1 / 2, add_cg_pool_constraint / 3, cg_eq / 3, cg_ge / 3, cg_le / 3, cg_sp_count1 / 2, cg_sp_sol / 2, cg_valid_columns1 / 2, cg_sp_rc_sum / 2, cg_optimal_rc1 / 2, cg_minimize / 4, cg_minimize / 5, cg_var_get1 / 4, cg_get1 / 3
This library lets you use hybrid column generation. Partial linear constraints are posted to a solver and further variables added to them during search as they become profitable. The generated variables will have a column of coefficients in the constraints of the colgen instance associated with them corresponding to particular instantiations of the variables of a subproblem. The predicate to find profitable subproblem variable instantiations is supplied by the user. When a user-defined branching predicate is provided, the library can also be used for hybrid branch-and-price.
The library uses the eplex library to solve LP master problems, from which dual values are used to create cost functions for the user-defined subproblem. Solution of master and subproblems will iterate until no further subproblem solutions are posted to the colgen instance.