![]() |
Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
|
#include <problem.h>
Public Member Functions | |
int | get_size () |
vector< int > & | get_up () |
vector< int > & | get_lo () |
vector< int > & | get_solution () |
float | get_ub () |
float | get_lb () |
float | get_lb_father () |
float | get_ub_father () |
int | get_status () |
bool | is_splitted () |
double | get_solve_time () |
int | get_iter () |
void | set_up (int col, int val) |
void | set_lo (int col, int val) |
void | lr_sgd_solve (parameter ¶ms) |
float | get_correct_value (vector< int > &sol) |
int | get_nz_sub_gr (vector< int > &sol) |
void | update_lambda (float step) |
int | is_brk_cst_col_node (int col1, int col2, int row2, vector< int > &sol) |
int | is_brk_cst_row_node (int row1, int col2, int row2, vector< int > &sol) |
int | check_cst_col_node (int col1, int col2, int row2, vector< int > &sol) |
int | check_cst_row_node (int row1, int col2, int row2, vector< int > &sol) |
problem (graph &g1, dp_mat &dp1, lambda_mat &lb1) | |
problem (problem &p, vector< int > &lo1, vector< int > &up1) | |
lambda_mat & | get_lambda_mat () |
graph & | get_graph () |
dp_mat & | get_dp_mat_apurva () |
problem * | create_subproblem (vector< int > &lo1, vector< int > &up1) |
void | split (vector< int > &lo1, vector< int > &up1, vector< int > &lo2, vector< int > &up2) |
Problem Class This is used to solve a Contact Map Overlap Maximisation problem, using the A_purva integer programming model and lagrangian relaxation approach.
|
inline |
Constructors : create a root problem.
|
inline |
Constructors: Build a sub-problem of problem p, using lo1 for lowerlimits and up1for upperlimits.
|
inline |
return the value of the X_{col2,row2} - SUM Y_{col1,row1,col2,row2} col / node constraint.
|
inline |
return the value of the X_{col2,row2} - SUM Y_{col1,row1,col2,row2} row / node constraint.
|
inline |
Methods Being given a lower and an upper limits, create the corresponding sub-problem.
|
inline |
Return the value of the solution for the Primal problem.
|
inline |
Return the Dynamic programming object.
|
inline |
Return the Contact Map alignment graph.
|
inline |
Return the number of iteration needed to solve the problem.
|
inline |
Accessors Return the Lambda coeficients.
|
inline |
Return the current lowerbound of the problem.
|
inline |
Return the lowerbound of the father problem.
|
inline |
Return the lower limits of the problem.
|
inline |
Return the nb of non-zero component of the subgradient vector, and the list of non-zero components is stored in nz_sgv
|
inline |
Accessors Return the size of the problem.
|
inline |
Return the best feasible solution of the problem.
|
inline |
Return the time needed to solve the problem.
|
inline |
Return the status of the problem (see symbols.h).
|
inline |
Return the current upperbound of the problem.
|
inline |
Return the upperbound of the father problem.
|
inline |
Return the upper limits of the problem.
|
inline |
return the value of the X_{col2,row2} - SUM Y_{col1,row1,col2,row2} col / node constraint.
|
inline |
return the value of the X_{col2,row2} - SUM Y_{col1,row1,col2,row2} row / node constraint.
|
inline |
Boolean function, return 1 if the problem was successfully splitted, 0 else.
|
inline |
Problem Solver, using Lagrangian Relaxation, with Dual problem solved using SubGradient Descent.
|
inline |
Set the lowerlimits of the problem.
|
inline |
Methods Set the upperlimits of the problem.
|
inline |
This function split a problem into two subproblem. In fact it generate the two corresponding sets of upper and lower limits.
|
inline |
Update Lambda coeficients.