Dip  0.92.4
Classes | Macros | Typedefs | Functions
sym_prep.h File Reference
#include "symphony.h"
#include "sym_types.h"
#include "sym_constants.h"
#include "sym_prep_params.h"
Include dependency graph for sym_prep.h:

Go to the source code of this file.

Classes

struct  PREP_STATS
 
struct  SRDESC
 
struct  PREPDesc
 
struct  PREP_ENVIRONMENT
 
struct  RC_DUP_DESC
 

Macros

#define PREP_FUNC_SUCCESS   0
 
#define PREP_FUNC_ERROR   -1
 
#define INF   SYM_INFINITY
 
#define PREP_QUIT(f)   ((f != PREP_UNMODIFIED && f != PREP_MODIFIED) ? TRUE : FALSE)
 
#define SR_NO_UPDATES   0
 
#define SR_BOUNDS_UPDATED   1
 
#define SR_INFEAS   2
 
#define POS_VAL   0
 
#define ZERO_VAL   1
 
#define NEG_VAL   2
 
#define SR_MIN   0
 
#define SR_MAX   1
 
#define RND_FLOOR   0
 
#define RND_CEIL   1
 
#define VAR_NEW   0
 
#define VAR_IN_BOUND   1
 
#define UB_SIDE   0
 
#define LB_SIDE   1
 
#define BOTH_SIDE   2
 
#define SR_VAR_IN   0
 
#define SR_VAR_IN_FIXED_UB   1
 
#define SR_VAR_IN_FIXED_LB   2
 
#define SR_VAR_IN_FRAC   3
 
#define SR_VAR_FIXED_UB   4
 
#define SR_VAR_FIXED_LB   5
 
#define FIX_NO_BOUND   0
 
#define FIX_BINARY   1
 
#define FIX_OTHER   2
 
#define FIX_FIXABLE   3
 
#define IMPROVE_UB   4
 
#define IMPROVE_LB   5
 
#define IMPROVE_COEF   6
 
#define FIX_AGGREGATE   7
 
#define FIX_ROW_LB   8
 
#define FIX_ROW_UB   9
 

Typedefs

typedef struct PREP_STATS prep_stats
 
typedef struct SRDESC SRdesc
 
typedef struct PREPDesc PREPdesc
 
typedef struct PREP_ENVIRONMENT prep_environment
 
typedef struct RC_DUP_DESC rc_dup_desc
 

Functions

int sym_presolve (sym_environment *env)
 
int prep_update_rootdesc (sym_environment *env)
 
int prep_load_problem (prep_environment *prep, int numcols, int numrows, int *start, int *index, double *value, double *collb, double *colub, char *is_int, double *obj, double obj_offset, char *rowsen, double *rowrhs, double *rowrng, char make_copy)
 
int prep_solve_desc (PREPdesc *P)
 
int prep_initialize_mipinfo (PREPdesc *P)
 
int prep_fill_row_ordered (PREPdesc *P)
 
int prep_cleanup_desc (PREPdesc *P)
 
int prep_integerize_bounds (PREPdesc *P)
 
int prep_integerize_var (PREPdesc *P, int col_ind)
 
int prep_basic (PREPdesc *P)
 
int prep_improve_variable (PREPdesc *P, int col_ind, int row_ind, int a_loc, int dive_level, char check_improve, char impl_mode, char use_sr_bounds, double sr_ub, double sr_lb, int use_mip)
 
int prep_check_redundancy (PREPdesc *P, int row_ind, char use_sr_bounds, double sr_ub, double sr_lb, char impl_mode, int dive_level)
 
int prep_modified_cols_update_info (PREPdesc *P, int col_cnt, int *col_start, int row_ind, int dive_level, double fixed_bound, int fix_type, char check_redundancy, char impl_mode)
 
int prep_force_row_bounds (PREPdesc *P, int row_ind, int col_ind, int a_loc)
 
