MindtPy_initialization()
|
Initializes the decomposition algorithm. |
MindtPy_iteration_loop()
|
Main loop for MindtPy Algorithms. |
__init__(**kwds)
|
This is a common init method for all the MindtPy algorithms, so that we correctly set up the config arguments and initialize the generic parts of the algorithm state. |
add_cuts([dual_values, linearize_active, ...])
|
|
add_cuts_components(model)
|
|
add_regularization()
|
|
algorithm_should_terminate(check_cycling)
|
Checks if the algorithm should terminate at the given point. |
available([exception_flag])
|
Solver is always available. |
bounds_converged()
|
|
build_ordered_component_lists(model)
|
Define lists used for future data transfer. |
check_config()
|
Checks if the configuration options make sense. |
check_subsolver_validity()
|
Check if the subsolvers are available and licensed. |
create_utility_block(model, name)
|
|
deactivate_no_good_cuts_when_fixing_bound(...)
|
|
fix_dual_bound(last_iter_cuts)
|
Fix the dual bound when no-good cuts or tabu list is activated. |
fp_loop()
|
Feasibility pump loop. |
get_dual_integral()
|
Calculate the dual integral. |
get_integral_info()
|
Obtain primal integral, dual integral and primal dual gap integral. |
get_primal_integral()
|
Calculate the primal integral. |
get_solution_name_obj(main_mip_results)
|
|
handle_feasibility_subproblem_tc(...)
|
Handles the result of the latest iteration of solving the feasibility NLP subproblem. |
handle_fp_main_tc(fp_main_results)
|
Handle the termination condition of the feasibility pump main problem. |
handle_fp_subproblem_optimal(fp_nlp)
|
Copies the solution to the working model, updates bound, adds OA cuts / no-good cuts / increasing objective cut, calculates the duals and stores incumbent solution if it has been improved. |
handle_main_infeasible()
|
This function handles the result of the latest iteration of solving the MIP problem given an infeasible solution. |
handle_main_max_timelimit(main_mip, ...)
|
This function handles the result of the latest iteration of solving the MIP problem given that solving the MIP takes too long. |
handle_main_mip_termination(main_mip, ...)
|
|
handle_main_optimal(main_mip[, update_bound])
|
This function copies the results from 'solve_main' to the working model and updates the upper/lower bound. |
handle_main_unbounded(main_mip)
|
This function handles the result of the latest iteration of solving the MIP problem given an unbounded solution due to the relaxation. |
handle_nlp_subproblem_tc(fixed_nlp, result)
|
This function handles different terminaton conditions of the fixed-NLP subproblem. |
handle_regularization_main_tc(main_mip, ...)
|
Handles the result of the regularization main problem. |
handle_subproblem_infeasible(fixed_nlp[, cb_opt])
|
Solves feasibility problem and adds cut according to the specified strategy. |
handle_subproblem_optimal(fixed_nlp[, ...])
|
This function copies the result of the NLP solver function ('solve_subproblem') to the working model, updates the bounds, adds OA and no-good cuts, and then stores the new solution if it is the new best solution. |
handle_subproblem_other_termination(...[, ...])
|
Handles the result of the latest iteration of solving the fixed NLP subproblem given a solution that is neither optimal nor infeasible. |
init_max_binaries()
|
Modifies model by maximizing the number of activated binary variables. |
init_rNLP([add_oa_cuts])
|
Initialize the problem by solving the relaxed NLP and then store the optimal variable values obtained from solving the rNLP. |
initialize_mip_problem()
|
Deactivate the nonlinear constraints to create the MIP problem. |
initialize_subsolvers()
|
Initialize and set options for MIP and NLP subsolvers. |
iteration_cycling()
|
|
license_is_valid()
|
|
load_solution()
|
|
model_is_valid()
|
Determines whether the model is solvable by MindtPy. |
objective_reformulation()
|
|
process_objective([update_var_con_list])
|
Process model objective function. |
reached_iteration_limit()
|
|
reached_stalling_limit()
|
|
reached_time_limit()
|
|
set_appsi_solver_update_config()
|
Set update config for APPSI solvers. |
set_up_lazy_OA_callback()
|
Sets up the lazy OA using LazyConstraintCallback. |
set_up_logger()
|
Set up the formatter and handler for logger. |
set_up_mip_solver()
|
Set up the MIP solver. |
set_up_solve_data(model)
|
Set up the solve data. |
set_up_tabulist_callback()
|
Sets up the tabulist using IncumbentCallback. |
setup_fp_main()
|
Set up main problem for Feasibility Pump method. |
setup_main()
|
Set up main problem/main regularization problem for OA, ECP, Feasibility Pump and ROA methods. |
setup_regularization_main()
|
Set up main regularization problem for ROA method. |
solve(model, **kwds)
|
Solve the model. |
solve_feasibility_subproblem()
|
Solves a feasibility NLP if the fixed_nlp problem is infeasible. |
solve_fp_main()
|
This function solves the MIP main problem. |
solve_fp_subproblem()
|
Solves the feasibility pump NLP subproblem. |
solve_main()
|
This function solves the MIP main problem. |
solve_regularization_main()
|
This function solves the MIP main problem. |
solve_subproblem()
|
Solves the Fixed-NLP (with fixed integers). |
update_dual_bound(bound_value)
|
Update the dual bound. |
update_gap()
|
Update the relative gap and the absolute gap. |
update_primal_bound(bound_value)
|
Update the primal bound. |
update_result()
|
|
update_suboptimal_dual_bound(results)
|
If the relaxed problem is not solved to optimality, the dual bound is updated according to the dual bound of relaxed problem. |
version()
|
Return a 3-tuple describing the solver version. |