Dip
0.92.4
|
#include "symphony.h"
#include "sym_types.h"
#include "sym_constants.h"
#include "sym_prep_params.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) |
#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 struct PREP_STATS prep_stats |
typedef struct PREP_ENVIRONMENT prep_environment |
typedef struct RC_DUP_DESC rc_dup_desc |
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_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 | ) |