int prep_deleted_row_update_info (MIPdesc *mip, int row_ind)
 
int prep_delete_duplicate_rows_cols (PREPdesc *P, char check_rows, char check_cols)
 
int prep_substitute_cols (PREPdesc *P)
 
int prep_update_single_row_attributes (ROWinfo *rows, int row_ind, double a_val, double obj, double c_lb, double c_ub, int is_int, int var_type, double etol, int entry_loc)
 
void prep_sos_fill_var_cnt (PREPdesc *P)
 
void prep_sos_fill_row (ROWinfo *row, int alloc_size, int size, int *ind)
 
double prep_rnd_integral (double val, double etol, char rnd_type)
 
int prep_get_row_bounds (MIPdesc *mip, int r_ind, double etol)
 
char prep_is_equal (double lval, double rval, double etol)
 
char prep_is_integral (double val, double etol)
 
int prep_declare_fixed_var (int col_ind, char *name, double fixed_bound)
 
int prep_declare_redundant_row (ROWinfo row, int row_ind, char sense, double rhs)
 
int prep_declare_coef_change (int row_ind, int col_ind, char *name, double a_val, double rhs)
 
int prep_report (PREPdesc *P, int termcode)
 
int prep_merge_solution (MIPdesc *orig_mip, MIPdesc *prep_mip, int *sol_xlength, int **sol_xind, double **sol_xval)
 
int prep_check_feasible (MIPdesc *mip, double *sol, double etol)
 
int prep_add_to_impl_list (IMPlist *list, int ind, int fix_type, double val)
 
int prep_initialize_impl_lists (PREPdesc *P)
 
int prep_solve_sr_rlx (PREPdesc *P, int row_cnt, int *row_indices)
 
void sr_initialize (SRdesc **sr, int n)
 
void sr_allocate (SRdesc **sr, int n)
 
int sr_solve_bounded_prob (PREPdesc *P, SRdesc *sr, SRdesc *d_sr, int obj_ind, int row_ind, int *r_matbeg, int *r_matind, double *r_matval, COLinfo *cols, double *ub, double *lb, double etol)
 
int sr_add_new_col (SRdesc *sr, SRdesc *d_sr, double c_val, double a_val, int col_ind, char col_var_type, double col_ub, double col_lb, char sense, int col_type, int col_bound_type)
 
int sr_add_new_bounded_col (SRdesc *sr, double c_val, double a_val, int col_ind, double rhs_ub_offset, double rhs_lb_offset, double obj_ub_offset, double obj_lb_offset, double col_ub, double col_lb, int obj_sense, char var_type)
 
int sr_find_opt_bounded (PREPdesc *P, SRdesc *sr, int obj_ind, double *ub, double *lb)
 
int sr_solve_open_prob (PREPdesc *P, SRdesc *sr, int obj_ind, int row_ind, int *r_matbeg, int *r_matind, double *r_matval, COLinfo *cols, double *ub, double *lb, double etol)
 
void free_rc_dup_desc (rc_dup_desc *prep_desc)
 
void free_prep_desc (PREPdesc *P)
 
void free_sr_desc (SRdesc *sr)
 
void free_imp_list (IMPlist **list)
 

Macro Definition Documentation

#define PREP_FUNC_SUCCESS   0

Definition at line 23 of file sym_prep.h.

#define PREP_FUNC_ERROR   -1

Definition at line 24 of file sym_prep.h.

#define INF   SYM_INFINITY

Definition at line 35 of file sym_prep.h.

#define PREP_QUIT (   f)    ((f != PREP_UNMODIFIED && f != PREP_MODIFIED) ? TRUE : FALSE)

Definition at line 40 of file sym_prep.h.

#define SR_NO_UPDATES   0

Definition at line 48 of file sym_prep.h.

#define SR_BOUNDS_UPDATED   1

Definition at line 49 of file sym_prep.h.

#define SR_INFEAS   2

Definition at line 50 of file sym_prep.h.

#define POS_VAL   0

Definition at line 52 of file sym_prep.h.

#define ZERO_VAL   1

Definition at line 53 of file sym_prep.h.

#define NEG_VAL   2

Definition at line 54 of file sym_prep.h.

#define SR_MIN   0

Definition at line 56 of file sym_prep.h.

#define SR_MAX   1

Definition at line 57 of file sym_prep.h.

#define RND_FLOOR   0

Definition at line 59 of file sym_prep.h.

#define RND_CEIL   1

Definition at line 60 of file sym_prep.h.

#define VAR_NEW   0

Definition at line 62 of file sym_prep.h.

#define VAR_IN_BOUND   1

Definition at line 63 of file sym_prep.h.

#define UB_SIDE   0

Definition at line 65 of file sym_prep.h.

#define LB_SIDE   1

Definition at line 66 of file sym_prep.h.

#define BOTH_SIDE   2

Definition at line 67 of file sym_prep.h.

#define SR_VAR_IN   0

Definition at line 70 of file sym_prep.h.

#define SR_VAR_IN_FIXED_UB   1

Definition at line 71 of file sym_prep.h.

#define SR_VAR_IN_FIXED_LB   2

Definition at line 72 of file sym_prep.h.

#define SR_VAR_IN_FRAC   3

Definition at line 73 of file sym_prep.h.

#define SR_VAR_FIXED_UB   4

Definition at line 74 of file sym_prep.h.

#define SR_VAR_FIXED_LB   5

Definition at line 75 of file sym_prep.h.

#define FIX_NO_BOUND   0

Definition at line 81 of file sym_prep.h.

#define FIX_BINARY   1

Definition at line 82 of file sym_prep.h.

#define FIX_OTHER   2

Definition at line 83 of file sym_prep.h.

#define FIX_FIXABLE   3

Definition at line 84 of file sym_prep.h.

#define IMPROVE_UB   4

Definition at line 85 of file sym_prep.h.

#define IMPROVE_LB   5

Definition at line 86 of file sym_prep.h.

#define IMPROVE_COEF   6

Definition at line 87 of file sym_prep.h.

#define FIX_AGGREGATE   7

Definition at line 88 of file sym_prep.h.

#define FIX_ROW_LB   8

Definition at line 91 of file sym_prep.h.

#define FIX_ROW_UB   9

Definition at line 92 of file sym_prep.h.

Typedef Documentation

typedef struct PREP_STATS prep_stats
typedef struct SRDESC SRdesc
typedef struct PREPDesc PREPdesc
typedef struct RC_DUP_DESC rc_dup_desc

Function Documentation

int sym_presolve ( sym_environment env)
int prep_update_rootdesc ( sym_environment env)
int prep_load_problem ( prep_environment prep,
int  numcols,
int  numrows,
int *  start,
int *  index,
double *  value,
double *  collb,
double *  colub,
char *  is_int,
double *  obj,
double  obj_offset,
char *  rowsen,
double *  rowrhs,
double *  rowrng,
char  make_copy 
)
int prep_solve_desc ( PREPdesc P)
int prep_initialize_mipinfo ( PREPdesc P)
int prep_fill_row_ordered ( PREPdesc P)
int prep_cleanup_desc ( PREPdesc P)
int prep_integerize_bounds ( PREPdesc P)
int prep_integerize_var ( PREPdesc P,
int  col_ind 
)
int prep_basic ( PREPdesc P)
int prep_improve_variable ( PREPdesc P,
int  col_ind,
int  row_ind,
int  a_loc,
int  dive_level,
char  check_improve,
char  impl_mode,
char  use_sr_bounds,
double  sr_ub,
double  sr_lb,
int  use_mip 
)
int prep_check_redundancy ( PREPdesc P,
int  row_ind,
char  use_sr_bounds,
double  sr_ub,
double  sr_lb,
char  impl_mode,
int  dive_level 
)
int prep_modified_cols_update_info ( PREPdesc P,
int  col_cnt,
int *  col_start,
int  row_ind,
int  dive_level,
double  fixed_bound,
int  fix_type,
char  check_redundancy,
char  impl_mode 
)
int prep_force_row_bounds ( PREPdesc P,
int  row_ind,
int  col_ind,
int  a_loc 
)
int prep_deleted_row_update_info ( MIPdesc mip,
int  row_ind 
)
int prep_delete_duplicate_rows_cols ( PREPdesc P,
char  check_rows,
char  check_cols 
)
int prep_substitute_cols ( PREPdesc P)
int prep_update_single_row_attributes ( ROWinfo rows,
int  row_ind,
double  a_val,
double  obj,
double  c_lb,
double  c_ub,
int  is_int,
int  var_type,
double  etol,
int  entry_loc 
)
void prep_sos_fill_var_cnt ( PREPdesc P)
void prep_sos_fill_row ( ROWinfo row,
int  alloc_size,
int  size,
int *  ind 
)
double prep_rnd_integral ( double  val,
double  etol,
char  rnd_type 
)
int prep_get_row_bounds ( MIPdesc mip,
int  r_ind,
double  etol 
)
char prep_is_equal ( double  lval,
double  rval,
double  etol 
)
char prep_is_integral ( double  val,
double  etol 
)
int prep_declare_fixed_var ( int  col_ind,
char *  name,
double  fixed_bound 
)
int prep_declare_redundant_row ( ROWinfo  row,
int  row_ind,
char  sense,
double  rhs 
)
int prep_declare_coef_change ( int  row_ind,
int  col_ind,
char *  name,
double  a_val,
double  rhs 
)
int prep_report ( PREPdesc P,
int  termcode 
)
int prep_merge_solution ( MIPdesc orig_mip,
MIPdesc prep_mip,
int *  sol_xlength,
int **  sol_xind,
double **  sol_xval 
)
int prep_check_feasible ( MIPdesc mip,
double *  sol,
double  etol 
)
int prep_add_to_impl_list ( IMPlist list,
int  ind,
int  fix_type,
double  val 
)
int prep_initialize_impl_lists ( PREPdesc P)
int prep_solve_sr_rlx ( PREPdesc P,
int  row_cnt,
int *  row_indices 
)
void sr_initialize ( SRdesc **  sr,
int  n 
)
void sr_allocate ( SRdesc **  sr,
int  n 
)
int sr_solve_bounded_prob ( PREPdesc P,
SRdesc sr,
SRdesc d_sr,
int  obj_ind,
int  row_ind,
int *  r_matbeg,
int *  r_matind,
double *  r_matval,
COLinfo cols,
double *  ub,
double *  lb,
double  etol 
)
int sr_add_new_col ( SRdesc sr,
SRdesc d_sr,
double  c_val,
double  a_val,
int  col_ind,
char  col_var_type,
double  col_ub,
double  col_lb,
char  sense,
int  col_type,
int  col_bound_type 
)
int sr_add_new_bounded_col ( SRdesc sr,
double  c_val,
double  a_val,
int  col_ind,
double  rhs_ub_offset,
double  rhs_lb_offset,
double  obj_ub_offset,
double  obj_lb_offset,
double  col_ub,
double  col_lb,
int  obj_sense,
char  var_type 
)
int sr_find_opt_bounded ( PREPdesc P,
SRdesc sr,
int  obj_ind,
double *  ub,
double *  lb 
)
int sr_solve_open_prob ( PREPdesc P,
SRdesc sr,
int  obj_ind,
int  row_ind,
int *  r_matbeg,
int *  r_matind,
double *  r_matval,
COLinfo cols,
double *  ub,
double *  lb,
double  etol 
)
void free_rc_dup_desc ( rc_dup_desc prep_desc)
void free_prep_desc ( PREPdesc P)
void free_sr_desc ( SRdesc sr)
void free_imp_list ( IMPlist **  list)